it-swarm.com.de

Der beste Weg, ein ESRI-Shapefile auf Google Maps zu überlagern?

Wie kann man ein Shapefile in Google Maps am besten überlagern? 

Nach einiger Lektüre wird die Umwandlung von Shapefile in KML und die Überlagerung von KML in Google Map als Option vorgeschlagen. Wenn dies der Fall ist, wie konvertiere ich ein Shapefile in KML-Dateien? 

Ich glaube, dass für diese Konvertierung ein paar Open Source-Tools zur Verfügung stehen würden. Kann jemand auf ein Tool verweisen, mit dem ein Shapefile ohne Datenverlust in KML umgewandelt werden kann?

60
Carsen

Ich benutze gerne (Open Source und gui-freundlich) Quantum GIS , um das Shapefile in kml zu konvertieren.

Die Google Maps-API unterstützt nur eine Teilmenge des KML-Standards . Eine Einschränkung ist die Dateigröße.

Um die Dateigröße zu reduzieren, können Sie die Funktion "Geometrien vereinfachen" von Quantum GIS verwenden. Dies "glättet" Polygone.

Dann können Sie Ihre Ebene auswählen und "Als kml speichern" darauf speichern.

Wenn Sie mehrere Dateien bearbeiten müssen, können Sie den Prozess mit dem Befehl ogr2ogr von Quantum GIS von osgeo4w Shell stapeln.

Schließlich empfehle ich Ihnen, Ihren kml (mit Ihrem bevorzugten Komprimierungsprogramm) zu komprimieren, um die Dateigröße zu verringern, und ihn als kmz speichern.

39
Aaron Kreider

Importieren Sie das Shapefile in Google FusionTables ( http://www.google.com/fusiontables ) mit http://www.shpescape.com/ und von dort aus können Sie die Daten in einer Reihe von verwenden Wege, z. Zeigen Sie es mit GoogleMaps an.

16
chaos0815

Meinst du Shapefile wie in einem Esri Shapefile ? In jedem Fall sollten Sie die Konvertierung mit ogr2ogr durchführen können, das in den GDAL -Paketen verfügbar ist. Sie benötigen die .shp-Datei und idealerweise die entsprechende .dbf-Datei (die Kontextinformationen liefert).

Erwägen Sie außerdem die Verwendung eines Tools wie MapShaper , um die Komplexität Ihrer Shapefiles zu reduzieren, bevor Sie sie in KML umwandeln. Sie reduzieren die Dateigröße erheblich, je nachdem, wie viele Details Sie benötigen.

13
Wyatt Anderson

Ich würde KML nicht verwenden. Verwenden Sie stattdessen GeoJSON /, das Sie jetzt nativ in der Google Maps-API verwenden können. Es ist eine neuere Funktion, die in den ursprünglichen Antworten nicht vorhanden war. 

Öffnen Sie in jedem Fall einfach die SHP-Datei in Quantum GIS , und Sie können sie in jedem beliebigen Format ausgeben (KML, GeoJSON). 

Wenn Sie Google Maps for Work verwenden, habe ich eine Premium-Erweiterung gefunden, die das Laden von Shapefiles direkt übernimmt, wo Sie einfach eine direkte Verbindung mit dem Shapefile herstellen können, das Sie mit ESRI erstellen. Ich habe eine Suche auf der CMaps-Site durchgeführt und dieses Snippet gefunden, das das US-Shapefile geladen hat: 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);
9
Ryan Goodman

Kostenloses Skript "In KML exportieren" für ArcGIS 9

Hier ist eine Liste von verfügbaren Methoden, die jemand gefunden hat.

Es scheint mir auch, dass die effizienteste Darstellung eines Polygon-Layers die Verwendung der Polyline-Codierung von Google Maps API ist, die Lat-lng-Daten erheblich komprimiert. Um in dieses Format zu gelangen, ist jedoch Arbeit erforderlich: Verwenden Sie ArcMap, um Shape als Lat/Lng-Koordinaten zu exportieren, und konvertieren Sie dann mithilfe der Google Maps-API in Polylinien.

2
user1284303

Um diese Antworten zu aktualisieren, hat ESRI dieses Tool in ArcMap 10.X als Layer zu KML bekannt gegeben. Außerdem ist ein Map to KML - Tool vorhanden. 

Importieren Sie einfach die gewünschte Ebene (Vektor oder Raster) und wählen Sie den Ausgabeort, die Auflösung usw. Sehr einfaches Werkzeug. 

1
SoilSciGuy

2018 schon ... Ich habe dieses fantastische Online-Tool gefunden http://mapshaper.org/ , um von ESRI-Shapefiles in SVG, TopoJSON, GeoJSON zu konvertieren.

Hier erfahren Sie, wie Sie es verwenden https://www.statsilk.com/maps/convert-esri-shapefile-map-geojson-format

Schnell und unkompliziert! :)

0
tiomno