gdalを使用した座標変換手順(tokyo_2000_2011)

gdalとは

地理空間データを扱うためのオープンソースのソフトウェアライブラリです。

主にラスタデータやベクタデータの変換や解析に使用されます。

ここでは、shpファイルの座標変換(Tokyo → 2000、2000 → 2011)に使用します。

コマンドとしてはogr2ogrというものを使用し、パラメータはgsbファイルを使用します。

 

準備(インストールなど)

パラメータのダウンロード

Tokyo → 2000では、TKY2JGD.gsbを

2000 → 2011では、touhokutaiheiyouoki2011.gsbを

使用します。

こちらのサイト(https://github.com/tohka/JapanGridShift/tree/master/gsb_files)よりダウンロードが可能です。

後ほど、pathを指定するので、わかるところに保存します。

※今回は、D:\parに保存。

 

gdalのインストール

OSGeo4W installerをダウンロードします。こちらのサイト(https://qgis.org/resources/installation-guide/#osgeo4w-installer)よりダウンロードします。

 

アドバンスインストールおよびエクスプレスインストールから、GDALをインストールします。

 

gdal等のpathの設定

環境変数のpath等を設定します。

システム環境変数のPathを選択して、ogr2ogr.exeがあるpathを入力します。

※今回は、C:\Program Files\QGIS 3.36.3\bin

また、PROJ_LIBをシステム環境変数に追加し、proj.dbのファイルがあるpathを指定します。

ここで、proj.dbのバージョンが古いとエラーが出るので、その際は新しいバージョンのものを再度インストールする必要があります。

※今回は、筆者がPostgreSQLを入れていたため、pathは、C:\Program Files\PostgreSQL\14\share\contrib\postgis-3.4\proj を指定しています。

 

実際のコマンド入力

ターミナルを起動し、cdのコマンドで変換したいshpファイルがあるディレクトリに移動します。

 

Tokyo → 2000への変換(TKY2JGD.gsbを使用)

下記の3つのコマンドを順番に実行していきます。

 

Tokyoの平面直角座標系 → Tokyoの地理座標系への変換

ogr2ogr -f “ESRI Shapefile” -s_srs “EPSG:30170” -t_srs “EPSG:4301” -lco ENCODING=UTF-8 step1_tokyo_geo_utf8 input.shp

 

※EPSG:30170には、もとのshpファイルの座標系を入力します。

変換にあたり、平面直角座標系から地理座標系(Tokyoの地理座標系:EPSG:4301)に変換する必要があります。

ENCODING=UTF-8 では文字形式を入力します。

Shift-JISなどもあります。

 

Tokyoの地理座標系 → 2000の地理座標系の変換

ogr2ogr -f “ESRI Shapefile” -s_srs “+proj=latlong +nadgrids=D:\par\TKY2JGD.gsb +ellps=bessel” -t_srs “EPSG:4612” -lco ENCODING=UTF-8 step1_tokyo_geo_gsb.shp step1_tokyo_geo_utf8.shp

 

※D:\par\TKY2JGD.gsbには、gsbファイルを保存しているpathを入力します。

 

2000の地理座標系 → 2000の平面直角座標系へ変換

ogr2ogr -f “ESRI Shapefile” -s_srs “EPSG:4612” -t_srs “EPSG:2452” -lco ENCODING=UTF-8 step2_2000_geo.shp step1_tokyo_geo_gsb.shp

 

 

2000 → 2011 への変換(touhokutaiheiyouoki2011.gsbを使用)

下記の3つのコマンドを順番に実行していきます。

 

2000の平面直角座標系 → 2000の地理座標系への変換

ogr2ogr -f “ESRI Shapefile” -s_srs “EPSG:2452” -t_srs “EPSG:4612” -lco ENCODING=Shift-JIS step1_2000_geo.shp input.shp

 

2000の地理座標系 → 2011の地理座標系への変換

ogr2ogr -f “ESRI Shapefile” -s_srs “+proj=longlat +ellps=GRS80 +nadgrids=D:/par/touhokutaiheiyouoki2011.gsb +no_defs” -t_srs “EPSG:6668” -lco ENCODING=Shift_JIS step2_2011_geo.shp step1_2000_geo.shp

 

2011の地理座標系 → 2011の平面直角座標系への変換

ogr2ogr -f “ESRI Shapefile” -s_srs “EPSG:6668” -t_srs “EPSG:6678” -lco ENCODING=Shift_JIS output_projected.shp step2_2011_geo.shp

 

GUIで一括変換

GUIで変換できるツールを作成しました(pythonで動きます)。

コードを開いて、メモ帳などに保存後、拡張子を.pyに変更してください。

ご自由にダウンロードください。

エクセルには、EPSGファイルの一覧を載せております。

tokyo_to_2000_converter(.pyにしてください)

2000_to_2011_converter(.pyにしてください)

EPSG一覧

tokyo_to_2000_converter.py及び2000_to_2011_converter.pyで右クリック → プログラムから開く → python を選択

入力フォルダや出力フォルダ、座標系、Encodingなどを入力して、変換開始をクリックすると、一括でshpファイルが変換されます。

※原則、encodingはUTF-8で入れておいた方が良いようです。

 

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

error: Content is protected !!