论文部分内容阅读
摘要 针对在其它软件环境中无法直接访问和编辑GIS系统中空间数据的问题,探讨了开源要素数据对象(FDO)空间数据访问引擎中的关键技术、应用程序接口(API)和用于多种数据源的 FDOProvider。
关键字 FDOProvider;OGC;FDO连接
引言
要素数据对象(Feature Data Objects,FDO)空间数据访问引擎作为开源地理空间基金会下的一个开源项目,已经逐步得到了越来越多的空间信息软件的支持。FDO包含应用程序接口FDO API和用于支持各种具体空间数据源的数据提供者(FDO Provider)2个部分,其基本思想是通过一套统一和开放的接口 API以一种公共的方式来获取、查询、编辑、分析和存储隐藏在后台的各种地理空间数据,而通过不同的数据提供者来实现针对这些不同数据格式的具体访问操作,从而使应用程序能够通过一套FDO API直接访问各种空间数据而不受具体存储格式的束缚。其中,FDO Provider是FDO API的一个具体实现,实际上就是一个用于连接和处理特定GIS空间数据源的动态链接库。
FDO 数据访问技术概述
长久以来,由于地理空间信息行业的固有特点,在这一领域中存在着多种不同的文件或数据库格式。当用户使用了某个公司的数据存储格式之后,常常就被迫使用同一个公司的软件,以访问他们自己的数据。如果希望使用其它公司的软件,就往往要耗费大量的精力把数据从一种格式转换成另一种格式,或者设法去读写这些专有格式。在这个过程中,可能导致的问题包括:
(1)数据丢失:例如一种格式中记录的数据可能无法或很难转移到另一种格式中,造成数据不完整或丢失;
(2)精度损失:例如把数据从一个双精度的格式转移到单精度甚至整型的格式造成的精度上的损失;
(3)数据冗余:同一份数据要创建多种格式的拷贝造成数据重复冗余;
(4)信息过时:当一个格式版本的数据更新后,未能同时更新该数据的其它格式版本,导致项目成员使用过时的数据而导致不必要的错误;
(5)成本浪费:大量的时间和金钱耗费于毫无生产性的工作。
在FDO技术的帮助下,针对每种现有的数据存储格式,只要编写一段程序代码,将原有的数据存储“翻译”到FDO API,就可以提供给使用FDO的应用程序访问。这个“翻译”程序就称为FDO Provider。只要安装了FDO Provider,应用程序就可以通过调用FDO接口来直接访问相应的数据存储,而不再需要进行格式转换。因此,开发人员可以将更多的精力集中于应用程序逻辑,而不是转换处理各种数据格式。
目前已包括的FDO Provider:
(1) 文件型数据源:SDF、SHP;
(2)数据库型数据源:ArcSDE、Oracle*、MS SQL Server*、MySQL、ODBC;
(3)Web数据源:符合OGC规范的WMS/WFS(只读);
(3)光栅数据源:多种常见的二维光栅格式和DEM格式(只读)。
2、建立FDO Provider连接
在创建一个FDO Provider连接之前,我们需要明白两个概念:数据源和Data Store。Data Store表示包含零个或多个对象的集合。FDO连接是针对Data Store的,因为它是存储数据对象的地方。Data Store既可以保存在数据库中(如MySQL),也可以保存在文件(如SDF文件)。
Data Store和数据源可以是一对一或多对一的,即一个数据源包含一个或多个Data Store,这取决于FDO Provider的能力,例如: 对于OSGeo FDO Provider for ArcSDE的连接,在ArcSDE服务器使用Oracle数据库时,Data Store和数据源是一对一的;对于OSGeo FDO Provider for MySQL的连接,Data Store和数据源是多对一的。
3、注册FDO Provider
在安装FDO SDK时,FDO会自动注册FDO SDK中包含的所有FDO Provider。如果你想添加一种FDO SDK中没有包含的FDO Provider,就需要自己来注册这种FDO Provider,例如企业版FDO中没有包含OSGeo FDO Provider for GDAL,如果要在FDO企业版中使用GDAL Provider,就需要自己来注册FDO Provider。
在FDO的安装目录下有一个名称为“providers.xml”的XML文件,它包含了所有已经注册的FDO Provider,例如修改此文件加入如下两个省略号中间的内容,就可以注册GDAL Provider:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
......
OSGeo.Gdal.3.4
OSGeo FDO Provider for GDAL
FDO Provider for GDAL
False
3.4.0.0
3.4.0.0
.\GRFPProvider.dll
......
4、結语
由于FDO Provider本身并不必须是开源的,因此对于原先私有数据格式的所有者,即使在不公开该格式的情况下,也可以通过发布FDO Provider使得其它开发人员和应用软件可以访问该格式中存储的数据。借助FDO Provider,应用软件还可以访问遵循OGC(Open Geospatial Consortium)标准的WMS/WFS(网络地图/要素服务)站点,从而获取基于Web的公开的地图数据资源。有了FDO,企业就不再局限于某一数据格式的软件供应商,而是可以自由的选择功能更强大、价格更低廉的软件来访问其自身的数据资源,从而可以降低成本,提高生产力。
关键字 FDOProvider;OGC;FDO连接
引言
要素数据对象(Feature Data Objects,FDO)空间数据访问引擎作为开源地理空间基金会下的一个开源项目,已经逐步得到了越来越多的空间信息软件的支持。FDO包含应用程序接口FDO API和用于支持各种具体空间数据源的数据提供者(FDO Provider)2个部分,其基本思想是通过一套统一和开放的接口 API以一种公共的方式来获取、查询、编辑、分析和存储隐藏在后台的各种地理空间数据,而通过不同的数据提供者来实现针对这些不同数据格式的具体访问操作,从而使应用程序能够通过一套FDO API直接访问各种空间数据而不受具体存储格式的束缚。其中,FDO Provider是FDO API的一个具体实现,实际上就是一个用于连接和处理特定GIS空间数据源的动态链接库。
FDO 数据访问技术概述
长久以来,由于地理空间信息行业的固有特点,在这一领域中存在着多种不同的文件或数据库格式。当用户使用了某个公司的数据存储格式之后,常常就被迫使用同一个公司的软件,以访问他们自己的数据。如果希望使用其它公司的软件,就往往要耗费大量的精力把数据从一种格式转换成另一种格式,或者设法去读写这些专有格式。在这个过程中,可能导致的问题包括:
(1)数据丢失:例如一种格式中记录的数据可能无法或很难转移到另一种格式中,造成数据不完整或丢失;
(2)精度损失:例如把数据从一个双精度的格式转移到单精度甚至整型的格式造成的精度上的损失;
(3)数据冗余:同一份数据要创建多种格式的拷贝造成数据重复冗余;
(4)信息过时:当一个格式版本的数据更新后,未能同时更新该数据的其它格式版本,导致项目成员使用过时的数据而导致不必要的错误;
(5)成本浪费:大量的时间和金钱耗费于毫无生产性的工作。
在FDO技术的帮助下,针对每种现有的数据存储格式,只要编写一段程序代码,将原有的数据存储“翻译”到FDO API,就可以提供给使用FDO的应用程序访问。这个“翻译”程序就称为FDO Provider。只要安装了FDO Provider,应用程序就可以通过调用FDO接口来直接访问相应的数据存储,而不再需要进行格式转换。因此,开发人员可以将更多的精力集中于应用程序逻辑,而不是转换处理各种数据格式。
目前已包括的FDO Provider:
(1) 文件型数据源:SDF、SHP;
(2)数据库型数据源:ArcSDE、Oracle*、MS SQL Server*、MySQL、ODBC;
(3)Web数据源:符合OGC规范的WMS/WFS(只读);
(3)光栅数据源:多种常见的二维光栅格式和DEM格式(只读)。
2、建立FDO Provider连接
在创建一个FDO Provider连接之前,我们需要明白两个概念:数据源和Data Store。Data Store表示包含零个或多个对象的集合。FDO连接是针对Data Store的,因为它是存储数据对象的地方。Data Store既可以保存在数据库中(如MySQL),也可以保存在文件(如SDF文件)。
Data Store和数据源可以是一对一或多对一的,即一个数据源包含一个或多个Data Store,这取决于FDO Provider的能力,例如: 对于OSGeo FDO Provider for ArcSDE的连接,在ArcSDE服务器使用Oracle数据库时,Data Store和数据源是一对一的;对于OSGeo FDO Provider for MySQL的连接,Data Store和数据源是多对一的。
3、注册FDO Provider
在安装FDO SDK时,FDO会自动注册FDO SDK中包含的所有FDO Provider。如果你想添加一种FDO SDK中没有包含的FDO Provider,就需要自己来注册这种FDO Provider,例如企业版FDO中没有包含OSGeo FDO Provider for GDAL,如果要在FDO企业版中使用GDAL Provider,就需要自己来注册FDO Provider。
在FDO的安装目录下有一个名称为“providers.xml”的XML文件,它包含了所有已经注册的FDO Provider,例如修改此文件加入如下两个省略号中间的内容,就可以注册GDAL Provider:
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
......
......
4、結语
由于FDO Provider本身并不必须是开源的,因此对于原先私有数据格式的所有者,即使在不公开该格式的情况下,也可以通过发布FDO Provider使得其它开发人员和应用软件可以访问该格式中存储的数据。借助FDO Provider,应用软件还可以访问遵循OGC(Open Geospatial Consortium)标准的WMS/WFS(网络地图/要素服务)站点,从而获取基于Web的公开的地图数据资源。有了FDO,企业就不再局限于某一数据格式的软件供应商,而是可以自由的选择功能更强大、价格更低廉的软件来访问其自身的数据资源,从而可以降低成本,提高生产力。