忍者ブログ
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で表示させてみる事にします。

PR
COMMENT FORM
NAME
URL
MAIL
PASS
TITLE
COMMENT
Vodafone絵文字 i-mode絵文字 Ezweb絵文字
COMMENT
カレンダー
04 2024/05 06
S M T W T F S
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
フリーエリア
最新コメント
プロフィール
HN:
TakaP
性別:
非公開
バーコード
ブログ内検索
P R
忍者ブログ [PR]
"TakaP" WROTE ALL ARTICLES.
PRODUCED BY SHINOBI.JP @ SAMURAI FACTORY INC.