shapeファイルをPostGIS用のSQLへ変換する

次のコマンドでシェープファイルをSQLへ変換する

shp2pgsql -c -i -I -D -s 4326 Source.shp TABLE_NAME > CREATE.sql

Dockerで実行する場合(ShifJISのシェープファイルを変換したら文字化けが発生した)

docker run --rm -v .:/data mdillon/postgis shp2pgsql -c -i -I -D -s 4326 /data/***.shp table_name > ***.sql

-pをつけるとCreateTabel命令が生成される

shp2pgsql -p -W cp932 -i -I -D -s 4326 Source.shp TABLE_NAME > CREATE.sql

-a でinser命令が発行される(この場合 -Iは付けない)

shp2pgsql -a -W cp932 -i  -D -s 4326 Source.shp TABLE_NAME > INSERT.sql
-s 4326 SRIDを指定。
-D ダンプ形式で出力(ダンプ形式の方がINSERTの羅列よりもストア時間が少なく済む)
-i 整数型をint4で出力(これを指定しないと2バイト整数で出力となる)
-I 空間インデクスを作成するクエリを織り込む
-W cp932 入力文字セットをcp932とする
-c CREATE命令とINSERT命令の両方を生成する
-p CREATE命令のみ発行
-a INSERT命令のみ発行

コメント

タイトルとURLをコピーしました