作為Mapserver的工程
上次我們討論了一些標準,為什麼 地圖服務器 以及安裝的基礎知識。 現在讓我們用恰帕斯朋友的地圖來練習一下它的操作。
安裝在哪裡
安裝 Apache 後,默認的 MapServer 發布目錄是 C:/ 正上方的 OSGeo4W 文件夾
裡面有不同的文件夾,其中包含應用程序,具體取決於安裝的內容,但用於發布的文件夾必須位於 apache 內部。 在本例中,該文件夾名為 gis。
- 然後在裡面,數據文件夾包含圖層、正射影像等。
- 在 etc 文件夾中,有用於標籤的 true type 字體,擴展名為 .ttf。 這裡還有一個引發它們的 txt 文件和另一個定義符號的文件。
- 最後,httdocs 文件夾中是啟動該服務的網頁。
網頁
在示例中,我將使用上次顯示的案例。 基本上它包含一個索引文件,該索引文件重定向到帶有 phtml 擴展名的索引文件,這反過來又引發了基於 php 和地圖構建的功能。 文件夾包含從頁面鏈接的圖像。
如果你看一下,phtml 只是從表構建的 shell,並調用 mapscript/php 函數。 應該使用以下方法來提高它:
http://localhost/gis/gispalenque.phtml
下面是工作結果:
- 到函數的中心 GMapDrawMap(),
- 右邊的電話是 鍵映射 GMapDrawKeyMap(),
- 比例尺向下 GMapDrawScaleBar(),
- 在顯示功能的情況下,涉及列錶框的條件 if (!IsHtmlMode()) echo " 與決定:ZOOM_IN、ZOOM_OUT、RECENTER、QUERY_POINT。
已經運行,顯示如下:
.map 文件
Mapserver帖子的組合是由apache提出的,由php通過php發送給它 地圖腳本 然後它就從那個殼裡出來了。 但大部分科學知識都在 .map 文件中,不要與具有相同擴展名的 Mapinfo、Manifold 或 Mobile Mapper Office 生成的文件混淆。
這些 .map 是文本文件,其中包含腳本形式的地圖。 這些可以使用 Quantum GIS 等桌面程序創建,如果設置的話,有一個用於主地圖,一個用於鍵盤映射,兩個用於 OGC wms 和 wfs 服務。 讓我們看看地圖腳本是如何工作的:
MAP
名稱 PALENQUE_DEMO
狀態開啟
尺寸 600 450
符號集../etc/symbols.txt
範圍 604299 1933386 610503 1939300 #查看帕倫克整個地圖
#EXTENT 605786 1935102 608000 1938800 # 僅扇區 01
單位米
形狀路徑“../數據”
透明開啟
圖像顏色 255 255 255
字體集../etc/fonts.txt
- MAP表示啟動腳本
- STATUS,表示默認地圖是否開啟
- SIZE 是顯示器的尺寸
- SYMBOLSET 顯示符號的路徑
- EXTENT 是顯示的坐標。 #符號用於進行註釋。
- 單位換單位
- SHAPEPATH,圖層所在的路徑
- 一切最終都會以END命令結束
在內部,代碼以命令行開始,以 END 結束,例如最小和最大比例; 臨時圖像目錄:
WEB
最小規模 2000000
最大比例 50000000IMAGEPATH "C:\OSGeo4W/tmp/ms_tmp/"
IMAGEURL“/ms_tmp/”
結束
比例尺:
比例尺
圖像顏色 255 255 255
品牌
顏色 0 0 0
尺寸小
結束
尺寸 300 5
顏色 255 255 255
背景顏色 0 0 0
輪廓顏色 0 0 0
單位 公里
間隔 3
狀態開啟
結束
柵格圖層:位於後台,列表中的描述為“Orthophoto”,來自數據文件夾中的 tiff:
LAYER
名稱正射影像
元數據
“描述”“OrthoPhoto”
結束
光柵類型
狀態關閉
數據“C:\OSGeo4W/apps/gis/data/ortofotoGral.tif”
#場外 0 0 0
結束
多邊形的 shp 層,基於標準主題,在 html 模板上引發一些數據,帶有無字體標籤,大小 6,緩衝區 5 的黑色和白色邊框...
LAYER
名稱扇區02區
類型多邊形
狀態關閉
透明度 50
範圍 607852 1935706 610804 1938807 元數據
“描述”“按價值部門 02 劃分的主題”
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred 道具面積周長值"
結束
數據帕倫克_SECTOR01
模板“ttt_query.html”
公差5
#公差單位像素
標籤項目“價值”
類別“價值”
標籤緩存打開
類
SYMBOL 1
顏色 128 128 128
輪廓顏色 0 0 0
名稱“空區”
表達式([值]=0)
品牌
自動角度
顏色 0 0 0
無字體
類型 真實類型
位置抄送
部分錯誤
緩衝器5
SIZE 6
輪廓顏色 200 200 200
結束
END#類值0
類
SYMBOL 3
顏色 255 128 128
#顏色-1 -1 -1 #無填充
…… 依此類推,直到結束
結束
END #類值
END#層
要完成
因此,使用mapserver雖然很簡單,但對於大型作業來說卻變得相當複雜並且非常有限,因為所有內容都在.map中。 最大的缺點是一切都是步行完成的,例如定義主題中的每種顏色,因此出現了 CartoWeb 等工具,它在 Mapserver 上工作,但附帶內置插件和示例,其功能使這個原始版本仍然是最原始的版本。 自述第一:
- 使用 AJAX 處理單獨的框架,以便單獨刷新它們
- 解析代碼,只要腳本根據可參數化的標準重寫 .map
- 無需刷新即可使位移動態化,就好像它是一個閃存層一樣
- 在線矢量編輯,立即重寫緩存
- 以矢量形式層下載
- 導出到 Google 地球
- 生成部署的 PDF
在下一篇中,我們將了解 CartoWeb,這裡是主要示例的鏈接。
有沒有辦法有標準輸出phtml模板,謝謝
HOLA,
我試圖從 .map 調用圖層,如下所示:
LAYER
名稱 house_test
類型點
連接類型 OGR
連接#“virtual.ovf”
“
為XXXXX
執行……。
ess_id
工作點
WGS84
“
我的問題是 DSN 服務出現問題:當請求 GetCapability 時,它返回數據庫密碼...我可以調用文件以避免“洩露”密碼還是 DSN 錯誤??? 謝謝你!
MapServer 是一個流行的開源項目,其目的是通過互聯網顯示動態空間地圖。 已安裝的驅動器是映射到使用 NTFS 文件系統的捲上的空文件夾的驅動器。 已安裝的驅動器的功能與任何其他驅動器相同,但它們分配的是驅動器路徑而不是驅動器號。