32 votos

Convirtiendo KML a shapefile sin perder atributos usando QGIS

Tengo un archivo KML con cientos de puntos. A cada punto le corresponde información, como Nombre, Potencia, Edad (es un mapa de centrales hidroeléctricas). Si importo ese archivo KML a QGIS, esta información se pierde.

¿Hay alguna manera de poder conservar esta información?

La información se ve así:

  Test
  10895
  L

1 votos

¿Cómo estás importando el .kml en QGIS? Este formato es compatible como uno de los formatos básicos, por lo que debería ser un proceso relativamente sencillo agregar un archivo kml como capa. Si proporcionas más detalles, alguien podría ayudar a descubrir qué está saliendo mal. También información sobre la fuente del archivo puede ser útil.

1 votos

¿Tienes un enlace en vivo al KML?

0 votos

Creo que sería posible a través de FME, o si te sientes un poco aventurero, podrías escribir un script de python que analice el kml (¡xml!) y exporte a shapefile. (bibliotecas a usar: biblioteca de shapefile de python, cualquier XML desde python)

15voto

SpliFF Puntos 214

Los valores "name" en ExtendedData no son correctos.

Por ejemplo

SystemRiverine

no es importado por GDAL y Qgis Master, mientras que

SystemRiverine

es importado.

Puedes cambiar eso con un buen editor de texto.


Para la edición de KML es necesario utilizar un editor de texto que permita "Expresiones Regulares" en la función Reemplazar, como PSPad (o Notepad++ y muchos otros editores de texto gratuitos)

Buscar: (.*)

Reemplazar: $1

Después de esto, solo utiliza QGIS (la clave es la versión "nueva" - incluida la Versión de GDAL 1.9.2 en adelante) y "Añadir capa vectorial" y la capa se cargará con todo el "ExtendedData".

0 votos

Gracias, esa fue la información CLAVE. Intenté reemplazarla en un archivo de prueba y funcionó perfectamente. Todos los "ExtendedData" ahora están en una tabla como columnas. Una vez más, muchas gracias.

3 votos

En realidad, DisplayName no es utilizado por Qgis. Por lo tanto, la sustitución se puede hacer sin RegExp reemplazando con .".

1 votos

Mi archivo KML también contenía una etiqueta que tuve que comentar para poder abrirlo en QGIS. ¡Pero por lo demás, el truco funcionó perfectamente!

6voto

Daryl Spitzer Puntos 220

Convertí uno de los archivos de humedales con Global Mapper a formato shape: incluyo dos capturas de pantalla de los archivos DBF convertidos (áreas y líneas):

introducir descripción de la imagen aquí

introducir descripción de la imagen aquí

0 votos

Gracias, sí, eso es exactamente lo que necesito. Es bueno saber que hay software que puede manejar estos KML que no cumplen con el estándar KML. Como ya hay otra respuesta sobre cómo hacerlo con QGIS gratis, no voy a intentar Global Mapper, pero definitivamente puede ayudar a alguien más. Gracias de nuevo.

0 votos

Realmente un conversor fantástico, genial!!

6voto

danatel Puntos 192

Puedes usar el software Global Mapper en el que puedes exportar/importar fácilmente archivos kml/kmz + adjuntar datos y muchos formatos vectoriales y raster.

0 votos

Gracias por la sugerencia. Creo que puede importar/exportar archivos kml/kmz, pero ya he probado más de 5 aplicaciones que pueden hacerlo. Y ninguna de ellas es capaz de leer los atributos ("ExtendedData"). ¿Puede hacerlo realmente Global Mapper?

4voto

Mashimom Puntos 21

Puedes probar kml2shp.

También tienen un nuevo convertidor en línea.

1voto

shsteimer Puntos 8749

No sé si puedes lograr eso con QGIS. MapWindow tiene un plugin KML2Shapefile, sin embargo.

KML2Shapefile es un plugin para MapWindow GIS que convierte archivos KML y KMZ de Google Earth en shapefiles para su uso en un GIS.

KML2Shapefile dividirá cada tipo de geometría KML en un shapefile separado. Es compatible con geometrías complejas y puede presentar gran parte del KML como datos de atributos.

MapWindow también es un paquete GIS gratuito y de código abierto. Puedes descargarlo e instalarlo de forma gratuita. Puedes convertir el KML a shapefile usando el plugin KML2Shapefile en MapWindow y simplemente cargar el shapefile resultante en QGIS. Suponiendo que estés en Windows de todos modos.

La mejor solución que se me ocurre por ahora. Espero que alguien conozca un plugin para hacerlo en QGIS sin embargo.

1 votos

Gracias por tu ayuda. Intenté eso, pero todavía se pierden los datos. La información se ve así: Test 10895 L ¿Hay algo mal con mi código?

0 votos

Oh, lo siento por eso. Esperaba que funcionara.

1 votos

@Felix - La información que proporcionaste en tu comentario es realmente útil. Te recomendaría editar tu pregunta y agregarla allí para proporcionar contexto adicional y claridad.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X