Serviço de mapa gratuito para aplicativos da web privados

12

fundo

Procurando exibir um mapa (apenas para uso interno) em uma página da web. O aplicativo deve poder adicionar camadas personalizadas (sem enviar os dados para o host do serviço de mapa):

  • Zonas municipais (definidas por shapefiles)
  • Zonas personalizadas (definidas por polígonos, possivelmente em termos de zonas municipais)
  • Locais do site (definidos por lat / long)
  • Dados adicionais da cidade (definidos pelos arquivos de formas)

Por ser um empreendimento privado, elimina muitos serviços de mapas, incluindo: Google Maps, Bing, Yahoo! Mapas, MapQuest e outros serviços de pagamento por uso.

Atualização # 1

Talvez o MapQuest seja uma possibilidade .

Atualização # 2

Requisitos que eu esqueci de mencionar:

  1. Existem dados adicionais (cidades, vilas, aldeias) que não fazem parte do OpenStreetMap. Essas cidades devem ser incluídas sem fornecer os dados ao provedor de mapas.
  2. Existem várias camadas (como locais dos funcionários) que também devem ser exibidas, sem informar ao provedor de mapas onde encontrar os dados (ou seja, os dados estarão atrás de um firewall).

Desenvolvimento atual

No momento, não consegui encontrar um servidor que atenda aos meus requisitos; portanto, tenho seguido as instruções em vários sites para instalar um servidor da Web Mapnik:

Neste ponto, tenho várias partes dos dados:

  • Dados da cidade e município (arquivos de forma carregados no PostGIS)
  • Dados naturais da Terra (arquivos de forma; não carregados)
  • Folhas de estilo do Mapnik (vários arquivos; não carregados)

GeoServer

Tentei instalar o GeoServer (antes do Mapnik), mas a documentação estava ausente, a ferramenta de administração baseada na Web era difícil de configurar e a capacidade de resposta em uma máquina de 2 GHz era muito lenta (10 segundos para renderizar um bloco com um camada única: estradas) e a estética padrão sem graça. (Eu sei que posso usar folhas de estilo para animar a apresentação, mas isso significa ter que encontrar [ou criar !] Arquivos adequados, instalá-los, testá-los e assim por diante.)

Exigências

Os requisitos técnicos incluem:

  • Cidades, estradas, massas de água (lagos, rios, oceanos)
  • Fronteiras políticas (províncias, países)
  • Alta qualidade (visualmente semelhante ao Google Maps, MapQuest etc.)
  • Alto tempo de atividade
  • Projeção 900913 (semelhante ao Google Maps)
  • Ladrilhos responsivos (menos de 0,1 segundos por ladrilho)
  • Excelente cobertura de dados de ruas para o Canadá
  • Útil para mapa escorregadio (compatível com OpenLayers)
  • 10.000 solicitações de bloco por dia
  • Gratuito para uso comercial (ou privado) ou menos de US $ 2000 por ano?

Bom exemplo

Aqui está um excelente exemplo (OpenLayers) do que estou procurando alcançar:

Exemplos ruins

Um exemplo do que não pretendo alcançar:

Um exemplo de dados incompletos:

Links Relacionados

Questão

Quais servidores WMS, WMTS ou WFS oferecem a funcionalidade necessária?

Dave Jarvis
fonte

Respostas:

11

Não sei por que você está excluindo serviços como o Google Maps, especialmente porque o tráfego esperado não é tão alto (o Google começa a cobrar após 25.000 visualizações de mapa (as visualizações do mapa serão muito inferiores a 10.000): https://developers.google. com / maps / faq # use_pricing ). Basicamente, você precisa de duas coisas:

  1. Alguém para lhe fornecer o mapa escorregadio da Web. Pode ser o Google Maps, Bing, MapQuest, Cloudmade etc. Ou você pode executar seu próprio servidor de tile e usar os dados do OpenStreetMap.
  2. Renderizando seus próprios dados vetoriais no lado do cliente (usando javascript) na parte superior do mapa da Web. Existem várias bibliotecas de código aberto que podem fazer isso (OpenLayers, Leaflet, Polymaps ...).

Alguns indicadores para investigar mais:

Igor Brejc
fonte
8
Os termos de serviço do Google Maps proíbem a exibição de mapas em servidores privados (ou seja, o servidor deve estar aberto ao público em geral). developers.google.com/maps/terms ... "Sua implementação da API do Google Maps não deve operar apenas em uma rede interna." Então isso descarta.
Dave Jarvis
OK, isso faz sentido. Nesse caso, o OSM é o caminho a percorrer.
Igor Brejc
3

Openlayers com o OpenStreetmap parece ser sua melhor opção gratuita; você adiciona suas camadas com o WMS (como Mapserver ou Geoserver). Você também pode usar o Google Maps com uma licença.

Tenho muita experiência nisso, pois desenvolvi vários sites, alguns do zero com blocos personalizados.

Eu não trabalhei com o geoserver, mas com o Mapserver. Você não pode esperar que o servidor renderize milhões de detalhes de recursos em tempo real. Eu diria que o desempenho desses sempre deve ser aprimorado, simplificando os dados para níveis de detalhes (de acordo com a escala ou o zoom) e talvez queimando dados de base em blocos.

Agora estou trabalhando no Mobnetics Map

Ele usa Openlayers, OSM tiles, postgreSQL e Java. A vantagem é que ele se adapta a qualquer dado GIS (pelo uso de metadados) e permite que os usuários consultem os dados. Está em desenvolvimento contínuo e, na época, possui apenas dados adicionais para Portugal (como caso de teste).

A próxima coisa que quero fazer é oferecer aos clientes que hospedam dados GIS que eles podem configurar e atualizar remotamente, para que os clientes possam trabalhar no site como eles próprios.
Seria bom ter um cliente enquanto você, como minha empresa, desenvolve o site.

Caso contrário, também posso fazer uma instalação personalizada deste site no seu servidor e mantê-lo remotamente. Fizemos isso com alguns clientes.

Cumprimentos,

Joaquim Muchaxo

muchaxo
fonte
Pode ser um tiro no escuro, mas você sabe para onde vai para saber mais sobre como configurá-lo?
QGISUser
1

Eu acho que a palavra código-fonte aberto está sendo usada bastante liberalmente neste tópico;)

Mais duas opções:

pgager
fonte
1
Nenhuma destas são opções, como a questão era para serviços privados gratuitos
Ryan Garnett
1

Obviamente, você pode usar um GIS pago. Eu trabalho em um conselho e usamos Exponare. Exponare é fácil e funciona bem, mas vai custar-lhe.

O ArcMap é o mais sofisticado, e é o software que a Dekho faz o que você deseja.

Se você quiser fazer o seu próprio, confira http://opengeo.org/ para obter a pilha completa em um modelo suportado.

Meu entendimento de fazer você mesmo é o seguinte:

  1. Coloque seus dados em um banco de dados espacial, ou seja, PostGIS
  2. Escolha seu servidor lado a lado / vetor (PostGIS, GeoServer) para publicar WFS / WMS
  3. Escolha seu front end da Web (GeoEXT, openlayers)

Você pode instalar muito disso no Windows com https://trac.osgeo.org/osgeo4w/ (gerenciado por pacote e tudo). Tenho certeza que o Ubuntu tem os pacotes, se não oficiais, em um PPA.

Alex Leith
fonte
1

As opções totalmente gratuitas requerem a integração de alguns softwares e o openstreetmap possui links para o software usando seus dados gratuitos. Eu recomendaria procurar a API e as ferramentas do Mapbox como o Mapbox studio, é gratuito para uso baixo e dimensiona muito bem, com dispositivos móveis nativos, reagir nativamente, o offline também é uma possibilidade, pode ser usado com Apis como Openlayers e folheto. As grades da camada de interação e o estilo dos blocos vetoriais são recursos exclusivos e poderosos do Mapbox; no entanto, ele não é orientado para o WFS ou o WMS; nesse caso, use o Postgresql e o Openlayers também. O Postgres possui funções Gml prontas para uso, portanto, para usar o WFS, basta adicionar alguns cabeçalhos às solicitações; no entanto, para uma implementação completa do Ogc, use geoserver ou Mapserver

muchaxo
fonte