Importar KML e información de estilo en Geoserver


9

Así que estoy trabajando en un proyecto que ha estado en desarrollo durante más de un año, pero solo recientemente me involucré. Mi tarea consiste en convertir aproximadamente 2.500 archivos KML a otro formato, importar estos archivos en un Geoserver y luego copiar la información de estilo asociada para cada archivo. Me doy cuenta de que Geoserver le permite importar archivos KML directamente, sin embargo, nuestros archivos nunca parecen renderizarse correctamente, y mi jefe quisiera alejarse del formato KML por razones filosóficas.

Usando ogr2ogr, intenté convertir estos archivos en archivos de forma ESRI, sin embargo, el proceso de conversión solo funcionó en aproximadamente un tercio de los archivos y borró algunos de los metadatos solicitados en la información de estilo. Los archivos que no convirtieron código para polígonos y puntos, que he leído, pueden ser un error para otros programas como QGIS.

También he tratado de poner todos los archivos KML en una base de datos PostGIS y convertirlos así. Sin embargo, eso parece eliminar todos los datos dejando esencialmente tablas en blanco para importar.

TL; DR Necesito encontrar una manera de convertir 2.500 archivos KML en un formato utilizable por Geoserver, y trabajaré con información de estilo XML. Soy un novato completo en SIG y esta es la primera vez que publico, así que lo siento si esto parece un poco ridículo.


¿Es el estilo esencialmente el mismo para todos los archivos KML o son todos completamente diferentes? Si es lo primero, puede encontrar que simplemente puede rodar manualmente un archivo de estilo (o conjunto de archivos) para GeoServer que usa SLD (un formato basado en XML).
nmtoken


No sé dónde puedo hacer esta pregunta, pero estoy seguro de que sabes mi respuesta. ¿Está aquí de todos modos para cargar KML como nueva fuente de datos en GeoServer? @samane
Mostafa Fallah

Respuestas:


1

En GeoServer, los datos y el estilo están separados, no hay forma de mezclarlos. Puede autogenerar un SLD. Hasta ahora, no sé si existe un convertidor para el estilo kml al estilo geoservidor.


1

Primero, el estilo de Geoserver (SLD) y los datos (KML) son totalmente diferentes. Importe el archivo KML en Geoserver y más tarde, cree el archivo SLD en el editor de estilo o cree el estilo dentro del visor (como Mapfishapp) y luego, guarde el archivo .sld para obtener el sld fácilmente sin escribir dentro de XML (más difícil de realizar clasificación o otro estilo específico cuando algún sistema se da cuenta fácilmente).

Más tarde, he usado archivos KML para guardar datos SIG y todo el tiempo, perdí el atributo (= datos perdidos). KML solo guarda información de geometría. Es mejor guardar sus datos nativos en otro formato (atributo de mantenimiento CSV) o simplemente crear una tabla de datos y, después, proporcionar la información geográfica o crear directamente la capa. (archivo de forma, Csv ...).

Espero poder ayudarte ...


1

La información adicional en el archivo kml que desea utilizar y que denomina "metadatos" podría estar en la jerga de KML:

  1. Estilos y mapas de estilo
  2. ExtendedData
  3. Información personalizada en el campo Descripción de una Marca de posición, generalmente en forma de tablas html

Como cada archivo kml es un archivo ASCII, puede procesarse mediante un script de procesamiento de texto. Según tengo entendido, se debe crear una "capa" separada para cada tipo de objeto que desee presentar y diseñar en Geoserver. Esto significa que de cada archivo kml, terminará con varios archivos dependiendo de su clasificación de tipos de objeto.

No es un trabajo sencillo para las herramientas estándar. Con suerte, si todos los archivos de 2.500 kml se crean con la misma aplicación, tendrán la misma estructura. En ese caso, necesitará un análisis detallado de esta estructura y muchos scripts personalizados.


1

Abra el kml y mire adentro, parece que todo lo que realmente quiere son los datos, ya que los otros carteles han sugerido que los estilos no están en las tarjetas, por lo que su problema es la conversión de todos los archivos, que son esencialmente solo archivos de texto, aprenda algo de Python

luego hackear algo como esto en forma: https://gist.github.com/linwoodc3/0306734dfe17076dfd34e09660c198c0

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.