製圖法

作為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
  最大比例 50000000

IMAGEPATH "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,這裡是主要示例的鏈接。

高爾基阿爾瓦雷斯

作家、研究員、土地管理模型專家。 他參與了模型的概念化和實施,例如:洪都拉斯國家財產管理系統 SINAP、洪都拉斯聯合市政管理模型、地籍管理綜合模型 - 尼加拉瓜登記處、哥倫比亞領土 SAT 管理系統. 自 2007 年以來,Geofumadas 知識博客的編輯和 AulaGEO 學院的創建者,其中包括 100 多門關於 GIS - CAD - BIM - 數字孿生主題的課程。

相關文章

3 個評論

  1. HOLA,

    我試圖從 .map 調用圖層,如下所示:

    LAYER
    名稱 house_test
    類型點
    連接類型 OGR
    連接#“virtual.ovf”

    為XXXXX
    執行……。
    ess_id
    工作點
    WGS84

    我的問題是 DSN 服務出現問題:當請求 GetCapability 時,它返回數據庫密碼...我可以調用文件以避免“洩露”密碼還是 DSN 錯誤??? 謝謝你!

  2. MapServer 是一個流行的開源項目,其目的是通過互聯網顯示動態空間地圖。 已安裝的驅動器是映射到使用 NTFS 文件系統的捲上的空文件夾的驅動器。 已安裝的驅動器的功能與任何其他驅動器相同,但它們分配的是驅動器路徑而不是驅動器號。

發表評論

您的電子郵件地址將不會被發表。 必填字段標有 *

返回頂部按鈕