WMS 1.3.0 กับ OpenLayers

Standard

มากันอีกแล้วกับ version ใหม่ สิ่งสำคัญในการเปลี่ยนแปลงครั้งนี้คือ

  • ระบบ North-South , East-West
  • แล้วก็ จาก SRS มาเป็น CRS

ระบบใหม่นั้นจะให้ การอ้างอิง Axis เป็นไปตามค่าที่ระบุใน GetCapabilities  ดังนั้นจะใช้อย่างไรก็ต้องทำการศึกษาให้ดี รายละเอียดเพิ่มเติมก็ลองดูจาก http://mapserver.org/ogc/wms_server.html#wms-1-3-0-support

ตัวอย่าง website ภาพถ่ายทางอากาศของญี่ปุ่นที่ support WMS 1.3.0 เท่านั้น

http://orthophoto.mlit.go.jp:8888/wms/service/wmsRasterTileMap?VERSION=1.3.0&REQUEST=GetCapabilities&Service=WMS

แล้วเราจะใช้ WMS 1.3.0 กับ OpenLayers ได้ไหม คำตอบก็คือได้ แต่ไม่สมบูรณ์ เพราะได้รับการยืนยันจาก Chris Schmidt ว่าไม่รับรองการรองรับกับ WMS 1.3.0

แต่ต้องทำการตั้งค่า option ของ layers สะนิดหน่อยให้ใช้  Version 1.3.0 และ CRS

layer = new OpenLayers.Layer.WMS(“MLIT photo”, “http://orthophoto.mlit.go.jp:8888/wms/service/wmsRasterTileMap”,

{layers:”ORTHO”,

CRS:”EPSG:4612″,

VERSION:”1.3.0″

} );

แต่ก็ไม่คิดว่าน่าจะใช่วิธีที่ถูกต้อง เพราะใน URL ที่ส่งไปก็ยังมี SRS อยู่ด้วยต้องทำการหาวิธีที่ถูกต้องต่อไป

เท่าที่ใช้ดูเวลา zoom เข้าไปบางทีก็มีปัญหา แล้วก็ cache บางทีก็ต่อกลับหัวกลับข้าง คาดว่าคงเป็นปัญหาด้าน lon/lat และ lat/lon

ก็อาจจะต้องทำการแก้ไขสร้าง Layer Class ขึ้นมาใหม่ให้สำหรับ wms 1.3.0 โดยการจำลองจาก Layer WMS เดิมแล้วก็ทำการสลับค่า coordinate สะ

2 thoughts on “WMS 1.3.0 กับ OpenLayers

  1. ต้องไป overrule บน wms class ครับ
    ผมก็ใช้อยู่เหมือนกัน ทำ WMS Time และ WMS 1.3 ก็ต้องเข้าไปแก้เองเช่นกันครับ

  2. admin

    แต่บางทีมันก็มีปัญหาเรื่อง สลับ yx เป็น xy ทำให้ต่อ tile เพี้ยนไป ถ้าเวปนั้นมันไม่ support CRS:84 เวลาเอามาใช้กับหลาย layers แล้วมันจะเพี้ยนมาก (ยกตัวอย่างเช่นไอ้หน่วยงานตามตัวอย่าง สงสัยไม่เคยลองข้อมูลตัวเองกับของคนอื่น )

    ที่หน่วยงานก็เลยจำลอง WMS class มาใหม่เลยแล้วสลับ xy yx มันสะ เป็นการช่วยคราว เพราะ Chris Schmidt กับ Frank ของ Gdal งอน OGC อยู่แต่คิดว่าหลังจาก mapserver 5.4 รองรับ wms 1.3 มันคงมีลูกค้าคอยกดดันให้ support

Comments are closed.