7: 2015-10-19 (月) 03:14:53 yuji Attached file: Hokkaido.poly, Attached file: Honshu.poly, Attached file: Kyushu.poly, Deleted an attach file: Kyushu.poly at 2015-10-19 (月) 11:12:34, Deleted an attach file: Honshu.poly at 2015-10-19 (月) 11:12:48, Deleted an attach file: Hokkaido.poly at 2015-10-19 (月) 11:13:01, Attached file: hokkaido.poly, Attached file: honshu.poly, Attached file: kyushu.poly, Attached file: shikoku.poly, Deleted an attach file: tags.xml at 2015-11-27 (金) 16:51:58 |
8: 2015-11-27 (金) 07:52:27 yuji Attached file: tags.xml |
||
---|---|---|---|
Line 1: | Line 1: | ||
** Locus maps用の地図作成 [#veb1f176] | ** Locus maps用の地図作成 [#veb1f176] | ||
[[Locus maps>https://play.google.com/store/apps/details?id=menion.android.locus.pro&hl=ja]]で使用できるベクター日本地図は,Locusアプリのストアからダウンロード出来るんだけど(ファイル3個まで無料),日本全体をカバーするには4個ダウンロードしないとダメなのと,実はLocusストアのベクター日本地図は,ところどころデータが破損していて,正常に地図が表示されない。 :cry: ~ | [[Locus maps>https://play.google.com/store/apps/details?id=menion.android.locus.pro&hl=ja]]で使用できるベクター日本地図は,Locusアプリのストアからダウンロード出来るんだけど(ファイル3個まで無料),日本全体をカバーするには4個ダウンロードしないとダメなのと,実はLocusストアのベクター日本地図は,ところどころデータが破損していて,正常に地図が表示されない。 :cry: ~ | ||
- | このことを報告したら,Locusでは新しいベクター地図を用意しているんで,もう少し待ってくれと言っていた。 | + | このことを報告したら,Locusでは新しいベクター地図を用意しているんで,もう少し待ってくれと言っていた。→ ''今,ダウンロード出来る地図は修正されている。'' |
なので,Locus mapで使用できるベクター日本地図を探すと,以下からダウンロードして使用できた。~ | なので,Locus mapで使用できるベクター日本地図を探すと,以下からダウンロードして使用できた。~ | ||
[[Mapsforge Download Server>http://download.mapsforge.org/]]~ | [[Mapsforge Download Server>http://download.mapsforge.org/]]~ | ||
OpenStreetMapから変換した日本全体のベクター地図がダウンロード出来て,Locusでもそのまま使用できる。~ | OpenStreetMapから変換した日本全体のベクター地図がダウンロード出来て,Locusでもそのまま使用できる。~ | ||
- | 残念ながら,Mapsforgeの地図には等高線データは含まれていない。また更新頻度は1~2ヶ月ぐらいなので,常に最新とは限らない。 | + | 残念ながら,Mapsforgeの地図には等高線データは含まれていない。また更新頻度は1~2ヶ月ぐらいなので,常に最新とは限らない。~ |
+ | それと,日本語ではなく英語になります。 | ||
[[OpenAndroMaps>http://www.openandromaps.org/en/]]~ | [[OpenAndroMaps>http://www.openandromaps.org/en/]]~ | ||
OpenStreetMapから変換した日本全体のベクター地図がダウンロード出来る。~ | OpenStreetMapから変換した日本全体のベクター地図がダウンロード出来る。~ | ||
- | しかもこのデータは,SRTMのデータから作成された等高線がバッチリ入っています。しかし更新頻度はMapsforgeよりも遅い。 | + | しかもこのデータは,SRTMのデータから作成された等高線がバッチリ入っています。嬉しいことに,日本語で表示するベクター地図もあります。通常はこのベクター地図を利用すれば問題はありません。しかし更新頻度はMapsforgeよりも遅い。 |
OpenStreetMapは,自分で自由に地図を編集出来るのが楽しくていいわけです。編集したらすぐそのデータを使いたくなっちゃいます。~ | OpenStreetMapは,自分で自由に地図を編集出来るのが楽しくていいわけです。編集したらすぐそのデータを使いたくなっちゃいます。~ | ||
Line 17: | Line 18: | ||
*** OpenStreetMapから日本の地図を作成 [#nb5b0177] | *** OpenStreetMapから日本の地図を作成 [#nb5b0177] | ||
[[ここ>/PC/地図/OpenStreetMap]]に書いてあるようにして,日本の地図データを用意する。~ | [[ここ>/PC/地図/OpenStreetMap]]に書いてあるようにして,日本の地図データを用意する。~ | ||
- | これをLocus mapが表示できるベクター地図(mapsfogeライブラリで出力した地図)に変換して作成する。~ | + | これをLocus mapが表示できるベクター地図(mapsforgeライブラリで出力した地図)に変換して作成する。~ |
- | 日本全体の地図データは大きなファイルになってしまって,ツールを使っての処理も大変時間がかかってしまうので,幾つかに分けたほうが良いかも。Locusストアで提供されている日本地図は,4個に分けています。 | + | 日本全体の地図データは大きなファイルになってしまって,ツールを使っての処理も大変時間がかかってしまうので,幾つかに分けたほうが良いかも。Locusストアで提供されている日本地図も4個に分けられているんで,同じように分けてみた。 |
- | .pbfファイルはバイナリデータに圧縮したファイルなんで,[[osmconvertツール>http://wiki.openstreetmap.org/wiki/Osmconvert]]を使ってosmfilterで編集出来るように.o5mファイルに変換する。 | + | .pbfファイルはバイナリデータに圧縮したファイルなんで,[[osmconvertツール>http://wiki.openstreetmap.org/wiki/Osmconvert]]を使ってosmfilterで編集出来るように.o5mファイルに変換した後,%%4個(北海道,本州,四国,九州)に分割する。%% 本州を一つにするとメモリ使用量が大きくなってしまい,うまく作成できなくなっちゃったんで,北海道,東北,関東,中部,近畿,中国,四国,九州の8個に分割することにした。 |
- | > osmconvert japan-latest.osm.pbf -B=..\poly\japan.poly -o=japan-latest.o5m | + | 分割するため,各polyファイルを作成した。( &ref(hokkaido.poly); &ref(tohoku.poly); &ref(kanto.poly); &ref(chubu.poly); &ref(kinki.poly); &ref(chugoku.poly); &ref(shikoku.poly); &ref(kyushu.poly); ) |
+ | > osmconvert japan-latest.osm.pbf -o=japan-latest.o5m | ||
+ | > osmconvert --complex-ways japan-latest.o5m -B=..\poly\Hokkaido.poly -o=hokkaido.o5m | ||
+ | > osmconvert --complex-ways japan-latest.o5m -B=..\poly\Tohoku.poly -o=tohoku.o5m | ||
+ | > osmconvert --complex-ways japan-latest.o5m -B=..\poly\Kanto.poly -o=kanto.o5m | ||
+ | > osmconvert --complex-ways japan-latest.o5m -B=..\poly\Chubu.poly -o=chubu.o5m | ||
+ | > osmconvert --complex-ways japan-latest.o5m -B=..\poly\Kinki.poly -o=kinki.o5m | ||
+ | > osmconvert --complex-ways japan-latest.o5m -B=..\poly\Chugoku.poly -o=chugoku.o5m | ||
+ | > osmconvert --complex-ways japan-latest.o5m -B=..\poly\Shikoku.poly -o=shikoku.o5m | ||
+ | > osmconvert --complex-ways japan-latest.osm -B=..\poly\Kyushu.poly -o=kyushu.o5m | ||
+ | |||
+ | %%4個%%8個に分割するのにタグが境界にまたがっている場合,そのまま分割するとタグが落ちてしまうんで,--complex-waysをつけている。 | ||
そして,いらないタグ(電線とか)を[[osmfilterツール>http://wiki.openstreetmap.org/wiki/Osmfilter]]を使って削除する。&ref(del.txt);にいらないタグを入れておく。 | そして,いらないタグ(電線とか)を[[osmfilterツール>http://wiki.openstreetmap.org/wiki/Osmfilter]]を使って削除する。&ref(del.txt);にいらないタグを入れておく。 | ||
- | > osmfilter japan-latest.o5m --parameter-file=del.txt > japan-latest_temp.o5m | + | > osmfilter hokkaido.o5m --parameter-file=del.txt > hokkaido_temp.o5m |
- | > rm japan-latest.o5m | + | > osmfilter tohoku.o5m --parameter-file=del.txt > tohoku_temp.o5m |
+ | > osmfilter kanto.o5m --parameter-file=del.txt > kanto_temp.o5m | ||
+ | > osmfilter chubu.o5m --parameter-file=del.txt > chubu_temp.o5m | ||
+ | > osmfilter kinki.o5m --parameter-file=del.txt > kinki_temp.o5m | ||
+ | > osmfilter chugoku.o5m --parameter-file=del.txt > chugoku_temp.o5m | ||
+ | > osmfilter shikoku.o5m --parameter-file=del.txt > shikoku_temp.o5m | ||
+ | > osmfilter kyushu.o5m --parameter-file=del.txt > kyushu_temp.o5m | ||
ところどころ,名前に(英語)のような表示が出る所があるんで,ついでにこれを削除しちゃう。~ | ところどころ,名前に(英語)のような表示が出る所があるんで,ついでにこれを削除しちゃう。~ | ||
.osmに戻してperlを使って | .osmに戻してperlを使って | ||
- | > osmconvert japan-latest_temp.o5m -o=japan-latest_temp.osm | + | > osmconvert hokkaido_temp.o5m -o=hokkaido_temp.osm |
- | > perl -p -e 's/\(.+?\)//g;' japan-latest_temp.osm > japan.osm | + | > osmconvert tohoku_temp.o5m -o=tohoku_temp.osm |
- | > rm japan-latest_temp.o5m | + | > osmconvert kanto_temp.o5m -o=kanto_temp.osm |
- | > rm japan-latest_temp.osm | + | > osmconvert chubu_temp.o5m -o=chubu_temp.osm |
+ | > osmconvert kinki_temp.o5m -o=kinki_temp.osm | ||
+ | > osmconvert chugoku_temp.o5m -o=chugoku_temp.osm | ||
+ | > osmconvert shikoku_temp.o5m -o=shikoku_temp.osm | ||
+ | > osmconvert kyushu_temp.o5m -o=kyushu_temp.osm | ||
+ | > perl -p -e 's/\(.+?\)//g;' hokkaido_temp.osm > hokkaido.osm | ||
+ | > perl -p -e 's/\(.+?\)//g;' tohoku_temp.osm > tohoku.osm | ||
+ | > perl -p -e 's/\(.+?\)//g;' kanto_temp.osm > kanto.osm | ||
+ | > perl -p -e 's/\(.+?\)//g;' chubu_temp.osm > chubu.osm | ||
+ | > perl -p -e 's/\(.+?\)//g;' kinki_temp.osm > kinki.osm | ||
+ | > perl -p -e 's/\(.+?\)//g;' chugoku_temp.osm > chugoku.osm | ||
+ | > perl -p -e 's/\(.+?\)//g;' shikoku_temp.osm > shikoku.osm | ||
+ | > perl -p -e 's/\(.+?\)//g;' kyushu_temp.osm > kyushu.osm | ||
こんなようにして,(英語)を削除した。 | こんなようにして,(英語)を削除した。 | ||
- | これで,ベクター日本地図のjapan.osmが出来た。.osmファイルはテキストファイル(xml)で,日本全体だと22Gbyte以上になります。 | + | これで,ベクター日本地図のhakkaido.osm(北海道),%%honshu.osm(本州)%%,tohoku.osm(東北),kanto.osm(関東),chubu.osm(中部),kinki.osm(近畿),chugoku.osm(中国),shikoku.osm(四国),kyushu.osm(九州)が出来た。.osmファイルはテキストファイル(xml)で,日本全体だと22Gbyte以上になっちゃう。 |
- | 日本地図データのjapan.osmからLocusストアのように4個に分割する場合は, | + | この後,.osmを.pbfに変更しておこうと, |
- | > osmconvert japan.osm -B=..\poly\hokkaido.poly -o=hokkaido.osm | + | > osmconvert hokkaido.osm -o=hokkaido.osm.pbf |
- | > osmconvert japan.osm -B=..\poly\honshu.poly -o=honsyu.osm | + | > osmconvert tohoku.osm -o=tohoku.osm.pbf |
- | > osmconvert japan.osm -B=..\poly\shikoku.poly -o=shikoku.osm | + | > osmconvert kanto.osm -o=kanto.osm.pbf |
- | > osmconvert japan.osm -B=..\poly\kyushu.poly -o=kyushu.osm | + | > osmconvert chubu.osm -o=chubu.osm.pbf |
- | のように,osmconvertツールで各polyファイルでエリアを指定して抽出すればOK。~ | + | > osmconvert kinki.osm -o=kinki.osm.pbf |
- | このために各polyファイルを作成した。( &ref(hokkaido.poly); &ref(honshu.poly); &ref(shikoku.poly); &ref(kyushu.poly); ) | + | > osmconvert chugoku.osm -o=chugoku.osm.pbf |
+ | > osmconvert shikoku.osm -o=shikoku.osm.pbf | ||
+ | > osmconvert kyushu.osm -o=kyushu.osmpbf | ||
*** SRTMのデータから等高線地図を作成 [#w49cf595] | *** SRTMのデータから等高線地図を作成 [#w49cf595] | ||
Line 94: | Line 127: | ||
osmosisはjavaアプリケーションですが,日本全体を処理する場合はRAMがたくさんあるPC出ないと,そのままではメモリ不足で停止しちゃいます。(5Gを割り当てても足りない)~ | osmosisはjavaアプリケーションですが,日本全体を処理する場合はRAMがたくさんあるPC出ないと,そのままではメモリ不足で停止しちゃいます。(5Gを割り当てても足りない)~ | ||
type=hdを使うと速度はかなり遅くなりますが,メモリ不足はなんとか回避できます。tag-conf-file=&ref(tags.xml);で表示用にタグ設定しておきます。(設定がおかしいかも・・・) | type=hdを使うと速度はかなり遅くなりますが,メモリ不足はなんとか回避できます。tag-conf-file=&ref(tags.xml);で表示用にタグ設定しておきます。(設定がおかしいかも・・・) | ||
- | > osmosis --read-xml file="japan_osm" --sort --read-xml file="japan_strm.osm" --sort --merge --mapfile-writer file="japan.map" type=hd tag-conf-file=tags.xml zoom-interval-conf=10,9,11,14,12,21 map-start-zoom=10 | + | > osmosis --read-pbf file="jpmap\hokkaido.osm.pbf" --read-xml file="srtm\hokkaido_srtm.osm" --merge --mapfile-writer file="hokkaido.map" type=hd tag-conf-file=tags\tags.xml map-start-zoom=10 comment="%date% made by Yuji Ueno" |
+ | > osmosis --read-pbf file="jpmap\honshu.osm.pbf" --read-xml file="srtm\honshu_srtm.osm" --merge --mapfile-writer file="honshu.map" type=hd tag-conf-file=tags\tags.xml map-start-zoom=10 comment="%date% made by Yuji Ueno" | ||
+ | > osmosis --read-pbf file="jpmap\shikoku.osm.pbf" --read-xml file="srtm\shikoku_srtm.osm" --merge --mapfile-writer file="shikoku.map" type=hd tag-conf-file=tags\tags.xml map-start-zoom=10 comment="%date% made by Yuji Ueno" | ||
+ | > osmosis --read-pbf file="jpmap\kyushu.osm.pbf" --read-xml file="srtm\kyushu_srtm.osm" --merge --mapfile-writer file="kyushu.map" type=hd tag-conf-file=tags\tags.xml map-start-zoom=10 comment="%date% made by Yuji Ueno" | ||
とにかく時間がかかります。マージするだけでも大体27時間(sortしないと15時間)ぐらいかかった :-o | とにかく時間がかかります。マージするだけでも大体27時間(sortしないと15時間)ぐらいかかった :-o | ||
Line 101: | Line 137: | ||
&ref(japan_map.png);&ref(japan_map2.png); | &ref(japan_map.png);&ref(japan_map2.png); | ||
- | 同様にして,Locusストアで提供されているように,北海道,本州,四国,九州の4個の.mapファイルを作成した。 | + | 作成した日本のベクターマップは,[[こちら>https://onedrive.live.com/redir?resid=9D5AE460143634BB%21170]] |
- | > osmosis --read-xml file="hokkaido.osm" --sort --read-xml file="hokkaido_srtm.osm" --sort --merge --mapfile-writer file="hokkaido.map" type=hd tag-conf-file=tags.xml map-start-zoom=10 comment="%date% made by Yuji Ueno" | + | |
- | > osmosis --read-xml file="honshu.osm" --sort --read-xml file="honshu_srtm.osm" --sort --merge --mapfile-writer file="honshu.map" type=hd tag-conf-file=tags.xml map-start-zoom=10 comment="%date% made by Yuji Ueno" | + | |
- | > osmosis --read-xml file="shikoku.osm" --sort --read-xml file="shikoku_srtm.osm" --sort --merge --mapfile-writer file="shikoku.map" type=hd tag-conf-file=tags.xml map-start-zoom=10 comment="%date% made by Yuji Ueno" | + | |
- | > osmosis --read-xml file="kyushu.osm" --sort --read-xml file="kyushu_srtm.osm" --sort --merge --mapfile-writer file="kyushu.map" type=hd tag-conf-file=tags.xml map-start-zoom=10 comment="%date% made by Yuji Ueno" | + | |
- | // 作成した日本のベクターマップは,[[こちら(2015/10/06時点)>https://onedrive.live.com/redir?resid=9D5AE460143634BB%21936]] | + |