I miei utenti mi stanno inviando dati sui punti che sono stati digitalizzati utilizzando Google Earth.
Come posso convertire il loro KML in uno shapefile?
I miei utenti mi stanno inviando dati sui punti che sono stati digitalizzati utilizzando Google Earth.
Come posso convertire il loro KML in uno shapefile?
Risposte:
Utilizzando l'open source ogr2ogr
da GDAL / OGR :
ogr2ogr -f 'ESRI Shapefile' output.shp input.kml
Come indicato di seguito nel commento di Grego , potrebbe essere necessario utilizzare virgolette doppie anziché virgolette singole per l'opzione del formato di output (ad esempio "File di forma ESRI" per la riga di comando di Windows). Vedi anche il wiki di gdal .
ArcGIS 10 ha uno strumento GP chiamato KML To Layer che converte KML in una classe di caratteristiche. Cerca KML utilizzando la nuova ricerca. Ho usato questo per prelevare i feed kml di fuoriuscita di petrolio da Google e convertirli in SHP.
KML To Layer può creare solo una classe di caratteristiche geodatabase in modo che debba essere seguita da un passaggio Classe di caratteristica in Classe di caratteristica per convertirlo in un file di forma.
Usa ogr2ogr, ma se non sei interessato a una riga di comando, prova ogr2gui , un front-end davvero semplice per ogr2ogr.
Per utilizzare i dati spaziali pubblicati come file KML o KMZ in ArcGIS è necessario prima convertire il KML in una classe di feature (shapefile). L'Università del Connecticut ha pubblicato uno script per la creazione di shapefile da KML chiamato KML_to_Shp.tbx. Funziona abbastanza bene e puoi usarlo da ArcToolbox. Poiché KML sarà (dovrebbe) sempre in coordinate geografiche (WGS84), alla fine vorrai trasformarle in UTM Zone 15N NAD83 ...
Come per tutti i nuovi strumenti, consultare la documentazione prima dell'uso. Questo può essere trovato sul sito web del Centro per l'istruzione e la ricerca sull'uso del suolo della UCONN. Dopo averlo aggiunto alla casella degli strumenti e averne compreso i limiti, lo strumento è molto semplice da usare.
Se sei interessato agli strumenti da riga di comando, puoi utilizzare GDAL / OGR da OSGEO.
Un altro prodotto commerciale che merita di essere menzionato è Global Mapper . Questo rientra nella categoria di visualizzazione, conversione, riprogrammazione di quasi tutti i dati geografici che puoi immaginare. Uso pesantemente la versione gratuita in una classe a cui insegno e quasi tutti se ne vanno commentando come questo è il coltellino svizzero di strumenti GIS (anche se la versione gratuita non fa traduzioni, espone tutti i menu e le opzioni). Vale la pena il costo nella mia esperienza.
Associa più opzioni oltre alle altre risposte ...
L' applicazione fdo2fdo di SL-King , che utilizza le librerie FDO open source, consente di eseguire traduzioni da KML a SHP e viceversa. Include sia una GUI (che esprime traduzioni da formato a formato e traduzioni di mappatura dello schema più personalizzate) sia uno strumento da riga di comando.
Per le applicazioni properietary, FME di Safe Software ti offre un controllo straordinario su come mappare le informazioni di origine sulla destinazione. Se si dispone di ArcGIS, è possibile accedervi tramite l'estensione di interoperabilità dei dati ( elenco di formati ) a un costo aggiuntivo.
Se sono solo funzionalità punto senza attributi, prenderei in considerazione l'analisi dell'XML in qualcosa che puoi facilmente importare come un CSV; stai solo cercando i dati tra i tag delle coordinate.
Un'altra opzione è utilizzare XToolsPro, un'estensione di terze parti che funziona in ArcGIS. Tra i molti utili strumenti di conversione c'è una funzione "Importa dati da KML".
FME ha pubblicato una versione beta di uno strumento online che gestisce molti diversi tipi di conversione, incluso questo. http://fmeserver.com/userweb/sharper/Portal/EasyTranslator/index.html Questo convertitore dovrebbe davvero aiutarti.
Ci sono anche altri prodotti commerciali. Mi viene in mente Arc2Earth. Ha una buona integrazione con ArcGIS Desktop. http://www.arc2earth.com
Puoi anche consultare FME da Safe Software http://www.safe.com
È disponibile una prova di 14 giorni. FME ti consente persino di mappare gli attributi dal tuo file KML al formato ESRI SHP durante il processo di conversione / migrazione dei dati oltre alla possibilità di filtrare i file di punti KML in base a determinati attributi o estensioni spaziali.
C'è anche la possibilità di eseguire la conversione batch quando hai un ampio set di file KML dai tuoi utenti.
~ SRG
usa OGR per il controllo da riga di comando, Google Earth Pro ti darà un modo grafico per convertire, così come una varietà di altre app
ET GeoWizards ha anche un'opzione di importazione da Google Earth, che convertirà i file KML o KMZ in una classe di funzionalità. > http://www.ian-ko.com/ET_GeoWizards/gw_MainFeatures.htm
Se stai cercando un'opzione open source, vedo che MapWindow è stato appena aggiornato e ci sono un paio di plugin per la conversione da e verso KML e shapefile.
Open Source MapWindow GIS ha un'estensione gratuita ( KML2Shapefile ) per convertire i file KML / KMZ in file di forma.
Se hai l'estensione di interoperabilità, carica quel KML direttamente in ArcMap ed esporta in shp.
Sebbene la risposta opposta alla tua Q, nel caso in cui qualcuno sia venuto qui per fare il viceversa, trovo questo script perfetto per passare da SHP -> KML http://arcscripts.esri.com/details.asp?dbid=14273
Se desideri convertire i tuoi file online, prova i formati GIS di MyGeodata e converti il convertitore di sistema . Si basa su ogr2ogr (libreria gdal / ogr), quindi sono supportati quasi tutti i formati GIS noti e i sistemi di coordinate ...
Anche il convertitore da KML a Shapefile online di Zonum Solutions funziona bene:
Alcune opzioni che non ho visto in nessuna delle risposte per aggiungere risorse aggiuntive per convertire KML in SHP sarebbero le seguenti:
Il convertitore online del formato Keyhole Markup Language in formato ESRI Shapefile (da KML a SHP) è uno strumento rapido e facile da usare per conversioni sia individuali che batch. Converter supporta inoltre oltre 90 altri formati GIS / CAD vettoriali e raster e oltre 3 000 sistemi di riferimento di coordinate.
Free Geography Tools copre e fornisce un tutorial dello strumento Zonums Software
Un valido e facile aiuto che potrebbe produrre risultati più chiari è convertire prima KML in GPX (ci sono diversi software open source che possono farlo) e aprire i rispettivi dati (GPX ha 5 diverse classi di informazioni: Waypoint, Trackpoint, Routepoints, Tracks and Route) usando ogr2ogr da GDAL / OGR in QGIS e salvarlo direttamente nel formato file .SHP.
È abbastanza facile anche usare il processo batch per grandi quantità di dati (usando ad esempio i livelli Merge Vector di SAGA) per produrre un singolo file di forma se lo si desidera e si possono anche cancellare gli attributi vuoti prima del "Save as SHP" finale.
Presta particolare attenzione al sistema di codificazione se compaiono strani caratteri sul tuo risultato finale ... puoi scegliere quello giusto nel momento in cui stai aggiungendo nuovi dati vettoriali alla tua mappa.
Sono in ritardo alla festa, ma qui ci sono alcuni modi in più:
Google Fusion Tables , può convertire le informazioni sui punti KML in WGS84 X e Y in un formato .csv, che puoi quindi utilizzare nel tuo software di analisi GIS preferito.
Utilizzo del pacchetto rgdal 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
Un altro consiglio: se vuoi convertire più KML in una cartella / directory contemporaneamente in shapefile usando la riga di comando, apri cmd nella cartella e digita questo:
per / R% f in (* .kml) do ogr2ogr -f "ESRI Shapefile" "% ~ dpnf.shp" "% f"
Nota: utilizzerà il nome del file KML come nome del file di forma, quindi assicurati che i tuoi file KML abbiano i formati di denominazione corretti per i file di forma. Lo shapefile verrà creato nella stessa directory del kml corrispondente. I file KML nelle sottodirectory verranno convertiti anche in shapefile.
Per convertire il formato di file KML in Shp è possibile utilizzare l'utilità ogr2ogr. Innanzitutto è necessario installarlo nel sistema, se è già stato installato, utilizzare ogr2ogr nel terminale.
Ora per la conversione è necessario eseguire il comando dato, ad es
--- ogr2ogr -f 'ESRI Shapefile' Output_sahpefile.shp Input_KML.kml
Ecco come le conversioni possono essere eseguite da ogr2ogr e se non si ottengono risultati è possibile convertire Kml in shp con il metodo di codifica.
questo può anche essere fatto usando PHP. È possibile creare una funzione che ha definito questo comando come stringa e può fornire questa stringa nel metodo shell_exec () da eseguire. Shell_exec () esegue effettivamente il comando e restituisce l'output come stringa.
public function KML_to_shp($KMLfilepath,$output){
$query="ogr2ogr -f 'ESRI Shapefile' $output.gml $KMLfilepath";
shell_exec($query);
}
ecco un post per convertire kml in shp usando lo strumento da riga di comando ogr2ogr o usando il codice php. Mentre se usi lo strumento QGIS, puoi guardare uno dei miei post sul blog qui per cambiare shp usando QGIS oppure continuare a usare questo post.
In ArcGIS basta cercare "kml TO LAYER" o "Layer to KML". questo strumento ti aiuterà a convertire in shapefile e KML