2011年4月18日月曜日

9 マップデータ 2 - 基盤地図情報

9-2 基盤地図情報

9-2-1 ダウンロード

国土地理院のホームページの基盤地図情報リンクボタンから、基盤地図情報の閲覧・ダウンロード->基盤地図情報ダウンロードサービスへ移動します。

国土地理院
http://www.gsi.go.jp/

基盤地図情報
http://www.gsi.go.jp/kiban/index.html

基盤地図情報の閲覧・ダウンロード
http://www.gsi.go.jp/kiban/etsuran.html

基盤地図情報ダウンロードサービス
http://fgd.gsi.go.jp/download/

データをシェイプファイルの変換するために、「基盤地図情報閲覧コンバートソフト FGDV」をダウンロードしました。
データ変換ツール FGDV は、Windows で動作します。

「基盤地図情報 縮尺レベル25,000」の「JPGIS形式」(XML でない方)をクリック。

「東京都」の左側の+をクリックし、表示されたもの全部(等高線は必要に応じて)にチェックをしました。
「選択して次へ」ボタンをクリックします。
「ダウンロードファイルリスト」の「ダウンロード」ボタンをクリックしてダウンロードしました。
東京都のフォルダを作成して、それぞれに入れてください。


9-2-2 基盤地図情報データからシェイプファイルを作成

FGDV は、Windows で動作するので、ファイルを Windows に転送します。

基盤地図情報閲覧コンバートソフトでダウンロードしたファイルをシェイプファイルにします。
インストールで作成されたフォルダのFGDV.exeをダブルクリックして起動します。
0 「新規プロジェクト」でファイル名を「東京都基盤地図」にします。
1 データを追加するため「追加」ボタンをクリックします。
2 基盤地図情報データのあるフォルダを「ファイルの場所」で指定し、「ファイルの種類」を「基盤地図情報(JPGIS)圧縮ファイル(*.zip)」を選び、表示されたファイルを全部選んで「開く」ボタンをクリックします。
3 「保存先フォルダ」の右側のボタンをクリックし変更がなければ「OK」をクリックします。
4 「新規プロジェクト作成」の「OK」をクリックします。
5 メニューバーの「コンバート」をクリックし、「シェープファイルへ出力」をクリックします。
6 「変換する要素」で必要なものにチェックをして、「出力先フォルダ」を指定して「OK」ボタンをクリックします。(基準点、標高点は変換しませんでした。)
7 「基盤地図情報ビューアー・コンバータ」ダイアログに結果が表示されるのでコピーして保存し、「OK」ボタンをクリックします。

東京都のデータ
行政区画 を AdmArea へ変換・出力しました
行政区画界線 を AdmBdry へ変換・出力しました
行政区画代表点 を AdmPt へ変換・出力しました
等高線 を Cntr へ変換・出力しました (*今回これは使いませんでした。)
水涯線 を WL へ変換・出力しました
海岸線 を Cstline へ変換・出力しました
建築物 を BldA へ変換・出力しました
道路縁 を RdEdg へ変換・出力しました
軌道の中心線 を RailCL へ変換・出力しました

AdmArea.dbfのタイトルが日本語なのでアルファベットにします。
OpenOfficeorg のCalc で開きます。
(私の場合は、Debian では修正後の保存ができなかったので、Windows で修正しました。)
存在期間自 -> presence
整備完了日 -> finished
表示区分 -> category
種別 -> type
名称 -> name
行政コード -> code

AdmBdry.dbfのタイトルが日本語なのでアルファベットにします。
OpenOfficeorg のCalc で開きます。
存在期間自 -> presence
整備完了日 -> finished
表示区分 -> category
種別 -> type

AdmPt.dbfのタイトルが日本語なのでアルファベットにします。
存在期間自 -> presence
整備完了日 -> finished
表示区分 -> category
種別 -> type
名称 -> name
行政コード -> code

BldA.dbfのタイトルが日本語なのでアルファベットにします。
存在期間自 -> presence
整備完了日 -> finished
表示区分 -> category
種別 -> type
名称 -> name

Cstline.dbfのタイトルが日本語なのでアルファベットにします。
存在期間自 -> presence
整備完了日 -> finished
表示区分 -> category
種別 -> type
名称 -> name

RailCL.dbfのタイトルが日本語なのでアルファベットにします。
存在期間自 -> presence
整備完了日 -> finished
表示区分 -> category
種別 -> type
名称 -> name

RdEdg.dbfのタイトルが日本語なのでアルファベットにします。
存在期間自 -> presence
整備完了日 -> finished
表示区分 -> category
種別 -> type
名称 -> name
管理主体 -> manager

WL.dbfのタイトルが日本語なのでアルファベットにします。
存在期間自 -> presence
整備完了日 -> finished
表示区分 -> category
種別 -> type
名称 -> name

user@deb6-vmw:~/bmi/tokyo_shp$ ogrinfo -summary AdmArea.shp AdmArea
INFO: Open of `AdmArea.shp'
using driver `ESRI Shapefile' successful.

Layer name: AdmArea
Geometry: Polygon
Feature Count: 323
Extent: (-619709.111772, -606129.469810) - (1222781.861788, 1101432.881066)
Layer SRS WKT:
PROJCS["JGD2000_Japan_Zone_14",
GEOGCS["GCS_JGD_2000",
DATUM["Japanese_Geodetic_Datum_2000",
SPHEROID["GRS_1980",6378137.0,298.257222101]],
PRIMEM["Greenwich",0.0],
UNIT["Degree",0.0174532925199433]],
PROJECTION["Transverse_Mercator"],
PARAMETER["False_Easting",0.0],
PARAMETER["False_Northing",0.0],
PARAMETER["Central_Meridian",142],
PARAMETER["Scale_Factor",0.9999],
PARAMETER["Latitude_Of_Origin",26],
UNIT["Meter",1.0]]
ID: String (7.0)
UUID: String (24.0)
PRESENCE: Integer (8.0)
FINISED: Integer (8.0)
ORGGILVL: String (5.0)
ORGMDID: String (3.0)
CATEGORY: String (1.0)
TYPE: String (6.0)
NAME: String (25.0)
CODE: Integer (5.0)

9-2-3 シェイプファイルを登録

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

user@deb6-vmw:~/deb-win/dnli_shp/P02-06_13$ cd ../../bmi_shp/
user@deb6-vmw:~/deb-win/bmi_shp$ ls
AdmArea.dbf AdmBdry.shp BldA.dbf Cntr.shp RailCL.dbf RdEdg.shp
AdmArea.prj AdmBdry.shx BldA.prj Cntr.shx RailCL.prj RdEdg.shx
AdmArea.shp AdmPt.dbf BldA.shp Cstline.dbf RailCL.shp WL.dbf
AdmArea.shx AdmPt.prj BldA.shx Cstline.prj RailCL.shx WL.prj
AdmBdry.dbf AdmPt.shp Cntr.dbf Cstline.shp RdEdg.dbf WL.shp
AdmBdry.prj AdmPt.shx Cntr.prj Cstline.shx RdEdg.prj WL.shx

user@deb6-vmw:~/deb-win/bmi_shp$ shp2pgsql -W sjis AdmArea.shp tokyo_kukaku > tokyo_kukaku.sql
Shapefile type: Polygon
Postgis type: MULTIPOLYGON[2]
user@deb6-vmw:~/deb-win/bmi_shp$ shp2pgsql -W sjis AdmBdry.shp tokyo_kukakusen > tokyo_kukakusen.sql
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]
user@deb6-vmw:~/deb-win/bmi_shp$ shp2pgsql -W sjis AdmPt.shp tokyo_kukakuten > tokyo_kukakuten.sql
Shapefile type: Point
Postgis type: POINT[2]
user@deb6-vmw:~/deb-win/bmi_shp$ shp2pgsql -W sjis Cntr.shp tokyo_toko > tokyo_toko.sql
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]
user@deb6-vmw:~/deb-win/bmi_shp$ shp2pgsql -W sjis WL.shp tokyo_suigai > tokyo_suigai.sql
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]
user@deb6-vmw:~/deb-win/bmi_shp$ shp2pgsql -W sjis Cstline.shp tokyo_kaigan > tokyo_kaigan.sql
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]
user@deb6-vmw:~/deb-win/bmi_shp$ shp2pgsql -W sjis BldA.shp tokyo_kenchiku > tokyo_kenchiku.sql
Shapefile type: Polygon
Postgis type: MULTIPOLYGON[2]
user@deb6-vmw:~/deb-win/bmi_shp$ shp2pgsql -W sjis RdEdg.shp tokyo_doro > tokyo_doro.sql
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]
user@deb6-vmw:~/deb-win/bmi_shp$ shp2pgsql -W sjis RailCL.shp tokyo_kido > tokyo_kido.sql
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]

user@deb6-vmw:~/deb-win/bmi_shp$ ls
AdmArea.dbf AdmPt.prj Cntr.shp RailCL.shx tokyo_doro.sql
AdmArea.prj AdmPt.shp Cntr.shx RdEdg.dbf tokyo_kaigan.sql
AdmArea.shp AdmPt.shx Cstline.dbf RdEdg.prj tokyo_kenchiku.sql
AdmArea.shx BldA.dbf Cstline.prj RdEdg.shp tokyo_kido.sql
AdmBdry.dbf BldA.prj Cstline.shp RdEdg.shx tokyo_kukaku.sql
AdmBdry.prj BldA.shp Cstline.shx WL.dbf tokyo_kukakusen.sql
AdmBdry.shp BldA.shx RailCL.dbf WL.prj tokyo_kukakuten.sql
AdmBdry.shx Cntr.dbf RailCL.prj WL.shp tokyo_suigai.sql
AdmPt.dbf Cntr.prj RailCL.shp WL.shx tokyo_toko.sql


template_postgis をテンプレートとしてオーナーが user で nippon_bmi というデータベースを作成します。
基盤地図情報と国土数値情報をデータベース上で比較することがある場合は、同じデータベースに登録した方がいいでしょう。

user@deb6-vmw:~/deb-win/bmi_shp$ su - postgres
パスワード:
postgres@deb6-vmw:~$ createdb -T template_postgis -O user nippon_bmi
postgres@deb6-vmw:~$ psql -l

データベース一覧
名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権
------------------+----------+------------------+-------------+-------------------+-----------------------
nippon_bmi | user | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
nippon_dnli | user | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres
: postgres=CTc/postgres
template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres
: postgres=CTc/postgres
template_postgis | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 |
(6 行)
(stdin):q

nippon_bmi データベースの geometry_column テーブルと spatial_ref_sys テーブルのオーナーを user に変更します。

postgres@deb6-vmw:~$ psql nippon_bmi
psql (8.4.7)
"help" でヘルプを表示します.

nippon_bmi=# \d

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


nippon_bmi=# ALTER VIEW geography_columns OWNER TO user;
ALTER VIEW
nippon_bmi=# ALTER TABLE geometry_columns OWNER TO user;
ALTER TABLE
nippon_bmi=# ALTER TABLE spatial_ref_sys OWNER TO user;
ALTER TABLE
nippon_bmi=# \d

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


9-2-4 nippon_bmi データベースに一般ユーザ user を追加します。

nippon_bmi=# CREATE USER user;
ERROR: ロール"user"はすでに存在します
nippon_bmi=# ALTER USER user with password 'balanced';
ALTER ROLE
nippon_bmi=# \q


データベースに登録します。
postgres@deb6-vmw:~$ exit
logout
user@deb6-vmw:~/deb-win/bmi_shp$ psql -d nippon_bmi -f tokyo_doro.sql
user@deb6-vmw:~/deb-win/bmi_shp$ psql -d nippon_bmi -f tokyo_kaigan.sql
user@deb6-vmw:~/deb-win/bmi_shp$ psql -d nippon_bmi -f tokyo_kenchiku.sql
user@deb6-vmw:~/deb-win/bmi_shp$ psql -d nippon_bmi -f tokyo_kukaku.sql
user@deb6-vmw:~/deb-win/bmi_shp$ psql -d nippon_bmi -f tokyo_kukakusen.sql
user@deb6-vmw:~/deb-win/bmi_shp$ psql -d nippon_bmi -f tokyo_kukakuten.sql
user@deb6-vmw:~/deb-win/bmi_shp$ psql -d nippon_bmi -f tokyo_kido.sql
user@deb6-vmw:~/deb-win/bmi_shp$ psql -d nippon_bmi -f tokyo_suigai.sql

0 件のコメント: