MapServer是一套基于胖服务器端/瘦客户端模式的实时地图发布系统,客户端发送数据请求时,服务器端实时的处理空间数据,并将生成的数据发送给客户端。MapServer 的核心部分是C语言编写的地图操作模块(mapfile文件),它本身许多功能的实现依赖一些开源或免费的库.
MapServer 的工作流程
1)由 Apache Web Server 将用户的访问参数传送给 Map Server;
2)MapServer(mapserv)接收到 Web Server 传送的参数时,先由参数所定义文档 (mapfile)获得空间数据的名称等相关信息;
3)获得空间数据信息后,向空间数据发出数据服务请求;
4)在得到相应空间数据包括属性信息后,再把这些信息传递会 MapServer;
5)MapServer 通过空间变化等一些列处理,由 GD Graphics library 将空间数据转成 PNG 或者 JPG 图形;
6)GIS 图形文件生成后,MapServer 依照定义抓取指定的模版文档(template file),把相应的图形动态形嵌入 html 文档;
7)完成后,将生成的符合浏览器标准的 HTML 文档由 Web Server 将结果送给客 户端显示。
在使用 MapServer 中,最重要和最核心的就是根据数据本身与输出地图需求配置 mapfile 文件: