MapServer,它是美国明尼苏达大学 (University of Minnesota, 简称 UMN)在二十世纪90 年代利用 C语言开发的开源 WebGIS项目。
【 MapServer简介 】
它起源于 UMN和美国国家航空航天局的合作项目ForNet,以及之后的TerrSIP项目。可以说政府的支持在MapServer前期的发展中起了很大的作 用,1994年MapServer之父Steve Lime和他的MapServer为更多的人熟悉。MapServer在发展壮大中,并不是孤立的,而是得到了许多开源社区和开源爱好者的支持。2005 年11月,MapServer基金会成立,基金会本着“促进专业的开源网络制图开发环境和社区。即使最初集中于网络制图的项目,但希望能够给其他开源地理 信息的项目提供资助”的宗旨,不仅促进了MapServer的专业化发展,而且促进了整个开源网络制图技术的发展。随着开源地理信息系统软件的进一步发展 以及开源网络制图环境的进一步优化,2006年2月MapServer基金会正式改名为开源地理空间基金会(OSGeo),Autodesk公司将 MapGuide作为开放源代码加入了该基金会,进一步促进了 MapServer的发展。
MapServer是一套基于胖服务器端/瘦客户端模式的实时地图发布系统,客户端发送数据请求时,服务器端实时的处理空间数据,并将生成的数据发送给客户端。MapServer 的核心部分是C语言编写的地图操作模块,它本身许多功能的实现依赖一些开源或免费的库. 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 等一系列规范。
【 MapServer的组成及开发方法 】
MapServer是使用C语言编写的开源软件,它本身又依赖一些开源的或免费的库,如Shapelib, FreeType, Proj.4, GDAL/OGR。
(一)必须的库 :
1)GD Library :MapServer通过使用GD graphics library来表现GIF, PNG和JPEG 格式的图像。这些图像通过MapServer CGI在浏览器上浏览。
2)Regex:Regex是一个正则表达式库。 ****
(二)可选的库 :
1)JPEG library:由GD调用生成JPEG 图像。
2)PNG library:由GD调用生成PNG图像。
3)Zlib:由libpng 用来提供图形压缩功能。
4)FreeType 2:由GD.调用 提供TrueType支持。
5)PROJ.4:Proj.4用于动态的投影变换。WMS, WFS 或 WCS Services也需要它的支持。
6)GDAL/OGR:MapServer 使用GDAL/OGR库来读入raster (GDAL) and vector (OGR)格式的数据
7)ArcSDE:ArcSDE是ESRI公司的空间数据库引擎(它不是免费的)用于支持MapServer进入SDE 数据库。
8)EPPL7:用来读取EPPL7 数据库和旧版本的Erdas LAN/GIS 文件。它是作为MapServer的内置库。 ****
(三)MapFile文件
MapFile文件将各种地图要素组织成具有层次关系的对象系统。数据来源,使用的数据格式,用户交互和对OGC协议的支持也在MapFile中定义。
转自百度百科:http://baike.baidu.com/view/3765047.htm