OSMデータに基づいてカスタムマップを描画および視覚化するにはどうすればよいですか?


35

特定の地域のopenstreetmapデータをソースとして使用し、そこからインフラストラクチャの改善マップ(主に道路)を「描画」できるようにしたいと思います。

自己ホスト型(実際のOSMサーバーのデータを損なわない)で、編集プロセスに非常に大きな柔軟性と詳細レベルを持たせたいので、きれいにレンダリングした方がいいでしょう。

私は多くのGISソフトウェアに精通していません。実際には、OSMデータをソースとして持つことはそれほど重要ではなく、衛星画像でもかまいません。重要なこと-実際の座標にバインドされた柔軟な描画とマップの視覚化。

どこから始められますか?

この質問がここで理にかなっていることを願っています:)


どのプラットフォームを見ていますか?Googleマップを使用して図形を描画できますか?
Jared Updike

Jared、Googleマップのシンプルな「マイマップ」インターフェースを意味しますか?それだけでは十分ではありません:)より詳細なレベルが必要です。それとも別の意味ですか?
アルコナート

世界のどの地域でこれをやりたいですか?世界の一部の地域では、パブリックドメインに多くの道路データがあります。
djq

回答:


16

OpenStreetMap .osm XMLデータ型は、いくつかのソフトウェアパッケージで解析およびレンダリングできます。ややターンキーのカスタムマップタイルドロワーについては、http//tiledrawer.comをお勧めします。 //tiledrawer.com --- AmazonのEC2を使用し、このスレッドで他のポインターを提供するMichal Migurskiによる製品:)をお勧めします。

また、「独自のOpenStreetMapサーバーを構築する」http://weait.com/content/build-your-own-openstreetmap-serverも確認して ください。 また、。Ubuntu10.04 / PostGIS / Mapnikスタックを使用します。

もちろん、ビルドする前にOpenStreetMapライセンスを見てください。http://wiki.openstreetmap.org/wiki/OpenStreetMap_License


おかげで、自分でTileDrawerに出会ったことがありますが、そのためにはAmazon EC2インスタンスが必要だと理解しています。私は今のところそれをしたくない、多分私はあまりにも怠
la

VirtualBoxを使用して自分のマシンでEC2イメージを実行できることを読みました。
ジェームズ

TiledrawerのWebサイトは放棄され、Githubリポジトリはまだ存在していますが、非アクティブです:github.com/migurski/Tile-DrawerOSM Wikiを参照)
chrki

11

私はまさに必要なものを見つけました:Maperitive。このアプリケーションは、OSMデータを読み込み(* .osmはJOSM fiで保存できます)、非常に柔軟でカスタマイズ可能なルールに基づいて素敵な画像をレンダリングできます。


.osm.bz2ファイルまたは.osm.pbfファイルをロードしようとすると、Maperitiveがハングすることがわかりました。私が試したファイルは約185MBでしたので、本当に必要なplanet.osm.bz2ファイル(19GB!)のサイズに近いものはありませんでした。ファイルをどのようにロードしましたか?
ドリューノアケス

ドリュー、私はずっと小さなエリアしか試したことがないと思う。
アルコナート

Maperitiveはクローズドソースであり、.Netの上に構築され、Linuxでは機能しません。しかし、それは間違いなくMapnikに比べて1つの利点があります:より簡単なスタイリング
バヌアン

3
TileMillをオープンソースの代替として提案します。
バヌアン

9

編集するOSMデータ自体の量に応じて、2つの可能性。

1つは、自由に編集できるデータのコピーを使用して、独自のOSMサーバーをホストすることです。このためのソフトウェアは「The Rails Port」として知られており、ここにあります:ます。http //wiki.openstreetmap.org/wiki/The_Rails_Portにあります。

もう1つの方法は、OSMのタイル型地図作成法を独自のデータの背景として使用することです。私はこれに答える資格はありませんが、QGIS(http://www.qgis.org)のようなツールがOSMベースマップに基づいた新しい形状のトレースを提供できることに気付くかもしれません。


8

マップの作成は、いくつかのステップに分かれています。

  • ジオデータの入力(適切なタグを持つポイント、ライン、ポリゴン)
  • スタイリング(マップ上のフィーチャの外観を指定)
  • ラスターイメージへのレンダリング(レンダリングソフトウェアを使用して地理データとスタイルをイメージに変換)

使いやすいUIの背後にあるすべての癖をするツールが必要になります。しかし、残念ながら、そのようなツールはありません(できればあります)。そのため、各ステップに専用のツールを選択する必要があります。

次のツール/ワークフローの組み合わせを使用します。

ジオデータの入力/ダウンロード

  • JOSMエディター
    • osmサーバーからマップをダウンロードします
    • 地図を編集する
    • 変更をosmサーバーにアップロードします(作業を共有しないのはなぜですか?)
    • マップを* .osmファイルに保存します
  • PostGIS / osm2pgsql
    • 必要に応じてインポートスタイルファイルを更新する
    • マップをローカルサーバーにインポートする

作業を共有したくない場合は、ローカルOSMサーバーをセットアップし、JOSMを使用できます(マップを* .osmファイルに保存し、osm2pgsqlを使用する必要がなくなります)。それでも、OSMデータの一部を使用する場合は、ライセンスに注意してください。

スタイリング

スタイリングは2つのステップで構成されます。

  • レイヤー/データソースのセットアップ
  • ライン/ポリゴン/ポイント/テキスト出力をカスタマイズします。

マップのスタイルを設定するには、「生の」mapnikスタイルファイルとCartoCSSの2つの形式があります。

  • Mapnikは、OSMサイトを強化するレンダリングライブラリです。
    • mapnikスタイルファイルのセットアップと編集
    • mapnikビューアでスタイルファイルを開きます

「生の」Mapnikスタイルファイルは編集が面倒で、CartoCSSはより単純な代替案です。CartoCSS(以前のCascadenik)は、mapnikスタイルファイルに変換可能です。Tilemillは、CartoCSSの編集/プレビューに使用するツールです。

  • Tilemill
    • タイルミルで地図をスタイル/プレビューする
    • mapnik * .xmlファイルにエクスポートします。

レンダリング

  • mapnikのカスタムPythonスクリプト
    • 境界ボックス/ズームレベル/サイズを更新する
    • マップを* .pngファイルにレンダリングします。

[オプション]マップをオンラインにします

もちろん、マップには大きな* .pngファイルを使用できますが、ダウンロードにかかる時間を想像してください!そのため、さまざまなズームレベルでマップをタイルに分割します。

  • タイルミル-> Mapnik-> MBTiles-> Mapbox

    • TilemillとMapBoxを使用して、マップをオンラインにできます。

残念ながら、新しいOSMの編集に従ってマップを更新するには、ローカルでダウンロードしてレンダリングする必要があります。

したがって、より良い解決策があります:CartoDB。CartoDBはCartoCSSをサポートしています。これにより、ローカルに何かをインストールする必要はありません。データをインポートし、CartoCSSでスタイルを設定して、共有ボタンをクリックします。ただし、無料のdbサイズ制限があります。しかし、それはオープンソースなので、自分でホストすることができます。もう1つの制限があります。ポイントまたはラインまたはポリゴンのいずれかしか視覚化できません。

PS

すべてのツールには独自の制限があるため、試してみてください。


3

おかげで、私は実際にそれを調べるかもしれません。私はLinuxの男ではありませんが、私にとっては痛すぎるかもしれません:)
arconaut

2
実際、記事に記載されているツールのほとんどは、WindowsまたはMacマシンで動作します。
イアンタートン

3

優れたカスタムマップエディターをお探しの場合は、OCADをご覧ください。OCADはプロフェッショナルな地図描画ソフトウェアです。ダウンロードページで無料で入手できる古いバージョンがあります。

OSMの特別なサポートはありませんが、OSMからエクスポートされた画像を背景としていつでも使用できます。


3

OSM形式のOpen Street Mapデータをいじるより簡単なオプションがあります。Safe Software(www.safe.com)からFMEを試すことができます

OSMのサポートについて詳しくは、http//blog.safe.com/2010/03/sharing-your-data-on-openstreetmap/をご覧ください。

FMEとOSMデータを使用して、地域のトレーニング用のデモデータセットを作成するためにFMEを数回使用しました

〜SRG


3

デフォルトのOSMタイルは「Googleタイル」形式であり、タイルマップサービス(TMS)と呼ばれます。現時点では、TMSにQGISを使用することはできません。ただし、他のサードパーティサービスを見ると、OSMから派生したWMSにアクセスできます。いくつかはここにリンクされています:http : //wiki.openstreetmap.org/wiki/WMS#Public_WMS_Servers


1
QGISでOpenLayersプラグイン(github.com/sourcepole/qgis-openlayers-plugin)を使用して、OSMタイルを取り込むことができます。
マットウィグウェイ

2

Cloudmade(OSMの商用アーム)のThe Style Editorを使用できます

サインアップして個人として自由に使用できます。

非常に優れたユーザーインターフェイスを使用すると、独自のスタイルのマップを作成できます。色などを使用してマップをカスタマイズしたら、それを使用して、カスタマイズしたマップを含むページへのリンクを埋め込みまたは作成できます。

ブログの投稿 http://mapperz.blogspot.com/2009/03/cloudmade-map-editor.htmlをご覧ください (さらにアップデートがあります)


CloudmadeはOpenStreetMapの一部ではありません:CloudMadeはOpenStreetMapの一部ですか?
スクルース

1

公式のOSMマップはTileMillでスタイル設定され、Mapnikでレンダリングされます。どちらのツールも非常に強力で柔軟です。OSMにとって良いことは、あなたにとっても良いことです!

残念ながら、少なくともOSMデータをレンダリングする場合、TileMilliのセットアップ手順は複雑です。UbuntuまたはMacについては多くの説明がありますが、フォーラムのコメントからわかるように、Windowsでの手順は厄介です。

TopoMapCreatorWikiで、WindowsTileMillを使用したマップレンダリングに関する詳細な説明を確認できます。

それは古典的な手順に従います:

  • ステップA:必要なソフトウェア(主にPostgresql / PostGisデータベース)のダウンロードとインストール
  • ステップB:OSMデータをデータベースにダウンロードしてインポートする
  • ステップC:土地ポリゴンのダウンロードと処理
  • ステップD:TileMillプロジェクトを作成する
  • ステップE:TileMillを使用したマップのスタイル設定とエクスポート

TopoMapCreatorWikiの詳細


1

OSMデータを使用してカスタムマップを作成する別の方法は、Mapsense.jsライブラリとMapsense Earthベクタータイルを使用することです。http://styler.mapsense.co/に色を選択するためのUI と、developer.mapsense.co / examples /にcssとjavascriptを示すデモがあります。

このようなAPIの利点の1つは、javascript / d3で必要なもの(衛星画像、その他のgeo / topojsonなど)を追加できることです。

完全開示:Mapsenseで働いています。:)


0

静的なマップイメージを作成するだけの場合は、この方法をチェックして.osmから.svg inkscapeファイルを作成することをお勧めしますが、少し遅いです。その後、.svgを開くか、他の形式(png?)に変換するか、3dスタジオまたはBlenderに読み込むこともできます:)...

(また、JOSMはosmarenderを実行するプラグインを持っているように見えますが、一度試してみましたが...)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.