4.2. 动态绘制地图服务

有多种方法可以让地图显示在某人的web浏览器中。一种是服务器向浏览器发送预先绘制的地图图像(或图像瓦片),另一种是服务器发送浏览器绘制的一组基于文本的地理坐标和属性,第三种是在请求时在服务器上绘制地图并向浏览器发送完成的地图图像。第三种方法是我们将在本课中讨论的。它有时被称为动态地图服务,因为在动态绘制时,它反映了数据的最新图片。将此方法与图像瓦片方法进行对比,后者表示在某个时间点(生成所有瓦片时)拍摄的数据的静态图片。动态绘制地图服务的优势

由于动态绘制的地图服务检索数据并在请求时绘制数据,因此它们有助于获得数据最新状态的态势感知。它们可能是描述同时发生变化的许多特征(例如大型车队中每辆车的位置)的唯一合理方法。动态绘制的地图也可能是大比例尺的最佳解决方案,因为瓦片的地图在生成、存储或维护方面变得过于繁琐。

通过WMS动态绘制的地图使您可以使用称为样式化层描述符(SLD)的概念来应用各种符号和样式,本课程稍后将对此进行介绍。如果您喜欢在地图上使用QGIS创作环境,则可以导出SLD并将其导入GeoServer,从而使网络用户可以应用在桌面上配置的相同样式。Web浏览器绘制的地图图层可能无法使用与服务器绘制的符号一样复杂的符号。

4.2.1. 动态绘制地图服务的缺点

等待服务器绘制地图可能是一种缓慢而痛苦的经历,尤其是在要渲染的图层很多的情况下。不熟悉或不了解所使用的后端技术类型的前卫Web地图用户可能无法忍受在桌面上可以接受的2-3秒等待时间。人们现在希望每张地图的性能都可以与Google Maps一样快,并且如果不使用图块,可能很难实现。

如果您有很多用户决定要同时查看地图,则动态绘制的服务比瓦片的服务更容易发生过载。这带来了一个悖论:您希望地图有用,但是如果服务器技术不可扩展,则其曝光度越高,运行速度就越慢。

如果您知道您的应用程序的受众有限(例如一个小城市或一个科学家团队),您可以安全地确定动态绘制的地图服务的性能“足够好”。这可以省去生成和维护瓦片服务的工作。

4.2.2. 动态绘制地图的服务器软件

在本课程中,您将使用GeoServer通过WMS绘制动态地图服务。其他可以做到这一点的自由/开源软件包括:

  • Map Server -有时被称为“明尼苏达地图服务器”,这是在20世纪90年代在明尼苏达大学开发的。

  • QGIS Server -QGIS的一个扩展,允许您直接通过WMS发布QGIS地图。

  • Deegree -基于Java的GIS网络服务自由/开源软件,于本世纪初诞生于德国。

  • 其他人?-因为WMS是一个开放的规范,任何有足够技能和勇气的开发人员都可以开发支持它的服务器软件。你有没有使用其他自由/开源软件来创建WMS?在课程论坛上告诉我们。

专有的GIS软件,如Esri ArcGIS服务器,也支持WMS和其他OGC规范。尽管Esri有自己的地图服务格式,但是他们的许多客户机都有互操作性要求,要求他们的web服务可以通过WMS获得。因此,当您在ArcGIS服务器中发布地图服务时,您会看到一个复选框,该复选框允许服务通过WMS规范说话。