开源

MapServer应用入门

字号+ 作者:GIS帝国 来源:GIS帝国 2015-11-14 17:12 我要评论( )

MapServer是美国明尼苏达大学提供的WebGIS解决方案。 MapServer是一款成功的开源WebGIS服务。在服务器端通过CGI应用程序连接Web Server和GIS空间数据库,客户端

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帝国网站报道中出现的商标及图像版权属于其合法持有人,只供传递信息之用,非商务用途。

1.GIS帝国遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • MapServer教程:MapFile配置入门

    MapServer教程:MapFile配置入门

    2015-11-14 17:39

  • Geotools应用简要指南

    Geotools应用简要指南

    2015-11-14 17:01

  • 利用OpenScales+MapServer+PostGIS快速构建GIS应用

    利用OpenScales+MapServer+PostGIS快速构建GIS应用

    2015-11-14 17:11

网友点评