2009年12月16日水曜日

OpenLayers 41a Styled Layer Descriptor (SLD) - 鉄道データの登録

Styled Layer Descriptor (SLD)Example(sld.html)を参考に SLD を試してみます。

GML ファイルから地図を作成
国土数値情報の鉄道データで SLD ファイルから地図を描画してみます。

国土数値情報の鉄道データのダウンロードします。

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

の トップページ -> インターネットサービス -> 国土数値情報ダウンロードサービス -> (JPGIS準拠)データのダウンロード -> 鉄道(線)をクリックします。
2 鉄道データの詳細 ページの 全国 をチェックして「選択」ボタンをクリック。
3 ファイルの選択 ページの最新データの N02-08.zip をチェックして「選択」ボタンをクリック。
4 国土数値情報利用約款 ページの「同意する」ボタンをクリック。
5 ダウンロード ページで「ダウンロード」ボタンをクリック。
6 ダウンロード確認ウィンドウで「OK」ボタンをクリック。
7 もう一度ウィンドウが開いたらファイルを保存するようにする。


データベース(PostgresQL)に登録します。

1 ダウンロードしたファイル(N02-08.zip)を解凍。
N02-08_EB03 は駅のデータです。
2 一般ユーザでシェイプファイルのあるディレクトリに移動して、sqlファイルを作成。

user@debian:~$ cd N02-08/
user@debian:~/N02-08$ shp2pgsql -W sjis N02-08_EB02.shp railroad2 > railroad2.sql
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]
user@debian:~/N02-08$ shp2pgsql -W sjis N02-08_EB03.shp railroad3 > railroad3.sql
Shapefile type: Point
Postgis type: POINT[2]

3 shp2pgsqlコマンドを使ってシェイプファイルをデータベースに登録。

user@debian:~/N02-08$ psql -d tokyo -f railroad2.sql
user@debian:~/N02-08$ psql -d tokyo -f railroad3.sql

登録した railroad2 データを確認します。

user@debian:~$ psql tokyo
Welcome to psql 8.3.8, the PostgreSQL interactive terminal.

Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit

tokyo=> \dt
List of relations
Schema | Name | Type | Owner
--------+------------------+-------+-------
public | geometry_columns | table | user
public | gyoseikai | table | user
public | pf_tokyo | table | user
public | population | table | user
public | railroad2 | table | user
public | railroad3 | table | user
public | river_tokyo2 | table | user
public | river_tokyo3 | table | user
public | spatial_ref_sys | table | user
(9 rows)

pf_tokyoテーブル内のカラムとその他の一覧を表示してみます。

tokyo=> \d railroad2
Table "public.railroad2"
Column | Type | Modifiers
----------+-----------------------+---------------------------------------------------------
gid | integer | not null default nextval('railroad2_gid_seq'::regclass)
rac | character varying(2) |
int | character varying(1) |
lin | character varying(33) |
opc | character varying(28) |
the_geom | geometry |
Indexes:
"railroad2_pkey" PRIMARY KEY, btree (gid)
Check constraints:
"enforce_dims_the_geom" CHECK (ndims(the_geom) = 2)
"enforce_geotype_the_geom" CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL)
"enforce_srid_the_geom" CHECK (srid(the_geom) = (-1))

tokyo=> \d railroad3
Table "public.railroad3"
Column | Type | Modifiers
----------+-----------------------+---------------------------------------------------------
gid | integer | not null default nextval('railroad3_gid_seq'::regclass)
rac | character varying(2) |
int | character varying(1) |
lin | character varying(33) |
opc | character varying(28) |
stn | character varying(29) |
the_geom | geometry |
Indexes:
"railroad3_pkey" PRIMARY KEY, btree (gid)
Check constraints:
"enforce_dims_the_geom" CHECK (ndims(the_geom) = 2)
"enforce_geotype_the_geom" CHECK (geometrytype(the_geom) = 'MULTILINESTRING'::text OR the_geom IS NULL)
"enforce_srid_the_geom" CHECK (srid(the_geom) = (-1))


rac: 「鉄道区分コード」(鉄道、11~17のコード、軌道、21~25のコード)
コード 対応する内容
11 普通鉄道JR
12 普通鉄道
13 鋼索鉄道
14 懸垂式鉄道
15 跨座式鉄道
16 案内軌上式鉄道
17 無軌上式鉄道
21 軌道
22 懸垂式モノレール
23 跨座式モノレール
24 案内軌上式
25 浮上式

int: 「事業者種別コード」
コード 対応する内容
1 新幹線
2 JR 在来線
3 公営鉄道
4 民営鉄道
5 第三セクター

lin: 路線名
鉄道路線の名称。

opt: 運営会社
鉄道路線を運営する会社。

stn: 駅名
駅の名称。

0 件のコメント: