Nhắc đến bản đồ là phải nói đến ký hiệu, bởi nó là ngôn ngữ
của bản đồ. Do đó, khi chúng ta muốn xây dựng bản đồ trong Pmapper thì đòi hỏi
phải có hệ thống ký hiệu đủ để thể hiện chủ đề mà chúng ta muốn thể hiện. Trong
pmapper nói riêng hay trong Mapserver nói chung, việc định nghĩa một ký hiệu có
thể thực hiện trong mapfile hoặc trong file chứa ký hiệu riêng. Trong mapfile,
chúng ta có thể trực tiếp định nghĩa ký hiệu trên đó bằng các câu lệnh, còn
trong file riêng chúng ta định nghĩa sẵn các câu lệnh và khai báo file đó trong
mapfile.
Như chúng ta đã biết, trong mỗi LAYER đều phải khai báo loại
ký hiệu là điểm, đường hay vùng. Dựa trên loại đó, pmapper sẽ lấy ra loại ký
hiệu phù hợp để hiển thị cho từng LAYER. Tuy nhiên, trong từng loại đòi hỏi
phải có những hình dạng ký hiệu khác nhau. Chẳng hạn, đối với điểm chúng ta có
thể sử dụng điểm hình vuông, điểm hình tròn, hình tượng trưng,…Do đó đòi hỏi
phải định nghĩa ký hiệu được sử dụng trong từng loại. Định nghĩa này được thực
hiện trong phần SYMBOL của mapfile. Một ví dụ đơn giản, có thể tìm thấy trong
file demo của pmapper là sử dụng điểm hình tròn để thể hiện điểm. Chúng ta khai
báo như sau trong mapfile :
Symbol
Name
'circle'
Type
ELLIPSE
Filled TRUE
Points
1 1
END
END
Và trong phần CLASS trong lớp điểm, khai báo ký hiệu là ký
hiệu vừa định nghĩa, như sau :
SYMBOL ‘circle’
Và kết quả, chúng ta sẽ có các điểm thể hiện bằng các hình
tròn.

Chúng ta có thể dễ dàng thay đổi kích thước, màu sắc của ký
hiệu bằng cách khai báo bằng cách từ khóa : SIZE, COLOR, OUTLINECOLOR hay
WIDTH. Việc này giúp chúng ta có được nhiều thuận lợi khi biên tập bản đồ,
chẳng hạn thể hiện chợ có quy mô nhỏ bằng điểm có kích thước nhỏ hơn chợ có quy
mô lớn.
Nói sơ qua về phần định nghĩa ký hiệu trong SYMBOL trong ví
dụ ở trên. Phần NAME thì dễ rồi, đó là tên của ký hiệu, nó sẽ được sử dụng để
gọi ký hiệu ra khi cần. Phần TYPE khai báo loại ký hiệu, trong ví dụ trên nó có
loại là ellipse. Phần POINTS khai báo các điểm để tạo thành ký hiệu, trong ví
dụ chúng ta khai báo loại lả ellipse nên trong POINTS này chỉ cần khai báo (1,1)
lả đủ. Đó là bán kính theo trục x và trục y trên hệ trục tọa độ phẳng. Khi 2
bán kính đó bằng nhau thì đó là vòng tròn. Phần FILLED khai báo nó là vòng tròn
hay hình tròn, nếu TRUE là hình tròn.
Tương tự, chúng ta có thể định nghĩa ký hiệu là hình vuông
như sau :
Symbol
Name
'square'
Type
VECTOR
Filled TRUE
Points
0 1
0 0
1 0
1 1
0 1
END
END
Để dễ hình dung phần khai báo trong POINTS, chúng ta có thể
vẽ ra hệ trục tọa độ phẳng và vẽ các điểm đó lên. Một số loại có thể khai báo
trong phần TYPE là : ellipse, hatch, pixmap, simple, truetype, vector.
Ví dụ, bây giờ tôi muốn thể hiện các điểm bằng các hình ngôi
sao màu đỏ. Khi đó, trong mapfile hoặc file chứa ký hiệu sẽ khai báo là :
SYMBOL
NAME
'ngoisao'
TYPE
VECTOR
POINTS
0
0.375
0.35 0.375
0.5
0
0.65 0.375
1
0.375
0.75 0.625
0.875 1
0.5
0.75
0.125 1
0.25 0.625
0
0.375
END
FILLED TRUE
END
Và khai báo trong lớp điểm là :
SYMBOL ‘ngoisao’
COLOR 255 0 0
Kết quả khi hiển thị lên Pmapper như sau :

Một loại khác của ký hiệu là sử dụng truetype font. Khi khai
báo loại ký hiệu này, chúng ta sẽ khai báo như sau
SYMBOL
NAME
"Font1"
TYPE
TRUETYPE
FONT
"FreeSerif"
CHARACTER "A"
END
Trong đó, NAME là tên chúng ta tự đặt để tiện cho việc gọi
font sau này. TYPE là loại ký hiệu, ở đây loại Truetype. FONT là khai báo kiểu
chữ dùng để viết chữ chúng ta cần viết. CHARACTER khai báo chữ mà chúng ta muốn
dùng làm ký hiệu, ở đây khai báo bằng mã lấy trong ASCII Table. Ví dụ muốn ký
hiệu bằng chữ A chúng ta khai báo mã của chữ A là A. Khi thể hiện trên
Pmapper, chúng ta có kết quả sau :

Chúng ta có thể lấy mã của các chữ trong ASCII Table sau :

Loại cuối cùng được đề cập đến là ký hiệu loại pixmap. Loại
này sử dụng ảnh raster nhỏ để làm ký hiệu. Khai báo ký hiệu dạng pixmap như sau
:
SYMBOL
NAME
‘star’
TYPE
PIXMAP
IMAGE
‘stern.png’
END
Ở ví dụ trên chúng ta sử dụng một ảnh ngôi sao để làm ký
hiệu cho điểm. Khai báo rất đơn giản như bên trên, kết quả dễ dàng trên Pmapper
như sau :

Loại này giúp cho việc thể hiện ký hiệu trở nên linh hoạt
hơn bởi một số ký hiệu phức tạp chúng ta có thể sử dụng ảnh. Để tạo ra các ký
hiệu này chúng ta có thể sử dụng Paint hoặc các phần mềm tạo icon. Đối với
Paint, để định nghĩa kích thước của ký hiệu, vào Image\Attributes…Tại đây chúng
ta có thể định nghĩa kích thước ký hiệu trong ô width và height. Sau đó, chúng
ta có thể tự do vẽ ký hiệu vào.

Một số trường hợp, chúng ta phải kết hợp các ký hiệu thành 1
ký hiệu. Để khai báo loại ký hiệu kết hợp này chúng ta khai báo các ký hiệu đơn
trong file ký hiệu giống như ở phần trên. Sau đó, trong phần LAYER cần thể hiện
ký hiệu, chúng ta khai báo thêm phần STYLE trong CLASS như sau :
CLASS
NAME
"Diem"
STYLE
SYMBOL 'square'
COLOR 0 0 255
SIZE 20
END
#Style
STYLE
SYMBOL 'ngoisao'
COLOR 125 125 125
SIZE 18
END
#Style
END # Class

Vậy là bây giờ chúng ta có thể tùy ý thiết kế ký hiệu cho
web bản đồ của mình. Vấn đề ở đây có thể hơi mất thời gian 1 chút. ^_^
NNS
Không có nhận xét nào:
Đăng nhận xét