「ogr2ogr」を利用し、shpファイルの座標系を一括変換します。
ogr2ogrはshpなどの空間図形データのデータ変換する際に利用するツールで、
QGISをインストールすると勝手にインストールされています。
batファイルに記述できるので、一括で処理ができます。
1.shpファイルの座標系変換
shpファイルの座標系を平面直角座標系(EPSG:2446)->球面メルカトル図法(EPSG:3857)に変換します。
1 |
"C:\Program Files\QGIS 2.18\bin\ogr2ogr.exe" --config GDAL_DATA "C:\Program Files\PostgreSQL\9.6\gdal-data" -t_srs EPSG:3857 -s_srs EPSG:2446 -lco ENCODING=932 "C:\temp\shp3857\l_trans_road_emg.shp" "C:\temp\shp\l_trans_road_emg.shp" |
コマンド/引数 | 説明 |
“C:\Program Files\QGIS 2.18\bin\ogr2ogr.exe” | ogr2ogrのパスを記述 |
–config GDAL_DATA “C:\Program Files\PostgreSQL\9.6\gdal-data” | 座標系データのパスを記述 |
-t_srs EPSG:3857 | 変換後の座標系 |
-s_srs EPSG:2446 | 変換前の座標系 |
-lco ENCODING=932 | 変換後の文字コード |
“C:\temp\shp3857\l_trans_road_emg.shp” | 変換後のshpファイル |
“C:\temp\shp\l_trans_road_emg.shp” | 変換前のshpファイル |
2.shpファイル->PostGISに登録
ogr2ogrはファイルだけでなく、DBにも登録できます。
1 |
"C:\Program Files\QGIS 2.18\bin\ogr2ogr.exe" --config GDAL_DATA "C:\Program Files\PostgreSQL\9.6\gdal-data" -t_srs EPSG:3857 -s_srs EPSG:2446 -f "PostgreSQL" PG:"host=XX.XX.XX.XX dbname=pgis user=postgres password=postgres" "C:\temp\shp\s_heliport.shp" -nln s_heliport |
コマンド/引数 | 説明 |
“C:\Program Files\QGIS 2.18\bin\ogr2ogr.exe” | ogr2ogrのパスを記述 |
–config GDAL_DATA “C:\Program Files\PostgreSQL\9.6\gdal-data” | 座標系データのパスを記述 |
-t_srs EPSG:3857 | 変換後の座標系 |
-s_srs EPSG:2446 | 変換前の座標系 |
-f “PostgreSQL” PG:”host=153.126.207.22 dbname=pgis_38442 user=postgres password=postgres” | フォーマット種別です。デフォルトは”ESRI Shapefile”で省略可能です。、今回は “PostgreSQL”を設定します。PG:の後に接続情報を設定します。 |
“C:\temp\shp\s_heliport.shp” | 変換前のshpファイル |
-nln s_heliport | 登録先のテーブル名 |