HTML JavaScript Tips and more...
×
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
さて。前回、TopoJSONファイルを作るためのツールが揃いました。
今回は先人たちの轍をたどりながら、TopoJSONデータを作成してみます。
とは言え、
そのまま真似ると面白くないので、日本の地図データを作成する事にします。
なお、引き続き、使用しているのはubuntuです。
まずは地図データのダウンロードです。
Natural Earthからデータを頂くとしましょう。
$ wget http://goo.gl/kOniZ
$ wget http://goo.gl/0Jsqx
前者は国のポリゴンデータ、後者は居住地域の位置と名前だそうです。
google url shorterを使っているので、ダウンロードしたzipファイルが
kOniZと0Jsqxになってますが、気にしない事にします。
それぞれ、展開後のファイルを格納するためのディレクトリを作成します。
ここは分かりやすいディレクトリ名にしましょう。
$ mkdir polygon_data
$ mkdir place_data
ディレクトリを作ったら、それぞれ展開します。
$ unzip kOniZ -d polygon_data
$ unzip 0Jsqx -d place_data
さて、ここからがインストールしたツールの出番です。
先人たちはイギリスの地図データを含むTopoJSONを
作成していますが、ここでは日本の地図を作成する事にします。
$ ogr2ogr \
-f GeoJSON \
-where "adm0_a3 IN ('JPN')" \
subunits_jpn.json \
./polygon_data/ne_10m_admin_0_map_subunits.shp
where句の所ですが、
「a3 は ISO 3166-1 alpha-3 の定める国コード」
とあるので、JPNを指定します。
出力するファイル名も subunits_jpn.json としました。
subunits_jpn.json は出力されたでしょうか??
さて、お次ぎは居住地データです。
$ ogr2ogr \
-f GeoJSON \
-where "iso_a2 = 'JP' AND SCALERANK < 8" \
places_jpn.json \
./place_data/ne_10m_populated_places.shp
ここではwhere句に「ISO 3166-1 alpha-2」の国コード「JP」を指定し、
SCALERANKは8未満のままとします。
出力するファイル名も places_jpn.json としました。
では、出来上がった2つのGeoJSONファイルを結合して
日本の地図データを含むTopoJSONファイルを作成します。
$ topojson \
--id-property su_a3 \
-p NAME=name \
-p name \
-o jpn.json \
subunits_jpn.json \
places_jpn.json
これで、subunits_jpn.json と places_jpn.json を結合し、
jpn.jsonというTopoJSONファイルが作成されました。
今回はすんなりできましたね。
次回は、このデータをHTMLで表示させてみる事にします。
今回は先人たちの轍をたどりながら、TopoJSONデータを作成してみます。
とは言え、
そのまま真似ると面白くないので、日本の地図データを作成する事にします。
なお、引き続き、使用しているのはubuntuです。
まずは地図データのダウンロードです。
Natural Earthからデータを頂くとしましょう。
$ wget http://goo.gl/kOniZ
$ wget http://goo.gl/0Jsqx
前者は国のポリゴンデータ、後者は居住地域の位置と名前だそうです。
google url shorterを使っているので、ダウンロードしたzipファイルが
kOniZと0Jsqxになってますが、気にしない事にします。
それぞれ、展開後のファイルを格納するためのディレクトリを作成します。
ここは分かりやすいディレクトリ名にしましょう。
$ mkdir polygon_data
$ mkdir place_data
ディレクトリを作ったら、それぞれ展開します。
$ unzip kOniZ -d polygon_data
$ unzip 0Jsqx -d place_data
さて、ここからがインストールしたツールの出番です。
先人たちはイギリスの地図データを含むTopoJSONを
作成していますが、ここでは日本の地図を作成する事にします。
$ ogr2ogr \
-f GeoJSON \
-where "adm0_a3 IN ('JPN')" \
subunits_jpn.json \
./polygon_data/ne_10m_admin_0_map_subunits.shp
where句の所ですが、
「a3 は ISO 3166-1 alpha-3 の定める国コード」
とあるので、JPNを指定します。
出力するファイル名も subunits_jpn.json としました。
subunits_jpn.json は出力されたでしょうか??
さて、お次ぎは居住地データです。
$ ogr2ogr \
-f GeoJSON \
-where "iso_a2 = 'JP' AND SCALERANK < 8" \
places_jpn.json \
./place_data/ne_10m_populated_places.shp
ここではwhere句に「ISO 3166-1 alpha-2」の国コード「JP」を指定し、
SCALERANKは8未満のままとします。
出力するファイル名も places_jpn.json としました。
では、出来上がった2つのGeoJSONファイルを結合して
日本の地図データを含むTopoJSONファイルを作成します。
$ topojson \
--id-property su_a3 \
-p NAME=name \
-p name \
-o jpn.json \
subunits_jpn.json \
places_jpn.json
これで、subunits_jpn.json と places_jpn.json を結合し、
jpn.jsonというTopoJSONファイルが作成されました。
今回はすんなりできましたね。
次回は、このデータをHTMLで表示させてみる事にします。
PR
COMMENT FORM
COMMENT
カレンダー
フリーエリア
最新コメント
最新記事
(02/04)
(01/27)
(01/19)
(01/13)
プロフィール
HN:
TakaP
性別:
非公開
ブログ内検索
最古記事
(01/13)
(01/19)
(01/27)
(02/04)
P R