私のチームは、さまざまなデータベース プラットフォームが提供する地理空間機能を調査しています。
すべての実装はデータベース固有のものですか?それとも ANSI SQL 標準、または提供されている、または将来提供される予定の同様のタイプの標準がありますか?
実装されたコードを可能な限りデータベースにとらわれないようにしたいのでお願いします (私たちのプロジェクトは ANSI SQL 標準で書かれています)。
将来、この機能を標準化する計画はありますか?
私のチームは、さまざまなデータベース プラットフォームが提供する地理空間機能を調査しています。
すべての実装はデータベース固有のものですか?それとも ANSI SQL 標準、または提供されている、または将来提供される予定の同様のタイプの標準がありますか?
実装されたコードを可能な限りデータベースにとらわれないようにしたいのでお願いします (私たちのプロジェクトは ANSI SQL 標準で書かれています)。
将来、この機能を標準化する計画はありますか?
試したことはありませんが、Googleによると、FDOは「地理空間情報が保存されている場所に関係なく、地理空間情報を操作、定義、分析するためのオープンソースAPI」です。それはosgeo.orgにリストされています-私の意見ではそれが有利な点です。
MySQLとOracleのプロバイダーがあります。残念ながら、SQLServerとPostgisはFDOプロバイダーのページにリストされていません。
現在、複数の仕様に続いて、空間データベースの一般的なプロプライエタリおよびオープン ソースの実装があります。
PostGIS、Oracle、Microsoft SQL Server、およびある程度の MySQL など、すべてのデータベースは、空間データを操作するための標準インターフェイスを実装しています。ただし、このかなり標準化された機能にもかかわらず、すべてのデータベースは通常、単純な SQL レベルで異なり、データベースに依存しないソリューションの実装を難しくする可能性があります。関心のある機能を調査し、さまざまなベンダーが提供するものを比較する必要があるでしょう。
たとえば、MySQLとPostgreSQLの両方の GIS 拡張機能は、 OpenGIS の「Simple Features Specification for SQL」標準に準拠しています。
私が知っている唯一の標準はhttp://www.opengeospatial.org/standards/sfsであり、すべての空間データベース拡張機能がそれをどれだけうまく実装しているかはわかりません。
Hibernate Spatialでアクセスできる地理データベースが多数あります。
データベースに依存しないアプリケーションを作成する場合は、hibernate のような抽象化レイヤーを使用することをお勧めします。hibernatespatial は、ジオ フィーチャのこのギャップを埋めます。