国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
教程:基于MapServer的WebGIS開發(fā)

教程:基于MapServer的WebGIS開發(fā)

[ 來源:互聯(lián)網(wǎng) | 時間:2007年09月15日 | 收藏本文 ] 【

摘要:WebGIS是將Web技術(shù)和GIS技術(shù)相結(jié)合的新技術(shù),有著廣泛的應(yīng)用。通過WebGIS技術(shù),客戶端僅需使用瀏覽器(不一定包含專門插件)就可以對分布在Web上的GIS數(shù)據(jù)進(jìn)行查詢、分析等交互操作。

實現(xiàn)WebGIS技術(shù)之一是在服務(wù)器端使用CGI技術(shù),由美國明尼蘇達(dá)大學(xué)開發(fā)的MapServer就是采用這種技術(shù)。本文將詳細(xì)介紹實現(xiàn)WebGIS的開源軟件MapServer4.4.2的配置文件和它的兩個獨(dú)立模塊,及應(yīng)用它們開發(fā)WebGIS的方法。


關(guān)鍵詞:MapServer,WebGIS,開源,CGI,腳本語言


1,背景介紹

地理信息系統(tǒng)對地表信息建立數(shù)學(xué)模型,利用計算機(jī)技術(shù)對數(shù)據(jù)進(jìn)行存儲,處理,分析。其中采用Web技術(shù)的地理信息系統(tǒng)即WebGIS。WebGIS的關(guān)鍵特征是面向?qū)ο蟆⒎植际胶突ゲ僮?。它將GIS數(shù)據(jù)和功能封裝成對象,并且這些對像支持分布式計算,可以存儲在不同的服務(wù)器上;對象通過一致的通信協(xié)議,可以方便的進(jìn)行交換和交互操作[1]。

WebGIS的實現(xiàn)方法之一是利用Common Gateway Interface(CGI)技術(shù)。在服務(wù)器端通過CGI應(yīng)用程序連接Web Server和GIS空間數(shù)據(jù)庫,客戶端僅須使用瀏覽器就可以對空間數(shù)據(jù)進(jìn)行查詢分析[2]。美國的明尼蘇達(dá)大學(xué)(University of Minnesota),提供的WebGIS解決方案:MapServer,就是利用CGI技術(shù)。MapServer支持三層體系結(jié)構(gòu)[3],如下:

CGI
 
GIS空間數(shù)據(jù)庫
 
MapServer

CGI模塊

或者

腳本語言+Mapscrīpt

Web服務(wù)器
 
客戶端瀏覽器

相比與由商業(yè)企業(yè)提供的眾多WebGIS解決方案,MapServer是開源項目。這就意味著你可以免費(fèi)使用MapServer,并具有自行修改、復(fù)制以及再分發(fā)的權(quán)利[4]。同時MapServer還有眾多的優(yōu)點(diǎn)[5]:


1)       支持的矢量格式:ESRI shapefiles, PostGIS, ESRI的ArcSDE等(通過OGR庫實現(xiàn))。支持的柵格格式:TIFF/GeoTIFF, EPPL7等(通過GDAL庫實現(xiàn))。

2)       對shapefile文件,可以建立四元樹空間索引。

3)       完全支持定制的template的輸出。

4)       支持微軟和Apple公司共同研制的字型標(biāo)準(zhǔn)TrueType。

5)       支持分塊的(tiled)矢量和柵格數(shù)據(jù)。

6)       地圖元素(如比例尺、圖例,參照圖等)自動控制 。

7)       圖像比例自動調(diào)節(jié)。

8)       利用邏輯或正則表達(dá)式生成專題地圖。

9)       特征標(biāo)注(包含標(biāo)注沖突解決)。

10)   可以通過URLs動態(tài)的對MapServer進(jìn)行配置。

11)   支持動態(tài)的投影變換。

12)   對Open Geospatial Consortium若干網(wǎng)絡(luò)規(guī)范的支持:WMS (client/server), non-transactional WFS (client/server), WCS (server only), WMC, SLD, GML和Filter Encoding[6]。

2,MapServer的組成及開發(fā)方法

MapServer是使用C語言編寫的開源軟件,它本身又依賴一些開源的或免費(fèi)的庫,如Shapelib, FreeType, Proj.4, GDAL/OGR[5]。

(一)必須的庫:

a)GD Library:MapServer通過使用GD graphics library來表現(xiàn)GIF, PNG和JPEG格式的圖像。這些圖像通過MapServer CGI在瀏覽器上瀏覽。

b)Regex:Regex是一個正則表達(dá)式庫。

(二)可選的庫:

a)       JPEG library:由GD調(diào)用生成JPEG圖像。

b)       PNG library:由GD調(diào)用生成PNG圖像。

c)       Zlib:由libpng用來提供圖形壓縮功能。

d)       FreeType 2:由GD.調(diào)用提供TrueType支持。

e)       PROJ.4:Proj.4用于動態(tài)的投影變換。WMS, WFS或WCS Services也需要它的支持。

f)         GDAL/OGR:MapServer使用GDAL/OGR庫來讀入raster (GDAL) and vector (OGR)格式的數(shù)據(jù)

g)       ArcSDE:ArcSDE是ESRI公司的空間數(shù)據(jù)庫引擎(它不是免費(fèi)的)用于支持MapServer進(jìn)入SDE數(shù)據(jù)庫。

h)       EPPL7:用來讀取EPPL7數(shù)據(jù)庫和舊版本的Erdas LAN/GIS文件。它是作為MapServer的內(nèi)置庫。

MapServer可以看作是兩個獨(dú)立模塊的統(tǒng)稱:MapServer CGI模塊和Mapscrīpt模塊。在服務(wù)器端可以使用任一模塊,編寫WebGIS程序。不過它們使用相同的配置文件MapFile。本文的重點(diǎn)就是介紹MapFile文件,及使用兩個模塊開發(fā)WebGIS的方法。

2.1,MapFile文件

MapFile文件將各種地圖要素組織成具有層次關(guān)系的對象系統(tǒng)[5]。數(shù)據(jù)來源,使用的數(shù)據(jù)格式,用戶交互和對OGC協(xié)議的支持也在MapFile中定義。MapFile中包括的對象及其層次關(guān)系:

MapObject
 
Querymap

 
 
Symbol
 
Projection
 
WebObject
 
Reference Map
 
Outputformat

 
 
Scalebar
 
Lengend
 
Layer Object
 
Label Object
 
Label Object
 
Feature
 
Projection
 
Class Object
 
Join Object
 
Label Object
 
Style Object
 
Grid Object


MapFile的語法很簡單。MapFile的關(guān)鍵字包括對象名(圖2中的所有對象)、對象屬性(keyword),對象結(jié)束標(biāo)記“END”。對象名和對象結(jié)束標(biāo)記“END”大小寫不敏感;屬性名大小寫敏感,配置ESRI的shapfile文件要使用大寫,PostGIS的卻總是小寫。在MapFile文件中,符號“#”對單行注釋。MapFile文件以“.map”為擴(kuò)展名,可以使用各種文字編輯器編寫。以下是MapFile的一個例子:


#

# Start of map file

#

NAMECHINA

STATUS ON

SIZE 400 300

SYMBOLSET ../etc/symbols.sym

FONTSET ../etc/fonts.txt

EXTENT 73 35 137 45

UNITS DD

SHAPEPATH "../data/china"

IMAGECOLOR 255 255 255

#

# Start of web interface definition

#

WEB

 TEMPLATE "/ms4w/apps/myapps/htdocs/temp.html"

 IMAGEPATH "/ms4w/tmp/ms_tmp/"

 IMAGEURL "/ms_tmp/"

END#END WEB

#

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
開源gis(ZZ)
基于GeoMedia?WebMap的WebGIS研究與開發(fā)
Python與開源GIS:GDAL簡介
C#打造一個開源webgis(三)地圖服務(wù)系統(tǒng)
用于GIS(地理信息系統(tǒng))和三維可視化制圖的Python庫
用Python創(chuàng)建你第一個GIS程序[1]:地理空間處理庫的選擇
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服