PostGIS日本全国市区町村界データを使ってみる

    • 日本全国市区町村界データを取得

ココからデータを取得する(ESRIジャパン株式会社のデータ)

README抜粋

●内容

[データ フォーマット]

ArcViewシェープファイル フォーマット

[ファイル構成]

全国市区町村界データ シェープファイルは、以下のデータ群から構成されます。

japan_verXX.shp:図形データ

japan_verXX.shx:インデックス データ

japan_verXX.dbf:属性データ

japan_verXX.sbn:空間インデックス データ

japan_verXX.sbx:空間インデックス データ

japan_verXX.prj:投影情報

japan_verXX.shp.xml:メタデータ

[図形データの種別]

ポリゴン

[座標系]

緯度経度座標 (回転楕円体:GRS1980、データム:JGD2000)

[属性データ項目]

フィールド名 内容 備考

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

PREF 都道府県名

CITY1 市町村名 政令指定都市の場合は区名

CITY2 政令指定都市の市名

TOWN1 郡名(町村部のみ)

TOWN2 県市区町村名

JCODE 市町村コード 5桁のJISコード

P-NUM 人口

H-NUM 世帯数

FLAG1 陸/水フラグ 陸部:1 湖沼:2

FLAG2 更新時のデータ変更フラグ 変更無:0 ver3.0:1

*上記以外のフィールドはデータ作成時に自動的作成されるフィールドです。

*文字コードはShift-JISです。

    • PostGISへ書き込むスクリプトファイルを生成する

変換後のディレクトリを作成し.sqlファイルへ変換する

ogr2ogr -t_srs EPSG:2448 ./after japan_ver62.shp

※ "-t_srs" が座標変換のオプションであり、そのあとに変換したい座標系のコード "EPSG:2448"を指定する。(近畿圏に指定してみた)

※座標系コード "EPSG:2448" の詳細は、こ ちらを参照

japan_ver62.shpをGRS80系(4612) のSJIS表示へ変換する

psql -U poshp2pgsql -s 4612 -W sjis japan_ver62.shp jpgisdb > japan.sql

※ここでの座標系SRIDは「4612(GRS80を 表している)」を指定) SRIDについては、GIS基礎知識 のページをご参照ください。

※-W sjis 作成するSQLの文字コードを指定しています。ここではShift_JISのsjisです。

  • PostGISへ書き込む

psql -U postgres -d mydb -f japan.sql

postgresユーザーがmydbへ変換してきたjapan.sqlを書き込む

確認

mydb=# \x

Expanded display is on.

mydb=# SELECT * FROM jpgisdb WHERE objectid = '1372';

gid | 1372

objectid | 1372

pref | 兵庫県

city1 | 尼崎市

city2 |

town1 |

town2 | 尼崎市

jcode | 28202

p_num | 462109.00000000000

h_num | 200459.00000000000

flag1 | 1

flag2 | 0

shape_leng | 0.41635316203

shape_area | 0.00493604265

the_geom | 01060000200...........

参考サイト

SRID/EPSG値の確認ページ

ESRIジャパン