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)