ฉันเห็นผู้พัฒนาเว็บที่ไม่ใช่ GIS ยังคงพบปัญหานี้อยู่และฉันไม่แน่ใจว่าโซลูชันนี้เป็นอย่างไร
- มีชุดข้อมูลหลายพันรายการ
- เราต้องการแสดงแผนที่ให้กับผู้ใช้ด้วยชุดย่อยที่มองเห็นได้ของพวกเขาแสดงเป็นองค์ประกอบแบบโต้ตอบและคลิกได้
มีวิธีการอะไรในการทำสิ่งนี้?
ฉันสามารถคิดถึงสิ่งเหล่านี้ได้ แต่พวกเขาไม่พอใจอย่างมากดังนั้นฉันจึงสงสัยว่ามีอะไรอีกบ้าง:
เก็บข้อมูลทั้งหมดในไฟล์ GeoJSON โอนไปยังเบราว์เซอร์และให้ Leaflet แสดงข้อมูล ปัญหา: ไม่ได้ทำงานกับชุดข้อมูลขนาดใหญ่ TopoJSON เพิ่มขีด จำกัด เล็กน้อย นอกจากนี้ยังทำให้เกิดความล่าช้ามากในการโหลดหน้า
ใช้ Mapbox จัดเก็บข้อมูลทั้งหมดในเลเยอร์แบบโต้ตอบบน Mapbox และใช้ Mapbox.js เพื่อแสดง ใช้งานได้ดี แต่มีค่าใช้จ่ายและคุณไม่สามารถโฮสต์ด้วยตัวเองได้
ใช้ GeoServer เพื่อเข้าถึงฐานข้อมูล PostGIS ใช้ปลั๊กอินใบปลิว WFS-geojson เพื่อเข้าถึงข้อมูลจากที่นั่น อาจใช้งานได้ แต่ปลั๊กอิน WFS-geojson Leafletดูเหมือนจะไม่ได้รับการดูแลรักษาอีกต่อไป
ใช้ CartoDB จัดเก็บข้อมูลทั้งหมดในตาราง CartoDB และใช้CartoDB.jsเพื่อแสดง ใช้งานได้ดี แต่อาจมีราคาแพงมาก เป็นไปได้ที่จะโฮสต์ด้วยตัวคุณเอง แต่การติดตั้ง CartoDB นั้นไม่สำคัญ
ทั้งหมดนี้ทำให้ฉันคิดว่าต้องมีวิธีที่ดีกว่าและอิสระมากกว่าที่ฉันคิดถึง มันคืออะไร?
แก้ไข
บางทีฉันอาจเขียนปลั๊กอิน WFS-geojson ง่ายเกินไป มีทางแยกที่ยังคงเห็นกิจกรรมบางอย่าง (4 เดือนที่ผ่านมา): https://github.com/johanlahti/azgs-leaflet