Mis usuarios me envían datos de puntos que se digitalizaron con Google Earth.
¿Cómo puedo convertir su KML en un shapefile?
Mis usuarios me envían datos de puntos que se digitalizaron con Google Earth.
¿Cómo puedo convertir su KML en un shapefile?
Respuestas:
Usando el código abierto ogr2ogr
de GDAL / OGR :
ogr2ogr -f 'ESRI Shapefile' output.shp input.kml
ArcGIS 10 tiene una herramienta GP llamada KML To Layer que convierte KML en una clase de entidad. Busque KML usando la nueva búsqueda. He usado esto para tomar el derrame de petróleo kml de Google y convertirlos en SHP.
KML To Layer solo puede crear una clase de entidad de geodatabase, por lo que debe seguir un paso de Clase de entidad a Clase de entidad para convertirlo en un archivo de forma.
Use ogr2ogr, pero si no está interesado en una línea de comando, pruebe ogr2gui , un front end realmente simple para ogr2ogr.
Para usar datos espaciales publicados como un archivo KML o KMZ en ArcGIS, primero debe convertir el KML a una clase de entidad (shapefile). La Universidad de Connecticut ha publicado un script para crear archivos shape de KML llamado KML_to_Shp.tbx. Funciona bastante bien y puedes usarlo desde ArcToolbox. Debido a que KML siempre (debería) estar en coordenadas geográficas (WGS84), eventualmente querrá transformarlos a UTM Zone 15N NAD83 ...
Al igual que con todas las herramientas nuevas, revise la documentación antes de usar. Esto se puede encontrar en el sitio web del Centro de Educación e Investigación sobre el Uso del Suelo de la UCONN. Una vez que lo agrega a su caja de herramientas y comprende sus limitaciones, la herramienta es muy sencilla de usar.
Si está interesado en las herramientas de línea de comandos, puede usar GDAL / OGR de OSGEO.
Un producto comercial más que vale la pena mencionar es Global Mapper . Esto cae en la categoría de ver, convertir, volver a proyectar casi cualquier dato geográfico que pueda imaginar. Utilizo mucho la versión gratuita en una clase que enseño y casi todos se alejan comentando cómo esta es la navaja suiza de las herramientas SIG (aunque la versión gratuita no hace traducciones, expone todos los menús y opciones). Bien vale la pena el costo en mi experiencia.
Junte más opciones además de las otras respuestas ...
La aplicación fdo2fdo de SL-King , que utiliza las bibliotecas FDO de código abierto, le permite realizar KML a SHP y viceversa. Incluye una GUI (que expresa traducciones de formato a formato y traducciones de mapeo de esquemas más personalizadas), así como una herramienta de línea de comandos.
Para aplicaciones adecuadas, el FME de Safe Software le brinda un control sorprendente sobre cómo mapear la información de origen en el destino. Si tiene ArcGIS, puede acceder a esto a través de la Extensión de interoperabilidad de datos ( lista de formatos ) a un costo adicional.
Si son solo características puntuales sin atributos, consideraría analizar el XML en algo que pueda importar fácilmente como un CSV; solo está buscando los datos entre las etiquetas de coordenadas.
Otra opción es usar XToolsPro, una extensión de terceros que funciona en ArcGIS. Entre sus muchas útiles herramientas de conversión está la función "Importar datos desde KML".
FME publicó una versión beta de una herramienta en línea que maneja muchos tipos diferentes de conversión, incluida esta. http://fmeserver.com/userweb/sharper/Portal/EasyTranslator/index.html Este convertidor realmente debería ayudarte.
También hay algunos otros productos comerciales. Arc2Earth viene a la mente. Tiene bastante buena integración con ArcGIS Desktop. http://www.arc2earth.com
También puede mirar FME desde Safe Software http://www.safe.com
Hay una versión de prueba de 14 días disponible. FME le permite incluso asignar los atributos de su archivo KML al formato ESRI SHP durante el proceso de conversión / migración de datos, además de la capacidad de filtrar los archivos de puntos KML en función de ciertos atributos o extensiones espaciales.
También existe la opción de realizar una conversión por lotes cuando tiene un gran conjunto de archivos KML de sus usuarios.
~ SRG
use OGR para el control de la línea de comandos, Google Earth Pro le dará una forma gráfica de convertir, al igual que una variedad de otras aplicaciones
ET GeoWizards también tiene una opción de importación desde Google Earth, que convertirá archivos KML o KMZ a clase de entidad. > http://www.ian-ko.com/ET_GeoWizards/gw_MainFeatures.htm
Si está buscando una opción de código abierto, veo que MapWindow se acaba de actualizar, y hay un par de complementos para convertir ay desde KML y shapefile.
El Open Source MapWindow GIS tiene una extensión gratuita ( KML2Shapefile ) para convertir archivos KML / KMZ en archivos de forma.
Si tiene la extensión de interoperabilidad, simplemente cargue ese KML directamente en ArcMap y exporte a shp.
Aunque la respuesta opuesta a su Q, en caso de que alguien haya venido aquí para hacer lo contrario, creo que este script es perfecto para ir de SHP -> KML http://arcscripts.esri.com/details.asp?dbid=14273
Si desea convertir sus archivos en línea, pruebe los formatos MyGeodata GIS y el convertidor del sistema de coordenadas . Se basa en ogr2ogr (biblioteca gdal / ogr), por lo que se admiten casi todos los formatos SIG y sistemas de coordenadas conocidos ...
El convertidor KML a Shapefile en línea de Zonum Solutions también funciona bien:
Algunas opciones que no vi en ninguna de las respuestas para agregar recursos adicionales para convertir KML a SHP serían las siguientes:
El convertidor en línea del formato Keyhole Markup Language al formato ESRI Shapefile (KML a SHP) es una herramienta rápida y fácil de usar para conversiones individuales y por lotes. El convertidor también es compatible con más de otros 90 formatos vectoriales y ráster GIS / CAD y más de 3,000 sistemas de referencia de coordenadas.
Free Geography Tools cubre y proporciona un tutorial de la herramienta de software Zonums
Una ayuda buena y fácil que podría producir resultados más limpios es convertir KML a GPX primero (hay varios software de código abierto que pueden hacerlo) y abrir los datos respectivos (GPX tiene 5 clases diferentes de información: Waypoints, Trackpoints, Puntos de ruta, pistas y rutas) usando el ogr2ogr de GDAL / OGR en QGIS y guárdelo directamente en formato de archivo .SHP.
También es bastante fácil usar el proceso por lotes para una gran cantidad de datos (usando Merge Vector Layers de SAGA, por ejemplo) para producir un archivo de forma única si lo desea y también puede borrar los atributos vacíos antes del "Guardar como SHP" final.
Preste especial atención al sistema de codificación si aparecen caracteres extraños en su resultado final ... puede elegir el adecuado en el momento en que agrega nuevos datos vectoriales a su mapa.
Llego tarde a la fiesta, pero aquí hay algunas formas adicionales:
Google Fusion Tables , puede convertir información de puntos KML a WGS84 X e Y en formato .csv, que luego puede usar en su software de análisis GIS preferido.
Usando el paquete rgdal en R .:
install.packages("rgdal")
library(rgdal) #load package
kmlfile=readOGR("yourkmlfilehere.kml") #load KML
writeOGR(kmlfile,"yourshapepath",layer="shapename", driver="ESRI Shapefile") #save shape
Otro consejo: si desea convertir varios KML en una carpeta / directorio a la vez para dar forma al archivo usando la línea de comando, abra cmd en la carpeta y escriba esto:
para / R% f en (* .kml) do ogr2ogr -f "ESRI Shapefile" "% ~ dpnf.shp" "% f"
Nota: utilizará el nombre del archivo KML como nombre del archivo de forma, así que asegúrese de que sus archivos KML tengan los formatos de nombres adecuados para los archivos de forma. El archivo de forma se creará en el mismo directorio que el kml correspondiente. Los archivos KML en los subdirectorios también se convertirán en archivos de forma.
Para convertir KML a formato de archivo Shp, puede usar la utilidad ogr2ogr. En primer lugar, debe instalarlo en el sistema. Si ya lo instaló, use el tipo ogr2ogr en el terminal.
Ahora para la conversión, el comando dado debe ejecutarse, es decir
--- ogr2ogr -f 'ESRI Shapefile' Output_sahpefile.shp Input_KML.kml
Así es como ogr2ogr puede realizar conversiones y si no obtiene resultados, puede convertir Kml a shp mediante el método de codificación.
Esto también se puede hacer usando PHP. Puede crear una función que defina este comando como cadena y puede asignar esta cadena en el método shell_exec () para que se ejecute. Shell_exec () realmente ejecuta el comando y devuelve el resultado como una cadena.
public function KML_to_shp($KMLfilepath,$output){
$query="ogr2ogr -f 'ESRI Shapefile' $output.gml $KMLfilepath";
shell_exec($query);
}
Aquí hay una publicación para convertir kml a shp usando la herramienta de línea de comandos ogr2ogr o usando el código php. Mientras que si usa la herramienta QGIS, puede consultar una de mis publicaciones de blog aquí kml para convertir shp usando QGIS o continuar usando esta publicación.
En ArcGIS simplemente busque "kml TO LAYER" o "Layer to KML". esta herramienta te ayudará a convertir en shapefile y KML