web-dev-qa-db-ja.com

GoogleマップにESRIシェープファイルをオーバーレイする最良の方法は?

Googleマップでシェープファイルをオーバーレイする最良の方法は何ですか?

いくつかの読書が示唆した後、シェープファイルをKMLに変換し、GoogleマップでKMLをオーバーレイすることはオプションです。その場合、シェープファイルをKMLに変換するにはどうすればよいですか?

この変換にはいくつかのオープンソースツールが利用できると思います。誰もがデータを失うことなくシェープファイルをKMLに変換するツールを指すことができますか?

62
Carsen

シェイプファイルをkmlに変換するために(オープンソースとGUIに優しい) Quantum GIS を使用するのが好きです。

Google Maps APIは KML標準のサブセット のみをサポートします。 1つの制限はファイルサイズです。

ファイルサイズを小さくするには、 Quantum GIS の「ジオメトリの単純化」機能を使用します。この「滑らかにする」ポリゴン。

次に、レイヤーを選択して、「kmlとして保存」を実行できます。

多数のファイルを処理する必要がある場合は、osgeo4wシェルからQuantum GISのogr2ogrコマンドを使用してプロセスをバッチ処理できます。

最後に、ファイルサイズを小さくしてkmzとして保存するために、(お気に入りの圧縮プログラムで)kmlを圧縮することをお勧めします。

41
Aaron Kreider

http://www.shpescape.com/ を使用して、シェープファイルをGoogle FusionTables( http://www.google.com/fusiontables )にインポートすると、そこから使用できますさまざまな方法でのデータ。 GoogleMapsを使用して表示します。

16
chaos0815

Esri shapefile のようなシェープファイルを意味しますか?どちらの方法でも、 [〜#〜] gdal [〜#〜] パッケージで利用可能な ogr2ogr を使用して変換を実行できるはずです。 .shpファイルと、理想的には対応する.dbfファイル(コンテキスト情報を提供します)が必要です。

また、シェープファイルをKMLに変換する前に、 MapShaper などのツールを使用して複雑さを軽減することを検討してください。必要な詳細度に応じて、ファイルサイズを大幅に削減します。

13
Wyatt Anderson

KMLは使用しません。代わりに、 GeoJSON を使用してください。これは、Google Maps APIでネイティブに使用できます。これは、元の応答には存在しなかった新しい機能です。

いずれの場合も、SHPファイルを Quantum GIS で開くだけで、好きな形式(KML、GeoJSON)で出力できます。

Google Maps for Workを使用している場合、ESRIから生成したシェープファイルに直接接続できるシェープファイルの直接読み込みを処理するプレミアム拡張機能が見つかりました。私はCMapsサイトで検索を行い、州のシェイプファイルによって米国をロードしたこのスニペットを見つけました: https://gmapsplugin.net/cmapsanalytics/assets/shapes/usstates.shp

var cMap = new centigon.locationIntelligence.MapView();
    cMap.key([your_api_key]);


    cMap.layerNames(["Basic Shapes"]);
    cMap.dbfKeys([['Alabama','Alaska','Arizona','Arkansas','California','Colorado','Connecticut','Delaware','District of Columbia','Florida','Georgia','Hawaii','Idaho','Illinois','Indiana','Iowa','Kansas','Kentucky','Louisiana','Maine','Maryland','Massachusetts','Michigan','Minnesota','Mississippi','Missouri','Montana','Nebraska','Nevada','New Hampshire','New Jersey','New Mexico','New York','North Carolina','North Dakota','Ohio','Oklahoma','Oregon','Pennsylvania','Rhode Island','South Carolina','South Dakota','Tennessee','Texas','Utah','Vermont','Virginia','Washington','West Virginia','Wisconsin','Wyoming']]);
    cMap.userShapeKeys([['Massachusetts','Minnesota','Montana','North Dakota','Hawaii','Idaho','Washington','Arizona','California','Colorado','Nevada','New Mexico','Oregon','Utah','Wyoming','Arkansas','Iowa','Kansas','Missouri','Nebraska','Oklahoma','South Dakota','Louisiana','Texas','Connecticut','New Hampshire','Rhode Island','Vermont','Alabama','Florida','Georgia','Mississippi','South Carolina','Illinois','Indiana','Kentucky','North Carolina','Ohio','Tennessee','Virginia','Wisconsin','West Virginia','Delaware','District of Columbia','Maryland','New Jersey','New York','Pennsylvania','Maine','Michigan','Alaska']]); 
    cMap.labels([['Massachusetts','Minnesota','Montana','North Dakota','Hawaii','Idaho','Washington','Arizona','California','Colorado','Nevada','New Mexico','Oregon','Utah','Wyoming','Arkansas','Iowa','Kansas','Missouri','Nebraska','Oklahoma','South Dakota','Louisiana','Texas','Connecticut','New Hampshire','Rhode Island','Vermont','Alabama','Florida','Georgia','Mississippi','South Carolina','Illinois','Indiana','Kentucky','North Carolina','Ohio','Tennessee','Virginia','Wisconsin','West Virginia','Delaware','District of Columbia','Maryland','New Jersey','New York','Pennsylvania','Maine','Michigan','Alaska']]); 

    cMap.polyDataSources([centigon.locationIntelligence.CMapAnalytics.DATA_PROVIDERS.SHAPE_DATAPROVIDER]);
    cMap.layerTypes([centigon.mapping.Layer.TYPE.POLY]);
    cMap.locations([["https://gmapsplugin.net/cmapsanalytics/assets/shapes/usstates.shp"]]);

    cMap.panTo("USA");
    cMap.zoomLevel(3);
11
Ryan Goodman

これらの回答を更新するために、ESRIにはArcMap 10.Xで Layer to KML として知られるこのツールが含まれています。また、 Map to KML ツールが存在します。

目的のレイヤー(ベクターまたはラスター)をインポートし、出力場所、解像度などを選択するだけです。非常にシンプルなツール。

2
SoilSciGuy

ArcGIS 9用の無料の「KMLへエクスポート」スクリプト

ここにリストがあります 誰かが見つけた利用可能なメソッドの。

また、ポリゴンレイヤーの最も効率的な表現は、lat-lngデータを大幅に圧縮するGoogle Maps APIのポリラインエンコーディングを使用することです。ただし、この形式を使用するには作業が必要です。ArcMapを使用してシェイプを緯度/経度座標としてエクスポートし、Google Maps APIを使用してポリラインに変換します。

2
user1284303

2018すでに...私はこの素晴らしいオンラインツールを見つけました http://mapshaper.org/ ESRIシェープファイルからSVG、TopoJSON、GeoJSONに変換します。

使用方法の説明はこちら https://www.statsilk.com/maps/convert-esri-shapefile-map-geojson-format

早くて簡単! :)

0
tiomno