Kết nối dữ liệu Raster

Một phần của tài liệu Xây dựng hệ thống quản lý bản đồ số dựa trên công nghệ mapserver (Trang 58 - 62)

Mapserver hỗ trợ rất nhiều các định dạng file raster trong bản đồ. Để sử dụng ảnh raster như một layer, cần phải khai báo một đối tượng layer trong Mapfile và xác định các tham số kèm theo. Một layer raster đơn giản khai báo như sau.

LAYER

DATA "Jacksonville.tif" TYPE RASTER

STATUS ON END

Trong đó DATA chỉ ra đường dẫn tới file ảnh raster, có thể là đường dẫn tuyệt đối hoặc tương đối theo SHAPEPATH khai báo trong đối tượng MAP. Ngoài các tham số trên một đối tượng layer dạng raster còn có thể thêm các thông tin PROJECTION, METADATA, MINSCALE, MAXSCALE và không có CONNECTION, CONNECTIONTYPE, FEATURE, LABEL…

Chọn lọc dữ liệu Raster

Dữ liệu raster dưới dạng các pixel, do đó có thể chọn lọc dữ liệu cần dựa vào giá trị của các pixel, hoặc dựa theo bảng màu giá trị của pixel theo bộ ba giá trị r, g, b. Ví dụ: LAYER NAME "JacksonvilleNC_CIB" DATA "Jacksonville.tif" TYPE RASTER STATUS ON CLASSITEM "[pixel]"

# class dử dụng điều kiện đơn giản “0” tương đương ([pixel] = 0) CLASS EXPRESSION "0" STYLE COLOR 0 0 0 END END

# class sử dụng điều kiện lọc theo giá trị pixel CLASS

EXPRESSION ([pixel] >= 64 AND [pixel] < 128) STYLE

COLOR 255 0 0 END

END

# class sử dụng ba màu r g b từ bảng màu CLASS

NAME "near white"

EXPRESSION ([red] > 200 AND [green] > 200 AND [blue] > 200) STYLE

COLOR 0 255 0 END

END

# Class lọc các pixel có giá trị tận cùng bằng 1 CLASS

EXPRESSION /*1/ STYLE

COLOR 0 0 255 END END END

Việc chọn lọc được tiến hành như sau: đọc và phân loại trước các giá trị pixel vào một bảng gọi là bảng tìm kiếm, khi đó các pixel có giá trị lân cận được xếp gần nhau. Cuối cùng khi vẽ sẽ đọc được từng nhóm pixel từ bảng tìm kiếm dựa vào các chọn lọc dữ liệu trong định nghĩa các class của đối tượng layer. Nhanh hơn so với việc đọc và so sánh giá trị từng pixel, một ảnh raster thường lên tới hàng triệu pixel. Việc lọc dữ liệu pixel chỉ có thể tiến hành tốt trên các loại raster dạng 8 bit (giá trị pixel thuộc 0 - 255) còn đối với các ảnh raster dạng khác như 16 bit (0 - 65535) cần định nghĩa thêm giá trị cho tham số PROCESSING để quy định phạm vi chọn lọc các pixel

Ví dụ: LAYER NAME grid1 TYPE raster STATUS default DATA data/float.tif PROCESSING "SCALE=-10,10" PROCESSING "SCALE_BUCKETS=4" CLASS NAME "red" EXPRESSION ([pixel] < -3) STYLE COLOR 255 0 0 END END CLASS NAME "green"

EXPRESSION ([pixel] >= -3 and [pixel] < 3) STYLE COLOR 0 255 0 END END CLASS NAME "blue" EXPRESSION ([pixel] >= 3) STYLE COLOR 0 0 255

END END END

Trong đó PROCESSING “SCALE=-10,10” chỉ ra khoảng giá trị của những pixel được xét (-10,10) và PROCESSING “SCALE_BUCKETS=4” là sẽ lấy 4 pixel có giá trị thỏa mãn bất đẳng thức sau:

([pixel] < -3)

([pixel] >= -3 and [pixel] < 3) ([pixel] >= 3)

Một phần của tài liệu Xây dựng hệ thống quản lý bản đồ số dựa trên công nghệ mapserver (Trang 58 - 62)