13: 2020-12-26 (Sat) 15:07:38 yuji ![]() Attached file: honshu_s.osm, Attached file: Honshu.poly, Deleted an attach file: tags_0.xml at 2022-03-11 (金) 11:32:49, Deleted an attach file: tags.xml at 2022-03-11 (金) 11:32:53, Deleted an attach file: honshu_s.osm at 2022-03-11 (金) 11:44:19, Deleted an attach file: tohoku_s.osm at 2022-03-11 (金) 11:44:29, Deleted an attach file: kanto_s.osm at 2022-03-11 (金) 11:44:38, Deleted an attach file: chubu_s.osm at 2022-03-11 (金) 11:44:48, Deleted an attach file: kinki_s.osm at 2022-03-11 (金) 11:44:56, Deleted an attach file: kyushu_s.osm at 2022-03-11 (金) 11:45:05, Deleted an attach file: shikoku_s.osm at 2022-03-11 (金) 11:45:14, Deleted an attach file: chugoku_s.osm at 2022-03-11 (金) 11:45:25, Deleted an attach file: hokkaido_s.osm at 2022-03-11 (金) 11:45:35, Deleted an attach file: honshu_s_0.osm at 2022-03-11 (金) 11:50:23, Deleted an attach file: shape2osm.py at 2022-03-11 (金) 12:02:26 at 2022-03-18 (金) 07:51:26 at 2022-03-18 (金) 15:37:00 at 2022-03-22 (火) 13:24:43, Deleted an attach file: yuji_theme.zip at 2022-03-22 (火) 16:37:46, Deleted an attach file: yuji.zip at 2022-03-24 (木) 09:37:21 at 2022-03-24 (木) 10:34:56 at 2022-03-24 (木) 17:47:31 at 2022-03-24 (木) 18:16:43 at 2022-03-24 (木) 22:04:07 at 2022-03-25 (金) 15:51:22 at 2022-03-25 (金) 16:06:18 at 2022-03-25 (金) 16:14:48 at 2022-03-25 (金) 16:23:33 at 2022-03-25 (金) 16:40:05, Deleted an attach file: poi-mapping.xml at 2022-03-26 (土) 17:16:56 |
Cur: 2022-03-28 (Mon) 22:52:43 yuji ![]() Deleted an attach file: yuji.zip at 2022-04-05 (火) 17:57:26 at 2022-04-13 (水) 14:13:11 at 2022-04-13 (水) 14:42:40 at 2022-04-13 (水) 17:12:40 at 2022-04-14 (木) 10:42:26 at 2022-04-14 (木) 16:37:52 at 2022-04-14 (木) 17:12:03 at 2022-04-14 (木) 17:23:52 at 2022-04-15 (金) 09:09:56 at 2022-04-15 (金) 09:58:18, Deleted an attach file: tags.xml at 2022-04-15 (金) 16:13:22 at 2022-04-16 (土) 07:03:27 at 2022-04-17 (日) 09:45:09 at 2022-04-18 (月) 21:44:02 at 2022-04-19 (火) 13:00:54 at 2022-04-20 (水) 09:13:15 at 2022-04-21 (木) 10:48:22 at 2022-04-21 (木) 16:19:59 at 2022-04-21 (木) 16:47:32, Deleted an attach file: poi-mapping.xml at 2022-04-22 (金) 11:05:32 at 2022-04-29 (金) 16:23:58 at 2022-04-29 (金) 16:24:41 at 2022-04-29 (金) 16:41:09, Deleted an attach file: tagfilter.txt at 2022-04-29 (金) 17:20:13 at 2022-04-29 (金) 17:58:47 at 2022-04-29 (金) 18:15:10 |
||
---|---|---|---|
Line 1: | Line 1: | ||
* Locus Map [#rfc076d7] | * Locus Map [#rfc076d7] | ||
- | Locus Mapは,Android端末で動作するGPS地図アプリケーション。無料版の[[Locus Map>https://play.google.com/store/apps/details?id=menion.android.locus]]と有料版の[[Locus Map Pro>https://play.google.com/store/apps/details?id=menion.android.locus.pro]]がある。03/15/2021にLocus Mapの後継だと思われる[[Locus Map 4>https://www.locusmap.app/locus-map-4-is-here-enjoy-its-first-release/]](有料機能は,SilverとGoldのサブスクリプションになった)がリリースされた。 | + | Locus Mapは,Android端末で動作するGPS地図アプリケーション。無料版の[[Locus Map>https://play.google.com/store/apps/details?id=menion.android.locus]]と有料版の[[Locus Map Pro>https://play.google.com/store/apps/details?id=menion.android.locus.pro]]((04/05/2022にLocus Map 3 Classicに名前が変更された。))がある。 |
+ | |||
+ | 03/15/2021に無料版Locus Mapの後継だと思われる[[Locus Map 4>https://www.locusmap.app/locus-map-4-is-here-enjoy-its-first-release/]](有料版は,SilverとGoldのサブスクリプション契約になった)がリリースされた。 | ||
Locus Map/Locus Map Proは,~ | Locus Map/Locus Map Proは,~ | ||
- | - 多くのオンライン地図,オフライン地図に対応。~ | + | - 多くのオンライン地図・オフライン地図に対応。~ |
- | OpenStreetMapベースのベクター地図も使用できる。ベクター地図は,Mapsforge形式が使用でき,ファイルサイズが小さい。国土地理院のGSI Mapsにも対応。自分で作成した地図も利用できる。~ | + | オフライン地図にはOpenStreetMapベースのMapsforge形式のベクター地図も使用でき,ファイルサイズが小さい。自分で作成した地図も利用できる。~ |
- | オンライン地図はキャッシュすることが出来,キャッシュ済みの場合はモバイル通信しなくても表示できる。~ | + | オンライン地図には国土地理院のGSI Mapsに対応している。WMSにも対応している。オンライン地図はキャッシュすることが出来,キャッシュ済みの場合はモバイル通信しなくても表示できる。~ |
- | 地図を重ねて表示もできる。~ | + | また,地図を重ねて表示もできる。~ |
- | - 各国語表示・音声出力対応。もちろん,日本語表示・日本語音声OK。~ | + | |
- 地図表示が高速。~ | - 地図表示が高速。~ | ||
- | ベクター地図では,スクロールしたりしても全くストレスがない。 | + | Mapsforge形式のベクター地図では,スクロールしたりしても全くストレスがない。 |
- | - ベクター地図の表示をThemeでカスタマイズできる。~ | + | - Mapsforge形式のベクター地図ではThemeで表示をカスタマイズできる。~ |
+ | - 等高線や起伏データの表示。~ | ||
+ | - 各国語表示・音声出力対応。もちろん,日本語表示・日本語音声OK。~ | ||
- オフラインPOI,お気に入りポイント対応,Googleプレイス,ウィキペディア検索も出来る。~ | - オフラインPOI,お気に入りポイント対応,Googleプレイス,ウィキペディア検索も出来る。~ | ||
オフラインPOIデータは,SQLite形式な独自DBフォーマット(公開していない)なデータ。LoMaps(Lucasストアでの有料のベクター地図)を購入すると,このオフラインPOI DBファイルがついてくる。~ | オフラインPOIデータは,SQLite形式な独自DBフォーマット(公開していない)なデータ。LoMaps(Lucasストアでの有料のベクター地図)を購入すると,このオフラインPOI DBファイルがついてくる。~ | ||
- | - トラックの保存やインポート機能。~ | + | - 座標・住所・連絡先検索が可能。~ |
+ | オフライン検索にはLoMapsのオフラインPOI DBを利用した住所検索(市やストリート名で検索)機能もあるが,日本のOpenStreetMapの住所情報にストリート名(日本では町名や番地などになる)が入っているのが稀なため,あまり使えない。オフラインでの住所検索には[[GeoNames>http://www.geonames.org/]]のデータを使って検索もできる。~ | ||
+ | オンライン検索にはGoogle等が使用できる。~ | ||
+ | - トラックの保存やインポート・エクスポート機能。~ | ||
GPSロガーとしても使用可能。時刻・標高付きGPXファイルを保存・インポート機能。~ | GPSロガーとしても使用可能。時刻・標高付きGPXファイルを保存・インポート機能。~ | ||
- | あらかじめ,トラックを作成することも出来る。~ | + | あらかじめ,トラックを作成・編集することも出来る。~ |
- オンライン・オフラインでのルート検索,音声ガイド付きナビゲーション。~ | - オンライン・オフラインでのルート検索,音声ガイド付きナビゲーション。~ | ||
+ | ルート検索はオフライン(Brouter)でも可能。~ | ||
+ | 電車・バス利用のルート検索には対応していない。~ | ||
カーナビ,自転車,徒歩ナビ。ポイントへの接近通知対応。~ | カーナビ,自転車,徒歩ナビ。ポイントへの接近通知対応。~ | ||
- | - 等高線や起伏データの表示。~ | + | - ジオキャッシングで使いやすい機能搭載。~ |
- | - 座標,住所,連絡先検索が可能。~ | + | - サイクルコンピューター機能。~ |
- | LoMapsのオフラインPOI DBを利用したオフラインの住所検索(市やストリート名で検索)機能もあるが,日本のOpenStreetMapの住所情報にストリート名(日本では町名や番地などになる)が入っているのが稀なため,ほとんど使えない。~ | + | -- BluetoothやANT+での各種センサーとの接続対応。 |
- | 住所検索には[[GeoNames>http://www.geonames.org/]]のデータを使ってオフライン検索もできる。~ | + | -- ダッシュボード機能がある。~ |
- | - ジオキャッシングで使いやすい機能搭載。 | + | サイクルコンピュータのような表示のサポート。~ |
- | - ダッシュボード機能がある。~ | + | |
- | サイクルコンピュータのような表示が出来る。~ | + | |
- プラグインで機能が追加できる。~ | - プラグインで機能が追加できる。~ | ||
- | - BluetoothやANT+センサーとの接続対応。 | ||
- 知り合いとの位置共有。 | - 知り合いとの位置共有。 | ||
- | のような機能・特徴があり,非常に使いやすい地図アプリ。Locus Map Proを購入して使用している。~ | + | のような機能・特徴があり,非常に使いやすい素晴らしい地図アプリ。Locus Map Proを購入して使用している。~ |
* Locus Map用の地図 [#veb1f176] | * Locus Map用の地図 [#veb1f176] | ||
- | [[Locus Map>http://www.locusmap.eu/]]でオフラインで使用できるベクター日本地図は,Locus Mapを使ってLucusストアからダウンロード購入出来る。Locusストアでは,ベクター地図をLoMapsと呼んでいるようだ。Locus Map Free(無料版)でもファイル3個までは無料でダウンロードして使用することが出来るが,日本全体をカバーするにはファイル4個ダウンロードしないとダメ。 | + | [[Locus Map>http://www.locusmap.eu/]]でオフラインで使用できる日本地図には,Locus Mapを使ってLucusストアからダウンロード購入出来る''LoMaps''と呼ばれているベクター地図がある。Locus Map Free(無料版)でもファイル3個までは無料でダウンロードして使用することが出来るが,日本全体をカバーするにはファイル4個(北海道・本州・四国・九州)をダウンロードする必要がある。 |
- | 以前,実はLocusストアのベクター日本地図はところどころデータが破損していて,正常に地図が表示されない問題があった。 :cry: ~ | + | 実は初期のLoMapsのベクター日本地図はところどころデータが破損していて,正常に地図が表示されない問題があった。 :cry: ~ |
- | このことを報告した後,''2015/12月以降のダウンロード出来る地図は問題が修正されているので,その後は問題はなく使用できている。'' | + | このことを報告した後,''2015/12月以降のダウンロード出来る地図は問題が修正されていてその後は問題はなく使用出来ている。'' |
- | また,Locusストアから有償でダウンロードするベクター日本地図は,概ね3ヶ月毎に地図が更新されるのだが,この時は再度お金を払って(日本全部で200円程度だが)ダウンロードする必要がある。(上記の正常に表示されない地図からのバージョンアップでもお金を払ったことがあったが,不具合があったベクター地図を更新するのにも有料なのは納得出来なかったなぁ。) | + | また,このLoMapsは概ね3-4ヶ月毎に地図が更新されるのだが,この時は再度お金を払って(日本全部で200円程度)ダウンロードする必要がある。(上記の正常に表示されない地図からのバージョンアップでもお金を払ったことがあったが,不具合があったベクター地図を更新するのにも有料なのは納得出来なかったなぁ。) |
- | LoMapsをダウンロードすると,オフラインで使えるPOI DBや住所DBが合わせてダウンロード出来るので,有用ではある。(抱き合わせ販売・・・)~ | + | LoMapsをダウンロードすると,オフラインで使えるPOI DBや住所検索DBが合わせてダウンロード出来るので有用ではある。(抱き合わせ販売・・・)~ |
オフラインPOI DBのフォーマット仕様は公開してもらいたいなぁ。 | オフラインPOI DBのフォーマット仕様は公開してもらいたいなぁ。 | ||
+ | |||
+ | LoMapsはOpenStreetMapのデータをMapsforge Map writerで変換した地図データとSRTMデータから作成した等高線データを組み合わせたベクター地図に,独自のPOI/住所DBファイルで構成されている。 | ||
** 無料で使用できるベクター地図 [#eeb18e6d] | ** 無料で使用できるベクター地図 [#eeb18e6d] | ||
- | [[Locus Map>http://www.locusmap.eu/]]でフリーで使用できるベクター日本地図がどこかにないのか探してみると,以下からダウンロードして使用することができた。 | + | 有料のLoMaps以外で[[Locus Map>http://www.locusmap.eu/]]で無料で使用できるベクター日本地図がどこかにないのか探してみると,以下からダウンロードして使用することができた。(LoMaps以前にはフリーな日本の地図が[[Locus Mapのサイト>http://vectormaps4locus.eu/Asia-Japan]]からでもダウンロード出来た。) |
- ''[[Mapsforge Download Server>http://download.mapsforge.org/]]''~ | - ''[[Mapsforge Download Server>http://download.mapsforge.org/]]''~ | ||
- | [[OpenStreetMap>http://www.openstreetmap.org/]]から変換した日本全体のベクター地図がダウンロード出来て,Locus Mapでもそのまま使用できる。~ | + | Mapsforgeライブラリの開発者が[[OpenStreetMap>http://www.openstreetmap.org/]]から変換したベクター地図を提供しているサイトで,日本全体のベクター地図がダウンロード出来る。Locus Mapでもそのまま使用できる。~ |
- | 残念ながら,このMapsforgeの地図には等高線データは含まれていない &worried; また,更新頻度は1~2ヶ月ぐらいなので,常に最新とは限らない。~ | + | 残念ながら,このMapsforgeの地図には等高線データは含まれていない &worried; 更新頻度は1~2ヶ月ぐらいと比較的早い。Mapsforge POIファイルもダウンロードできる。(Locus Mapでは使用できない。)~ |
- | それと,日本語ではなく英語表示になります。~ | + | v3マップでは日本語ではなく英語表示だったけど,v4・v5マップでは日本語で表示出来る。~ |
- %%''[[locusvectormaps>http://www.locusvectormaps.com/]]''%%~ | - %%''[[locusvectormaps>http://www.locusvectormaps.com/]]''%%~ | ||
%%OpenStreetMapから変換した日本全体のベクター地図がダウンロード出来る。%%~ | %%OpenStreetMapから変換した日本全体のベクター地図がダウンロード出来る。%%~ | ||
Line 55: | Line 62: | ||
- [[vector.city>https://vector.city/]]~ | - [[vector.city>https://vector.city/]]~ | ||
OpenStreetMapから変換した日本のベクター地図がダウンロード出来る。locusvectormapsの後継サイトのようだ。~ | OpenStreetMapから変換した日本のベクター地図がダウンロード出来る。locusvectormapsの後継サイトのようだ。~ | ||
- | ダウンロードできる日本のベクター地図は,ファイルが正常に作成出来ていないか破損しているファイルだった。~ | + | %%ダウンロードできる日本のベクター地図は,ファイルが正常に作成出来ていないか破損しているファイルだった。%% 04/27/2022版は問題なかった。残念ながら等高線データは含まれていない。日本語での表示はOK。~ |
+ | 問題としては,海が青く表示されない &worried; ~ | ||
- ''[[OpenAndroMaps>http://www.openandromaps.org/en/]]''~ | - ''[[OpenAndroMaps>http://www.openandromaps.org/en/]]''~ | ||
OpenStreetMapから変換した日本全体のベクター地図がダウンロード出来る。~ | OpenStreetMapから変換した日本全体のベクター地図がダウンロード出来る。~ | ||
しかもこのデータは,SRTMのデータから作成された20mの等高線がバッチリ入っています。(いくつかのヨーロッパの地図では10mの等高線が入っている。)嬉しいことに,日本語で表示するベクター地図もあります。(一時期,日本語対応のベクター地図は削除されていたんだけど復活している。ダウンロードする時Multilingual Mapを選べは日本語が入っているベクター地図をダウンロードできる。)~ | しかもこのデータは,SRTMのデータから作成された20mの等高線がバッチリ入っています。(いくつかのヨーロッパの地図では10mの等高線が入っている。)嬉しいことに,日本語で表示するベクター地図もあります。(一時期,日本語対応のベクター地図は削除されていたんだけど復活している。ダウンロードする時Multilingual Mapを選べは日本語が入っているベクター地図をダウンロードできる。)~ | ||
しかも2020/07ぐらいから,Locus Mapで使用できるオフラインPOIデータもサポートされた :D ~ | しかも2020/07ぐらいから,Locus Mapで使用できるオフラインPOIデータもサポートされた :D ~ | ||
- | この日本全体のベクター地図は一つの地図ファイルで分割はされていないので,Locus Mapで複数の地図にまたがる検索などの問題が起きないので嬉しい。''これを無料で提供されているのには頭が下がります。'' 少しですが感謝したく寄付しました。~ | + | この日本全体のベクター地図は一つの地図ファイルで分割されていないので,Locus Mapで複数の地図にまたがる検索などの問題が起きないのが嬉しい。''これを無料で提供されているのには頭が下がります。'' 少しですが感謝したく寄付しました。~ |
- | 更新頻度は3ヶ月ぐらい。~ | + | 更新頻度は3ヶ月から4ヶ月ぐらい。~ |
- [[AndroidMaps>https://www.androidmaps.co.uk/]]~ | - [[AndroidMaps>https://www.androidmaps.co.uk/]]~ | ||
OpenStreetMapから変換した日本のベクター地図がダウンロード出来る。~ | OpenStreetMapから変換した日本のベクター地図がダウンロード出来る。~ | ||
Line 67: | Line 75: | ||
- [[Kurviger>https://download.kurviger.de/]]~ | - [[Kurviger>https://download.kurviger.de/]]~ | ||
OpenStreetMapから変換した日本のベクター地図がダウンロード出来る。~ | OpenStreetMapから変換した日本のベクター地図がダウンロード出来る。~ | ||
- | [[Kurviger>https://kurviger.de/en]]はオートバイ用の経路検索アプリで,Mapsforge Map Writer Pluginの開発者が共同開発している。[[Androidアプリ>https://play.google.com/store/apps/details?id=gr.talent.kurviger]]もある。このアプリで利用するベクター地図を提供しているようだ。~ | + | [[Kurviger>https://kurviger.de/en]]はオートバイ用の経路検索アプリで,Mapsforge Map Writer Pluginの開発者が共同開発している[[Androidアプリ>https://play.google.com/store/apps/details?id=gr.talent.kurviger]]もある。このアプリで利用するベクター地図を提供しているようだ。~ |
残念ながら,このベクター地図には等高線データは含まれていない &worried; 日本語での表示はOK。~ | 残念ながら,このベクター地図には等高線データは含まれていない &worried; 日本語での表示はOK。~ | ||
Line 80: | Line 88: | ||
そこで自前でOpenStreetMapの地図データからLocus Mapで使用できるベクター地図(.mapファイル)を作成することにした。 | そこで自前でOpenStreetMapの地図データからLocus Mapで使用できるベクター地図(.mapファイル)を作成することにした。 | ||
- | まず,[[このページ>/PC/地図/OpenStreetMap]]に書いてあるようにして,最新の日本の地図データ(japan-latest.osm.pbf)を用意する。 | + | ** OpenStreetMapの日本の地図データを用意する [#c3132bf9] |
+ | まず,[[こちらのページ>/PC/地図/OpenStreetMap]]に書いてあるようにして,最新の日本の地図データ(japan-latest.osm.pbf)を用意する。 | ||
この日本の地図データを[[Locus Map>http://www.locusmap.eu/]]が表示できるベクター地図(mapsforgeライブラリで出力した地図)に変換する。 | この日本の地図データを[[Locus Map>http://www.locusmap.eu/]]が表示できるベクター地図(mapsforgeライブラリで出力した地図)に変換する。 | ||
+ | ** 日本の地図データを小さい領域に分割する [#qbf44137] | ||
日本全体の地図データは大きなファイルになってしまって,ツールを使っての変換処理も大変時間がかかってしまうのと,PCに多くのメモリーを搭載していないと((おそらく日本全体の場合は32GBのメモリを搭載する必要がある。))処理が途中でメモリ不足で停止してしまう。なので幾つかの小さい地域に分けたほうが良い。~ | 日本全体の地図データは大きなファイルになってしまって,ツールを使っての変換処理も大変時間がかかってしまうのと,PCに多くのメモリーを搭載していないと((おそらく日本全体の場合は32GBのメモリを搭載する必要がある。))処理が途中でメモリ不足で停止してしまう。なので幾つかの小さい地域に分けたほうが良い。~ | ||
Locusストアで提供されているLoMaps日本地図も,北海道・本州・四国・九州の4個に分けられている。OsmAnd/OsmAnd+では,北海道・東北・関東・中部・近畿・中国・四国・九州の8個に分けられている。 | Locusストアで提供されているLoMaps日本地図も,北海道・本州・四国・九州の4個に分けられている。OsmAnd/OsmAnd+では,北海道・東北・関東・中部・近畿・中国・四国・九州の8個に分けられている。 | ||
- | そこで,OsmAnd/OsmAnd+と同じように北海道・東北・関東・中部・近畿・中国・四国・九州の8個と本州に分けて作成してみた。 | + | そこで,Locus MapやOsmAnd/OsmAnd+と同じように北海道・本州(東北・関東・中部・近畿・中国)・四国・九州の4個(8個)に分けて作成してみた。 |
- | ** 日本の地図データを小さい領域に分割する [#qbf44137] | + | まず日本全体の地図データ(japan-latest.osm.pbf)を北海道・東北・関東・中部・近畿・中国・四国・九州,といった8個の.pbfファイル,もしくは北海道・本州・四国・九州の4個の.pbfファイルに分割する。(北海道・四国・九州は共通) |
- | 日本全体の地図データを北海道・東北・関東・中部・近畿・中国・四国・九州,といった8個の.pbfファイル,もしくは北海道・本州・四国・九州の4個の.pbfファイルに分割する。(北海道・四国・九州は共通) | + | |
日本全体の地図を8個(or 4個)に分割するため,領域を定義した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);&ref(Honshu.poly);)~ | 日本全体の地図を8個(or 4個)に分割するため,領域を定義した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);&ref(Honshu.poly);)~ | ||
この[[polyファイル>http://wiki.openstreetmap.org/wiki/Osmosis/Polygon_Filter_File_Format]]は,地図のエリアを緯度・経度の情報で指定する目的で使用出来る。~ | この[[polyファイル>http://wiki.openstreetmap.org/wiki/Osmosis/Polygon_Filter_File_Format]]は,地図のエリアを緯度・経度の情報で指定する目的で使用出来る。~ | ||
+ | 日本全体の地図データの.pbfファイルはバイナリデータに圧縮したファイルなんで,[[osmctools>https://github.com/mapsme/osmctools]](MSYS2/MinGW-W64環境で自前ビルドした&ref(osmctools.zip);((日本全体や本州のデータのような大きなサイズのデータを処理する場合,Windowsでも64bit版でないとうまく行かないため。)))の[[osmconvert>http://wiki.openstreetmap.org/wiki/Osmconvert]]を使って,各地域の地図データ.pbfファイルに分割できる。~ | ||
日本全体の地図データを単純に8個(or 4個)に分割する場合は以下のようにする。~ | 日本全体の地図データを単純に8個(or 4個)に分割する場合は以下のようにする。~ | ||
> cd jpmap | > cd jpmap | ||
Line 112: | Line 122: | ||
*** 不要なタグ情報を削除してサイズを小さくして分割する [#x11ec3da] | *** 不要なタグ情報を削除してサイズを小さくして分割する [#x11ec3da] | ||
- | 上記のように単純に分割するのではなく,分割する時に日本全体のosmの地図データから不要なタグ情報を削除して少しでも地図のサイズを小さくしたかったので,実際には以下のようにしてみた。~ | + | 上記はOpenStreetMapの日本全体の地図データをそのまま分割する場合なのだが,地図データから不要なタグ情報をあらかじめ削除して少しでも地図のサイズを小さくするために,日本の地図データを少し編集することにした。~ |
日本全体の地図データの.pbfファイルはバイナリデータに圧縮したファイルなんで,[[osmctools>https://github.com/mapsme/osmctools]](MSYS2/MinGW-W64環境で自前ビルドした&ref(osmctools.zip);((日本全体や本州のデータのような大きなサイズのデータを処理する場合,Windowsでも64bit版でないとうまく行かないため。)))の[[osmconvert>http://wiki.openstreetmap.org/wiki/Osmconvert]]を使って,[[osmfilter>https://wiki.openstreetmap.org/wiki/Osmfilter]]で編集出来るように.o5mファイルに変換する。~ | 日本全体の地図データの.pbfファイルはバイナリデータに圧縮したファイルなんで,[[osmctools>https://github.com/mapsme/osmctools]](MSYS2/MinGW-W64環境で自前ビルドした&ref(osmctools.zip);((日本全体や本州のデータのような大きなサイズのデータを処理する場合,Windowsでも64bit版でないとうまく行かないため。)))の[[osmconvert>http://wiki.openstreetmap.org/wiki/Osmconvert]]を使って,[[osmfilter>https://wiki.openstreetmap.org/wiki/Osmfilter]]で編集出来るように.o5mファイルに変換する。~ | ||
まず,日本全体のpbf地図データをo5mフォーマットに変換する。~ | まず,日本全体のpbf地図データをo5mフォーマットに変換する。~ | ||
- | > cd jpmap | ||
> osmconvert japan-latest.osm.pbf -o=japan-latest.o5m | > osmconvert japan-latest.osm.pbf -o=japan-latest.o5m | ||
Line 142: | Line 151: | ||
> osmfilter kyushu.o5m --parameter-file=del.txt > kyushu_temp.o5m | > osmfilter kyushu.o5m --parameter-file=del.txt > kyushu_temp.o5m | ||
> osmfilter honshu.o5m --parameter-file=del.txt > honshu_temp.o5m | > osmfilter honshu.o5m --parameter-file=del.txt > honshu_temp.o5m | ||
- | ところどころ,名前に「ほげほげ(英語)」のように登録されているデータがあるので,ついでに(英語)の部分を削除する。((OpenStreetMapを編集する場合,現在では,日本語名(英語/ローマ字)のような表記は推奨されなくなったそうです。))~ | + | ところどころ,名前に「ほげほげ(英語)」のように登録されているデータがあるので,ついでに(英語)の部分を削除する。((OpenStreetMapを編集する場合,現在では日本語名(英語/ローマ字)のような表記は推奨されなくなったそうです。))~ |
これは,地図データを.osmファイルに変換してからperlを使って削除した。~ | これは,地図データを.osmファイルに変換してからperlを使って削除した。~ | ||
> osmconvert hokkaido_temp.o5m -o=hokkaido_temp.osm | > osmconvert hokkaido_temp.o5m -o=hokkaido_temp.osm | ||
Line 174: | Line 183: | ||
> osmconvert chugoku.osm -o=chugoku.osm.pbf | > osmconvert chugoku.osm -o=chugoku.osm.pbf | ||
> osmconvert shikoku.osm -o=shikoku.osm.pbf | > osmconvert shikoku.osm -o=shikoku.osm.pbf | ||
- | > osmconvert kyushu.osm -o=kyushu.osmpbf | + | > osmconvert kyushu.osm -o=kyushu.osm.pbf |
> osmconvert honshu.osm -o=honshu.osm.pbf | > osmconvert honshu.osm -o=honshu.osm.pbf | ||
+ | > del *.osm | ||
** SRTMのデータから等高線地図を作成 [#w49cf595] | ** SRTMのデータから等高線地図を作成 [#w49cf595] | ||
- | 日本のOpenStreatMapから各地域の地図データは作成出来たんだけど,この地図には等高線が入っていない。~ | + | 日本のOpenStreatMapから各地域の地図データに分割は出来たんだけど,この地図には等高線が入っていない。~ |
ハイキングやちょっとした山登りをするときには,等高線が見れないと不便。 | ハイキングやちょっとした山登りをするときには,等高線が見れないと不便。 | ||
そこで,等高線地図を作ることにした。 | そこで,等高線地図を作ることにした。 | ||
Line 185: | Line 195: | ||
- 国土地理院~ | - 国土地理院~ | ||
[[国土地理院>http://www.gsi.go.jp/kiban/index.html]]から正確な標高データ(5mまたは10mメッシュ)をダウンロード出来る。~ | [[国土地理院>http://www.gsi.go.jp/kiban/index.html]]から正確な標高データ(5mまたは10mメッシュ)をダウンロード出来る。~ | ||
- | ファイルフォーマットは,JPGIS(GML)ということだが・・・ この標高データから等高線データを作成して.osmに変換する方法がわからない。~ | + | ファイルフォーマットは,JPGIS(GML)ということだが・・・ この標高データから等高線データを作成して.osmに%%変換する方法がわからない。%%~ |
+ | 変換する方法がわかったんで試しに四国の10m等高線地図を作成してみた。確かにSRTMデータから作成した等高線地図より綺麗で正確な感じがする。しかしファイルサイズがあまりにも大きく20倍にもなってしまった。~ | ||
- SRTM~ | - SRTM~ | ||
[[Shuttle Radar Topography Mission(SRTM)>http://www2.jpl.nasa.gov/srtm/]]と呼ばれる米スペースシャトルに積み込んだレーダを使って全世界の詳細な立体地形データを作成すること目的としたミッションがあって,その成果が利用できるみたい。~ | [[Shuttle Radar Topography Mission(SRTM)>http://www2.jpl.nasa.gov/srtm/]]と呼ばれる米スペースシャトルに積み込んだレーダを使って全世界の詳細な立体地形データを作成すること目的としたミッションがあって,その成果が利用できるみたい。~ | ||
- | [[SRTM3 Version3(3秒/90m 全世界)>http://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11/]]または[[SRTM1 Version 3(1秒/30m)>http://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11/]]からデータをダウンロード出来る。SRTM1 Version3(1秒/30m)は,詳細データになるのだがどうもUSAのみみたいだ((現在では,SRTM1 Version3にも全世界のデータが含まれているようだ。))。日本の地形の場合はSRTM3 Version 3に含まれている。~ | + | [[SRTM3 Version3(3秒/90m 全世界)>http://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11/]]または[[SRTM1 Version 3(1秒/30m)>http://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11/]]からデータをダウンロード出来る。SRTM1 Version3(1秒/30m)は,詳細データになるのだがどうもUSAのみみたいだ((現在ではSRTM1 Version3にも全世界のデータが含まれているようだ。))。日本の地形の場合はSRTM3 Version 3に含まれている。~ |
実際の地形データは(データがあるサイトにより)hgtファイルかtiffファイルになっていて,緯度経度で区切られた区画ごと(1度)のファイルになっている。~ | 実際の地形データは(データがあるサイトにより)hgtファイルかtiffファイルになっていて,緯度経度で区切られた区画ごと(1度)のファイルになっている。~ | ||
- | また,[[http://dwtkns.com/srtm30m/]]のサイトでは,位置を選択してSRTM1 Version3のhgtファイルをダウンロード出来る。~ | + | また,[[http://dwtkns.com/srtm30m/]]では,位置を選択してSRTM1 Version3のhgtファイルをダウンロード出来る。~ |
- | SRTMのデータをダウンロードしてOpenStreetMapのフォーマットに変換してくれる以下のようなツールがあるみたいなんで,それを使用して等高線地図を作ってみた。(国土地理院のデータの方が正確らしいが・・・) | + | SRTMのデータをダウンロードしてさらにOpenStreetMapのフォーマットに変換してくれる以下のようなツールがあるみたいなんで,それを使用して等高線地図を作ってみた。~ |
- | [[srtm2osm>http://wiki.openstreetmap.org/wiki/Srtm2Osm#Download]]~ | + | *** [[srtm2osm>http://wiki.openstreetmap.org/wiki/Srtm2Osm#Download]] [#p4dd4080] |
- | まず見つけたツールがsrtm2osm。~ | + | まず見つけたツールがsrtm2osm(最新はバージョン1.14)。~ |
OpenStreetMapのwikiに使い方が書かれていた。.netのアプリなんでWindows用。(monoを使ってLinuxでも動かせるようだが・・・)~ | OpenStreetMapのwikiに使い方が書かれていた。.netのアプリなんでWindows用。(monoを使ってLinuxでも動かせるようだが・・・)~ | ||
srtm2osmのオプションの-bounds1に日本の左下の緯度・経度と右上の緯度・経度を指定すれば,SRTMデータがあるサーバからデータをダウンロードして,等高線データを作成して,それを.osmファイルとして作成してくれる。~ | srtm2osmのオプションの-bounds1に日本の左下の緯度・経度と右上の緯度・経度を指定すれば,SRTMデータがあるサーバからデータをダウンロードして,等高線データを作成して,それを.osmファイルとして作成してくれる。~ | ||
ただ日本全国になると129個のファイル(データがある分)の.osmファイルが出来てしまって,これを1つの.osmにマージしないといけないのだが,うまくマージ(osmosisを使った)が出来なかった。~ | ただ日本全国になると129個のファイル(データがある分)の.osmファイルが出来てしまって,これを1つの.osmにマージしないといけないのだが,うまくマージ(osmosisを使った)が出来なかった。~ | ||
+ | //なんとかマージできた。~ | ||
- | [[phyghtmap>http://katze.tfiu.de/projects/phyghtmap/index.html]]~ | + | //srtm2osmでは-bounds1でダウンロードするhgtファイルの位置を指定する。~ |
- | 次に見つけたのがphyghtmap version 1.42(python2.7が必要)。このツールも使ってみた((phyghtmap version 2.0以降ではPython3.xが必要。また,version 2.10以降ではデータをダウンロードするサイトが変更になって,[[USGS' earthexplorer>https://ers.cr.usgs.gov/]]でアカウントが必要になった。事前に[[アカウントを作成して>https://ers.cr.usgs.gov/register/]],phyghtmapの実行時に--earthexplorer-user=USER_ID --earthexplorer-password=PASSWORDを指定する。))。(最新版は2.23)~ | + | //日本全土を指定する&ref(japanlst.txt);を用意して,srtm2osmを使って等高線データを作成する。 |
+ | // | ||
+ | //''makesrtmjp.bat''ファイルを作成した。~ | ||
+ | // @echo off | ||
+ | // rem 等高線地図を作成する | ||
+ | // set SRTM2OSM=srtm2osm | ||
+ | // set SRTM_ARGS=-step 20 -cat 500 100 -large | ||
+ | // | ||
+ | // SETLOCAL ENABLEDELAYEDEXPANSION | ||
+ | // set /a file_num = jp0000 | ||
+ | // | ||
+ | // for /F "tokens=1,2,3,4" %%i in (tile_list.txt) do ( | ||
+ | // set /a file_num+=1 | ||
+ | // echo box=%%i %%j %%k %%l | ||
+ | // echo file=!file_num! | ||
+ | // rem # download and convert to osm | ||
+ | // %SRTM2OSM% -bounds1 %%i %%j %%k %%l -o tmp.osm %SRTM_ARGS% | ||
+ | // perl mod.pl < tmp.osm > !file_num!.osm | ||
+ | // ) | ||
+ | // ENDLOCAL | ||
+ | // | ||
+ | // echo 等高線地図を作成しました。 | ||
+ | // | ||
+ | //''mod.pl''の作成。~ | ||
+ | // while(<>){ | ||
+ | // if(m|^(.*<node .*)lat="([0-9\.\-]*)" lon="([0-9\.\-]*)"(.*)$|){ | ||
+ | // printf ("%slat=\"%.14g\" lon=\"%.14g\"%s\n", $1, $2+0.0005, $3+0.0005, $4); | ||
+ | // }else{ | ||
+ | // print $_; | ||
+ | // } | ||
+ | // } | ||
+ | // | ||
+ | //''srtmmerge.sh''の作成。~ | ||
+ | // #!/bin/bash | ||
+ | // # Srtm2Osmで作成された等高線osmデータをマージする | ||
+ | // joinedfile=japan_srtm.os | ||
+ | // echo '<?xml version="1.0" encoding="UTF-8"?> | ||
+ | // <osm version="0.5" generator="OpenStreetMap server">' >>$joinedfile | ||
+ | // for data in *.osm; do | ||
+ | // sed '/ *<?xml/d;/ *<osm/d;/ *<bounds/d;/ *<.osm>/d;' $data >>$joinedfile; | ||
+ | // done; | ||
+ | // echo '</osm>' >>$joinedfile; | ||
+ | // mv japan_srtm.os japan_srtm.osm | ||
+ | // | ||
+ | //以下のようにして等高線データを作成する。(bash,sed,perlも必要)~ | ||
+ | // > makesrtmjp.bat | ||
+ | // > bash srtmmerge.sh | ||
+ | // > osmconvert japan_srtm.osm -o=japan_srtm.pbf | ||
+ | |||
+ | *** [[phyghtmap>http://katze.tfiu.de/projects/phyghtmap/index.html]] [#o8c10d10] | ||
+ | 次に見つけたのがphyghtmap version 1.42(python2.7が必要)。このツールも使ってみた((phyghtmap version 2.0以降ではPython3.xが必要。また,version 2.10以降ではデータをダウンロードするサイトが変更になって,[[USGS' earthexplorer>https://ers.cr.usgs.gov/]]でアカウントが必要になった。事前に[[アカウントを作成して>https://ers.cr.usgs.gov/register/]],phyghtmapの実行時に--earthexplorer-user=USER_ID --earthexplorer-password=PASSWORDを指定する。))。(最新版はPython3.xで動作する2.23)~ | ||
Pythonで動くので,WindowsでもLinuxでも使える。日本の領域指定に&ref(japan.poly);を使った。~ | Pythonで動くので,WindowsでもLinuxでも使える。日本の領域指定に&ref(japan.poly);を使った。~ | ||
このツールでもやはり129個のデータをダウンロード(hgtディレクトリ)するのはsrtm2osmと同様だが,.osmに変換する時にオプションに--max-nodes-per-tile=0を使うと,1個の.osmにマージして出力してくれた :-D ~ | このツールでもやはり129個のデータをダウンロード(hgtディレクトリ)するのはsrtm2osmと同様だが,.osmに変換する時にオプションに--max-nodes-per-tile=0を使うと,1個の.osmにマージして出力してくれた :-D ~ | ||
Line 209: | Line 271: | ||
> mv japan_srtm_lon122.56_153.89lat21.21_45.80_srtm3.osm japan_srtm.osm | > mv japan_srtm_lon122.56_153.89lat21.21_45.80_srtm3.osm japan_srtm.osm | ||
// > mv japan_srtm_lon122.56_153.89lat21.21_45.80_srtm3v3.0.osm japan_srtm.osm | // > mv japan_srtm_lon122.56_153.89lat21.21_45.80_srtm3v3.0.osm japan_srtm.osm | ||
+ | > osmconvert japan_srtm.osm -o=japan_srtm.pbf | ||
+ | > del japan_srtm.osm | ||
--step=20で20mの等高線に(--step=10で10mにも出来る。ファイルサイズは倍になる。),--line-cat=500,100で500m/100m毎に少し太線にするようにした。~ | --step=20で20mの等高線に(--step=10で10mにも出来る。ファイルサイズは倍になる。),--line-cat=500,100で500m/100m毎に少し太線にするようにした。~ | ||
--write-timestampオプションを指定しないと,後でosmosisでマージしてLocus map用のベクター地図.mapファイルを作成する時にtimestampが無いってエラーを出してうまくいかない。~ | --write-timestampオプションを指定しないと,後でosmosisでマージしてLocus map用のベクター地図.mapファイルを作成する時にtimestampが無いってエラーを出してうまくいかない。~ | ||
Line 216: | Line 280: | ||
ただ出来上がった等高線地図には,おかしな等高線がたくさん出来ている。ダウンロードしたSRTMの.hgtファイルを確認したら,ところどころデータがおかしいのが原因。~ | ただ出来上がった等高線地図には,おかしな等高線がたくさん出来ている。ダウンロードしたSRTMの.hgtファイルを確認したら,ところどころデータがおかしいのが原因。~ | ||
srtm2osmでダウンロードした.hgtファイルのデータは大丈夫みたいなので(つまりhttp://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/にあるデータはいくつか壊れていてダメで,http://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11/ のだと大丈夫),srtm2osmでダウンロードした.hgtファイルに入れ替えて,再度phyghtmapを使って.osmファイルを作成した。~ | srtm2osmでダウンロードした.hgtファイルのデータは大丈夫みたいなので(つまりhttp://dds.cr.usgs.gov/srtm/version2_1/SRTM3/Eurasia/にあるデータはいくつか壊れていてダメで,http://e4ftl01.cr.usgs.gov/MEASURES/SRTMGL3.003/2000.02.11/ のだと大丈夫),srtm2osmでダウンロードした.hgtファイルに入れ替えて,再度phyghtmapを使って.osmファイルを作成した。~ | ||
- | これでやっと,日本の等高線データのjapan_srtm.osmが作成できた。(version2.10以降のphyghtmapだと正常な標高データがダウンロード出来る。) | + | これでやっと,日本の等高線データのjapan_srtm.pbfが作成できた。(version2.10以降のphyghtmapだと正常な標高データがダウンロード出来る。) |
+ | *** 日本の等高線データを各地域に分割する [#kb077743] | ||
日本の等高線データjapan_srtm.osmから地図データと同様に8個(4個)に分割するのも,同じようにすれば作成できる。(phyghtmapで直接作成することも出来るが,こっちのやり方のほうが早かった。) | 日本の等高線データjapan_srtm.osmから地図データと同様に8個(4個)に分割するのも,同じようにすれば作成できる。(phyghtmapで直接作成することも出来るが,こっちのやり方のほうが早かった。) | ||
- | > osmconvert japan_srtm.osm -B=..\poly\Hokkaido.poly -o=hokkaido_srtm.pbf | + | > osmconvert japan_srtm.pbf -B=..\poly\Hokkaido.poly -o=hokkaido_srtm.pbf |
- | > osmconvert japan_srtm.osm -B=..\poly\Tohoku.poly -o=tohoku_srtm.pbf | + | > osmconvert japan_srtm.pbf -B=..\poly\Tohoku.poly -o=tohoku_srtm.pbf |
- | > osmconvert japan_srtm.osm -B=..\poly\Kanto.poly -o=kanto_srtm.pbf | + | > osmconvert japan_srtm.pbf -B=..\poly\Kanto.poly -o=kanto_srtm.pbf |
- | > osmconvert japan_srtm.osm -B=..\poly\Chubu.poly -o=chubu_srtm.pbf | + | > osmconvert japan_srtm.pbf -B=..\poly\Chubu.poly -o=chubu_srtm.pbf |
- | > osmconvert japan_srtm.osm -B=..\poly\Kinki.poly -o=kinki_srtm.pbf | + | > osmconvert japan_srtm.pbf -B=..\poly\Kinki.poly -o=kinki_srtm.pbf |
- | > osmconvert japan_srtm.osm -B=..\poly\Chugoku.poly -o=chugoku_srtm.pbf | + | > osmconvert japan_srtm.pbf -B=..\poly\Chugoku.poly -o=chugoku_srtm.pbf |
- | > osmconvert japan_srtm.osm -B=..\poly\Shikoku.poly -o=shikoku_srtm.pbf | + | > osmconvert japan_srtm.pbf -B=..\poly\Shikoku.poly -o=shikoku_srtm.pbf |
- | > osmconvert japan_srtm.osm -B=..\poly\Kyushu.poly -o=kyushu_srtm.pbf | + | > osmconvert japan_srtm.pbf -B=..\poly\Kyushu.poly -o=kyushu_srtm.pbf |
- | > osmconvert japan_srtm.osm -B=..\poly\Honshu.poly -o=honshu_srtm.pbf | + | > osmconvert japan_srtm.pbf -B=..\poly\Honshu.poly -o=honshu_srtm.pbf |
一度作成しておけば,後は地図と等高線をマージすれば等高線入り日本地図データが作れることになる。 | 一度作成しておけば,後は地図と等高線をマージすれば等高線入り日本地図データが作れることになる。 | ||
Line 235: | Line 300: | ||
** 海を青くする地図を作成 [#ze3004e1] | ** 海を青くする地図を作成 [#ze3004e1] | ||
- | OpenStreetMapの地図データは,陸地と海岸の境界のタグ(coastlines)がサポートされなくなっている。このためMapsforge形式のベクター地図を作成する時に何も対策をしないと,海の部分が青く表示されないベクター地図になる。 | + | OpenStreetMapの地図データは陸地と海岸の境界線(coastlinesタグ)がサポートされなくなってきている。このためMapsforge形式のベクター地図を作成する時に何も対策をしないと,海の部分が青く表示出来ないベクター地図になってしまう。 |
- | Mapsforgeのライブラリでは,陸地と海の部分をタグ(陸地はnosea,海はsea)を指定しておくと,海のタグ部分を青く表示するように設定できる。 | + | Mapsforgeのライブラリでは,陸地と海の部分をタグ(陸地はnosea,海はsea)指定しておくと,海のタグ部分を青く表示するように設定できる。 |
なので海を青く表示するには,なんとかして陸地と海岸の境界を特定し,海側はkey='natural' value='sea'タグを,陸側はkey='natural' value='nosea'タグを地図データに追加する必要がある。 | なので海を青く表示するには,なんとかして陸地と海岸の境界を特定し,海側はkey='natural' value='sea'タグを,陸側はkey='natural' value='nosea'タグを地図データに追加する必要がある。 | ||
- | ''このやりかたが正しい方法かどうかはわからないが,とりあえずこの対策をしてみる。'' | + | ''このために正しい方法かどうかはわからないが,以下のような対策をしてみる。'' |
このためには,日本の陸地や海の領域を特定する地形データが必要になる。~ | このためには,日本の陸地や海の領域を特定する地形データが必要になる。~ | ||
Line 253: | Line 318: | ||
[[OpenStreetMap Data>https://osmdata.openstreetmap.de/]]というサイトから,世界の陸地線のデータである,[[land-polygons-split-4326.zip>https://osmdata.openstreetmap.de/download/land-polygons-split-4326.zip]]ファイルをダウンロードする。~ | [[OpenStreetMap Data>https://osmdata.openstreetmap.de/]]というサイトから,世界の陸地線のデータである,[[land-polygons-split-4326.zip>https://osmdata.openstreetmap.de/download/land-polygons-split-4326.zip]]ファイルをダウンロードする。~ | ||
> wget https://osmdata.openstreetmap.de/download/land-polygons-split-4326.zip | > wget https://osmdata.openstreetmap.de/download/land-polygons-split-4326.zip | ||
+ | > unzip land-polygons-split-4326.zip | ||
+ | // > unzip -p land-polygons-split-4326.zip land-polygons-split-4326\land_polygons.shp > land_polygons.shp | ||
+ | // > 7z x -y -so -i!land-polygons-split-4326\land_polygons.shp land-polygons-split-4326.zip > land_polygons.shp | ||
zipファイルを解凍すると,''land_polygons.shp''という世界全体のShapeフォーマット(外形)のデータがある。このファイルを[[ogr2ogr>http://www.gdal.org/ogr2ogr.html]]( [[GDAL>https://gdal.org/]] に含まれている。Windowsの場合,[[QGIS>http://qgis.org/ja/site/]]がインストールされていればogr2ogrも使える。)というツールを使用して,日本全体の外形のShapeデータのjapan.shpを取り出す。 | zipファイルを解凍すると,''land_polygons.shp''という世界全体のShapeフォーマット(外形)のデータがある。このファイルを[[ogr2ogr>http://www.gdal.org/ogr2ogr.html]]( [[GDAL>https://gdal.org/]] に含まれている。Windowsの場合,[[QGIS>http://qgis.org/ja/site/]]がインストールされていればogr2ogrも使える。)というツールを使用して,日本全体の外形のShapeデータのjapan.shpを取り出す。 | ||
- | > ogr2ogr -overwrite -progress -skipfailures -clipsrc 122.560700 21.209920 153.890100 45.802450 japan.shp land-polygons-split-4326/land_polygons.shp | + | > ogr2ogr -overwrite -progress -skipfailures -clipsrc 122.560700 21.209920 153.890100 45.802450 japan.shp land-polygons-split-4326\land_polygons.shp |
- | その後,&ref(shape2osm.py);を使用して,日本全体の外形データを,japan_ns.osmファイルに変換する。~ | + | その後,&ref(shape2osm.py);(Python3で動くように修正したもの)を使用して,日本全体の外形データを,japan_ns.osmファイルに変換する。~ |
> python shape2osm.py -l japan_ns -o 10000000 japan.shp | > python shape2osm.py -l japan_ns -o 10000000 japan.shp | ||
これで,日本全体の陸地の外形データのjapan_ns.osmが作成される。この時,shape2osm.pyにより,'' key='natural' value='nosea' ''タグが追加されている。 | これで,日本全体の陸地の外形データのjapan_ns.osmが作成される。この時,shape2osm.pyにより,'' key='natural' value='nosea' ''タグが追加されている。 | ||
- | |||
- | //そして,日本全体の外形データから,北海道,本州,四国,九州の外形データを作成する。これはosmconvertを使用して各場所をカットすることにした。~ | ||
そして,日本全体の外形データから,北海道,東北,関東,中部,近畿,中国,四国,九州,(本州)の外形データを作成する。これはosmconvertを使用して各場所をカットすることにした。~ | そして,日本全体の外形データから,北海道,東北,関東,中部,近畿,中国,四国,九州,(本州)の外形データを作成する。これはosmconvertを使用して各場所をカットすることにした。~ | ||
+ | ツールには[[OpenStreetMapのwiki>https://wiki.openstreetmap.org]]に書かれている[[osmosis>https://github.com/openstreetmap/osmosis]](最新は0.48.3)も使用する。~ | ||
> osmosis --read-xml file="japan_s.osm" --read-xml file="japan_ns.osm" --sort --merge --write-xml file="japan_ns2.osm" | > osmosis --read-xml file="japan_s.osm" --read-xml file="japan_ns.osm" --sort --merge --write-xml file="japan_ns2.osm" | ||
> osmconvert --complex-ways japan_ns2.osm -B=..\poly\Hokkaido.poly -o=hokkaido_ns.osm | > osmconvert --complex-ways japan_ns2.osm -B=..\poly\Hokkaido.poly -o=hokkaido_ns.osm | ||
Line 302: | Line 369: | ||
上で作成した各場所のベクター地図とベクター等高線地図,及び海を青くする地図,を1つのファイルにマージして日本の各地域のベクター地図.mapファイルに変換する。 | 上で作成した各場所のベクター地図とベクター等高線地図,及び海を青くする地図,を1つのファイルにマージして日本の各地域のベクター地図.mapファイルに変換する。 | ||
- | 変換ツールには,[[OpenStreetMapのwiki>https://wiki.openstreetmap.org]]に書かれている[[osmosis>https://github.com/openstreetmap/osmosis]](最新は0.48.3)と[[Mapsforge Map-Writer plugin>https://github.com/mapsforge/mapsforge]]の[[mapsforge-map-writer-0.6.0-jar-with-dependencies.jar>https://search.maven.org/search?q=mapsforge-map-writer]](最新は0.17.0)を使った。~ | + | 変換ツールには,[[osmosis>https://github.com/openstreetmap/osmosis]](最新は0.48.3)と[[Mapsforge Map-Writer plugin>https://github.com/mapsforge/mapsforge]]の[[mapsforge-map-writer-0.6.0-jar-with-dependencies.jar>https://search.maven.org/search?q=mapsforge-map-writer]](最新は0.17.0)を使った。DownloadしたMapsforge Map-Writer pluginのjarファイルは,osmosisのlib/defaultにコピーする。 |
- | DownloadしたMapsforge Map-Writer pluginのjarファイルは,osmosisのlib/defaultにコピーする。 | + | |
- | Mapsforge Map-Writer pluginを使って最近の日本全体や本州のmap地図を作成する場合は,RAMが16G搭載したPC(Java VMを動かす時に-Xms13G -Xmx13Gとか使って)でも,メモリ不足で停止しちゃう。8Gマシンで5Gを割り当ててもまったく足りない &worried; ~ | + | 使用するメモリの設定はosmosisの''bin/osmosis.bat''で,~ |
+ | set JAVACMD_OPTIONS=-Xms5G -Xmx5G | ||
+ | を追加して設定する。~ | ||
+ | しかしMapsforge Map-Writer pluginを使って8GのRAMを搭載したWindows Note PCで上記のように5Gを割り当てても,本州なんかを処理するにはまったく足りない &worried; ~ | ||
搭載メモリが少ない場合は,オプションの''type=hd''を使うと速度はかなり遅くなるがうまくいくことがある。~ | 搭載メモリが少ない場合は,オプションの''type=hd''を使うと速度はかなり遅くなるがうまくいくことがある。~ | ||
- | それでも,最近のOSMデータから日本全体や本州の.mapを作成しようとすると,zoom interval 1の書き出し時にエラー(java.nio.BufferOverflowException)でうまく行かなくなってしまった XD ~ | + | |
- | これは,Mapsforge Map-Writer pluginでのオブジェクト書き出し時のメモリ割り当てサイズが固定値で,それを超えた量になってしまったため。~ | + | 最近の日本全体や本州のmap地図を作成する場合は,RAMが16G搭載したNote PC(Java VMを動かす時に-Xms12G -Xmx12Gとか使って)でも,メモリ不足で停止しちゃうようになってしまった。~ |
+ | どうもzoom interval 1の書き出し時にエラー(java.nio.BufferOverflowException)でうまく行かなくなっている XD ~ | ||
+ | これは,Mapsforge Map-Writer pluginでのオブジェクト書き出し時のメモリ割り当てサイズが固定値で,それを超えた量になってしまったためと思われる。~ | ||
しょうがないので,tag mappingファイル(tags.xml)を編集してzoom interval 1(0~7)に割り当てるタグ(オブジェクト数)をできるだけ減らすようにしたら,なんとか本州の.mapも作成できた。この為,zoom 0~7だと表示する情報が減ってしまった。~ | しょうがないので,tag mappingファイル(tags.xml)を編集してzoom interval 1(0~7)に割り当てるタグ(オブジェクト数)をできるだけ減らすようにしたら,なんとか本州の.mapも作成できた。この為,zoom 0~7だと表示する情報が減ってしまった。~ | ||
- | 等高線表示用のタグもtag-conf-file=&ref(tags.xml);に設定しておく。 | ||
- | 以下のコマンド(本州だけはtype=hdを使っている)でマージして,.mapファイルを作成する。~ | + | 等高線が表示されるように(さらにいくつか表示されるように)tag-conf-file=&ref(tags.xml);に設定しておく。 |
+ | |||
+ | 以下のコマンド(本州だけはtype=hdを使っている)でマージして,各.mapファイルを作成した。~ | ||
> osmosis --read-pbf file="jpmap\hokkaido.osm.pbf" --read-pbf file="srtm\hokkaido_srtm.pbf" --merge --read-pbf file="sea\hokkaido_sea.pbf" --merge --mapfile-writer file="hokkaido.osm.map" tag-conf-file=tags\tags.xml map-start-zoom=10 comment="%date% made by Yuji Ueno" | > osmosis --read-pbf file="jpmap\hokkaido.osm.pbf" --read-pbf file="srtm\hokkaido_srtm.pbf" --merge --read-pbf file="sea\hokkaido_sea.pbf" --merge --mapfile-writer file="hokkaido.osm.map" tag-conf-file=tags\tags.xml map-start-zoom=10 comment="%date% made by Yuji Ueno" | ||
> osmosis --read-pbf file="jpmap\tohoku.osm.pbf" --read-pbf file="srtm\tohoku_srtm.pbf" --merge --read-pbf file="sea\tohoku_sea.pbf" --merge --mapfile-writer file="tohoku.osm.map" tag-conf-file=tags\tags.xml map-start-zoom=10 comment="%date% made by Yuji Ueno" | > osmosis --read-pbf file="jpmap\tohoku.osm.pbf" --read-pbf file="srtm\tohoku_srtm.pbf" --merge --read-pbf file="sea\tohoku_sea.pbf" --merge --mapfile-writer file="tohoku.osm.map" tag-conf-file=tags\tags.xml map-start-zoom=10 comment="%date% made by Yuji Ueno" | ||
Line 322: | Line 394: | ||
> osmosis --read-pbf file="jpmap\kyushu.osm.pbf" --read-pbf file="srtm\kyushu_srtm.pbf" --merge --read-pbf file="sea\kyushu_sea.pbf" --merge --mapfile-writer file="kyushu.osm.map" 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-pbf file="srtm\kyushu_srtm.pbf" --merge --read-pbf file="sea\kyushu_sea.pbf" --merge --mapfile-writer file="kyushu.osm.map" 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-pbf file="srtm\honshu_srtm.pbf" --merge --read-pbf file="sea\honshu_sea.pbf" --merge --mapfile-writer file="honshu.osm.map" tag-conf-file=tags\tags.xml map-start-zoom=10 comment="%date% made by Yuji Ueno" type=hd | > osmosis --read-pbf file="jpmap\honshu.osm.pbf" --read-pbf file="srtm\honshu_srtm.pbf" --merge --read-pbf file="sea\honshu_sea.pbf" --merge --mapfile-writer file="honshu.osm.map" tag-conf-file=tags\tags.xml map-start-zoom=10 comment="%date% made by Yuji Ueno" type=hd | ||
- | とにかく時間がかかります。4分割の場合は全部マージするだけでも大体27時間ぐらいかかった :-o 8分割(本州除く)だと全体では6時間ぐらいで作成出来た。 | + | とにかく時間がかかる。4分割の場合は全部マージするだけでも大体27時間ぐらいかかった :-o 8分割(本州除く)だと全体では6時間ぐらいで作成出来た。 |
- | こうやって,北海道(hokkaido.osm.map),東北(tohoku.osm.map),関東(kanto.osm.map),中部(chubu.osm.map),近畿(kinki.osm.map),中国(chugoku.osm.map),四国(shikoku.osm.map),九州(kyushu.osm.map)の8個と本州(honshu.osm.map)の日本のベクター地図が出来たので,これらの4個または8個のベクター地図をLocus MapのmapsVectorフォルダーにコピーして,日本全国の地図をLocus Mapで使用することが出来た。~ | + | こうやって,北海道(hokkaido.osm.map),東北(tohoku.osm.map),関東(kanto.osm.map),中部(chubu.osm.map),近畿(kinki.osm.map),中国(chugoku.osm.map),四国(shikoku.osm.map),九州(kyushu.osm.map)の8個と本州(honshu.osm.map)の日本のベクター地図が出来た。~ |
+ | これらから北海道(hokkaido.osm.map),本州(honshu.osm.map),四国(shikoku.osm.map),九州(kyushu.osm.map)の4個のベクター地図をLocus MapのmapsVectorフォルダーにコピーして,日本の地図をLocus Mapで使用することが出来た。~ | ||
&ref(japan_map.png);&ref(japan_map2.png); | &ref(japan_map.png);&ref(japan_map2.png); | ||
- | |||
- | 作成した日本のベクター地図は,[[こちら(気が向いたら更新)>https://onedrive.live.com/redir?resid=9D5AE460143634BB%21170]]に置いておく。 | ||
上記の作業をbatファイルにしておけば,定期的に日本のベクター地図を作成することが出来ると思う。 | 上記の作業をbatファイルにしておけば,定期的に日本のベクター地図を作成することが出来ると思う。 | ||
** themeファイル [#zaaa0e85] | ** themeファイル [#zaaa0e85] | ||
- | Locus Mapで作成した日本のベクター地図を使用するときに使用出来る&ref(yuji.zip,,themeファイル);をOpenAndroMapsのElevateをベースに作成してみた。~ | + | [[Mapsforgeのthemeの仕様はこちら>https://github.com/mapsforge/mapsforge/blob/master/docs/Rendertheme.md]]で説明されている。~ |
+ | |||
+ | Locus Mapではdpiが違う端末でも表示の互換性が取れるようにthemeの仕様が拡張されていて,文字サイズや線幅などにdpをつけて定義できる。これを使うと解像度が高い端末でも文字等が小さすぎて見えにくいことを回避できる。~ | ||
+ | |||
+ | 日本のベクター地図を使用するときに使用出来る&ref(yuji.zip,,themeファイル);をOpenAndroMapsのElevateをベースに作成してみた。~ | ||
Locus MapのmapsVector/_themesフォルダーにコピーすれば使用できる。 | Locus MapのmapsVector/_themesフォルダーにコピーすれば使用できる。 | ||
* POIデータの作成 [#q451597f] | * POIデータの作成 [#q451597f] | ||
- | Mapsforgeライブラリには,POI Writerプラグイン(バージョン0.6.1から対応した)がある。~ | + | POI(Point of Interest)は地図上の特定のポイントの情報のこと。~ |
- | このプラグインを使ってOpenStreetMapのデータからMapsforge形式のPOIを抽出しSQLite DBファイルに書き出すことが出来る。~ | + | |
+ | Mapsforgeライブラリには,OpenStreetMapのデータからPOIを抽出するためのPOI Writerプラグイン(バージョン0.6.1から対応した)がある。~ | ||
+ | このプラグインを使ってMapsforge形式のPOIを抽出しSQLite DBファイルに書き出すことが出来る。~ | ||
+ | POIとして抽出するOpenStreetMapの要素としてはnodeとwayでrelationは省かれている。geo-tags=trueを使うとrelationも対象になるのだが,エラーになってしまった。なのでrelationで設定されている場合(関西国際空港など)は,POIに出力されない ;( LoMapsのオフラインPOI DBではrelationも処理されているようだ。 | ||
- | POI DBファイルを作成するのには,mapファイル作成する[[osmosis>https://github.com/openstreetmap/osmosis]](最新は0.48.3)と[[Mapsforge POI-Writer plugin>https://github.com/mapsforge/mapsforge]]の[[mapsforge-poi-writer-0.17.0-jar-with-dependencies.jar>https://search.maven.org/search?q=mapsforge-poi-writer]](最新は0.17.0)を使った。~ | + | POI DBファイルを作成するのには,mapファイル作成する時にも使った[[osmosis>https://github.com/openstreetmap/osmosis]](最新は0.48.3)と[[Mapsforge POI-Writer plugin>https://github.com/mapsforge/mapsforge]]の[[mapsforge-poi-writer-0.6.1-jar-with-dependencies.jar>https://search.maven.org/search?q=mapsforge-poi-writer]](最新は0.17.0)を使った。DownloadしたMapsforge POI-Writer pluginのjarファイルは,osmosisのlib/defaultにコピーする。~ |
- | DownloadしたMapsforge POI-Writer pluginのjarファイルは,osmosisのlib/defaultにコピーする。~ | + | |
- | 抽出するPOIは,&ref(poi-mapping.xml);ファイルに設定しておく。 | + | 抽出するPOIは,&ref(poi-mapping.xml);ファイル(tagsディレクトリに置く)に設定しておく。 |
- | osmosisコマンドで,.poiファイルを作成する。~ | + | osmosisコマンドで.poiファイルを作成する。~ |
> cd poi | > cd poi | ||
> osmosis --read-pbf file="..\jpmap\hokkaido.osm.pbf" --poi-writer file="hokkaido.osm.poi" tag-conf-file=..\tags\poi-mapping.xml comment="%date% made by Yuji Ueno" | > osmosis --read-pbf file="..\jpmap\hokkaido.osm.pbf" --poi-writer file="hokkaido.osm.poi" tag-conf-file=..\tags\poi-mapping.xml comment="%date% made by Yuji Ueno" | ||
Line 352: | Line 429: | ||
> osmosis --read-pbf file="..\jpmap\kinki.osm.pbf" --poi-writer file="kinki.osm.poi" tag-conf-file=..\tags\poi-mapping.xml comment="%date% made by Yuji Ueno" | > osmosis --read-pbf file="..\jpmap\kinki.osm.pbf" --poi-writer file="kinki.osm.poi" tag-conf-file=..\tags\poi-mapping.xml comment="%date% made by Yuji Ueno" | ||
> osmosis --read-pbf file="..\jpmap\chugoku.osm.pbf" --poi-writer file="chugoku.osm.poi" tag-conf-file=..\tags\poi-mapping.xml comment="%date% made by Yuji Ueno" | > osmosis --read-pbf file="..\jpmap\chugoku.osm.pbf" --poi-writer file="chugoku.osm.poi" tag-conf-file=..\tags\poi-mapping.xml comment="%date% made by Yuji Ueno" | ||
- | > osmosis --read-pbf file="..\jpmap\shikoku.osm.pbf" --poi-writer file="chugoku.osm.poi" tag-conf-file=..\tags\poi-mapping.xml comment="%date% made by Yuji Ueno" | + | > osmosis --read-pbf file="..\jpmap\shikoku.osm.pbf" --poi-writer file="shikoku.osm.poi" tag-conf-file=..\tags\poi-mapping.xml comment="%date% made by Yuji Ueno" |
> osmosis --read-pbf file="..\jpmap\kyushu.osm.pbf" --poi-writer file="kyushu.osm.poi" tag-conf-file=..\tags\poi-mapping.xml comment="%date% made by Yuji Ueno" | > osmosis --read-pbf file="..\jpmap\kyushu.osm.pbf" --poi-writer file="kyushu.osm.poi" tag-conf-file=..\tags\poi-mapping.xml comment="%date% made by Yuji Ueno" | ||
> osmosis --read-pbf file="..\jpmap\honshu.osm.pbf" --poi-writer file="honshu.osm.poi" tag-conf-file=..\tags\poi-mapping.xml comment="%date% made by Yuji Ueno" | > osmosis --read-pbf file="..\jpmap\honshu.osm.pbf" --poi-writer file="honshu.osm.poi" tag-conf-file=..\tags\poi-mapping.xml comment="%date% made by Yuji Ueno" | ||
Line 360: | Line 437: | ||
** Mapsforge POI DBをLocus MapのオフラインPOI DBに変換する [#s7194f4c] | ** Mapsforge POI DBをLocus MapのオフラインPOI DBに変換する [#s7194f4c] | ||
Locus Mapでは,残念ながらMapsforge POI DBは使用できない。~ | Locus Mapでは,残念ながらMapsforge POI DBは使用できない。~ | ||
+ | |||
MapsforgeライブラリでPOI DBがサポートされる前から,Locus MapではオフラインPOI機能を搭載するため独自にオフラインPOI DBを作成していた。なので独自フォーマットなのはしょうがない。~ | MapsforgeライブラリでPOI DBがサポートされる前から,Locus MapではオフラインPOI機能を搭載するため独自にオフラインPOI DBを作成していた。なので独自フォーマットなのはしょうがない。~ | ||
- | またこのLoMapの一部であるオフラインPOI DBは,住所検索用のDBデータも入っている。 | + | またこのLoMapsの一部であるオフラインPOI DBは,住所検索用のDBデータも入っている。 |
LoMapsのオフラインPOI DBのフォーマットは公開されていないので,LoMapsを購入しないとオフラインPOI DBを使用することは出来なかったが,独自にフォーマットを解析した人が[[仕様を公開してくれている>https://gitlab.com/noschinl/locus-poi-db]] ;) ~ | LoMapsのオフラインPOI DBのフォーマットは公開されていないので,LoMapsを購入しないとオフラインPOI DBを使用することは出来なかったが,独自にフォーマットを解析した人が[[仕様を公開してくれている>https://gitlab.com/noschinl/locus-poi-db]] ;) ~ | ||
Line 367: | Line 445: | ||
また,Mapsforge POI DBをLocus Mapのoffline POI DBに変換するツール[[poi_converter>https://github.com/lieblerj/poi_converter]]が公開されているので,このツールを使ってLocus Map用のオフラインPOI DBを作成してみた。しかし,住所検索用のデータは残念ながら変換できないようだ。~ | また,Mapsforge POI DBをLocus Mapのoffline POI DBに変換するツール[[poi_converter>https://github.com/lieblerj/poi_converter]]が公開されているので,このツールを使ってLocus Map用のオフラインPOI DBを作成してみた。しかし,住所検索用のデータは残念ながら変換できないようだ。~ | ||
+ | |||
+ | 変換するPOIは,&ref(tagfilter.txt);ファイル(configディレクトリに置く)に設定しておく。~ | ||
> python poiconverter.py -if poi -om create hokkaido.osm.poi hokkaido.osm.db | > python poiconverter.py -if poi -om create hokkaido.osm.poi hokkaido.osm.db | ||
> python poiconverter.py -if poi -om create tohoku.osm.poi tohoku.osm.db | > python poiconverter.py -if poi -om create tohoku.osm.poi tohoku.osm.db | ||
Line 379: | Line 459: | ||
北海道(hokkaido.osm.db),東北(tohoku.osm.db),関東(kanto.osm.db),中部(chubu.osm.db),近畿(kinki.osm.db),中国(chugoku.osm.db),四国(shikoku.osm.db),九州(kyushu.osm.db),本州(honshu.osm.db)のLocus Mapで使えるオフラインPOI DBファイルが作成できた。 | 北海道(hokkaido.osm.db),東北(tohoku.osm.db),関東(kanto.osm.db),中部(chubu.osm.db),近畿(kinki.osm.db),中国(chugoku.osm.db),四国(shikoku.osm.db),九州(kyushu.osm.db),本州(honshu.osm.db)のLocus Mapで使えるオフラインPOI DBファイルが作成できた。 | ||
- | 4個または8個のファイルをLocus MapのmapsVectorフォルダーにコピーすると使用できた。~ | + | 北海道(hokkaido.osm.db),本州(honshu.osm.db),四国(shikoku.osm.db),九州(kyushu.osm.db)の4個のファイルをLocus MapのmapsVectorフォルダーにコピーすると使用できた。~ |
* GeoNamesのデータを住所検索に使う [#ud7a9c17] | * GeoNamesのデータを住所検索に使う [#ud7a9c17] | ||
Line 387: | Line 467: | ||
JP.zipを解凍してJP.txtをLocus Mapのdata/geoNamesフォルダーにコピーする。~ | JP.zipを解凍してJP.txtをLocus Mapのdata/geoNamesフォルダーにコピーする。~ | ||
- | これでLocus Mapの検索を開き「GenoNamesとGNSでオフライン検索」をマークしてファイルの選択でJPを選ぶと,住所検索として使用できた。 | + | これでLocus Mapの検索を開き「GenoNamesとGNSでオフライン検索」をマークしてファイルの選択でJPを選ぶと,住所検索として使用できた。GenoNamesのデータは,日本のすべての住所が入っているわけではないので,住所検索出来ないところも多い XD |
- | + | ||
- | * 作成したベクター地図の確認 [#n1207ad0] | + | |
- | Windowsでも動作する[[Cruiser>https://wiki.openstreetmap.org/wiki/Cruiser]]というツールを使うと,作成した日本のベクター地図をPCで確認することが出来る。上記のthemeファイルやPOI DBファイルを使える。~ | + | |
+ | * 作成したベクター地図 [#n1207ad0] | ||
+ | Windowsでも動作する[[Cruiser>https://wiki.openstreetmap.org/wiki/Cruiser]]というアプリを使うと,作成した日本のベクター地図をPCで確認することが出来る。~ | ||
Mapsforgeライブラリでの地図の標示は,非常に高速に処理されているのがわかる。 | Mapsforgeライブラリでの地図の標示は,非常に高速に処理されているのがわかる。 | ||
+ | |||
+ | 作成した日本のベクター地図は,[[こちら(気が向いた時に更新)>https://onedrive.live.com/redir?resid=9D5AE460143634BB%21170]]に置いておく。 |