แนวคิดโดยรวมของระบบนี้เกี่ยวข้องกับการจัดการและให้บริการข้อมูลเชิงพื้นที่ (GIS) ผ่านเว็บ โดยใช้เครื่องมือต่างๆ ดังนี้:
- QGIS
- ใช้ในการจัดการและเตรียมข้อมูล GIS
- สามารถแปลงไฟล์เชิงพื้นที่ (Shapefile - .shp) เป็นฐานข้อมูลเชิงพื้นที่ (PostGIS บน PostgreSQL)
- สามารถส่งคำสั่ง Query ผ่านโปรแกรม pgAdmin ซึ่งมาพร้อม PostgreSQL เพื่อเรียกดูหรือวิเคราะห์ข้อมูลในฐานข้อมูล
- PostGIS + PostgreSQL (ฐานข้อมูลเชิงพื้นที่)
- PostgreSQL เป็นฐานข้อมูล และ PostGIS เป็นส่วนขยายที่รองรับข้อมูล GIS
- รับข้อมูลจาก QGIS และจัดเก็บในรูปแบบที่สามารถใช้วิเคราะห์เชิงพื้นที่ได้
- รองรับ RESTful API เพื่อให้บริการข้อมูลเชิงพื้นที่ในรูปแบบ JSON ผ่าน js
- GeoServer
- ทำหน้าที่ให้บริการแผนที่ออนไลน์
- สนับสนุนโปรโตคอล WMS (Web Map Service) และ WFS (Web Feature Service) เพื่อให้บริการข้อมูลแผนที่
- ดึงข้อมูลจาก PostGIS และเผยแพร่เป็นแผนที่ที่เข้าถึงได้จากภายนอก
- MS4W (MapServer for Windows) + Apache Web Server
- ใช้ในการให้บริการเว็บแอปพลิเคชัน
- รองรับ HTML, PHP, CSS, และ JavaScript เพื่อแสดงข้อมูล GIS บนเว็บ
- Leaflet + Turf.js
- Leaflet เป็นไลบรารี JavaScript สำหรับแสดงแผนที่บนเว็บ
- js เป็นไลบรารีสำหรับการวิเคราะห์ข้อมูลเชิงพื้นที่บนเว็บ
- ใช้ร่วมกันเพื่อสร้าง Web Map Interface ที่แสดงข้อมูลจาก GeoServer
สรุปกระบวนการทำงาน
- ข้อมูล GIS ถูกจัดการและเตรียมใน QGIS
- ข้อมูลถูกบันทึกลงในฐานข้อมูล PostGIS (PostgreSQL) Run on pgAmin
- GeoServer ให้บริการข้อมูลแผนที่ผ่าน WMS/WFS port: 8080
Start GeoServer Run on URL: http://localhost:8080/geoserver/web/
- js และ RESTful API เชื่อมต่อฐานข้อมูลเพื่อให้ข้อมูลในรูปแบบ JSON port: 3000
Start package nodemon index.js d:\>nodeapp>nodemon index.js Run on URL: http://localhost:3000/api/pgconnect/...router process...
- เว็บเซิร์ฟเวอร์ (Apache, MS4W) ใช้ HTML, PHP, CSS, JavaScript แสดงข้อมูล
- Leaflet และ js ใช้ในการสร้างแผนที่ออนไลน์ที่โต้ตอบได้ port: 8088 Run on URL: http://localhost:8088/mjuonemap/
อ่านต่อที่นี่