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...........
参考サイト