Servizio mappe gratuito per applicazioni web private


12

sfondo

Cerca di visualizzare una mappa (solo per uso interno) su una pagina web. L'applicazione deve essere in grado di aggiungere livelli personalizzati (senza inviare i dati all'host del servizio mappe):

  • Zone municipali (definite da shapefile)
  • Zone personalizzate (definite da poligoni, possibilmente in termini di zone comunali)
  • Posizioni del sito (definite da lat / long)
  • Dati di città aggiuntivi (definiti da file di forma)

Perché è un'impresa privata, elimina molti servizi di mappe, tra cui: Google Maps, Bing, Yahoo! Mappe, MapQuest e altri servizi a pagamento.

Aggiornamento n. 1

Forse MapQuest è una possibilità .

Aggiornamento n. 2

Requisiti che ho dimenticato di menzionare:

  1. Esistono dati aggiuntivi (città, paesi, frazioni) che non fanno parte di OpenStreetMap. Queste città devono essere incluse senza fornire i dati al fornitore della mappa.
  2. Esistono anche diversi livelli (come le posizioni dei dipendenti) che devono essere visualizzati, senza dire al fornitore della mappa dove trovare i dati (ovvero, i dati saranno dietro un firewall).

Sviluppo attuale

Attualmente, non sono stato in grado di trovare un server che soddisfi i miei requisiti, quindi ho seguito le istruzioni su vari siti Web per installare un server Web Mapnik:

A questo punto, ho vari pezzi di dati:

  • Dati di città e comuni (file di forma caricati in PostGIS)
  • Dati della Terra naturale (file di forma; non caricati)
  • Fogli di stile Mapnik (vari file; non caricati)

GeoServer

Ho provato a installare GeoServer (prima di Mapnik) ma ho trovato carente la documentazione, lo strumento di amministrazione basato sul web per essere complicato da configurare e la reattività su una macchina da 2 GHz essere dolorosamente lenta (10 secondi per il rendering di un riquadro con un singolo strato: strade) e il blando estetico predefinito. (So ​​che posso usare i fogli di stile per ravvivare la presentazione, ma ciò significa dover trovare [o creare !] File adatti, installarli, testarli e così via.)

Requisiti

I requisiti tecnici includono:

  • Città, strade, corsi d'acqua (laghi, fiumi, oceani)
  • Confini politici (province, paesi)
  • Alta qualità (visivamente simile a Google Maps, MapQuest, ecc.)
  • Alta disponibilità
  • Proiezione 900913 (simile a Google Maps)
  • Piastrelle reattive (meno di 0,1 secondi per tessera)
  • Eccellente copertura dei dati stradali per il Canada
  • Utile per la mappa slippy (compatibile con OpenLayers)
  • 10.000 richieste di tessere al giorno
  • Gratuito per uso commerciale (o privato) o meno di $ 2000 all'anno?

Buon esempio

Ecco un eccellente esempio (OpenLayers) di ciò che sto cercando di ottenere:

Cattivi esempi

Un esempio di ciò che non sto cercando di ottenere:

Un esempio di dati incompleti:

Link correlati

Domanda

Quali server WMS, WMTS o WFS offrono la funzionalità richiesta?

Risposte:


11

Non sono sicuro del motivo per cui stai escludendo servizi come Google Maps, soprattutto perché il tuo traffico previsto non è così elevato (Google inizia a caricare dopo 25.000 visualizzazioni della mappa (le visualizzazioni della tua mappa saranno molto inferiori a 10.000): https://developers.google. com / maps / faq # use_pricing ). Ciò di cui hai sostanzialmente bisogno sono due cose:

  1. Qualcuno che ti fornisca la mappa slippy Web. Può trattarsi di Google Maps, Bing, MapQuest, Cloudmade ecc. Oppure puoi eseguire il tuo server di tessere e utilizzare i dati OpenStreetMap.
  2. Rendering dei tuoi dati vettoriali sul lato client (usando javascript) nella parte superiore della mappa Web. Esistono diverse librerie open source che possono farlo (OpenLayers, Leaflet, Polymaps ...).

Alcuni consigli per approfondire:


8
I termini di servizio di Google Maps vietano la visualizzazione di mappe su server privati ​​(ovvero, il server deve essere aperto al pubblico). developers.google.com/maps/terms ... "L'implementazione dell'API di Maps non deve funzionare solo su una rete interna." Quindi questo lo esclude.
Dave Jarvis,

OK, ha senso. In tal caso, OSM è la strada da percorrere.
Igor Brejc,


3

Openlayers con OpenStreetmap sembra essere la tua migliore opzione gratuita, quindi aggiungere i tuoi livelli con WMS (come Mapserver o Geoserver). Puoi anche utilizzare Google Maps con una licenza.

Ho molta esperienza su questo poiché ho sviluppato numerosi siti, alcuni da zero con tessere personalizzate.

Non ho lavorato con geoserver ma con Mapserver. Non puoi aspettarti che il server esegua il rendering di milioni di dettagli delle funzionalità in tempo reale. Direi che le prestazioni di questi devono essere sempre migliorate semplificando i dati a livelli di dettaglio (in base alla scala o allo zoom) e forse bruciando i dati di base sui riquadri.

Ora sto lavorando su Mobnetics Map

Questo utilizza Openlayer, riquadri OSM, postgreSQL e Java Il bello è che si adatta a qualsiasi dato GIS (mediante l'uso di metadati) e quindi consente agli utenti di interrogare i dati. È in continuo sviluppo e al momento ha solo dati aggiuntivi per il Portogallo (come test case).

La prossima cosa che voglio fare è offrire ai clienti che ospitano dati gis che possano configurare e aggiornare in remoto, in modo che i clienti possano lavorare sul sito come loro.
Sarebbe bello avere un cliente mentre la mia azienda sviluppa il sito.

Altrimenti, posso anche eseguire un'installazione personalizzata di questo sito sul tuo server e mantenerlo in remoto. Lo abbiamo fatto per alcuni clienti.

i migliori saluti,

Joaquim Muchaxo


Potrebbe essere un po 'un colpo lungo, ma sai dove andare id per saperne di più su come configurarlo?
QGISUser,

1

Penso che la parola open source sia usata abbastanza liberamente in questo thread;)

Altre due opzioni:


1
Nessuna di queste sono opzioni, poiché la domanda era per servizi privati ​​gratuiti
Ryan Garnett,

1

Ovviamente puoi usare un GIS for-pay. Lavoro in un consiglio e usiamo Exponare. Exponare è facile e funziona bene, ma ti costerà.

ArcMap è il più sofisticato ed è il software Dekho che fa quello che vuoi.

Se vuoi lanciare il tuo, controlla http://opengeo.org/ per lo stack completo in un modello supportato.

La mia comprensione di farlo da soli è di fare quanto segue:

  1. Ottieni i tuoi dati in un database spaziale, ad esempio PostGIS
  2. Scegli il tuo server tile / vettoriale (PostGIS, GeoServer) per pubblicare WFS / WMS
  3. Scegli il tuo front-end web (GeoEXT, openlayer)

È possibile installare gran parte di questo su Windows con https://trac.osgeo.org/osgeo4w/ (pacchetto gestito e tutti). Sono sicuro che Ubuntu abbia i pacchetti, se non ufficiali allora in un PPA.


1

Le opzioni completamente gratuite richiedono l'integrazione di alcuni software e openstreetmap ha collegamenti a software che utilizzano i suoi dati gratuiti. Consiglierei di guardare l'API e gli strumenti di Mapbox come Mapbox studio, è gratuito per un basso utilizzo e si adatta molto bene, con Native mobile, reagisce nativo, anche offline è una possibilità, può usarlo con Apis come Openlayers e depliant. Le griglie del livello di interazione e lo stile delle tessere vettoriali sono caratteristiche uniche e potenti di Mapbox, ma non sono orientate verso WFS o WMS, in questo caso usano anche Postgresql e Openlayers. Postgres ha funzioni Gml predefinite, quindi per usare WFS basta aggiungere alcune intestazioni alle richieste, tuttavia per un'implementazione completa di Ogc usa geoserver o Mapserver

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.