Cách hoạt động của Mapserver
Lần trước chúng ta đã nói về một số tiêu chí tại sao MapServer và những điều cơ bản về cài đặt. Bây giờ chúng ta hãy xem một số hoạt động của nó trong một bài tập với bản đồ của các giám tuyển Chiapas.
Nơi được gắn
Một khi Apache được cài đặt, thư mục xuất bản mặc định cho MapServer là thư mục OSGeo4W trực tiếp trên C: /
Bên trong, có các thư mục khác nhau với các ứng dụng tùy thuộc vào những gì được cài đặt, nhưng thư mục để xuất bản phải nằm bên trong apache. Trong trường hợp này, thư mục được gọi là gis.
- Sau đó, bên trong, thư mục dữ liệu chứa các lớp, hình ảnh, vv
- Trong thư mục etc, có các phông chữ true type được sử dụng cho các nhãn, với phần mở rộng .ttf. Ngoài ra, đây là một tệp txt nâng chúng lên và một tệp khác xác định các ký hiệu.
- Và cuối cùng trong httdocs thư mục đi các trang web mà nâng cao dịch vụ.
Trang web
Trong ví dụ, tôi sẽ sử dụng trường hợp được hiển thị lần trước. Về cơ bản, nó chứa một tệp chỉ mục chuyển hướng đến một phần mở rộng phtml và điều này lần lượt nâng cao các chức năng được xây dựng trên php và các bản đồ. Một thư mục chứa các hình ảnh được liên kết từ trang.
Nếu chúng ta nhìn vào nó, phtml chỉ là shell được xây dựng từ các bảng và gọi đến các hàm mapscript / php. Bạn nên sử dụng:
http://localhost/gis/gispalenque.phtml
Dưới đây là kết quả:
- đến trung tâm chức năng GMapDrawMap (),
- bên phải cuộc gọi đến keymap GMapDrawKeyMap (),
- thanh dưới đây GMapDrawScaleBar (),
- và trong trường hợp các hàm triển khai, một điều kiện liên quan đến listbox if (! isHtmlMode ()) echo " với quyết định: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.
Đã chạy, triển khai sẽ như sau:
Các tệp bản đồ .map
Sự kết hợp của xuất bản của Mapserver là trong những gì Apache tăng, mà gửi php thông qua bản đồ và điều đó sau đó đi ra qua lớp vỏ đó. Nhưng phần lớn điều khoa học là ở các tệp .map, đừng nhầm với các tệp được tạo bởi Mapinfo, Manifold hoặc Mobile Mapper Office có cùng phần mở rộng.
Các .map này là các tệp văn bản, chứa bản đồ ở dạng tập lệnh. Chúng có thể được tạo bằng các chương trình máy tính để bàn như Quantum GIS, nếu bạn nhận thấy có một cho bản đồ chính, một cho Keymap và hai cho các dịch vụ wms và wfs của OGC. Hãy xem cách hoạt động của mapscript:
MAP
NAME PALENQUE_DEMO
TÌNH TRẠNG
SIZE 600 450
SYMBOLSET ../etc/symbols.txt
EXTENT 604299 1933386 610503 1939300 # DANH MỤC TẤT CẢ CÁC BẢN THÂN CỦA BỆNH NHÂN
#EXTENT 605786 1935102 608000 1938800 #SOLO NHÓM 01
ĐƠN VỊ ĐƠN
SHAPEPATH "../data"
TRANSPARENT ON
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt
- MAP chỉ ra kịch bản bắt đầu
- STATUS, cho biết bản đồ mặc định có bật hay không
- SIZE là kích thước của màn hình hiển thị
- SYMBOLSET cho thấy đường dẫn của các ký hiệu
- EXTENT là các tọa độ hiển thị. Ký hiệu # được sử dụng để tạo chú thích
- UNITS cho các đơn vị
- SHAPEPATH, đường dẫn nơi các lớp được
- Mọi thứ ở cuối sẽ kết thúc bằng lệnh END
Bên trong, mã bắt đầu với một dòng lệnh, và kết thúc bằng END, ví dụ như quy mô tối thiểu và tối đa; thư mục ảnh tạm thời:
WEB
MINSCALE 2000000
MAXSCALE 50000000IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
END
Thanh tỷ lệ:
SCALEBAR
IMAGECOLOR 255 255 255
LABEL
COLOR 0 0 0
SIZE NHỎ
END
SIZE 300 5
COLOR 255 255 255
BACKGROUNDCOLOR 0 0 0
OUTLINECOLOR 0 0 0
UNITS ki lô mét
INTERVALS 3
TÌNH TRẠNG
END
Lớp raster: nằm ở chế độ nền, với mô tả trong danh sách là "Orthophoto", từ một tiff nằm trong thư mục dữ liệu:
TẦNG
NAME orthophoto
METADATA
"MÔ TẢ" "OrtoFoto"
END
TYPE RASTER
STATUS OFF
DATA "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
#OFFSITE 0 0 0
END
Một lớp shp đa giác tematizada dựa trên các tiêu chí, nâng cao một số dữ liệu trên một mẫu HTML với một phông chữ sans nhãn, kích thước 6, cạnh màu đen và trắng đệm 5 ...
TẦNG
NAME sector02Zone
TYPE POLYGON
STATUS OFF
TRANSPARENCY 50
HẾT 607852 1935706 610804 1938807 METADATA
"DESCRIPTION" "Chủ đề theo lĩnh vực giá trị 02"
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred prop Vùng chu vi VALUE"
END
DATA PALENQUE_SECTOR01
TEMPLATE "ttt_query.html"
TOLERANCE 5
#TOPERUNITS PIXELS
LABELITEM "VALOR"
CLASSITEM "VALOR"
LABELCACHE ON
CLASS
SYMBOL 1
COLOR 128 128 128
OUTLINECOLOR 0 0 0
NAME "ZonaNULL"
EXPRESSION ([VALUE] = 0)
LABEL
ANGLE AUTO
COLOR 0 0 0
FONT sans
TYPE TRUETYPE
POSITION cc
PHÂN PHỐI FALSE
BUFFER 5
SIZE 6
OUTLINECOLOR 200 200 200
END
END #class 0 value
CLASS
SYMBOL 3
COLOR 255 128 128
#COLOR -1 -1 -1 # SIN FILLING
.... và do đó để đóng với
END
END #Class Value
END # Layer
Trong kết luận
Do đó, làm việc với máy chủ bản đồ, mặc dù nó khá đơn giản, trở nên phức tạp và rất hạn chế đối với các công việc lớn vì mọi thứ đều nằm trong .map. Điểm bất lợi lớn nhất là mọi thứ đều được thực hiện trực tiếp, chẳng hạn như xác định từng màu trong một chủ đề, và vì lý do này mà các công cụ như CartoWeb phát sinh, hoạt động trên Mapserver nhưng mang đến các plugin và ví dụ tích hợp với các đặc điểm khiến phiên bản nguyên thủy này trông giống như các readme trước tiên:
- Làm việc với các khung riêng biệt, với AJAX để làm mới chúng một cách riêng biệt
- Phân tích mã, miễn là một kịch bản ghi đè lên .map dựa trên tiêu chuẩn parametrizable
- Di chuyển trở lại di chuyển mà không cần làm mới, như thể nó là một lớp flash
- Chỉnh sửa vector trực tuyến, viết ngay bộ nhớ cache
- Tải xuống lớp ở dạng vector
- Xuất sang Google Earth
- Tạo PDF từ triển khai
Trong phần tiếp theo chúng ta sẽ xem CartoWeb, ở đây tôi để lại liên kết đến các ví dụ chính.
Có cách để có đầu ra tiêu chuẩn phtml mẫu, cảm ơn
Xin chào,
Tôi đang cố gắng để gọi một lớp từ bản đồ., Như sau:
TẦNG
NAME test_houses
TYPE POINT
CONNECTIONTYPE OGR
CONNECTION # ”virtual.ovf”
"
xxxxx
HẾT …….
eess_id
wkbPoint
WGS84
"
Vấn đề của tôi là dịch vụ DSN đang gây ra sự cố: khi yêu cầu GetCapabilities nó trả về mật khẩu cơ sở dữ liệu ... tôi có thể thực hiện cuộc gọi đến một tệp để tránh bị "cho đi" mật khẩu hay đó là lỗi DSN ???? Thanks!
MapServer là một dự án mã nguồn mở phổ biến nhằm mục đích hiển thị các bản đồ không gian năng động qua Internet. Một ổ gắn kết là một ổ đĩa được ánh xạ tới một thư mục rỗng trên một ổ đĩa sử dụng hệ thống tệp NTFS. Gắn ổ đĩa hoạt động như bất kỳ ổ đĩa khác, nhưng chúng được chỉ định các đường dẫn ổ đĩa thay vì chữ ổ đĩa.