概览
MapServer是一个用来在网上展现动态空间地图的流行的开源项目。它具有以下特点:
- 支持显示和查询数以百计的栅格,矢量和数据库格式
- 能够运行在多种不同的系统上(Windows, Linux, Mac OS X等)
- 对流行的脚本语言和开发环境(PHP, Python, Perl, Ruby, Java, .NET))提供支持
- on-the-fly 投影
- 高质量绘制模型
- 完全可定制的应用输出
- 许多现成的开源应用环境
在最基本的形式中,MapServer就是待在Web服务器上的一个不活动的CGI程序。
当一个请求发给MapServer之后,他会使用请求的URL中传递的信息和Mapfile,创建一个请求的地图的图像
请求可以返回图例,标尺,参考地图及CGI传递的变量值。
MapServer应用解析
一个简单的MapServer包含以下几部分:
- MapFile
MapServer应用的结构化的文本配置文件。它定义了地图的领域,用来告诉MapServer数据在哪以及在哪输出图像。它还定义了地图图层。包括他们的数据源,投影和符号。它必须有一个.map扩展名,否则MapServer识别不了。
- Geographic Data
MapServer可以利用多种类型的地理信息数据源。默认的是ESRI数据格式,其他格式的数据也支持。
- HTMLPages
是用户和MapServer之间的接口。它们通常位于Web根目录。在其最简单的形式中,MapServer可以被调用来放置一个静态的地图图像到HTML页面上。为了使地图能够交互,图像被放置在页面的一个HTML 表单上。
- MapServer CGI
二进制的可执行文件。可以接收请求彬返回图像,数据等。它位于web服务器的cgi-bin或者scripts目录下。WEb服务器的用户必须有这些目录的执行权限。处于安全的考虑,它们不能为web的根目录下。默认的,这个程序被称作mapserv。
- WEB/HTTP Server
当用户的浏览器命中时,提供HTML页面。你需要一个工作的Web(HTTP)服务器。例如Apache或者Microsoft的IIS,它们在你安装的MapServer所在的机器上。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICNyMDOygDMwATMwITM2EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)