在mapserver网站上看到了Anatomy of a MapServer Application,觉得对了解mapserver很有帮助,便按照自己的理解翻译过来与大家共享
一个简单的Mapserver应用包括:
Map文件 - 是一个mapserver应用的结构文本配置文件。它定义了地图范围,告诉mapserver程序到哪里导入或者导出数据。它还定义了你的地图图层,包括它们的数据源、投影以及符号表。通常以.map为扩展名。
地理资料 - mapserver可以使用多种类型的数据源。默认的数据格式是ESRI的shapefile。
HTML网页 - 用户和mapserver之间的界面。它们通常在web的根目录下。在这种最简单的框架下,可以调用mapserver在html网页中放置一个静态的地图图片。为了让地图具有交互性,将图片以html形式放置在页面上。
CGI程序对状态不敏感,由于它不记得上次被应用程序调用时发生的任何事,所以每个request对它来说都是新的。因此每次应用程序向mapserver发送request时,需要在隐变量或者URL变量中传递一些相关信息(例如,现在在哪个图层,在地图的什么位置,应用程序的模式等等)
一个简单的应用应该有两个html页面:
初始文件 - 用隐变量的方式向http服务器和mapserver发送初始查询。这个方式可以出现在另一个页面或者在URL中用传递初始信息的变量代替。
模板 - 控制如何在浏览器中显示由mapserver输出的地图和图例。通过在模板html中引用Mapserver CGI变量,可以让mapserver根据一些值来计算出它们(Mapserver CGI变量)的值,而这些值与应用程序为浏览器创建页面时的状态相关的(例如,地图图像的名称,引用图像的名称,地图范围等)。模板还决定了用户和mapserver应用(browse, zoom, pan, query)是如何交互的。
Mapserver CGI - 是接受requests并返回图像、数据的二进制或者可执行文件。通常在http服务器的cgi-bin或者scripts文件夹中。web服务器用户必须对这个文件夹有执行的权限,基于安全考虑,它不应该在web根目录下。
http服务器 - 相应用户浏览器的请求并提供html页面。在安装mapserver的机器上应该有个工作中的http服务器,例如apache或者IIS。