Ich sehe immer wieder Nicht-GIS-Webentwickler, die auf dieses Problem stoßen, und ich bin mir nicht sicher, welche Lösung das ist.
- Es gibt einen Datensatz mit Tausenden von Elementen.
- Wir möchten dem Benutzer eine Karte anzeigen, von der die sichtbare Teilmenge als interaktive, anklickbare Elemente angezeigt wird.
Welche Methoden gibt es dafür?
Ich kann mir diese vorstellen, aber sie sind nicht sehr zufriedenstellend, also frage ich mich, was es sonst noch gibt:
Speichern Sie alle Daten in einer GeoJSON-Datei, übertragen Sie sie an den Browser und lassen Sie die Broschüre anzeigen. Problem: Funktioniert nicht wirklich mit großen Datenmengen. TopoJSON erhöht das Limit ein wenig. Es verursacht auch eine große Verzögerung beim Laden der Seite.
Verwenden Sie Mapbox, speichern Sie alle Daten in einer interaktiven Ebene in Mapbox und verwenden Sie Mapbox.js, um sie anzuzeigen. Funktioniert hervorragend, kostet aber Geld und kann nicht selbst gehostet werden.
Verwenden Sie GeoServer, um auf eine PostGIS-Datenbank zuzugreifen, und verwenden Sie das WFS-Geojson-Broschüren-Plugin, um von dort aus auf die Daten zuzugreifen. Es funktioniert wahrscheinlich, aber das WFS-Geojson Leaflet-Plugin scheint nicht mehr gepflegt zu sein.
Verwenden Sie CartoDB, speichern Sie alle Daten in einer CartoDB-Tabelle und zeigen Sie sie mit CartoDB.js an. Funktioniert super, kann aber sehr teuer werden. Es ist möglich, es selbst zu hosten, aber die Installation von CartoDB ist nicht trivial.
All dies lässt mich denken, dass es einen viel besseren, freien Weg geben muss, auf dem ich vermisse. Was ist es?
BEARBEITEN
Vielleicht habe ich das WFS-Geojson-Plugin zu einfach abgeschrieben. Es gibt eine Gabel, die noch Aktivität aufweist (vor 4 Monaten): https://github.com/johanlahti/azgs-leaflet