Meine Nutzer senden mir Punktdaten, die mit Google Earth digitalisiert wurden.
Wie kann ich ihre KML in ein Shapefile konvertieren?
Meine Nutzer senden mir Punktdaten, die mit Google Earth digitalisiert wurden.
Wie kann ich ihre KML in ein Shapefile konvertieren?
Antworten:
Verwendung der Open Source ogr2ogr
aus GDAL / OGR :
ogr2ogr -f 'ESRI Shapefile' output.shp input.kml
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.
Verwenden Sie ogr2ogr, aber wenn Sie nicht an einer Befehlszeile interessiert sind, probieren Sie ogr2gui - ein wirklich einfaches Frontend für ogr2ogr.
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.
Wenn Sie an Befehlszeilentools interessiert sind, können Sie GDAL / OGR von OSGEO verwenden.
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.
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.
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".
FME hat eine Betaversion für ein Online-Tool veröffentlicht, das viele verschiedene Konvertierungsarten unterstützt, einschließlich dieser. http://fmeserver.com/userweb/sharper/Portal/EasyTranslator/index.html Dieser Konverter sollte Ihnen wirklich helfen.
Es gibt auch einige andere kommerzielle Produkte. Arc2Earth fällt mir ein. Die Integration mit ArcGIS Desktop ist ziemlich gut. http://www.arc2earth.com
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.
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
Verwenden Sie OGR für die Befehlszeilensteuerung. Google Earth Pro bietet Ihnen eine grafische Möglichkeit zum Konvertieren, ebenso wie eine Vielzahl anderer Apps
ET GeoWizards verfügt auch über eine Option zum Importieren aus Google Earth, mit der KML- oder KMZ-Dateien in Feature-Class-Dateien konvertiert werden. > http://www.ian-ko.com/ET_GeoWizards/gw_MainFeatures.htm
Wenn Sie nach einer Open-Source-Option suchen, wurde MapWindow soeben aktualisiert, und es gibt einige Plugins für die Konvertierung von und nach KML und Shapefile.
Das Open Source MapWindow GIS verfügt über eine kostenlose Erweiterung ( KML2Shapefile ) zum Konvertieren von KML / KMZ-Dateien in Shapefiles.
Wenn Sie die Interop-Erweiterung haben, laden Sie diese KML direkt in ArcMap und exportieren Sie sie nach shp.
Obwohl die gegenteilige Antwort auf Ihre Frage lautet, falls jemand hierher gekommen ist, um das Gegenteil zu tun, finde ich dieses Skript perfekt, um von SHP -> KML http://arcscripts.esri.com/details.asp?dbid=14273 zu wechseln
Wenn Sie Ihre Dateien online konvertieren möchten, probieren Sie die MyGeodata GIS-Formate und den Koordinatensystemkonverter aus . Es basiert auf ogr2ogr (gdal / ogr Bibliothek) - so werden fast alle bekannten GIS-Formate und Koordinatensysteme unterstützt ...
Der Online-Konverter von KML zu Shapefile von Zonum Solutions funktioniert auch gut:
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:
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
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.
Ich bin zu spät zur Party, aber hier sind ein paar zusätzliche Möglichkeiten:
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.
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
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.
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.
Suchen Sie in ArcGIS einfach nach "kml TO LAYER" oder "Layer to KML". Dieses Tool hilft Ihnen bei der Konvertierung in Shapefile und KML