การตัดภาพสำหรับแผนที่ล่วงหน้า


ในปัจจุบันในการแสดงภาพแผนที่นั้น จะเป็นการแสดงโดยการดึงรูปภาพมาแสดงแทนที่จะใช้ให้ server ทำการประมวลผลภาพแผนที่โดยการดึงข้อมูลที่เป็น vector มาแสดงโดยในบทความนี้จะกล่าวถึงโปรแกรมที่เป็นการตัดภาพล่วงหน้า โดยใช้โปรแกรมชื่อ Ka-Map ซึ่งสามารถ download ได้ที่ www.maptool.org ซึ่งเมื่อได้โปรแกรมมาแล้วสามารถนำไปวางไว้ใน MS4W (MapServer for Windows) ได้เลย เมื่อวางแล้วจะต้องทำการแก้ไข configuration ของโปรแกรม โดยไฟล์ configuration จะอยู่ที่ include/config.php ซึ่งสิ่งที่เราต้องแก้ไขคื่อ ส่วนของ mapfile ที่อ้างอิง ในตัวแปร $aszGMap โดยในสว่นของ path จะต้องกำหนดตามตำแหน่งของ mapfile ที่ต้องการ และในส่วนของ scales ก็ต้องกำหนด โดยการกำหนดนั้น ถ้าเราต้องการนำภาพที่ได้ไปทำการซ้อนทับกับภาพแผนที่ของ google จำเป็นต้องกำหนด scales ตามมาตรฐานที่กำหนดไว้ โดยมาตรส่วนที่ใช้ตามมาตรฐานมีดังนี้
443744272.7241,221872136.3621,110936068.181,55468034.0905,27734017.0453,
13867008.5226,6933504.2613,3466752.1307,1733376.0653,866688.0327,433344.0163,
216672.0082,108336.0041,54168.002,27084.001,13542.0005,6771.0003,3385.5001,
1692.7501,846.375

และในส่วนของ format ถ้าเราใช้ mapserver version ใหม่การแสดงภาพแผนที่จะมี library สำหรับการแสดงภาพแผนที่ที่มีความละเอียด AGGA เราก็กำหนดให้ output ที่ให้ mapserver สร้างเป็น AGGA โดยกำหนดรายละเอียดไว้ใน mapfile ด้วย เท่านี้ก็เป็นอันเรียบร้อย โดยในตัวโปรแกรม Ka-Map ที่เรา download มาจะมีตัวแสดงผลภาพแผนที่ด้วย โดยเราสามารถเรียกไปยังโปรแกรมได้ http://localhost/ka-map-1.0/htdocs/ ก็จะแสดง ค่าที่เรา config ไว้มาแสดงผล และแสดงภาพแผนที่ตามที่เรากำหนด ดังรูป

ในการตัดภาพนี้สามารถนำไปแสดงผลรวมกับ googlemap ได้ โดยเราอาจจะใช้โปรแกรม Openlayers ในการนำภาพไปแสดงผลก็ได้
โดยในการตัดภาพนี้เราสามารถที่กำหนดให้มีการตัดก่อนล่วงหน้าก็ได้ โดยใช้คำสั่ง precache.php เช่น


d:\ms4w\>setenv.bat
d:\ms4w\apps\ka-map-1.0\htdocs>php precache.php -f -m "gmap" http://localhost/ka-map-1.0/htdocs/tile.php

ความคิดเห็น

โพสต์ยอดนิยมจากบล็อกนี้

PostgreSQL Partitioning

กรณีที่ไม่สามารถ start service ของ PostgreSQL ได้ (ใน windows)

การจัดการ Log ของ Apache Web Server