世界の測量

Sibling of "Relevant, Timely, and Accurate, " but much lighter and shorter ※自らの所属する組織の見解を示すものでない

sotm-us-2014-dc-springmeyer.pdf からの抜き書き

sotm-us-2014-dc-springmeyer.pdf からの抜き書きを試みる。 ベクトルタイルとは何か 画像タイルと同じようなもの キャッシュが容易であり、高速配信できる。 アドレッシングスキームは画像タイルと同じ。 多数の複雑なレイヤを(一種類のタイルで)表現する…

バイナリベクトルタイルのウェブ地図対応状況

http://vector.io/vector-map/ に学ばせて頂き、バイナリベクトルタイル(MVT; Mapnik Vector Tiles)のウェブ地図(Leaflet)対応状況を確認してみた。 結果 MVT on Leaflet 0.8 WebGLが必須となっている等するため、ブラウザによっては動かない場合もある…

Dojo Mobile 利用テスト

勉強のためにDojo Mobile tutorial | Flickrview | Part I | Sample1を自分なりのスタイルにして書きなおしてみるとhttp://handygeospatial.github.io/mapsites/2014/03/25/のようになった。ふむ。

地理空間情報クリアリングハウスのCKAN APIを叩いてみる Pt. 2

地理空間情報クリアリングハウスのCKAN APIを叩いてみる Pt. 1 - 世界の測量の続き。 Get a full JSON representation of a dataset, resource or other object (cnt'd) http://ckan.gsi.go.jp/api/3/action/tag_show?id=気象 特定タグのデータセットのリス…

地理空間情報クリアリングハウスのCKAN APIを叩いてみる Pt. 1

地理空間情報クリアリングハウスにはAPIが用意されている。http://docs.ckan.org/en/latest/api/index.htmlを参考に、試しに叩いてみる。 Get JSON-formatted lists of a site’s datasets, groups or other CKAN objects http://ckan.gsi.go.jp/api/3/action…

タイルパス→タイル位置ツール xyz.html

タイルパスをタイル位置に変換して地図上に表示する xyz.html を作成した。CC0。 http://handygeospatial.github.io/mapsites/xyz.html?16/58509/24181.png みたいな感じで、?の後ろにタイルパスを入れると、タイル矩形を地図に表現するだけの簡単なツールで…

リアルタイム・ベクトルタイル

リアルタイム・ベクトルタイルの実験をした。結果は http://handygeospatial.github.io/mapsites/2014/02/25/ 。 タイルデータサーバ heroku で実装した。http://rtvt.herokuapp.com/xyz/11/1852/749.geojson といったアドレスにアクセスすれば、タイル内10…

国土数値情報(避難施設データ)のベクトルタイル変換

国土数値情報(避難施設データ)のベクトルタイル変換を行ってみた。国土数値情報(地価公示)データの変換と同じだが、47都道府県分一つ一つクリックする必要はある。OS Xの場合、~/Downloads フォルダに展開されるので、そこをスタートラインにして、次の…

MapReduce的ベクトルタイル作成(地価公示)Pt. 5

その後、属性表示がもう少し human readable になるように改造してみた。 http://handygeospatial.github.io/mapsites/2014/02/12/ 変更点 変更点は、関数 render_properties の内容だけである。次のように書き換えた。 function render_properties(prop) { …

MapReduce的ベクトルタイル作成(地価公示)Pt. 4

間があいてしまったが、前回作成したベクトルタイルデータを表示する。 http://handygeospatial.github.io/mapsites/2014/02/11/ の解説である。 ソースコード index.html のソースコードは、次の通りである。その他、leaflet-hash.js と TileLayer.GeoJSON.…

MapReduce的ベクトルタイル作成(地価公示)Pt. 3

データをAWS S3にputする。 データの作成 これまで作成したプログラムmap.rb及びreduce.rbを使って、次の通りズームレベル14〜18のGeoJSONベクトルタイルを作成した。 $ ruby map.rb 14 | sort | ruby reduce.rb $ ruby map.rb 15 | sort | ruby reduce.rb $…

MapReduce的ベクトルタイル作成(地価公示)Pt. 2

ついでreduce.rbを紹介し、実際にタイルを作成する。 reduce.rb ソートされ、タイルごとに並んでいるデータをTileJSONに書き出すだけの簡単なプログラム。 require 'fileutils' require 'json' last = nil geojson = nil $n_tiles = 0 def write(geojson, zx…

MapReduce的ベクトルタイル作成(地価公示)Pt. 1

UNIXのsortを使って、TileStacheよりも原理的に早く、ベクトルタイルを作成する。狙うは、国土数値情報(地価公示)。小分けにして記録していく。これはその1回目。 原理 mapの出力でありsortの対象のデータは、古き良き「行指向」データである。形式は次の…

ベクトルタイル・いちさと(小学校区)Pt. 6・アンクリップトTopoJSON

アンプリップトTopoJSON対応をした。 http://handygeospatial.github.io/mapsites/2014/01/06/unclipped_topojson.html コードはまだあまり整理されておらず、データのリファレンスカウント(もどき)がグローバル変数になっており、タイルをアンロードした…

ベクトルタイル・いちさと(小学校区)Pt. 5・クリップトTopoJSON

TopoJSONを使うと良いよという助言を頂いたので、TopoJSONタイルにチャレンジしてみた。 結果 ※見た目は従前と変わらないが、データが軽くなったのでレスポンスがよくなっている。 http://handygeospatial.github.io/mapsites/2014/01/06/clipped_topojson.h…

ベクトルタイル・いちさと(小学校区)Pt. 4 アンクリップト・タイル

面データでは、タイル境界の問題が顕著である。TileLayer.Vector.Unclipped.jsを利用して、タイルにかかるポリゴンをタイル境界で切り取らないように用意したタイルから、タイル境界なしにポリゴンデータを描画する方法を試してみた。 結果 http://handygeos…

ベクトルタイル・いちさと(小学校区)Pt. 3 テストサイトの公開

ここまで準備したデータを使ってテストサイトを公開した。 http://handygeospatial.github.io/mapsites/2014/01/06/clipped.html ファイルのアップロード 作成したファイルをAWS S3にアップロードするには、s3cmdを使用した。tilestache-seed.py がデータを…

ベクトルタイル・いちさと(小学校区)Pt. 2 ベクトルタイルデータを用意し確認するまで

タイルデータの作成 作成したShapefileを対象とする tilestache.cfg を作成したところ、次のとおり。 {"cache": { "name": "Disk", "path": "/vagrant/es", "dirs": "portable", "gzip": [] }, "layers": { "school_district": { "provider": {"name": "vect…

ベクトルタイル・いちさと(小学校区)Pt. 1 Shapefile を用意するまで

より範囲を限定して、ベクトルタイルの実験をポリゴン方向に進めることにした。対象とするデータは国土数値情報(小学校区データ)である。今回は、作業順序の順番で情報共有する。 範囲の設定 茨城・千葉・埼玉・東京(いちさと)の合成地域から矩形区域を…

ベクトルタイル・バスルート

国土数値情報(バスルートデータ)の一部のベクトルタイル化する試行を行った。失敗の多い試行であったが、学習は進めることができたと思う。 結果 http://handygeospatial.github.io/mapsites/2014/01/01/ いくつか、見るに耐える部分を紹介する。 羽田空港…

Overzooming対応

ebrelsford/leaflet-tilelayer-vector · GitHub を用いて、Overzooming 対応した。 Overzooming対応 大きなズームレベルのベクトルタイルを作成することは無駄が多いことが実感できたため、大きなズームレベルを描画する際に小さなズームレベルのタイルを拡…

自製ベクトルタイルをS3でホストしてGitHub Pagesから公開するまで

国土数値情報(バス停留所データ)ベクトルタイルの作成 国土数値情報(バス停留所データ)ベクトルタイルを作成するために、GeoRubyによるShapefileの文字コードのShapefileからUTF-8への変換(Late 2013) - 世界の測量 で準備したUTF-8文字コードのShapef…

GeoRubyによるShapefileの文字コードのShapefileからUTF-8への変換(Late 2013)

GeoRuby(Late 2013)によるShapefileの文字コード変換方法は、基盤地図情報Shapefileの文字コードをShift_JISからUTF-8に変換するコード - 世界の測量 で示した方法とは変わっていたので記録しておく。 最近のGeoRuby GeoRuby は nofxx/georuby · GitHub で…

tilestache-seed.pyによるベクトルタイルの作成

引き続きvagrant-webmaps上でのベクトルタイル作成実験。 python-gdal追加導入 あとで不足が分かったことだが、次のようにしてライブラリを追加した。 $ sudo apt-get install python-gdal その他、 $ sudo apt-get install gdal-bin して、例えば ogrinfo …

togeojsonの3つの顔

ウェブ地図のベクトル面の展開加速に向けて、次の3つのライブラリを急ぎ押さえる必要がある。 TileStache, togeojson, Leaflet.draw TileStache(ベクトルデータにスケーラビリティを与える。マーカークラスターが届かないレベルのスケーラビリティを実現で…

TileStacheの6スクリプトの役割

TileStacheに付属する6スクリプトの役割について、ヘルプメッセージを見て整理する。TileStacheはもともとサーバサイドコンポーネントとして設計されているようなのですが、私はコマンドラインツールとして使いたくて、そのような使い方をするための方法を検…

OS Xでの問題を迂回してvagrant-webmapsでTileStacheを手に入れる

vectiles mix-in: GeoJSON タイルによるパブリックデータのミックスイン - 世界の測量 で名前だけ出てきた TileStache を手元の OS X で動かそうとしたところ、Python的な理由で動かなかったので、perrygeo/vagrant-webmaps · GitHub に迂回して、動作する T…

vectiles mix-in: GeoJSON タイルによるパブリックデータのミックスイン

この記事は FOSS4G Advent Calendar 2013 : ATND の2013年12月13日(金)の記事です。 コモディティ化しつつあるベクトルタイルについて、考察と実験の結果を共有します。 ベクトルタイルということ。 Geo+Web界隈で、これまで技術力の高いウェブ地図サービ…

GeoJSON Tilesはどの程度使えるのか、試すためのheroku app(1)

いったいどの程度の規模のGeoJSON Tilesがまともに使えるのか、試すためのheroku app作成の第1回。とりあえず、タイルの中にランダムな点を30個置くことを意図したもの。 狙い ベクトルタイルを扱う既存のオープンソース実装が、どれほどメモリを大切に使っ…

ジオコーダ DAMS(Distributed Address Matching System)導入記録(OS X)

ホームページ Geocoding Tools & Utilities - 概要 ダウンロード $ wget http://newspat.csis.u-tokyo.ac.jp/download/dams-4.3.3.tgz 63MB の tgz ファイル。地名辞典も同梱されているとのこと。 インストール Geocoding Tools & Utilities - クイックスタ…