2011年4月18日月曜日

9 マップデータ 1 - 国土数値情報

9-1 国土数値情報

9-1-1 ダウンロード

国土交通相国土計画局GISホームページへようこそ
http://www.mlit.go.jp/kokudokeikaku/gis/index.html

の、国土数値情報ダウンロードサービス
http://nlftp.mlit.go.jp/ksj/index.html

の、JPGIS準拠データのダウンロードサービス
http://nlftp.mlit.go.jp/ksj/jpgis/jpgis_datalist.html

からデータをダウンロードします。
目的のデータのリンクをクリックして表示されるデータの詳細ページの「XMLスキーマ等について」の項に「データ変換ツール」リンクがあるので、表示されるサイトのないようにしたがってインストールしてください。
データ変換ツール ksjTool は、Windows で動作します。
はじめから、データを Windows にダウンロードしておくと工程が一つ少なくなります。


国土数値情報
N03-100329_13 行政区域(面)(東京)平成21年
N02-08 鉄道(線点)(全国)平成21年
W09-05 湖沼(面)(全国)平成17年
W05-08_13 河川(線点)(東京)平成20年
P02-06_13 公共施設(点)(東京)平成18年


ダウンロードしたファイルを解凍します。Windows で解凍するとフォルダ付のファイルになります。

Debian の場合:
N03-100329_13.zipを右クリック->書庫マネージャで開く->次の2つのファイルを選択して展開
N03-100329_13.xml
KS-META-N03-100329_13.xml

または、端末(Terminal)で次のように入力して実行します。

user@deb6-vmw:~/Downloads/dnli/tokyo$ unzip N03-100329_13.zip
inflating: N03-100329_13.xml
inflating: KS-META-N03-100329_13.xml

この圧縮ファイルは解凍後にフォルダが作成されないので、mapdataの中にtokyoのフォルダを作成してこれらのファイルを移動しておくとわかりやすくなります。

Windows7 の場合:
N03-100329_13.zipを右クリック->すべて展開


9-1-2 国土数値情報データからシェイプファイルを作成
ksjTool は、Windows で動作するので、ファイルを Windows に転送します。
メニューの 場所 -> ネットワーク をクリックします。
パスワードを設定しているときはパスワードを入力し「接続する」ボタンをクリックします。




データ変換ツールでダウンロードしたファイルをシェイプファイルにします。
Windows のスタートメニューの ksjtoolクリックして起動します。
1 「変更元」の「参照」ボタンをクリックして解凍したファイルのあるフォルダを選択します。
(「サブディレクトリを変換対象に含める」にチェックをつけると変換先も同じディレクトリ構造になります。)
2 「変更先」の「参照」ボタンをクリックして変換したシェイプファイルの保存フォルダを選択します。
3 「変換」ボタンをクリックします。
(変換に失敗したときはやり直すか、データごとに変換してみてください。)

user@deb6-vmw:~/dnli_shp/tokyo/N03-100329_13$ ogrinfo -summary N03-100329_13_EC01.shp N03-100329_13_EC01
INFO: Open of `N03-100329_13_EC01.shp'
using driver `ESRI Shapefile' successful.

Layer name: N03-100329_13_EC01
Geometry: Polygon
Feature Count: 3298
Extent: (136.069482, 20.425119) - (153.986900, 35.898424)
Layer SRS WKT:
(unknown)
PRN: String (6.0)
SUN: String (1.0)
CON: String (8.0)
CN2: String (10.0)
AAC: String (5.0)

9-1-3 シェイプファイルをデータベースに登録
shp2pgsql と psql コマンドを使ってシェイプファイルをデータベースに登録します。
ファイルを Debian に転送します。
一般ユーザでシェイプファイルのあるディレクトリに移動して、次のように入力します。

user@deb6-vmw:~/deb-win/dnli_shp/N03-100329_13$ ls
N03-100329_13_EC01.dbf N03-100329_13_EC01.shp N03-100329_13_EC01.shx
user@deb6-vmw:~/deb-win/dnli_shp/N03-100329_13$ shp2pgsql -W sjis N03-100329_13_EC01.shp tokyo_kuiki > tokyo_kuiki.sql
Shapefile type: Polygon
Postgis type: MULTIPOLYGON[2]

user@deb6-vmw:~/deb-win/dnli_shp/N03-100329_13$ psql -d nippon_dnli -f tokyo_kuiki.sql
user@deb6-vmw:~/deb-win/dnli_shp/N03-100329_13$ psql nippon_dnli
psql (8.4.7)
"help" でヘルプを表示します.

nippon_dnli=> \dt

リレーションの一覧
スキーマ | 名前 | 型 | 所有者
----------+------------------+----------+--------
public | geometry_columns | テーブル | user
public | spatial_ref_sys | テーブル | user
public | tokyo_kuiki | テーブル | user
(3 行)

nippon_dnli=> \d tokyo_kuiki

テーブル "public.tokyo_kuiki"
カラム | 型 | 修飾語
----------+-----------------------+--------------------------------------------------------------
gid | integer | not null デフォルト nextval('tokyo_kuiki_gid_seq'::regclass)
prn | character varying(6) |
sun | character varying(1) |
con | character varying(8) |
cn2 | character varying(10) |
aac | character varying(5) |
the_geom | geometry |
インデックス:
"tokyo_kuiki_pkey" PRIMARY KEY, btree (gid)
CHECK 制約:
"enforce_dims_the_geom" CHECK (st_ndims(the_geom) = 2)
"enforce_geotype_the_geom" CHECK (geometrytype(the_geom) = 'MULTIPOLYGON'::text OR the_geom IS NULL)
"enforce_srid_the_geom" CHECK (st_srid(the_geom) = (-1))

nippon_dnli=> \q


他のデータも登録します。
参考に作業内容を載せておきます。

user@deb6-vmw:~/deb-win/dnli_shp/N03-100329_13$ cd ../N02-08
user@deb6-vmw:~/deb-win/dnli_shp/N02-08$ ls
N02-08_EB02.dbf N02-08_EB02.shx N02-08_EB03.shp
N02-08_EB02.shp N02-08_EB03.dbf N02-08_EB03.shx
user@deb6-vmw:~/deb-win/dnli_shp/N02-08$ shp2pgsql -W sjis N02-08_EB02.shp railroad02 > railroad02.sql
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]
user@deb6-vmw:~/deb-win/dnli_shp/N02-08$ shp2pgsql -W sjis N02-08_EB03.shp railroad03 > railroad03.sql
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]

user@deb6-vmw:~/deb-win/dnli_shp/N02-08$ psql -d nippon_dnli -f railroad02.sql
user@deb6-vmw:~/deb-win/dnli_shp/N02-08$ psql -d nippon_dnli -f railroad03.sql


user@deb6-vmw:~/deb-win/dnli_shp/N03-100329_13$ cd ../W09-05/
user@deb6-vmw:~/deb-win/dnli_shp/W09-05$ ls
W09-05_GC01.dbf W09-05_GC01.shp W09-05_GC01.shx
user@deb6-vmw:~/deb-win/dnli_shp/W09-05$ shp2pgsql -W sjis W09-05_GC01.shp kosho > kosho.sql
Shapefile type: Polygon
Postgis type: MULTIPOLYGON[2]

user@deb6-vmw:~/deb-win/dnli_shp/W09-05$ psql -d nippon_dnli -f kosho.sql


user@deb6-vmw:~/deb-win/dnli_shp/W09-05$ cd ../W05-08_13/
user@deb6-vmw:~/deb-win/dnli_shp/W05-08_13$ ls
W05-08_13_GB02.dbf W05-08_13_GB02.shx W05-08_13_GB03.shp
W05-08_13_GB02.shp W05-08_13_GB03.dbf W05-08_13_GB03.shx
user@deb6-vmw:~/deb-win/dnli_shp/W05-08_13$ shp2pgsql -W sjis W05-08_13_GB02.shp tokyo_kasen02 > tokyo_kasen02.sql
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]
user@deb6-vmw:~/deb-win/dnli_shp/W05-08_13$ shp2pgsql -W sjis W05-08_13_GB03.shp tokyo_kasen03 > tokyo_kasen03.sql
Shapefile type: Point
Postgis type: POINT[2]

user@deb6-vmw:~/deb-win/dnli_shp/W05-08_13$ psql -d nippon_dnli -f tokyo_kasen02.sql
user@deb6-vmw:~/deb-win/dnli_shp/W05-08_13$ psql -d nippon_dnli -f tokyo_kasen03.sql


user@deb6-vmw:~/deb-win/dnli_shp/W05-08_13$ cd ../P02-06_13/
user@deb6-vmw:~/deb-win/dnli_shp/P02-06_13$ ls
P02-06_13_FB01.dbf P02-06_13_FB01.shp P02-06_13_FB01.shx
user@deb6-vmw:~/deb-win/dnli_shp/P02-06_13$ shp2pgsql -W sjis P02-06_13_FB01.shp tokyo_pf > tokyo_pf.sql
Shapefile type: Point
Postgis type: POINT[2]

user@deb6-vmw:~/deb-win/dnli_shp/P02-06_13$ psql -d nippon_dnli -f tokyo_pf.sql

0 件のコメント: