Continuo a vedere sviluppatori web non GIS che si imbattono in questo problema e non sono sicuro di quale sia la soluzione.
- Esistono alcuni set di dati di migliaia di articoli.
- Vogliamo mostrare una mappa all'utente, con il suo sottoinsieme visibile mostrato come elementi interattivi e cliccabili.
Quali metodi ci sono per farlo?
Posso pensare a questi, ma non sono molto soddisfacenti, quindi mi chiedo cos'altro c'è:
Memorizza tutti i dati in un file GeoJSON, trasferiscili nel browser e lascia che Leaflet li visualizzi. Problema: non funziona davvero con set di dati di grandi dimensioni. TopoJSON aumenta un po 'il limite. Inoltre provoca un grande ritardo al caricamento della pagina.
Usa Mapbox, archivia tutti i dati in un livello interattivo su Mapbox e usa Mapbox.js per visualizzarli. Funziona alla grande, ma costa denaro e non puoi ospitarti da solo.
Utilizzare GeoServer per accedere a un database PostGIS, utilizzare il plug-in leaflet WFS-geojson per accedere ai dati da lì. Probabilmente funziona, ma il plug-in Leaflet WFS-geojson non sembra più essere mantenuto.
Utilizzare CartoDB, archiviare tutti i dati in una tabella CartoDB e utilizzare CartoDB.js per visualizzarli. Funziona alla grande, ma può diventare molto costoso. È possibile ospitarlo da soli, ma l'installazione di CartoDB non è banale.
Tutto ciò mi fa pensare che ci debba essere un modo molto migliore e libero che mi manca. Che cos'è?
MODIFICARE
Forse ho cancellato il plugin WFS-geojson troppo facilmente. C'è un fork che vede ancora qualche attività (4 mesi fa): https://github.com/johanlahti/azgs-leaflet