Importando informações de estilo e KML para o Geoserver


9

Então, eu estou trabalhando em um projeto que está em desenvolvimento há mais de um ano, mas só recentemente me envolvi. Minha tarefa envolve converter aproximadamente 2.500 arquivos KML em outro formato, importar esses arquivos para um Geoserver e copiar as informações de estilo associadas a cada arquivo. Sei que o Geoserver permite que você importe arquivos KML diretamente; no entanto, nossos arquivos nunca parecem renderizados corretamente, e meu chefe gostaria de se afastar do formato KML por razões filosóficas.

Usando ogr2ogr, tentei converter esses arquivos em Shapefiles da ESRI, no entanto, o processo de conversão funcionou apenas em cerca de um terço dos arquivos e apagou alguns dos metadados exigidos nas informações de estilo. Os arquivos que não converteram código para polígonos e pontos, que eu li, podem ser um erro para outros programas como o QGIS.

Eu também tentei colocar todos os arquivos KML em um banco de dados PostGIS e convertê-los assim. No entanto, isso parece excluir todos os dados, deixando essencialmente tabelas em branco para importação.

TL; DR Preciso encontrar uma maneira de converter 2.500 arquivos KML em um formato utilizável pelo Geoserver e funcionará com informações de estilo XML. Eu sou um noob GIS completo e esta é a minha primeira postagem, então desculpe se isso parece um pouco ridículo.


O estilo é essencialmente o mesmo para todos os arquivos KML ou eles são completamente diferentes? No primeiro caso, você pode achar que pode simplesmente rolar manualmente um arquivo de estilo (ou conjunto de arquivos) para o GeoServer que usa SLD (um formato baseado em XML).
NmToken


Não sei onde posso fazer esta pergunta, mas tenho certeza que você sabe minha resposta. De qualquer maneira, aqui está o upload do KML como nova fonte de dados no GeoServer? @samane
Mostafa Fallah

Respostas:


1

No GeoServer, os dados e o estilo são separados, não há como combiná-los. Você pode gerar automaticamente um SLD. Até agora, não sei se existe um conversor para o estilo kml para o estilo geoserver.


1

Primeiro, o estilo do Geoserver (SLD) e os dados (KML) são totalmente diferentes. Importe o arquivo KML no Geoserver e, posteriormente, crie um arquivo SLD no editor de estilos ou crie um estilo no visualizador (como Mapfishapp) e, em seguida, salve o arquivo .sld para obter o sld facilmente sem gravar no XML (mais difícil de realizar a classificação ou outro estilo específico quando algum sistema o realiza facilmente).

Mais tarde, usei arquivos KML para salvar dados GIS e perdi o atributo o tempo todo (= dados perdidos). O KML apenas mantém as informações de geometria. É melhor salvar seus dados nativos em outro formato (atributo de manutenção CSV) ou apenas criar tabela de dados e, depois, fornecer as informações geográficas ou criar diretamente a camada. (shapefile, CSV ...).

Espero te ajudar ...


1

As informações adicionais no arquivo kml que você deseja usar e se refere como "metadados" podem estar no jargão KML:

  1. Estilos e mapas de estilo
  2. ExtendedData
  3. Informações personalizadas no campo Descrição de um marcador, geralmente na forma de tabelas html

Como cada arquivo kml é um arquivo ASCII, ele pode ser processado através de um script de processamento de texto. De acordo com o meu entendimento, uma "camada" separada deve ser criada para cada tipo de objeto que você deseja apresentar e estilizar no Geoserver. Isso significa que, a partir de cada arquivo kml, você terminará com vários arquivos, dependendo da sua classificação dos tipos de objetos.

Não é um trabalho simples para ferramentas prontas para uso. Felizmente, se todos os arquivos de 2.500 kml forem criados com o mesmo aplicativo, eles terão a mesma estrutura. Nesse caso, você precisará de uma análise detalhada dessa estrutura e de muitos scripts personalizados.


1

Abra o kml e olhe dentro dele, parece que tudo o que você realmente deseja são os dados, pois os outros pôsteres sugeriram que os estilos não estão nos cartões, então seu problema é a conversão de todos os arquivos que são basicamente apenas arquivos de texto.

Em seguida, corte algo assim em forma: https://gist.github.com/linwoodc3/0306734dfe17076dfd34e09660c198c0

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.