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