Gerar mapas de calor estáticos do lado do servidor?

8

Estive procurando uma maneira de gerar mapas estáticos do lado do servidor usando Python (ou qualquer outro idioma, não importa).

Posso criar os mapas que desejo com o QGIS (e eles parecem realmente ótimos), mas não sei como automatizar o processo.

O que eu quero é;

  • Criando um estilo de mapa no QGIS e exportando-o para algum tipo de XML (existe um plugin chamado quantumnik, mas não está mais disponível, eu acho)

  • Executando uma consulta no PostGIS no meu script Python

  • Criando um shapefile ou apenas um PNG usando o conjunto de dados retornado da consulta e estilo XML definido acima.
  • Repetindo todo o processo todas as noites com diferentes conjuntos de dados.

Eu brinquei com o Mapnik, mas ainda não consegui gerar um mapa de calor ( https://github.com/stellaeof/mapnik-rasterizers )

Eu li sobre o servidor QGIS, GeoServer, MapServer. Mas agora estou confuso, pois há muitas ferramentas por aí.

  1. O Mapnik é a direção certa ou existem ferramentas melhores para esse tipo de processo?

  2. Ou existe uma maneira de usar o QGIS programaticamente em um servidor?

EDITAR:

Depois de tentar várias coisas diferentes, decidi usar o GeoServer. Eu o instalei usando a imagem do contêiner do docker: https://github.com/kartoza/docker-geoserver Ele pode gerar png, gif, jpeg e também pode servir camadas WMS que podem ser facilmente integradas ao Leafletjs.

O único problema é que estou tentando projetar meus mapas primeiro com o QGIS e depois exportá-los para o GeoServer usando o plug-in "Geoserver Explorer" e ele não funciona bem para rótulos e outros recursos. Não há maneira fácil de gerar SLD no QGIS, eu acho. Eu continuo corrigindo as configurações do SLD manualmente depois de exportá-las para o GeoServer. Mas essa ainda é a melhor solução, eu acho.

Ainda seria ótimo se você pudesse sugerir melhores plugins ou maneiras de integrar o QGIS e o GeoServer ou qualquer outro editor de SLD.

cdagli
fonte
Por experiência pessoal dolorosa, estou usando o processo exato que você descreve (criando SLD no QGIS e depois mudando manualmente para caber no servidor geográfico) quase semanalmente. Conseguiu automatizar parte da correção por meio de scripts no servidor geográfico, mas não é o ideal.
Phil G
Há SLDEditor github.com/robward-scisys/sldeditor/wiki/userguide ou ambos QGIS e GeoServer vai aceitar contribuições ou dinheiro para as questões de correção, se eles são importantes para você
Ian Turton

Respostas:

1

Sim, é complicado e, em parte, por causa de muitas peças em movimento no processo. Eu fiz algo semelhante usando Python e Mapnik. Abaixo está o procedimento passo a passo:

1) Um script python baixa os dados do servidor (neste caso, dados dispersos da estação meteorológica). 2) Um script bash executa gdal_grid que interpola os dados e grava um arquivo GeoTIFF. 3) Um script bash executa o generate_tiles.py usando um arquivo de estilo mapnik predefinido e o GeoTIFF para criar todos os blocos. 4) Um aplicativo da Web usando a camada OpenLayers + TMS consome esses blocos.

Espero que ajude. Felicidades

Roberto Santos
fonte