Convertir KML a GeoPackage (GPKG)
Este convertidor transforma archivos KML o KMZ de Google Earth o My Maps en un único GeoPackage (.gpkg) para QGIS o ArcGIS Pro. Cada carpeta del KML se convierte en una capa, y una carpeta que mezcla puntos, líneas y polígonos se convierte en una capa por tipo. Las columnas de ExtendedData pasan a ser campos con su nombre completo. El archivo se convierte en su navegador y no se sube.
¿Un archivo no se convirtió correctamente? Escriba a [email protected], a ser posible con un pequeño archivo de ejemplo, y se corregirá.
Lo esencial
- Entrada: KML (.kml). Salida: GeoPackage (.gpkg).
- Tus archivos no se suben: el trabajo se hace en tu navegador, en tu propio dispositivo.
- Tamaño: sin límite fijo; los archivos muy grandes están limitados por la memoria de tu dispositivo.
- Necesita un navegador actual (Chrome, Edge, Firefox o Safari) en ordenador, tableta o móvil; no hay que instalar nada.
- Gratis y sin registro.
De KML a GeoPackage: ¿por qué convertir?
Google Earth, My Maps y muchas apps de campo comparten datos en KML o KMZ, pero el KML está pensado para ver, no para trabajar: no tiene campos tipados ni índice espacial, y mezcla todo tipo de formas en un mismo archivo. Para editar, simbolizar o analizar los datos en QGIS o ArcGIS Pro, un GeoPackage es un lugar mucho mejor. Es un solo archivo SQLite que guarda muchas capas, conserva los nombres de campo largos y los caracteres especiales, y es el formato predeterminado de QGIS. Esta página abre el KML o KMZ en su navegador con GDAL, la biblioteca de código abierto en la que se basa QGIS, y escribe cada carpeta como una capa del GeoPackage, dividida por tipo de geometría, con las columnas de My Maps y los colores de los marcadores como campos. A diferencia de un shapefile, no hay límite de 10 caracteres en los nombres de campo ni archivos adicionales que mantener juntos. El KML nunca sale de su ordenador.
Cómo convertir KML a GeoPackage
- Suelte su archivo .kml o .kmz en el recuadro o haga clic para elegirlo. Puede soltar varios archivos a la vez.
- Revise los marcadores en el mapa; si lo desea, elija un sistema de coordenadas proyectado, por ejemplo una zona UTM.
- Haga clic en «Convertir a GeoPackage» y abra el .gpkg en QGIS o ArcGIS Pro.
Qué cambia al convertir
Una capa por carpeta y tipo de geometría
Una carpeta de KML puede mezclar marcadores, rutas y polígonos, pero QGIS y ArcGIS Pro simbolizan y editan mejor una capa que tiene un solo tipo de geometría. Una carpeta con un solo tipo se convierte en una capa con el nombre de la carpeta; una carpeta mixta se convierte en Carpeta_points, Carpeta_lines y Carpeta_polygons dentro del mismo .gpkg. La línea de estado indica qué capas se han dividido.
ExtendedData, descripciones y colores pasan a ser campos
Las columnas de My Maps pasan a ser campos de texto con su nombre completo, y los campos SchemaData tipados de QGIS o ArcGIS conservan su tipo de número entero o decimal. Los KML de ArcGIS suelen traer, en cambio, una tabla HTML de nombres de campo y valores en cada descripción; cada fila de esa tabla se convierte en un campo. Los colores del icono, la línea y el relleno de cada marcador se conservan en los campos icon_color, line_color y fill_color (#rrggbb), junto con line_width, line_opac y fill_opac, que puede usar para una simbología definida por datos.
El sistema de coordenadas
KML siempre está en longitud y latitud WGS84, así que, de forma predeterminada, las capas se guardan en EPSG:4326. Elija un sistema proyectado, como una zona UTM, si quiere medir longitudes y áreas en metros; entonces cada capa se reproyecta y el GeoPackage registra el nuevo sistema.
Recorridos, alturas y superposiciones
Los recorridos GPS de Google Earth (gx:Track) se convierten en líneas, y las alturas se conservan como valores Z. Las superposiciones de imagen de un KMZ, como un mapa escaneado, no caben en un GeoPackage vectorial, así que se escriben junto a él como la imagen con un archivo de georreferencia (world file) y un .prj, que QGIS coloca en el mapa. Los iconos, las etiquetas y los vínculos de red no se convierten.
Sobre los formatos
KML
KML (Keyhole Markup Language) es el formato XML de Google Earth y Google My Maps, y una norma OGC desde 2008. Además de la geometría, puede contener estilos, iconos, carpetas y descripciones en HTML.
- Siempre longitud y latitud WGS84, con altitud opcional.
- Las carpetas agrupan marcadores; cada carpeta puede convertirse en una capa propia al convertir.
- Los estilos (colores, grosores de línea, iconos) son propios de KML y Google Earth.
GeoPackage
GeoPackage es una norma abierta de la OGC de 2014 basada en SQLite. Es el formato predeterminado de QGIS y puede contener muchas capas, cualquier sistema de coordenadas y nombres de campo largos en un solo archivo.
- Un archivo puede contener muchas capas vectoriales y tablas, además de teselas ráster.
- Sin límite de 10 caracteres en los nombres de campo, a diferencia de los shapefiles.
- Guarda el sistema de coordenadas de cada capa dentro del archivo, así que no hay un .prj aparte.
- No tiene límite de 2 GB por capa, a diferencia de los archivos .shp y .dbf de un shapefile.
Preguntas frecuentes
¿Se sube mi KML?
No. GDAL se ejecuta en su navegador como WebAssembly, y el GeoPackage se escribe en su propio equipo.
¿Puedo abrir el GeoPackage en ArcGIS Pro?
Sí. ArcGIS Pro lee y edita GeoPackages directamente; agregue el .gpkg en el panel Catálogo y arrastre una capa al mapa. En QGIS, arrastre el .gpkg al panel Capas y elija las capas que quiera.
¿Por qué usar un GeoPackage en lugar de un shapefile?
Un GeoPackage es un solo archivo en lugar de cinco, mantiene todas las capas juntas, conserva nombres de campo de más de 10 caracteres y textos de más de 254, y guarda letras como ñ, á o ü sin archivo de codificación. Use el convertidor de KML a shapefile si un cliente o un programa antiguo le pide shapefiles.
¿Puedo volver a convertir un GeoPackage a KML?
Abra el .gpkg en QGIS y use Exportar > Guardar objetos como…, con el formato KML. Para obtener GeoJSON para un mapa web a partir del GeoPackage, use el convertidor de GeoPackage a GeoJSON.