1、MapServer简介
MapServer是美国明尼苏达大学提供的WebGIS解决方案。 MapServer是一款成功的开源WebGIS服务。在服务器端通过CGI应用程序连接Web Server和GIS空间数据库,客户端仅须使用浏览器就可以对空间数据进行查询分析。
MapServer 基于C 语言,利用GEOS、OGR/GDAL 对多种矢量和栅格数据的支持,通过Proj.4共享库实时的进行投影变换。同时,还集合PostGIS 和开源数据库PostgreSQL 对地理空间数据进行存储和SQL 查询操作,基于ka-map、MapLab、Cartoweb 和Chameleon 等一系列客户端JavaScript API来支持对地理空间数据的传输与表达,并且遵守OGC制定的WMS、WFS、WCS、WMC、SLD、GML 和Filter Encoding 等一系列规范。
2、Windows下的安装
使用MS4W安装包比较方便,下载地址:http://maptools.org/dl/ms4w/ms4w_2.3.1.zip。解压到任意目录下。
依次运行ms4w目录下的setenv,和Apache-install文件。
3、第一个HelloWorld的编写
3.1 Hello.html编写
<html>
<head><title>MapServer Hello World</title></head>
<body>
<form method=POST action="/cgi-bin/mapserv.exe">
<input type="submit" value="Click Me">
<input type="hidden" name="map" value="/ms4w/Apache/htdocs/hello.map">
<input type="hidden" name="map_web_imagepath" value="">
</form>
<IMG SRC="[img]" width=400 height=300 border=0>
</body>
</html>
3.2 Hello.map编写
#第一个Hello World文件
MAP
NAME "Hello World"
SIZE 400 300
IMAGECOLOR 249 245 186
IMAGETYPE png
EXTENT -1.00 -1.00 1.00 1.00
WEB
TEMPLATE "/ms4w/Apache/htdocs/hello.html"
IMAGEPATH "/ms4w/Apache/htdocs/tmp/" #文件写在这里
IMAGEURL "/tmp/" #读取的时候读这里
END
LAYER
STATUS default
TYPE point
FEATURE
POINTS 0.0 0.0
END
TEXT "Hello World"
END
CLASS
STYLE
COLOR 255 0 0
END
LABEL
TYPE bitmap
END
END # end class
END # end layer
END # end mapfile
4、使用配置
把Hello.html和Hello.map拷贝到ms4w\Apache\htdocs目录下,并新建tmp目录
在浏览器中输入http://localhost/Hello.html
点击Click按钮,就能看到效果了。
5、注意事项
1、\MS4W文件夹一定要放在磁盘根目录下;
2,运行apache-install.bat之前一定要关掉IIS等服务;
3,提示apache已启动以后,MS4W就算是安装成功了,这时在浏览器中输入http://127.0.0.1/(如果输入http://localhost的话,可能会不管用(可能是host文件的原因))会进入MS4W的主页面。
6、工作原理
好了,下面讲解一下Mapserver的工作原理。
Mapserver真正起作用的是一个CGI程序,在WINDOWS下是mapserv.exe,如果你在浏览器窗口输入 http://localhost/cgi-bin/mapserv.exe,得到:“No query information to decode. QUERY_STRING is set, but empty.”,说明你的mapserver已经能干活啦。
在mapserver中起核心作用的是mapfile文件,该文件定义了数据在哪里?HTML模板在哪里?投影?显示图层等详细配置信息,我们的主要工作 就是修改这个文件配置数据进入mapserv.exe,关于mapfile文件的详细信息,请参考 http://mapserver.gis.umn.edu/docs/reference/mapfile
另外比较重要的是template文件,这个文件是用户与mapserv.exe进行交互的界面。
7、应用案例
国内的也有比较成功的应用,象:http://www.webmap.cn/mapDir.php。
本文简单介绍一下,希望对初学者有帮助。
转载请注明出处。GIS帝国网站报道中出现的商标及图像版权属于其合法持有人,只供传递信息之用,非商务用途。