Konvertieren zwischen KML- und Shapefile-Format (SHP)?


Antworten:


129

Verwendung der Open Source ogr2ograus GDAL / OGR :

ogr2ogr -f 'ESRI Shapefile' output.shp input.kml

20
... und nur um die nächste natürliche Frage vorwegzunehmen, funktioniert es auch
andersherum

8
Wenn Sie GUI-basierte Tools bevorzugen, kann QGIS als Front-End für ogr2ogr fungieren.
Underdunkel

1
ein Online - GDAL / OGR - Website wünschte , es war hint hint lugt
Pure.Krome

1
@mattwilkie Ich denke, er meinte so etwas wie Zamzar.com. Ein Online-Konvertierungsdienst.
RK

1
Ich musste für das Argument "ESRI Shapefile" doppelte Anführungszeichen verwenden.
MatthewD

30

ArcGIS 10 verfügt über ein GP-Tool namens KML To Layer , mit dem KML in eine Feature-Class konvertiert wird. Suchen Sie mit der neuen Suche nach KML. Ich habe dies verwendet, um die Ölverschmutzungs-kml-Feeds von Google zu übernehmen und in SHP umzuwandeln.

KML-to-Layer kann nur Geodatabase-Feature-Classes erstellen, auf die ein Schritt "Feature-Class in Feature-Class" folgt, um sie in ein Shapefile zu konvertieren.


2
Bei dem hier erwähnten Tool handelt es sich anscheinend um "KML in Layer". Mit diesem Tool kann jedoch nur eine Geodatabase-Feature-Class erstellt werden, auf die der Schritt "Feature-Class in Feature-Class" folgen muss, um sie in ein Shapefile zu konvertieren.
PolyGeo

19

Verwenden Sie ogr2ogr, aber wenn Sie nicht an einer Befehlszeile interessiert sind, probieren Sie ogr2gui - ein wirklich einfaches Frontend für ogr2ogr.


10

Um in ArcGIS als KML- oder KMZ-Datei veröffentlichte räumliche Daten zu verwenden, müssen Sie die KML zunächst in eine Feature-Class (Shapefile) konvertieren. Die Universität von Connecticut hat ein Skript zum Erstellen von Shapefiles aus KML veröffentlicht, das KML_to_Shp.tbx heißt. Es funktioniert ganz gut und Sie können es von ArcToolbox verwenden. Da sich KML immer in geografischen Koordinaten (WGS84) befindet (befinden sollte), möchten Sie sie möglicherweise in UTM Zone 15N NAD83 umwandeln ...

Lesen Sie, wie bei allen neuen Tools, die Dokumentation vor der Verwendung durch. Diese finden Sie auf der Website des UCONN-Zentrums für Landnutzungsbildung und -forschung. Sobald Sie es zu Ihrer Toolbox hinzugefügt haben und die Einschränkungen verstanden haben, ist die Verwendung des Tools sehr einfach.

http://clear.uconn.edu/tools/kml_to_shp/index.htm


3
Sie möchten nicht immer die UTM-Zone 15N NAD83, sondern die richtige Zone für die Daten. Und Sie können auch mit WGS84 projizieren (dh WGS84 bedeutet nicht latlon)
Vinko Vrsalovic


10

Ein weiteres kommerzielles Produkt, das Erwähnung verdient , ist Global Mapper . Dies fällt in die Kategorie Ansicht, Konvertieren, Neuprojektieren fast aller erdenklichen geografischen Daten. Ich benutze die kostenlose Version sehr oft in einer Klasse, die ich unterrichte, und fast jeder geht weg und kommentiert, wie das Schweizer Taschenmesser der GIS-Tools ist (obwohl die kostenlose Version keine Übersetzungen macht, werden alle Menüs und Optionen angezeigt). Lohnt sich die Kosten in meiner Erfahrung.


10

Paar mehr Optionen zusätzlich zu den anderen Antworten ...

Mit der Anwendung fdo2fdo von SL-King , die die Open-Source-FDO-Bibliotheken verwendet, können Sie KML-SHP- und umgekehrt-Übersetzungen durchführen. Es enthält sowohl eine GUI (die Format-zu-Format-Übersetzungen und angepasste Schema-Zuordnungsübersetzungen ausdrückt) als auch ein Befehlszeilentool.

Für ordnungsgemäße Anwendungen bietet die FME von Safe Software eine hervorragende Kontrolle darüber, wie Sie die Quellinformationen dem Ziel zuordnen . Wenn Sie über ArcGIS verfügen, können Sie über die Data Interoperability Extension ( Liste der Formate ) gegen Aufpreis darauf zugreifen .

Wenn es sich nur um Punkt-Features ohne Attribute handelt, würde ich in Betracht ziehen, das XML in etwas zu analysieren, das Sie einfach wie eine CSV importieren können. Sie suchen nur nach den Daten zwischen den Koordinaten-Tags.


9

Eine weitere Option ist die Verwendung von XToolsPro, einer Drittanbietererweiterung, die in ArcGIS funktioniert. Zu den vielen praktischen Konvertierungswerkzeugen gehört die Funktion "Daten aus KML importieren".




8

QGIS ist für die Konvertierung zwischen kml und shp wesentlich robuster geworden. Verwenden Sie einfach den Befehl Speichern unter im Kontextmenü der Ebene. Oder öffnen Sie jeden dieser Dateitypen über das Menü "Neue Ebene hinzufügen". Achten Sie darauf, den Dateityp im Dialogfeld zu ändern.


6

Sie können sich FME auch unter Safe Software http://www.safe.com ansehen

Es ist eine 14-tägige Testversion verfügbar. Mit FME können Sie sogar die Attribute Ihrer KML-Datei während des Datenkonvertierungs- / Migrationsprozesses dem ESRI SHP-Format zuordnen. Außerdem können Sie die KML-Punktdateien nach bestimmten Attributen oder räumlichen Ausmaßen filtern.

Es besteht auch die Möglichkeit, eine Stapelkonvertierung durchzuführen, wenn Sie eine große Anzahl von KML-Dateien von Ihren Benutzern haben.

~ SRG


6

Verwenden Sie OGR für die Befehlszeilensteuerung. Google Earth Pro bietet Ihnen eine grafische Möglichkeit zum Konvertieren, ebenso wie eine Vielzahl anderer Apps







3

Einige Optionen, die ich bei keiner der Antworten sah, um zusätzliche Ressourcen für die Konvertierung von KML in SHP hinzuzufügen, wären:

MyGeodata Converter

Der Online-Konverter des Keyhole Markup Language-Formats in das ESRI Shapefile-Format (KML in SHP) ist ein schnelles und einfach zu verwendendes Tool für Einzel- und Stapelkonvertierungen. Der Konverter unterstützt auch mehr als 90 andere Vektor- und Raster-GIS / CAD-Formate und mehr als 3.000 Koordinatenreferenzsysteme.

Free Geography Tools behandelt und bietet ein Tutorial des Zonums Software- Tools


2

Eine gute und einfache Hilfe, die zu saubereren Ergebnissen führen kann, ist, zuerst KML in GPX zu konvertieren (es gibt mehrere Open-Source-Programme, die dies tun können) und die entsprechenden Daten zu öffnen (GPX verfügt über 5 verschiedene Informationsklassen: Wegpunkte, Trackpunkte, Routenpunkte, Tracks und Routen) mit dem ogr2ogr von GDAL / OGR in QGIS und speichern Sie es direkt im .SHP-Dateiformat.

Es ist auch recht einfach, die Stapelverarbeitung für große Datenmengen zu verwenden (z. B. mit den Merge Vector Layers von SAGA), um bei Bedarf eine einzelne Formdatei zu erstellen, und Sie können auch die leeren Attribute vor dem endgültigen "Speichern als SHP" löschen.

Achten Sie besonders auf das Kodierungssystem, wenn in Ihrem Endergebnis seltsame Zeichen erscheinen ... Sie können die richtige auswählen, wenn Sie Ihrer Karte neue Vektordaten hinzufügen.


0

Ich bin zu spät zur Party, aber hier sind ein paar zusätzliche Möglichkeiten:

  1. In Google Fusion Tables können KML-Punkteinformationen in WGS84 X und Y in einem CSV-Format konvertiert werden, das Sie dann in Ihrer bevorzugten GIS-Analysesoftware verwenden können.

  2. Verwenden des rgdal-Pakets in R .:

    install.packages("rgdal")
    library(rgdal) #load package
    kmlfile=readOGR("yourkmlfilehere.kml") #load KML
    writeOGR(kmlfile,"yourshapepath",layer="shapename", driver="ESRI Shapefile") #save shape
    

0

Ein weiterer Tipp: Wenn Sie mehrere KML-Dateien in einem Ordner / Verzeichnis gleichzeitig mithilfe der Befehlszeile in Shapefile konvertieren möchten, öffnen Sie cmd im Ordner und geben Sie Folgendes ein:

für / R% f in (* .kml) do ogr2ogr -f "ESRI-Shapefile" "% ~ dpnf.shp" "% f"

Hinweis: Es wird der Name der KML als Name des Shapefiles verwendet. Stellen Sie daher sicher, dass Ihre KML-Dateien die richtigen Namensformate für Shapefiles haben. Das Shapefile wird im selben Verzeichnis wie das entsprechende kml erstellt. KMLs in Unterverzeichnissen werden ebenfalls in Shapefiles konvertiert.


-1

Zum Konvertieren von KML in das Shp-Dateiformat können Sie das Dienstprogramm ogr2ogr verwenden. Zuerst müssen Sie es im System installieren. Wenn Sie es bereits installiert haben, geben Sie im Terminal ogr2ogr ein.

Für die Konvertierung muss nun der angegebene Befehl ausgeführt werden

--- ogr2ogr -f 'ESRI Shapefile' Output_sahpefile.shp Input_KML.kml

Auf diese Weise können Konvertierungen mit ogr2ogr durchgeführt werden. Wenn Sie keine Ergebnisse erhalten, können Sie Kml nach shp mit der Codierungsmethode konvertieren.

Dies kann auch mit PHP erfolgen. Sie können eine Funktion erstellen, die diesen Befehl als Zeichenfolge definiert, und diese Zeichenfolge zur Ausführung in der Methode shell_exec () angeben. Shell_exec () führt den Befehl tatsächlich aus und gibt die Ausgabe als String zurück.

public function KML_to_shp($KMLfilepath,$output){
 $query="ogr2ogr -f 'ESRI Shapefile'  $output.gml  $KMLfilepath";
 shell_exec($query);
 }

Hier ist ein Beitrag zum Konvertieren von kml in shp mit dem Kommandozeilen-Tool ogr2ogr oder mit PHP-Code. Wenn Sie das QGIS-Tool verwenden, können Sie sich hier einen meiner Blog- Einträge ansehen, um eine Shp-Konvertierung mit QGIS durchzuführen, oder diesen Beitrag weiter verwenden.


1
Sind Sie mit der Website verbunden, die Sie als Antwort anbieten? Wenn ja, geben Sie dies bitte in Ihren Beiträgen an.
LaughU

-2

Suchen Sie in ArcGIS einfach nach "kml TO LAYER" oder "Layer to KML". Dieses Tool hilft Ihnen bei der Konvertierung in Shapefile und KML


Ich denke, dieser Ansatz wurde bereits von einem anderen Autor erwähnt. Alternativ können Sie etwas Neues oder Verbessertes vorschlagen.
Taras
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.