TransWikia.com

GMap.NETでosmファイル読み込みについて

スタック・オーバーフロー Asked on December 17, 2020

GMap.NETをネットワークのつながっていないローカル環境で使用したいと考えています。
事前にOpenStreetMapのosmファイルをダウンロードしておき、そのファイルを使用したいのですが、
GMap.NETでosmファイル読み込みを調べてみましたが、見つかりませんでした。
osmファイルを直接読む方法、osmファイルを何らかの方法で、gmdbに変換する方法等、
わかる方がいらっしゃれば、よろしくお願いします。

One Answer

この辺の記事に、キャッシュデータをコピーして使う方法が記載されています。
いずれも古い記事ですので変わっている可能性もありますが、試してみてください。

GMap.NET + C# + postgreSQL without Internet connection
GMap .net offline

以下のようなデモプログラム等を動かすと、キャッシュデータがローカルに出来ているそうです。

https://github.com/radioman/greatmaps/tree/master/Demo.WindowsPresentation
https://github.com/williamwdu/GMap.NETChacher

キャッシュデータはデフォルトで以下の位置にあるそうです。
直上の en は、設定等で変わっているかもしれません。
USERNAMEはログインしているユーザー用のフォルダ名です。

C:UsersUSERNAMEAppDataLocalGMap.NETTileDBv5enData.gmdb

他に明示的にキャッシュの場所を指定できるようです。

use gmap.CacheLocation = @"C:UsersxxxDesktop"; to specify the cache location.

SQLiteのファイルで、デフォルトや明示的に指定した、同じ位置にファイルをコピーするだけで動作するとのこと。


そして、こちらの記事に自作プログラムでキャッシュデータ(のみ)を使う方法などが書かれています。
GMap.NET explicit load cache?


その他
OSMと他のフォーマットとのImport/Export対応表(ツールも記載)が以下になります。
Converting map data between formats

GMap.NETでGoogleのKMLフォーマットの対応中?というQ&Aおよび記事がこちら。
ただし本家開発元は未対応。
How to import/export kml and display in gmap.net
gmap.net|C#|DXF|KML||robot|mission

上で紹介されていたTutorialサイト(参考になるかは不明)
GMap.NET | Independent Software


追記:可能かどうか不明ですが、アイデアとして。

PCの中にOpenStreetMapサーバーのコピーを構築し、GMap.NETの参照先をそこに切り替えるとかが考えられます。

古いですが、この記事が使えるかも。
OpenStreet map server installation on windows
Local OSM server on windows
How to serve OSM mapnik tiles on Windows with Apache for leafLet.js
Are there any precanned OSM server setups for Windows that contain the database, data loader and anything else
OpenStreetMapを Windows/Mac(ローカル環境) に構築する方法/手順を教えてほしい

参考にUbuntuで独自に立てた記事があります。
OpenStreetMapサーバを自作する(Install OpenStreetMap on AWS EC2/Ubuntu14.04)
OpenStreetMap のタイルサーバー立ててみました

Answered by kunif on December 17, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP