Tổng quan về MapServer - Tìm hiểu Mapfile (Phần 4)

vào lúc 01:06
    Mapfile được xem như tệp cấu hình cho ứng dụng dùng MapServer. Trong phần này ta sẽ tìm hiểu về những đối tượng trong Mapfile, thiết lập các giá trị cho chúng. Trong Mapfile có nhiều đối tượng như MAP, PROJECTION, LAYER, CLASS…mỗi đối tượng định nghĩa cách thức tạo nên ảnh bản đồ hoặc đối tượng để MapServer truy xuất dữ liệu cho các câu truy vấn.

Mô hình đối tượng trong Mapfile
    Trong hình vẽ minh họa trên, ảnh bản đồ (đối tượng MAP) là sự chồng lắp do bốn layer tạo thành, trong đó có một layer sử dụng Raster (ảnh đồ họa) còn lại ba layer được vẽ từ dữ liệu vectơ : polygon, line, annotation…
Chồng lắp các layer
    Mỗi layer được vẽ, cần được chỉ ra nguồn dữ liệu (vectơ hay raster), hệ quy chiếu cho mỗi layer...loại đối tượng được vẽ (line, label, polygon…). Tất cả được định nghĩa trong từng đối tượng của mapfile.

1.       Map Object

    Trong tệp MapFile thì MAP chính là đối tượng gốc,chứa trong nó các đối tượng khác.
Ø CONFIG [key] [value]:  Tham số này được dùng để định nghĩa vị trí đặt tệp EPSG dùng cho thư viện PROJ.4 ([X]). Giá trị [key] là PROJ_LIB và [value] là đường dẫn đến tệp EPSG. Tham số CONFIG được thiết lập để tránh việc phải thiết lập biến môi trường PROJ_LIB đòi hỏi quyền Admin.
Ví dụ:
CONFIG PROJ_LIB /tmp/proj/
Ø DEBUG [on|off]:  Cho phép thực hiện debug trên các đối tượng map. Ngoài kết quả, MapServer sẽ ghi các kết quả debug vào logfile nếu như logfile được chỉ ra trong tham số LOG của đối tượng WEB.
Ø EXTENT [minx] [miny] [maxx] [maxy]:  Không gian phạm vi của ảnh bản đồ được tạo ra. Nếu giá trị EXTENT không được gán thì MapServer cũng có thể nội suy ra một giá trị từ dữ liệu và vị trí trung tâm của ảnh bản đồ.
Ø FONTSET [filename]:  Tập tin liệt kê danh sách các font được dùng. Định dạng rất đơn giản. Mỗi dòng chứa hai thành phần : một bí danh và một là đường dẫn đến font được phân cách bằng khoảng trắng. Alias đơn giản là tên mà ta dùng để chỉ font này trong mapfile. Các font sử dụng được với MapServer là các True Font Type.
Ø IMAGECOLOR [r] [g] [b]:  Màu được dùng làm background cho ảnh bản đồ. Khi mà thuộc tính Transparency (trong suốt ) được chọn. thì màu này sẽ được đánh dấu như là màu trong suốt trong bảng màu. Khi đó thành phần nào của ảnh bản đồ sử dụng màu này để vẽ cũng trong suốt. Vì thế trong khi tạo ảnh bản đồ nếu chọn ảnh bản đồ trong suốt thì nên chọn màu Imagecolor là màu không được dùng để vẽ các thành phần khác trên bản đồ.
Ø IMAGETYPE [gif|png|jpeg|wbmp|gtiff|swf|userdefined]:  Định dạng ảnh bản đồ được tạo ra.
Ø LAYER:  Bắt đầu cho đối tượng LAYER.
Ø LEGEND:  Bắt đầu cho đối tượng LEGEND.
Ø NAME [name]:  Xác định tiền tố cho tên ảnh bản đồ, ảnh các thước tỉ lệ, ghi chú được tạo ra từ Mapfile này.
Ví dụ:    NAME VN_
Các ảnh bản đồ tạo ra sẽ có tiền tố là VN_ như: VN_11197048662768.png, VN_11197048992800.png, ...
Ø PROJECTION:  Bắt đầu cho đối tượng PROJECTION.
Ø QUERYMAP:  Bắt đầu khai báo đối tựong QUERYMAP.
Ø REFERENCE:  Bắt đầu đối tượng REFERENCE.
Ø RESOLUTION [int]:  Định độ phân giải cho ảnh kết quả, độ phân giải sẽ ảnh hưởng đến việc tính toán tỉ lệ. Mặc định là 72.
Ø SCALE [double]:  Tính toán tỉ lệ của bản đồ.
Ø SHAPEPATH [filename]:  Đường dẫn đến dữ liệu dạng vectơ.
Ø SIZE [x][y]:  Kích thước theo đơn vị pixel của ảnh bản đồ.
Ø STATUS [on|off]:  Trong mapfile ta có thể định nghĩa : ảnh bản đồ, thước tỉ lệ, ảnh tham chiếu (dạng ảnh nhỏ toàn cục). STATUS cho phép ta lựa chọn có kích hoạt ảnh bản đồ không ? Nếu không được kích hoạt MapServer sẽ không tạo ra ảnh bản đồ khi sử dụng mapfile này.
Ø SYMBOLSET [filename]:  File name chứa tập hợp các biểu tượng được dùng trên bản đồ. Trên bản đồ, các symbol được dùng để đánh dấu các đối tượng nhằm làm nổi bật và tăng thêm ngữ nghĩa.
Ø SYMBOL:  Dấu hiệu bắt đầu của đối tượng SYMBOL.
Ø TEMPLATEPATTERN [regular expression] và DATAPATTERN [regular expression]
Trong request được gởi lên từ trình duyệt gồm có 2 dạng tham số là DATA và TEMPLATE. Như đã biết các tham số đều là các từ khóa được MapServer quy định trước và thường khó nhớ. Tuy nhiên bằng cách sử dụng TEMPLATEPATTERN và DATAPATTERN ta có thể định nghĩa một tên khác cho các từ khóa này.

2.       Layer Object

    Đây chính là đối tượng được sử dụng nhiều nhất trong một MapFile, mỗi đối tượng layer mô tả một layer được dùng để tạo ra ảnh bản đồ. Các layer được vẽ theo thứ tự xuất hiện trong MapFile (layer đầu tiên ở dưới cùng,layer cuối dùng ở trên).
Thứ tự được vẽ của các layer

3.    Query Map Object

    Định nghĩa cơ chế thực hiện câu lệnh truy vấn từ bản đồ.
Ø  COLOR [r] [g] [b]:  Khi xác định được đối tượng trên bản đồ, được chọn để truy vấn,      MapServer sẽ vẽ lại đối tượng này với màu là Color. Mặc định là Yellow.
Ø  SIZE [x][y]:   Phạm vi thực hiện truy vấn, ngoài phạm vi này các đối tượng sẽ không được chọn để truy vấn dữ liệu. Mặc định là kích thước của cả bản đồ, được quy định trong đối tượng Map.
Ø  STATUS [on|off]:  Giá trị off thì sau khi thực hiện truy vấn, ảnh bản đồ sẽ không được vẽ lại.
Ø  STYLE [normal|hilite|selected]:  Qui định cách thức vẽ lại các đối tượng được chọn cho truy vấn, các đối tượng khác vẫn được vẽ lại như bình thường. Normal : vẽ lại các đối tượng này bình thường theo các giá trị thiết lập cho layer. Hilite : vẽ lại các đối tượng được chọn theo màu COLOR. Selected: chỉ vẽ lại các đối tượng được chọn, các đối tượng khác không được vẽ.

4.       Projection Object

    Để thiết lập phép chiếu cần xác định một phép chiếu chung cho đối tượng Map, và mỗi layer cũng cần chỉ ra một phép chiếu để vẽ các đối tượng trong layer đó. Đối tượng phép chiếu bao gồm tập các từ khoá của PROJ.4 (thư viện các phép chiếu được dùng hiện nay trên thế giới).
Ví dụ :
Phép chiếu UTM khu vực 15, NAD83:
PROJECTION
"proj=utm"
"ellps=GRS80"
"zone=15"
"north"
"no_defs"
END
Và phép chiếu địa lý
PROJECTION
"proj=latlong"

END

Hãy like nếu bài viết có ích →
Kết bạn với gisgpsrs trên Facebook để nhận bài viết mới nóng hổi

Không có nhận xét nào:

Đăng nhận xét