次のコマンドでシェープファイルを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命令のみ発行
コメント