Qual estrutura de mapeamento da web python usar? [fechadas]

19

Estou interessado em desenvolver um aplicativo de mapeamento da web. Estou relativamente familiarizado com Python e, portanto, estou procurando uma estrutura de python. Quais são as minhas opções? Quais são os prós e os contras de cada opção?

Estou procurando uma opção simples, que exiba as informações geográficas no mapa e permita que o usuário use "informações" para obter mais detalhes. Neste ponto, não preciso de nenhuma consulta ou funcionalidade dinâmica. Eu preferiria uma opção bem documentada.

vagvaf
fonte
4
Você precisa fornecer mais informações. Quais recursos você está vendo? Que tipo de mapeamento da web você deseja fazer?
Devdatta Tengshe

Respostas:

15

Experimente o Folium , é muito simples começar: você cria seu projeto usando Python e apenas abre o mapa resultante.

Se você quiser ir mais fundo, pode classificar por nível decrescente de simplicidade:

  • GeoDjango com adições como o Django-Leaflet . Realmente o melhor documento aqui
  • FeatureServer Mais orientado para o servidor, mas uma demonstração do OpenLayers ( última atualização em 2015 )
  • Somente o MapFish . Baseado em postes desatualizados ( última atualização em 2011 )
  • Papyrus , a integração do Mapfish no Pyramid, um conhecido framework Python ( última atualização em 2017 )
ThomasG77
fonte
Como o Folium se compara ao GeoDjango em termos de recursos que eles têm?
18715 multivoodverse
2
Folium = principalmente para visualizar dados em um mapa da web e gerar mapa estático da web. Não há recursos de edição aqui. Por outro lado, GeoDjango = para gerenciar dados em um site dinâmico. Você precisará codificar mais, mas poderá criar um site completo, pois o GeoDjango é apenas uma extensão da estrutura da web do Django (para criar o site completo). Também é possível editar habilidades disponíveis, gerenciar usuários e grupos.
ThomasG77
8

Você pode tentar o GeoDjango .

Pode ser um exagero para o que você deseja fazer, mas parece atender aos critérios que você está procurando. É uma estrutura da web orientada por python que incorpora muitos projetos GIS excelentes, como gdal / ogr, OpenLayers, e suporta o uso de bancos de dados geográficos, incluindo postgis / postgres.

Venho experimentando isso há alguns meses e gosto até agora. Definitivamente, existe uma curva de aprendizado, mas a documentação é bastante boa e existe uma forte comunidade de usuários.

Acho que é uma plataforma realmente flexível e mais madura do que eu esperava. Dê uma olhada se você ainda não o fez.

akthor
fonte
8

Se você deseja um serviço web básico em python, há duas maneiras:

  • geodjango, esta é uma extensão oficial integrada no django. Funciona muito bem, mas é centrado no django. Se você gosta de django é perfeito
  • balão (ou outra estrutura da web) + geoalchemy2 (extensão de sqlalchemy) + bem torneado (lirairy para manipular objetos geográficos), talvez seja mais difícil que o geodjango, mas é a minha solução favorita. Eu prefiro jinja2 e sqlalchemy do que o template e orm do django.

Em seguida, conecte-o a camadas abertas ou a folhetos.

Mas observe as soluções padrão do servidor WMS ou WFS, isso pode ser útil.

black_rez
fonte
0

Que tal o MapFish, que segundo ele mesmo é

uma estrutura flexível e completa para a criação de aplicativos avançados de mapeamento da web ... com base na estrutura da web do Pylons Python.

Não posso afirmar que o usei, mas ele está pré-instalado na minha máquina OSGeo Live - o OpenLayers e o TileMill foram minhas 'estruturas' de mapeamento da web (o que isso significa) de sua escolha, mas não usam muito Python. Com base em seu site e sua afiliação à OSGeo , não hesitaria em recomendar o teste de sua tecnologia, embora, como diz o comentário acima, sua escolha deva depender do aplicativo, não apenas do idioma em que está escrito.

A demonstração on-line parece funcionar de forma eficiente e parece um projeto com força: por que não experimentar o tutorial de 'início rápido' e ver se ele atende às suas necessidades?

RobinLovelace
fonte
2
O Mapfish não está mais ativo.
Raphael