Cấu trúc tệp map với tầng PostGIS

Một phần của tài liệu Phân tích dữ liệu không gian GIS-3D và xây dựng ứng dụng (Trang 60)

Minesota Mapserver phù hợp với đặc tả Web mapserver của OGC.

Map server truy cập PostGIS/PostgreSQL dùng libpq tương tự như bất cứ chương trình khách csdl nào khác.

Các bước:

- Trong tệp map, cần thêm tầng (layer) postGIS như ví dụ sau đây - Làm chỉ số (GiST) cho mọi layers bạn muốn vẽ.

- Nếu bạn muốn truy vấn các tầng dùng Mapserver, còn phải làm chỉ số theo oid - "oid index".

Ví dụ tệp map có tầng PostGIS

LAYER

CONNECTIONTYPE postgis

NAME “widehighway”

LAYER

# Connect to a remote spatial database

CONNECTION "user=dbuser dbname=gisdatabase host=bigserver"

# Get the lines from the ’geom’ column of the ’roads’ table

DATA "geom from roads" STATUS ON

TYPE LINE

# Of the lines in the extents, only render the wide highways

CLASS

# Make the superhighways brighter and 2 pixels wide EXPRESSION ([numlanes] >= 6) COLOR 255 22 22 SYMBOL "solid" SIZE 2 END CLASS

# All the rest are darker and only 1 pixel wide EXPRESSION ([numlanes] < 6)

COLOR 205 92 82 END

END

Trong ví dụ trên, các chỉ thị đặc thù của PostGIS là: CONNECTIONTYPE

Đối với layer PostGIS, luôn là "postgis". CONNECTION

Xâu tham số kết nối đến csdl, gồm nhiều cặp keys - values như sau, trong đó nằm trong cặp <> là giá trị mặc định:

user= <username> password = <password> dbname=<username> hostname=<server> port= <5432>

Xâu có thể rỗng. bất kì cặp key/value nào có thể vắng mặt. DATA

Có khuôn dạng "<column> from <tablename>”

Trong đó column là tên cột hình học cần render ra bản đồ. FILTER

Là xâu SQL, tương ứng với điều khoản "WHERE". Ví dụ, để render lên bản đồ chỉ các con đường bộ có >= 6 làn xe, bộ lọc là "num_lanes >= 6".

Một phần của tài liệu Phân tích dữ liệu không gian GIS-3D và xây dựng ứng dụng (Trang 60)