地理空间数据服务器

要求

选定的地理空间数据服务器是 GeoServer 2.3.2+

Iff 必修的:

  • GeoWebCache 1.3.0+可以作为独立或集成的地图贴片服务器部署。

  • GeoNetwork 2.10.0+(其本身包括 GeoServer 服务器),可以使用空间数据目录系统。

理论基础

地理数据服务器组件的目的只是在数据库和各种可能的客户机应用程序(GIS桌面客户机、Web映射应用程序、其他地理数据服务器等)之间提供一层标准化的地理网络服务。

地理空间数据服务器必须符合 约束条件 设置许可证兼容性、可移植性和购置成本。

它还必须与以前选择的软件堆栈兼容/支持:

遵守开放地理空间联盟 (OGC) WMS、WFS和WFS-T标准是基本的技术互操作性需求。

  • 在葡萄牙,遵守OGC Web功能服务 (WFS) 接口标准和OGC Web地图服务 (WMS) 接口标准也是国家数字互操作性规范(开放标准)确立的法律要求。 [RNID12]

  • 在欧盟,根据 INSPIRE 指令,成员国必须共享与环境政策相关的空间数据集(34个空间数据主题,包括 尤其是 地理名称、行政单位、地址、人口和人口统计)。

    成员国还需要创建用于访问这些数据集的Web服务,这些服务必须是符合OGC的服务(请参见 INSPIRE Implementing Rules 详情)

备选方案分析

同样,渐进过滤是基于成熟度和可持续性标准的。

为了简化候选解决方案的分类,仅 OSGEO Foundation 考虑的项目。这个 OSGEO incubation process 本质上是由CMMI成熟度级别激发的同行评审评估 [CMMI10]: 毕业项目符合 set of criteria 专注于成熟度和可持续性方面。

候选集包括:

非功能性考虑

  1. deegreeGeoServer 都是用Java编写的,这是当前选择过程中权重很高的一个因素:考虑到欧洲统计局的Java工具可供Java平台使用,可以使用兼容的软件栈(如Java servlet容器),也可以使用较少的不同软件和软件组合。必须具备操作技能。同样的情况也适用于编程技巧,Java应该作为任何附加软件组件的实现语言。 2

  2. 同样,基于 MapServerTinyOWS 在以下情况下,可以认为更适合于项目:

    • 采用PHP Web开发框架;

    • php mapscript组件用于开发交互式映射应用程序。

  3. 目前,有相当少的可用文档(尤其是第三方教程、书籍等)和服务提供商 deegreeGeoServerMapServer. 通过比较 discussion lists 三种产品中。

    此外,没有公开的比较基准 deegree 与其他地理数据服务器产品相比。

  4. 绩效基准 3 在Linux操作系统上使用fastcgi时,mapserver与geoserver的吞吐量相比更高(Windows计算机上的mapserver结果不稳定,特别是在并发请求数量较多的情况下),而且对于某些请求类型,throutput比geoserver的吞吐量低。当并发客户端少于4个时)。 4.

作为初步评估的结果, deegree 被认为是候选人中占主导地位的解决方案。评估不是基于产品的内在特性和能力。这仅仅是质量体系成熟度标准得分较低的结果,也是用户群体较小和现实世界用例相对缺乏的结果(值得注意的例外是选择Degree来支持 EU INSPIRE geoportal

支持OGC W*S接口

要考虑的GeoWebServices的基本类型是:

  • Web地图服务(请参阅 WMS overview ):允许可视化显示空间数据(不必提供对构成这些数据的功能的访问)。

  • Web功能服务(请参阅 WFS overview ):只读矢量空间特征(即点、线或多边形,通常带有相关的字母数字信息);

  • 事务性WFS(WFS-T):可编辑的向量空间特性,其中编辑权限可以通过用户身份验证和授权来控制(授权机制和支持的控制粒度因不同产品而异)。

MapServer 不支持WFS-T,如当前MapServer 6.2.1文档中所述:

这只是一个基本的WFS(只读):不支持事务请求,可能永远不会给出mapserver的性质。对于需要WFS-T支持的用户,建议使用geoserver或tinyows。

来源:http://mapserver.org/ogc/wfs_server.html

TinyOWS 是最近被合并到MapServer套件中的WFS服务器,用于解决缺少WFS-T服务的问题。目前,PostGIS是Tinyows唯一支持的空间数据库后端。此类限制与此特定项目无关,但会降低组件的可重用性(例如,潜在用户可能希望发布存储在通用专有数据库(如Oracle Spatial and Graph或ESRI ArcSDE Spatial Enabled数据库)中的其他地理空间数据)。

Geoserver, 可以在数据库系统中委托和控制细粒度访问授权(例如用于编辑操作) 5, MapServer社区中当前正在讨论的选项 6.

如前所述, deegree 提供了所需的W*S接口,尽管由于文档和图形用户接口相对较少,它指向的是技术性更强的用户配置文件,而不是地理服务器。

结论

评价结果为:

  • MAPServer+Tinyows或Deegree是满足已确定的W*S需求的足够和充分的解决方案。

  • geoserver同样足够,文档记录更好(比deegree),更容易配置和发布服务(比deegree或mapserver),并且支持更多的数据库后端(比tinyows),即postgis、h2、arcsde、db2、mysql、oracle、microsoft sql server和sql azure。

以下摘录对3种产品进行了充分的概述:

geoserver、map server和deegree是开源的地图服务器产品,专注于使用ogc webgis标准的互联网地图应用程序。这些OGC互操作性标准(如WMS、WFS和WFS-T)允许跨平台在互联网上交换地理信息。使用这些标准,可以使用标准Web浏览器或GIS客户端软件通过Internet访问存储在Oracle Spatial、PostGIS或ArcSDE数据库中的地图数据。使用WMS,可以访问地图数据并将其显示为图像,该图像可以覆盖来自其他数据源的GIS数据,以生成复合地图。使用WFS,用户可以访问矢量格式的实际地理特征,而WFS-T允许创建、删除和更新特征。map server、geoserver和deegree是基于服务器的“地图引擎”,用于根据用户的请求在Internet上向用户显示空间数据(地图、图像或矢量数据,具体取决于OGC Web服务)。 [...] 事实证明,MAPServer是一个非常成熟和可靠的产品,可以通过WMS、WCS和其他OGC互操作性标准,在互联网上分发来自GIS数据源的地图。GeoServer和DeGeRe是最近使用Java技术构建的项目。虽然在许多方面与MapServer相当,但GeoServer和Deegree通过支持事务性WFS服务进一步发展,允许用户通过Internet从远程位置插入、删除和修改源位置的地理数据。

—资料来源: [Piep10]

真实世界的使用

下表列出了使用geoserver的项目示例。

组织、系统或项目

工具书类

西班牙地质研究所

9

Gestione Integrata e Interoperativa Dei Dati Ambientali(SDI),意大利

11 12

全球灾害警报与协调系统(SDI)、联合国和欧盟JRC

10

环境与安全全球监测,EC-JRC

8

Paikkatietoikkuna(SDI),芬兰

13

英国定位计划

7

最后的注释

关于支持地图贴片服务的说明

支持 WMTS 服务不被视为 must-have 本项目要求:空间信息可以作为矢量数据存储在数据库中,并使用WMS或WFS服务提供服务。无法预见,大量并发请求将需要一个map tile服务器。Web映射组件中需要消耗第三方地图贴片服务(如MapQuest、Google地图等),但不太可能严格需要WMTS服务器。如果出于性能原因需要使用地图平铺服务器,则存在两个简单的选项:

  • geoserver包括集成版的 GeoWebCache, 作为映射客户机和映射服务器之间的代理运行的平铺服务器,在请求时缓存(存储)平铺,消除冗余请求处理并缩短响应时间,

  • GeoWebCache (根据LGPL许可证)也可以作为独立产品部署,以实现WMS-C、WMT、TMS或谷歌地图KML服务接口(例如,通过不同的服务器向公众公开某些地图服务)。

关于支持空间目录服务的说明

支持 CSW 服务不被视为 must-have 此项目的要求,尽管元数据应存储在各种数据源中。如果需要一个空间数据目录,明显的选择是使用另一个Java应用程序, Geonetwork, 它是为联合国各办事处和方案制定并由其使用的。 (FAO, OCHA, UNEPWFP) .

可移植性说明

所有必需的地理信息系统组件在Linux发行版上都可用并受支持:

  • 目前,“Debian家族”拥有最具包容性和最新的FOSS GIS应用程序和库分布。存储库由 DebianGIS 项目和 UbuntuGIS 项目(后者为Ubuntu发行版进行重新打包,还包括一些不符合更严格要求的软件包 Debian Policy

  • 对于“Red Hat系列”,RPM存储库可通过 ELGIS 项目和 EPEL Fedora项目(用于不属于标准Red Hat Enterprise Linux发行版的软件包)。

输出格式

以下摘录列出了geoserver为响应w*s请求而支持的输出格式。可以注意到,一些输出格式(geojson、gml、kml、svg)也直接受 PostGIS. 然而,使用Web服务接口(WMS或WFS)提供了一个额外的抽象级别,将客户机应用程序与数据库隔离开来,并提供了获取信息的标准语法(例如,允许使用桌面GIS应用程序探索数据,或r独立数据可视化工具的开发)。

GeoServer output formats

图像输出

所有图像输出都可以从WMS GETMAP请求对栅格、矢量或覆盖数据启动。

格式

描述

KML

KML(keyhole markup language)是一种基于XML的语言模式,用于在地球浏览器(如Google Earth或Google Maps)中表示地理数据。KML使用基于标记的结构,其中包含嵌套的元素和属性。对于geoserver,kml文件作为kmz分发,kmz是压缩的kml文件。

JPEG

WMS以栅格格式输出。jpeg是一种压缩的图形文件格式,压缩会导致一些质量损失。它最好用于照片,不建议用于精确复制数据。

GIF

WMS以栅格格式输出。GIF(图形交换格式)是一种位图图像格式,最适合具有有限颜色的锐边线条艺术。这利用了格式的无损压缩,这有利于统一颜色的平面区域和定义良好的边缘(与jpeg相反,jpeg有利于平滑的渐变和更柔和的图像)。GIF仅限于8位调色板或256色。

SVG

矢量格式的WMS输出。SVG(scalable vector graphics)是一种用XML建模二维图形的语言。它不同于GIF和JPEG,因为它使用的是图形对象,而不是单个点。

TIFF

WMS以栅格格式输出。TIFF(标记图像文件格式)是一种灵活、适应性强的格式,可用于处理单个文件中的多个数据。geotiff包含作为标签嵌入到tiff文件中的地理数据。

PNG

WMS以栅格格式输出。PNG(可移植网络图形)文件格式被创建为自由的、开放源代码的GIF的后续格式。PNG文件格式支持TrueColor(1600万色),而GIF仅支持256色。PNG文件在图像具有大而均匀的颜色区域时表现出色。

OpenLayers

wms getmap请求输出一个简单的Openlayers预览窗口。 OpenLayers 是一个用于在Web浏览器中显示地图数据的开源JavaScript库。Openlayers输出有一些高级过滤器,在使用独立版本的Openlayers时,这些过滤器不可用。此外,生成的预览包含一个带有易于显示的配置选项的标题。

PDF

PDF(可移植文档格式)封装了固定布局二维文档的完整描述,包括任何文本、字体、栅格图像和二维矢量图形。

文本输出

格式

描述

AtomPub

WMS以XML格式输出空间数据。AtomPub(Atom发布协议)是一种应用程序级协议,用于使用HTTP和XML发布和编辑Web资源。作为内容联合的RSS系列标准的替代品,Atom允许订阅地理数据。

GeoRss

wms getmap请求以XML格式输出矢量数据。RSS(RichSiteSummary)是一种XML格式,用于交付定期更改的Web内容。 GeoRss 是将位置编码为RSS源的一部分的标准。支持层预览使用Atom生成RSS 2.0文档,并使用GeoRSS简单几何图形。

吉森

JavaScript Object Notation (JSON)是一种基于JavaScript编程语言的轻量级数据交换格式。这使得它成为基于浏览器的应用程序的理想交换格式,因为它可以直接轻松地解析为JavaScript。geojson是向json添加地理类型的纯文本输出格式。

CSV

WFS GetFeature以逗号分隔的文本输出。csv(逗号分隔值)文件是包含数据行的文本文件。每行中的数据值用逗号分隔。csv文件还包含一个逗号分隔的标题行,解释每一行的值排序。geoserver的csv是完全流式的,对可以输出的数据量没有限制。

数据输出

所有数据输出都是从WFS GetFeature请求对矢量数据发起的。

格式

描述

GML2/3型

GML(地理标记语言)是由 Open Geospatial Consortium (ogc)表示地理特征。GML是地理系统的建模语言,也是地理数据共享的开放交换格式。GML2是默认(通用)输出格式,而GML3可从“所有格式”菜单中获得。

整形器

ESRI shapefile,或简称shapefile,是交换GIS数据最常用的格式。geoserver以zip格式输出shapefiles,目录为.cst、.dbf、.prg、.shp和.shx文件。


脚注

1

这个 MapServer licence is an MIT like 许可证。

2

geoserver合并 GeoTools, 一种开放源码(LGPL)Java代码库,它提供用于地理空间数据操作的标准兼容方法,该方法用于几个GIS应用中。

3

基准数据可从http://wiki.osgeo.org/wiki/foss4g_benchmark获得。

对于支持WMTS服务的产品(“GoogleMaps-like”平铺地图服务),以下链接提供了有用的信息:http://www.esdm.co.uk/mapserver-and-geoserver-and-tilecache-comparison-serving-ordnance-survey-graster-mapshttp://www.esdm.co.uk/further-load-testing-of-geoserver-and-mapseserver和tilecache,以及http://developmentseed.org/blog/2010/oct/19/qa-mapnik-performance-just-important-its-beauty/。

4

值得注意的是,对于高需求图像地图服务(WMS),这两种产品的表现都优于 mapnik. Microsoft Windows操作系统不完全支持Mapnik。

5

网址:http://docs.geoserver.org/stable/en/user/data/database/sql session.html使用SQL会话脚本控制数据库级别的授权

6

网址:https://github.com/mapserver/tinyows/issues/43

7

网址:http://data.gov.uk/sites/default/files/data-publisher-how-to-guide-establish-a-reference-implementation-for-an-inspire-view-service-using-a-geoserver.pdf

8

网址:http://rslab.disi.unitn.it/papers/r72-jstar-brunner.pdf

9

网址:http://inspire.jrc.ec.europa.eu/events/conferences/inspire_2012/presentations/143.pdf

10

网址:http://meetingorganizer.copernicus.org/egu2012/egu2012-7404.pdf

11

网址:http://www.minambiente.it/export/sites/default/archivio/allegati/inspire_state_of_play_2011_italia.pdf

12

网址:http://www.gdmc.nl/zlatanova/gi4dm2010/gi4dm/pdf/p116.pdf

13

网址:http://www.oskari.org/trac/wiki/documentationbackend


工具书类

CMMI10

CMMI产品团队(2010年)。Capability Maturity Model®Integration for Development,版本1.3,改进开发更好产品和服务的流程。编号:CMU/SEI-2010-TR-033。软件工程学院。网址:http://www.sei.cmu.edu/library/abstracts/reports/10tr033.cfm

Weic13

Weichand,Jurgen(2013年)。我们下载的是欧洲的地理数据和结构灵感。

Kolo04

Kolodziej,Kris(编辑)(2004年)。OpenGIS®Web地图服务器食谱。OGC文件编号:03-050R1版本:1.0.2网址:http://portal.opengeospatial.org/files/?工件编号=7769

Piep10

Pieper,Gertrude(2010年)。现有开源工具-地籍系统的可能性。Steudler,D;Torhonen,M-P和Pieper,G.(2010)(ed.)—地籍和土地登记中的牙线。机遇和风险。Y联合国粮食及农业组织(粮农组织)和国际测量员联合会(FIG)。:24—32