Sigo viendo desarrolladores web que no son SIG que se encuentran con este problema, y no estoy seguro de cuál es la solución.
- Hay un conjunto de datos de miles de elementos.
- Queremos mostrar un mapa al usuario, con el subconjunto visible de ellos como elementos interactivos y seleccionables.
¿Qué métodos hay para hacer esto?
Puedo pensar en estos, pero no son muy satisfactorios, así que me pregunto qué más hay:
Almacene todos los datos en un archivo GeoJSON, transfiéralos al navegador y deje que Leaflet lo muestre. Problema: realmente no funciona con grandes conjuntos de datos. TopoJSON eleva el límite un poco. También causa un gran retraso en la carga de la página.
Use Mapbox, almacene todos los datos en una capa interactiva en Mapbox y use Mapbox.js para mostrarlo. Funciona muy bien, pero cuesta dinero y no puedes alojarlo tú mismo.
Use GeoServer para acceder a una base de datos PostGIS, use el complemento de folleto WFS-geojson para acceder a los datos desde allí. Probablemente funciona, pero el complemento WFS-geojson Leaflet ya no parece mantenerse.
Use CartoDB, almacene todos los datos en una tabla CartoDB y use CartoDB.js para mostrarlo. Funciona muy bien, pero puede ser muy costoso. Es posible alojarlo usted mismo, pero instalar CartoDB no es trivial.
Todo esto me hace pensar que debe haber una forma mucho mejor y libre que me estoy perdiendo. ¿Qué es?
EDITAR
Tal vez descarté el complemento WFS-geojson con demasiada facilidad. Hay un tenedor que todavía ve algo de actividad (hace 4 meses): https://github.com/johanlahti/azgs-leaflet