Cały czas widzę, że ten programista napotyka programistów spoza GIS i nie jestem pewien, jakie jest rozwiązanie.
- Istnieje zbiór danych tysięcy pozycji.
- Chcemy pokazać użytkownikowi mapę, której widoczny podzbiór jest wyświetlany jako interaktywne, klikalne elementy.
Jakie są dostępne metody?
Mogę o nich pomyśleć, ale nie są one bardzo zadowalające, więc zastanawiam się, co jeszcze jest:
Przechowuj wszystkie dane w pliku GeoJSON, przenieś je do przeglądarki i pozwól, aby Leaflet je wyświetlił. Problem: tak naprawdę nie działa z dużymi zestawami danych. TopoJSON podnosi nieco limit. Powoduje to również duże opóźnienie przy ładowaniu strony.
Użyj Mapbox, przechowuj wszystkie dane w interaktywnej warstwie na Mapbox i użyj Mapbox.js, aby je wyświetlić. Działa świetnie, ale kosztuje, a sam nie możesz go hostować.
Użyj GeoServer, aby uzyskać dostęp do bazy danych PostGIS, użyj wtyczki ulotki WFS-geojson, aby uzyskać dostęp do danych z tego miejsca. Prawdopodobnie działa, ale wtyczka WFS-geojson Leaflet nie jest już obsługiwana.
Użyj CartoDB, przechowuj wszystkie dane w tabeli CartoDB i użyj CartoDB.js, aby je wyświetlić. Działa świetnie, ale może stać się bardzo drogi. Możliwe jest hostowanie go samemu, ale instalacja CartoDB nie jest trywialna.
Wszystko to sprawia, że myślę, że musi istnieć jakiś lepszy, darmowy sposób, za którym tęsknię. Co to jest?
EDYTOWAĆ
Może zbyt łatwo spisałem wtyczkę WFS-geojson. Istnieje widelec, który wciąż widzi aktywność (4 miesiące temu): https://github.com/johanlahti/azgs-leaflet