Thêm hệ tọa độ 900913 cho MapServer

Table of Contents
Sau khi cài được MapServer trên Linux VPS của mình thì mình test tạo Map Service cho nó.

Tuy nhiên, hồi trước lúc còn làm MapServer trên Window (năm 2013) thì thằng MapServer không hỗ trợ sẵn hệ tọa độ EPSG:900913 nên chúng ta phải thêm thủ công vào.

Còn vì sao phải dùng EPSG:900913, vì bình thường chúng ta hay dùng EPSG:4326 - chính là WGS84 quen thuộc. Nhưng khi chúng ta overlay (chồng lớp) với các lớp bản đồ như Google Map, Bing Map, OSM map thì bọn này nó có hệ tọa độ là EPSG:900913 hoặc EPSG:3857, do vậy map của chúng ta cũng phải hỗ trợ hệ tọa độ này thì nó mới tự transform về được - on-the-fly (OTF) projection

Nhưng biết đâu tới năm 2018 thì MapServer đã bổ sung EPSG:900913 vào thư viện hệ tọa độ của nó rồi.

Kiểm tra MapServer đã được khai báo hệ tọa độ EPSG:900913 chưa

Kiểm tra thử thì nhận được lỗi chưa khai báo cái hệ tọa độ EPSG:900913 như sau:

Kiểm tra MapServer đã được khai báo hệ tọa độ EPSG:900913 chưa
Kiểm tra MapServer đã được khai báo hệ tọa độ EPSG:900913 chưa

Define EPSG:900913

# EPSG: 900913
<900913> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs <>

Tuy nhiên, trên Window thì mình cứ vào thư mục ms4w rồi vào thư mục proj mà tìm cái file epsg để thêm vào. Trên Linux mình cài xong thì méo biết nó nằm ở đâu :')

Sau khi ngồi tìm một hồi thì phát hiện ra nó nằm ở (Hên là lúc tìm về fcgi mapserver thì lại thấy, :v)

/usr/local/share/proj

Thư mục chứa file định nghĩa hệ tọa độ MapServer trên Linux
Thư mục chứa file định nghĩa hệ tọa độ MapServer trên Linux

https://mapserver.org/optimization/fastcgi.html

Thư mục chứa file định nghĩa hệ tọa độ MapServer trên Linux
Thư mục chứa file định nghĩa hệ tọa độ MapServer trên Linux

Nếu không có thì mapserver projection có thể ở đây

/usr/share/proj/

https://mapserver.org/mapfile/projection.html

Thêm hệ tọa độ EPSG:900913 vào file định nghĩa hệ tọa độ cho MapServer

Mở file đó và thêm dòng sau:

# EPSG: 900913
<900913> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs <>

Thêm hệ tọa độ EPSG:900913 vào file định nghĩa hệ tọa độ cho MapServer
Thêm hệ tọa độ EPSG:900913 vào file định nghĩa hệ tọa độ cho MapServer

File epsg của mình

https://drive.google.com/open?id=1jCbOKNw9PZbp4O5B6u_cPxrZADg8ppij

Test MapServer services

http://dev.dothanhlong.org/cgi-bin/mapserv?map=/wms/khaoco/map1.map&LAYERS=tram_khitruong&TRANSPARENT=TRUE&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A900913&BBOX=11862871.731345,1106440.1863002,11941143.248298,1184711.7032533&WIDTH=256&HEIGHT=256

Test MapServer services
Test MapServer services

http://dev.dothanhlong.org:8080/mapstore/#/viewer/leaflet/5

Vậy là Setup ok MapServer rồi đấy^^

-soiqualang_chentreu-

]]>

Leave a Reply

Your email address will not be published. Required fields are marked *