การปรับแต่งคุณสมบัติของข้อมูลพื้นที่ (Polygon) ให้โปร่งแสงและสามารถ Identify ข้อมูลเชิงบรรยายได้ ด้วย SLD ใน GeoServer

ผมเชื่อว่าทุกคนน่าจะพบปัญหานี้ ซึ่งมีอยู่ว่าเราต้องการจะทำให้ชั้นข้อมูลในรูปแบบพื้นที่รูปปิด (Polygon) นั่นโปร่งแสง (transparent) ให้เหลือแค่เส้นขอบในโปรแกรม GeoServer ตัวอย่างเช่น ชั้นข้อมูลขอบเขตการปกครอง เป็นต้น แต่ทีนี้ปัญหาที่ตามก็คือเมื่อมันเหลือแค่เส้นขอบแผนที่ ทำให้เมื่อเราคลิก Identify ชั้นข้อมูลในแต่ละ feature นั้นจะไม่มีข้อมูลเชิงบรรยาย (attribute) ปรากฏออกมา

การสร้างแผนที่ออนไลน์แบบ Vector ด้วย Highmaps

สำหรับการสร้างแผนออนไลน์ในปัจจุบันก็จะมีวิธีการสร้างด้วยเทคนิควิธีต่าง ๆ มากมาย วันนี้พวกเราจะขอนำเสนอเทคนิควิธีสำหรับการสร้างแผนที่ออนไลน์แบบ Vector ที่รองรับการแสดงผลผ่านอุปกรณ์ต่าง ๆ ทุกอุปกรณ์ สามารถข้อมูลเชิงพื้นที่เป็นอย่างดี ด้วยการพัฒนาโดย Highmaps ดูข้อมูลเพิ่มเติม :

การเพิ่มชั้นข้อมูล Web Map Service (WMS) ที่เรียกจาก GeoServer แสดงผลบน Leaflet

ต่อจากบทความที่แล้วเรื่องการเพิ่มชั้นข้อมูลจาก PostGIS (table) ที่แสดงผลในรูปแบบของ GeoJSON หลายๆท่านก็จะมีคำถามว่าถ้าเรามีข้อมูลปริมาณมาก ๆ แล้วจะส่งผลทำให้การแสดงผลนั้นช้าลงหรือไม่ ซึ่งก็จะบอกได้เลยว่ามีผลอย่างมากเลยครับ โดยเฉพาะถ้าข้อมูลนั้นอยู่ในรูปแบบของ view ก็จะทำให้การแสดงผลนั้นช้ามากขึ้นอีก วันนี้ผมก็เลยจะลองอีกวิธีนึงซึ่งเป็นการเพิ่มชั้นข้อมูลที่อยู่ในรูปแบบของ WMS ที่ให้บริการด้วย GeoServer

การแสดงข้อมูลแผนที่จาก PostGIS ในรูปแบบ GeoJSON บน Leaflet

การแสดงข้อมูลแผนที่บน Leaflet นั้น ข้อมูลส่วนใหญ่จะอยู่ในรูปแบบ GeoJSON แต่ทีนี้ข้อมูลของผมเองนี้ดันอยู่ในรูปแบบของ Database ที่เป็นแบบ PostGIS ซึ่งข้อมูลจะเป็นลักษณะของตารางและเก็บค่า Geometry ไว้ อ้าวแล้วยังงี้จะต้องทำอย่างไรถึงจะแสดงบน Leaflet ได้หล่ะ ไม่ยากเลยครับเราเพียงแค่ใช้ PHP แปลงข้อมูลของเราให้อยู่ในรูปแบบ GeoJSON เท่านั้นเอง