所有SQL地理空间实现数据库都是特定的吗?

时间:2009-03-16 19:46:48

标签: sql tsql geospatial ansi-sql

我的团队正在研究不同数据库平台提供的地理空间功能。

是否所有的实现数据库都是特定的,或者是否存在ANSI SQL标准,或者是否会提供或将来会提供相似类型的标准?

我问,因为我希望实现的代码尽可能与数据库无关(我们的项目被编写为ANSI SQL标准)。

将来是否有任何已知的此功能标准化计划?

5 个答案:

答案 0 :(得分:2)

例如,GIS扩展程序for MySQLfor PostgreSQL都遵循OpenGIS "Simple Features Specification for SQL"标准。

答案 1 :(得分:2)

我没有尝试过,但Google告诉我FDO是“用于操纵,定义和分析地理空间信息的开源API,无论它存储在何处”。它在osgeo.org上列出 - 在我看来它有利于它。

有MySQL&提供商甲骨文。令人失望的是,虽然SQL Server和Postgis没有列在FDO providers page上。

答案 2 :(得分:2)

目前,有多个规范遵循空间数据库的流行专有和开源实现:

PostGIS,Oracle,Microsoft SQL Server以及一些有限程度的MySQL,所有数据库都实现了标准接口来操纵空间数据。但是,尽管有这些相当标准化的功能,但所有数据库通常在简单的SQL级别上都有所不同,这可能会使解决方案的数据库无关的实现变得棘手。您可能需要调查您感兴趣的功能并比较各个供应商提供的功能。

答案 3 :(得分:1)

我所知道的唯一标准是http://www.opengeospatial.org/standards/sfs,我不知道所有空间数据库扩展如何实现它。

答案 4 :(得分:1)

有许多可以通过hibernate spatial

访问的地理数据库
  • 的Oracle10g
  • PostgreSQL的
  • MySQL的

如果你计划编写一个与数据库无关的应用程序,那么使用像hibernate这样的缩进层是个好主意。 hibernatespatial填补了地理特征的这一空白。