Tôi liên tục thấy các nhà phát triển web không phải là GIS gặp phải vấn đề này và tôi không chắc giải pháp là gì.
- Có một số dữ liệu của hàng ngàn mặt hàng.
- Chúng tôi muốn hiển thị bản đồ cho người dùng, với tập hợp con có thể nhìn thấy của họ được hiển thị dưới dạng các yếu tố tương tác, có thể nhấp.
Có những phương pháp nào để làm điều này?
Tôi có thể nghĩ về những điều này, nhưng chúng không thỏa đáng lắm, vì vậy tôi tự hỏi còn gì nữa không:
Lưu trữ tất cả dữ liệu trong tệp GeoJSON, chuyển nó vào trình duyệt và để Leaflet hiển thị nó. Vấn đề: không thực sự hoạt động với các bộ dữ liệu lớn. TopoJSON tăng giới hạn một chút. Nó cũng gây ra sự chậm trễ lớn khi tải trang.
Sử dụng Mapbox, lưu trữ tất cả dữ liệu trong một lớp tương tác trên Mapbox và sử dụng Mapbox.js để hiển thị nó. Hoạt động tốt, nhưng tốn tiền và bạn không thể tự lưu trữ.
Sử dụng GeoServer để truy cập cơ sở dữ liệu PostGIS, sử dụng plugin tờ rơi WFS-Geojson để truy cập dữ liệu từ đó. Nó có thể hoạt động, nhưng plugin WFS-Geojson Leaflet dường như không còn được duy trì nữa.
Sử dụng CartoDB, lưu trữ tất cả dữ liệu trong bảng CartoDB và sử dụng CartoDB.js để hiển thị nó. Hoạt động tuyệt vời, nhưng có thể rất tốn kém. Bạn có thể tự lưu trữ nó, nhưng cài đặt CartoDB là không tầm thường.
Tất cả những điều này khiến tôi nghĩ rằng phải có một số cách tốt hơn, miễn phí mà tôi đang thiếu. Nó là gì?
BIÊN TẬP
Có lẽ tôi đã viết ra plugin WFS-Geojson quá dễ dàng. Có một ngã ba vẫn thấy một số hoạt động (4 tháng trước): https://github.com/johanlahti/azgs-leaflet