การพิมพ์ภาพแผนที่ผ่าน MapServer แบบสวยงาม

ใน version เก่าๆของ mapserver การพิมพ์เมื่อเราส่งไปพิมพ์ที่เครื่องพิมพ์ภาพที่ได้อาจจะไม่ค่อยสวย คือ ภาพจะแตก ซึ่งถ้ายิ่งพิมพ์ขนาดกระดาษที่ใหญ่ก็ยิ่งแตกไปกันใหญ่ ใน version mapserver ตั้งแต่ version 5.6 นั้นได้เพิ่มความสามารถในการพิมพ์ภาพแผนที่ โดยเราสามารถกำหนดการพิมพ์ให้สวยงามได้ โดยถ้าต้องการพิมพ์ภาพขนาด เท่า A4 ก็จะต้องทำการคำนวณขนาดของภาพที่ให้ mapserve ทำการสร้างให้ใหญ่กว่า 4 เท่าโดยประมาณ แล้วเมื่อเวลาพิมพ์ก็กำหนดขนาดเท่ากับ A4 ที่ต้องการ ก็จะได้ภาพที่มีความละเอียดในการพิมพ์ออกทางเครื่องพิมพ์ โดยจะต้องกำหนดใน mapfile เช่น

RESOLUTION 300
SIZE 1667 1250
MAXSIZE 6144

ซึ่งตรง SIZE จะต้องคำนวณโดยการนำค่า 4.1667 ไปคูณ เช่น ถ้าต้องการภาพขนาด 400*300 จะได้
400 * 4.1667 = 1666.68
300 * 4.1667 = 1250.01

ซึ่งส่วนของ MAXSIZE ก็จำเป็นถ้าขนาดที่คำนวณได้มากกว่า 6144 ก็จะต้องเปลี่ยนขนาดของ Maxsize ด้วย โดยเราอาจจะใช้ php ในการไปกำหนดเวลาพิมพ์ก็ได้โดยใช้ php_mapscript ช่วย หรือถ้าขนาดของเราที่ต้องการพิมพ์กำหนดแน่นอนไม่เปลี่ยนแปลงก็กำหนดใน mapfile เลยก็ย่อมได้

ความคิดเห็น

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

PostgreSQL Partitioning

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

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