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

所有SQL地理空间实现是否都是特定于数据库的?,sql,tsql,geospatial,ansi-sql,Sql,Tsql,Geospatial,Ansi Sql,我的团队正在研究不同数据库平台提供的地理空间功能 是否所有的实现都是特定于数据库的,或者是否有一个ANSI SQL标准,或者正在提供或将来将提供的类似类型的标准 我这样问是因为我希望实现的代码尽可能与数据库无关(我们的项目是按照ANSI SQL标准编写的) 未来是否有任何已知的标准化此功能的计划?我所知的唯一标准是,我不知道所有空间数据库扩展如何实现它。例如,GIS扩展和两者都遵循标准。有许多地理数据库可以通过 Oracle10g Postgresql MySQL 如果您计划编写一个与数据库

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

是否所有的实现都是特定于数据库的,或者是否有一个ANSI SQL标准,或者正在提供或将来将提供的类似类型的标准

我这样问是因为我希望实现的代码尽可能与数据库无关(我们的项目是按照ANSI SQL标准编写的)


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

我所知的唯一标准是,我不知道所有空间数据库扩展如何实现它。

例如,GIS扩展和两者都遵循标准。

有许多地理数据库可以通过

  • Oracle10g
  • Postgresql
  • MySQL

如果您计划编写一个与数据库无关的应用程序,那么使用hibernate这样的抽象层无论如何都是一个好主意。hibernatespatial填补了地理功能的这一空白。

我还没有尝试过它,但谷歌告诉我它是“一个用于操作、定义和分析地理空间信息的开源API,无论它存储在哪里”。它被列在osgeo.org上——我认为这是对它有利的一点


MySQL和Oracle都有提供程序。令人失望的是,尽管SQL Server和Postgis未在FDO中列出。

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

  • ISO SQL空间信息技术多媒体规范数据库语言SQL多媒体和应用程序包第3部分:空间

PostGIS、Oracle、microsoftsqlserver和某种程度上的MySQL,所有的数据库都实现了标准接口来操作空间数据。然而,尽管有这种相当标准化的特性,但所有数据库通常在简单的SQL级别上有所不同,这可能会使解决方案的数据库无关实现变得棘手。您可能需要调查您感兴趣的功能,并比较不同供应商提供的功能。

+1不知道这一点。请注意,FDO现在显然支持PostGIS:FDO PostgreSQL提供程序,