#planet.osmから見る地図の変遷とその更新ペース(卒論覚書ってやつ)
最終更新日:2019/04/19
##はじめに
このページは、私がこの一年間で完成させるサービス開発の覚書である。内容の正誤性に保証は持てないし、時系列や開発順通りに並べるつもりもない。ただ、余裕があれば整備するかもしれない。
ただ、こんな端書でも何かの役に立てばいいなと思いここに記す。
##覚書
###osmから得られるchangesetの構造と使い道
<osm version="0.6" generator="CGImap 0.6.1 (11419 thorn-02.openstreetmap.org)" copyright="OpenStreetMap and contributors" attribution="http://www.openstreetmap.org/copyright" license="http://opendatacommons.org/licenses/odbl/1-0/">
<changeset id="69260327" created_at="2019-04-16T07:47:23Z" closed_at="2019-04-16T07:47:24Z" open="false" user="Kouki_T" uid="4089822" min_lat="35.6414530" min_lon="139.7495544" max_lat="35.6418014" max_lon="139.7500988" comments_count="0">
<tag k="changesets_count" v="252"/>
<tag k="imagery_used" v="Bing aerial imagery"/>
<tag k="locale" v="ja"/>
<tag k="host" v="https://www.openstreetmap.org/edit"/>
<tag k="created_by" v="iD 2.14.3"/>
<tag k="comment" v="add TOPPAN SHIBAURA BUIDING"/>
</changeset>
</osm>
changeset idはhttps://www.openstreetmap.org/changeset/*** に飛ばすことでその変更セットに飛ぶことができる。
num_changesは変更したノードの数。
userは変更したユーザー。
uidは変更したユーザーのid?
min_lat max_lat編集したノードの緯度値
min_lon max_lon編集したノードの経度値
基本的にはplanet.osmから得られるdiffも同じ。osmタグがないくらい。
lat,lonタグからポイントを取得し地図に表示できればいけそう。
↓
緯度経度からエリアを判別できればいけるか・・・?
changesetは緯度経度データなのでxyz方式に変換する必要がある
平面直角座標への換算
https://vldb.gsi.go.jp/sokuchi/surveycalc/surveycalc/bl2xyf.html
max値の方を取ってみたら少しずれてた。まぁ許容範囲か。
さすがに毎回国土地理院に計算させるわけにもいかないので計算式を探す。
・・・???なんだこれはたまげたなぁ(数学苦手勢)
関数なんてわかるわけないだろ!いい加減にしろ!
というわけで先人の知恵をお借りすることに(いつもの)
緯度経度と平面直角座標の相互変換をPythonで実装する
https://qiita.com/sw1227/items/e7a590994ad7dcd0e8ab
緯度経度原点については、ごめん調べたけどわからなかった。
地理院地図が、
また、各タイルにはX,Yからなるタイル座標を定義します。
西経180度、北緯約85.0511度の北西端を端点にもつタイルを(0,0)として東方向をX正方向、南方向をY正方向にとります。
と指定してるのでとりあえず従おう。
とりあえずテストとしてinputとprintで緯度経度入力するように書き換えたけど結果を吐き出してくれないから病む。いったん終わり。