首页 百科知识 数字地球网络数据扩展服务

数字地球网络数据扩展服务

时间:2022-10-09 百科知识 版权反馈
【摘要】:对数字地球网络数据扩展服务的实现,首先需要考虑空间数据库和地图服务器。PostgreSQL是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的OpenSourse数据库管理系统。PostGIS在PostgreSQL上增加的空间数据引擎,相当于Oracle Spatial。GeoServer是搭建一套是地理信息网络的核心组件。Geoserver可以通过WMS协议,把数据以maps/images等格式发布出去,也可以直接发布WFS格式的数据。支持将各种格式的数据通过WFS进行数据库事务处理;实现了WFS的lock规则部分,能够支持长事务处理。

7.4.1 数字地球网络数据扩展服务

对数字地球网络数据扩展服务的实现,首先需要考虑空间数据库和地图服务器。下面对这几种技术和实现框架作概要介绍。

7.4.1.1 PostgreSQL和PostGIS

PostgreSQL 是一种对象——关系型数据库管理系统(ORDBMS),它起源于伯克利(BSD)的数据库研究计划,是目前最重要的开源数据库产品开发项目之一,有着非常广泛的用户,可以说PostgreSQL是最富特色、最强大的自由软件数据库管理系统。PostgreSQL是唯一支持事务、子查询、多版本并行控制系统、数据完整性检查等特性的OpenSourse数据库管理系统。能在多平台下运行,包括Linux、FreeBSD和Windows等,支持多语言开发。在开源数据库产品中,PostgreSQL性能更为先进,提供很多高级特性,如触发器、视图、存储过程等,在记录数超千万之后性能表现尤其出色。

PostGIS在PostgreSQL上增加的空间数据引擎,相当于Oracle Spatial。PostGIS提供如下空间信息服务功能:空间对象、空间索引、空间操作函数和空间操作符,同时遵循OpenGIS的规范。

PostGIS支持所有的空间数据类型,这些类型包括:Point、LinrString、Polygon、Mulltipoint、MultilineString、Mulitipolygon和集合对象集GeometryCollection等。PostGIS函数大致分为四类:

(1)字段处理函数。

PostGIS提供了对于元数据的支持,如GEOMETRY_COLUMNS和SPATIAL_REF_SYS,这类函数,同时PostGIS也提供了相应的支持函数,如AddGeometryColumn和DropGeometryColumn。

(2)几何关系函数。

PostGIS提供了一系列用于检测对象空间关系的二元谓词,通过返回布尔值来表征对象之间符合这个关系。这类几何关系函数目前共有10个,如表7-3所示。

表7-3 PostGIS几何关系函数功能简表

img72

(3)几何分析函数。

PostGIS提供了空间数据操作的几何分析函数,共有12个,如表7-4所示。

表7-4 PostGIS几何分析函数功能简表

img73

(4)读写函数。

这类函数很多,主要是用于在各种数据类型之间的转换,尤其是在Geometry与其他数据类型之间的转换,函数名如AsText、GeomFromText等。

7.4.1.2 图层样式描述符

图层样式描述符(Styled Layer Descriptor,SLD)告诉服务器如何渲染地图,例如,是要用黑色画线还是要用蓝色上色并带好看的轮廓和文本标签。SLD是一种基于 XML 的语言,GeoServer 创建的SLD文件可被任何与 Web 地图服务(WMS)兼容的应用复用。标签之间的关系如图7-8所示。

img74

图7-8 SLD各种标签之间关系图

SLD详情请查阅OGC规范。标签概要解释如表7-5所示。

表7-5 SLD各标签功能说明表

img75

如图7-9、图7-10所示为不同SLD渲染的西藏自治区日喀则市的县界图。

img76

图7-9 不同SLD渲染的地图对比图1

img77

图7-10 不同SLD渲染的地图对比图2

GeoServer中的SLD样式编辑器的截图如图7-11所示。

img78

图7-11 在Geoserver中生成SLD的可视化向导

7.4.1.3 基于GeoServer的网络地图服务框架

GeoServer是基于JavaEE的WebGIS服务器,系统建立在J2SDK的环境和Servlet/EJB容器上运行。与众多商业WebGIS解决方案相比,GeoServer是开源项目。与其他开源软件类似,GeoServer作为一个社区驱动的项目,由来自世界各地的开源爱好者进行开发,测试和维护。GeoServer实现了Open Geospatial Consortium(OGC),Web Feature Service(WFS)和Web Coverage Service(WCS)三个标准,以及一个高性能的认证标准网络地图服务(WMS)。GeoServer是搭建一套是地理信息网络的核心组件。Geoserver可以通过WMS协议,把数据以maps/images等格式发布出去,也可以直接发布WFS格式的数据。

GeoServer的技术体系结构如图7-12所示。

img79

图7-12 GeoServer的技术体系结构

GeoServer还有以下众多的优点:

(1)用Java语言编写,标准的J2EE架构,基于Servlet和Struts框架,支持高效的Spring框架开发。能够运行在任何基于 J2EE Servlet 容器之上。

(2)以获取各种格式的数据,高级数据库支持PostGIS、Shapefile、ArcSDE、Oracle、IBM DB2、VPF、MySQL、MapInfo等;支持上百种投影。

(3)能够将网络地图输出为JPEG、GIF、PNG、SVG、GML、KML、GeoJSON、GeoRSS等格式。

(4)兼容 WMS1.1.1 和 WFS1.1.0 特性,支持WFS-T规范;支持WCS and WMS Raster;完全支持SLD;完全支持Filter。

(5)支持将各种格式的数据通过WFS进行数据库事务处理;实现了WFS的lock规则部分,能够支持长事务处理。

(6)能够对插入特征进行规则验证,以保证数据的完整性。

(7)支持“component WMS”,允许GeoServer对寄居在其他服务器上的图层进行渲染,在WMS请求中,你只需指定特定的SLD和WFS的位置。

(8)能够很好地支持Google Maps、Yahoo Maps和Virtual Earth;可发布KML数据,与Google Earth影像叠加,做出生动的应用。

在GeoServer1.5.4的基础上,对其进行了功能的扩展,对WCS的部分功能进行了增强,扩展了WPS的处理模块。扩展后的系统总体结构如图7-13所示。

img80

图7-13 基于GeoServer扩展的系统总体结构

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈