空間データベースは、幾何学的空間で定義されたオブジェクトを表す空間データと、そのようなデータを照会および分析するためのツールを含むように拡張された汎用データベース(通常はリレーショナル データベース) です。
ほとんどの空間データベースでは、ポイント、ライン、ポリゴンなどの単純な幾何学的オブジェクトの表現が可能です。一部の空間データベースでは、 3D オブジェクト、トポロジ カバレッジ、線形ネットワーク、 TIN (不規則三角網)などのより複雑な構造を処理できます。一般的なデータベースはさまざまな数値型や文字型のデータを管理するために開発されていますが、このようなデータベースでは空間データ タイプを効率的に処理するための追加機能が必要であり、開発者はジオメトリデータ タイプやフィーチャデータ タイプを追加することがよくあります。
地理データベース(またはジオデータベース)は、地理参照された空間データベースであり、地理データ(またはジオデータ、つまり地球上の位置に関連付けられたデータ)を格納および操作するために使用され、[a]特に地理情報システム(GIS)で使用されます。現在、ほぼすべてのリレーショナルおよびオブジェクトリレーショナルデータベース管理システムには空間拡張機能があり、一部のGISソフトウェアベンダーはデータベース管理システムに独自の空間拡張機能を開発しています。
Open Geospatial Consortium (OGC)は、 Simple Features仕様 (1997 年に初公開) [1]を開発し、データベース システムに空間機能を追加するための標準を設定しました。[2] SQL /MM Spatial ISO/IEC 標準は、Simple Features を拡張した構造化クエリ言語およびマルチメディア標準の一部です。[3]
特徴
空間拡張機能によってデータベースに追加されるコア機能は、1 つ以上の空間データ型であり、これにより、空間データを属性値としてテーブルに格納できます。[4]最も一般的には、単一の空間値は、ベクター データ モデルに基づく幾何学的プリミティブ(ポイント、ライン、ポリゴンなど)です。ほとんどの空間データベースのデータ型は、幾何学的プリミティブを表すための OGCシンプル フィーチャ仕様に基づいています。一部の空間データベースは、ラスター データの格納もサポートしています。すべての地理的位置は空間参照システムに従って指定する必要があるため、空間データベースでは座標系の追跡と変換も可能にする必要があります。多くのシステムでは、空間列がテーブルで定義されるときに、ルックアップ テーブルに格納されている使用可能なシステムのリストから選択された座標系の選択も含まれます。
空間データベースにおける 2 つ目の主要な機能拡張は、クエリ言語 ( SQLなど) への空間機能の追加です。これにより、従来の GIS ソフトウェアで使用できるのと同じクエリ、分析、および操作操作が空間データベースに提供されます。ほとんどのリレーショナル データベース管理システムでは、この機能は SQL SELECT ステートメントで使用できる新しい関数のセットとして実装されています。Open Geospatial Consortium標準では、いくつかの種類の操作が指定されています。
- 測定: 線の長さ、ポリゴンの面積、ジオメトリ間の距離などを計算します。
- ジオプロセシング: 既存のフィーチャの周囲にバッファーを作成したり、フィーチャを交差させたりして、既存のフィーチャを変更して新しいフィーチャを作成します。
- 述語: ジオメトリ間の空間関係に関する真偽クエリを許可します。例としては、「2 つのポリゴンは重なっていますか?」や「埋め立て地を建設する予定のエリアから 1 マイル以内に住宅はありますか?」などがあります ( DE-9IMを参照)
- ジオメトリ コンストラクター: 通常は、形状を定義する頂点 (ポイントまたはノード) を指定して、新しいジオメトリを作成します。
- オブザーバー関数: 円の中心の位置など、フィーチャに関する特定の情報を返すクエリ。
一部のデータベースでは、特にMongoDBやCouchDBなどのNoSQLシステムの場合、これらの操作の簡略化されたセットまたは変更されたセットのみをサポートします。
空間インデックス
空間インデックスは、空間データベースによって空間クエリを最適化するために使用されます。データベースシステムは、インデックスを使用してデータ値を線形順序(アルファベット順など)で並べ替えることで値をすばやく検索しますが、このデータのインデックス方法は、 2次元または3次元空間での空間クエリには最適ではありません。代わりに、空間データベースは、多次元順序付け用に特別に設計された空間インデックスを使用します。 [5]一般的な空間インデックスの方法は次のとおりです。
- バイナリ空間分割(BSP ツリー): 超平面によって空間を細分化します。
- バウンディングボリューム階層(BVH)
- ジオハッシュ
- グリッド(空間インデックス)
- HHコード
- ヒルベルト R 木
- k -d ツリー
- m-tree – m-tree インデックスは、任意のメトリックを使用した場合と比較して、複雑なオブジェクトに対する類似性クエリを効率的に解決するために使用できます。
- オクトリー
- PHツリー
- クワッドツリー
- Rツリー: 空間データのインデックス作成に一般的に好まれる方法です。[6]オブジェクト(図形、線、点)は、最小外接矩形(MBR)を使用してグループ化されます。オブジェクトは、インデックス内のMBRに追加され、サイズの増加が最小限になります。
- R+ツリー
- R*ツリー
- UBツリー
- Xツリー
- Zオーダー(曲線)
空間クエリ
空間クエリは、ジオデータベースを含む空間データベースでサポートされている特殊なタイプのデータベース クエリです。このクエリは、非空間SQLクエリとはいくつかの重要な点で異なります。最も重要な 2 つの点は、ポイント、ライン、ポリゴンなどのジオメトリ データ タイプを使用できる点と、これらのクエリがこれらのジオメトリ間の空間関係を考慮する点です。
クエリの関数名はジオデータベースによって異なります。以下は、PostgreSQLの拡張機能である無料のジオデータベースであるPostGISに組み込まれている関数の一部です(「ジオメトリ」という用語は、点、線、ボックス、またはその他の2次元または3次元の形状を指します)。[7]
関数プロトタイプ: functionName (パラメータ): 戻り値の型
- ST_Distance(ジオメトリ、ジオメトリ) : 数値
- ST_Equals(ジオメトリ、ジオメトリ) : ブール値
- ST_Disjoint(ジオメトリ、ジオメトリ) : ブール値
- ST_Intersects(ジオメトリ、ジオメトリ) : ブール値
- ST_Touches(ジオメトリ、ジオメトリ) : ブール値
- ST_Crosses(ジオメトリ、ジオメトリ) : ブール値
- ST_Overlaps(ジオメトリ、ジオメトリ) : ブール値
- ST_Contains(ジオメトリ、ジオメトリ) : ブール値
- ST_Length(ジオメトリ) : 数値
- ST_Area(ジオメトリ) : 数値
- ST_重心(ジオメトリ) : ジオメトリ
- ST_Intersection(ジオメトリ、ジオメトリ) : ジオメトリ
したがって、都市のポイント レイヤーと国のポリゴン レイヤー間の空間結合は、次のように空間拡張 SQL ステートメントで実行できます。
SELECT * FROM cities, countries WHERE ST_Contains(countries.shape, cities.shape)
Intersectベクター オーバーレイ操作 (GIS ソフトウェアのコア要素) は、次のように複製できます。
SELECT ST_Intersection(veg.shape, soil.shape) int_poly, veg.*, soil.* FROM veg, soil where ST_Intersects(veg.shape, soil.shape)
空間データベース管理システム
リスト
- AllegroGraph –リソース記述フレームワークデータの 2 次元地理空間座標を効率的に保存および取得するためのメカニズムを提供するグラフ データベース。[引用が必要] SPARQLクエリの拡張構文が含まれています。
- ArangoDB - ジオインデックス機能を提供するマルチモデル データベース。
- Apache Drill - 大規模なデータセットをクエリするためのMPP SQLクエリエンジン。DrillはPostgreSQLに似た空間データ型と関数[8]をサポートしています。
- Esriジオデータベース(エンタープライズ、モバイル) - 商用 (Oracle、MS SQL Server、Db2) とオープンソース (PostgreSQL、SQLite) の両方のリレーショナル データベースに実装できる独自の空間データベース構造と論理モデル
- Caliper は、空間データ型、関数、ユーティリティを使用して Raima Data Manager を拡張します。
- CouchDBは、 Geocouchと呼ばれるプラグインによって空間的に有効にできるドキュメントベースのデータベースシステムです。
- Elasticsearchはドキュメントベースのデータベースシステムで、緯度/経度ペアをサポートするgeo_pointフィールドと、ポイント、線、円、ポリゴン、マルチポリゴンなどをサポートするgeo_shapeフィールドの2種類の地理データをサポートしています。[9]
- GeoMesa は、 Apache AccumuloとApache Hadoop上に構築されたクラウドベースの時空間データベースです( Apache HBase、Google Bigtable、Apache Cassandra、Apache Kafkaもサポートしています)。GeoMesa は、完全な OGC Simple Featuresと GeoServer プラグインをサポートしています。
- H2はバージョン1.3.173(2013-07-28)以降、ジオメトリタイプ[10]と空間インデックス[11]をサポートしています。Maven Centralで利用可能なH2GISという拡張機能により、OGC Simple Featuresが完全にサポートされます。
- IBM Db2のどのエディションでも空間対応が可能で、SQL 空間タイプと関数を使用して OpenGIS 空間機能を実装できます。
- IBM Informix測地および空間データブレード拡張機能は、使用時に自動的にインストールされ、Informix のデータ型を拡張して、複数の標準座標系と RTree インデックスのサポートを含めます。測地データと空間データは、時間の経過に伴って移動するオブジェクトを追跡するための Informix の Timeseries データ サポートに組み込むこともできます。
- Linter SQL Server は、 OpenGIS 仕様に従って空間タイプと空間関数をサポートします。
- Microsoft SQL Serverはバージョン2008以降、空間型をサポートしています。
- MonetDBのMonetDB/GIS拡張機能は、リレーショナル列ストアデータベースにOGSシンプルフィーチャを追加します。[12]
- MySQL DBMSは、ジオメトリデータ型と、OpenGIS仕様に従って実装されたいくつかの空間関数を実装しています。 [ 13]ただし、MySQLバージョン5.5以前では、空間関係をテストする関数は、実際のジオメトリではなく、最小境界矩形での動作に制限されています。MySQLバージョン5.0.16より前は、MyISAMテーブルの空間データのみをサポートしていました。MySQL 5.0.16以降では、InnoDB、NDB、BDB、およびARCHIVEも空間機能をサポートしています。
- Neo4j –グラフ内に直接B ツリー、クアッドツリー、ヒルベルト曲線などの 1D および 2D インデックスを構築できるグラフ データベース
- OpenLink Virtuosoはバージョン6.01.3126以降SQL/MMをサポートしており[14] 、オープンソースエディション7.2.6およびエンタープライズエディション8.2.0ではGeoSPARQLを含む大幅な機能強化が行われています[15]。
- オラクル空間
- PostgreSQL DBMS(データベース管理システム)は、標準化されたデータ型ジオメトリと対応する関数を含むOGC準拠[16]空間機能を実装するために拡張機能PostGISを使用します。
- Geo APIを使用したRedis 。 [17]
- RethinkDB は2D の地理空間インデックスをサポートします。
- SAP HANAはSPS08で地理空間をサポートしています。[18]
- Smallworld VMDS、ネイティブ GE Smallworld GIS データベース
- SpaceTime は、 k -d ツリーファミリに似た独自の多次元インデックス上に構築された商用時空間データベースですが、ボトムアップ アプローチを使用して作成され、データの特定の時空間分布に適応されています。
- BoeingのSpatial Query Server は、Sybase ASE を空間的に有効にします。
- SpatiaLite は、空間データ型、関数、ユーティリティを使用してSqlite を拡張します。
- TarantoolはRTREEインデックスを使用した地理空間クエリをサポートしています。[19]
- Teradata Geospatial には、データ ウェアハウス システムに 2D 空間機能 (OGC 準拠) が含まれています。
- HP Verticaの地理空間拡張機能であるVertica Placeは、リレーショナル列ストアデータベースにOGC準拠の空間機能を追加します。[20]
空間データ処理に特化した無料システムの表
参照
- 地理情報システム(GIS)
- ジオスパークル
- 氷河地質学データベース
- 位置情報インテリジェンス
- マルチメディアデータベース
- 最近傍探索
- オブジェクトベースの空間データベース
- シンプルな機能
- 空間分析
- 空間ETL
- 時空間データベース
注記
- ^ 「ジオデータベース」という用語は、独自の空間データベース形式のセット、ジオデータベース (Esri)を指す場合もあります。
参考文献
- ^ McKee, Lance (2016). 「OGC の歴史 (詳細)」。OGC。2016年 7 月 12 日閲覧。
[...] 1997 年 [...] OGC は、2D ジオメトリに基づく「シンプル フィーチャ」に関してさまざまなシステムが通信できるようにするインターフェイスを指定する OpenGIS シンプル フィーチャ仕様をリリースしました。サポートされているジオメトリ タイプには、ポイント、ライン、ラインストリング、曲線、ポリゴンが含まれます。各ジオメトリ オブジェクトは、ジオメトリ オブジェクトが定義されている座標空間を記述する空間参照システムに関連付けられています。
- ^ OGCホームページ
- ^ クレッセ、ヴォルフガング;ダンコ、デイビッド M. 編(2010年)。Springer の地理情報ハンドブック(第 1 版)。ベルリン:シュプリンガー。 82~83ページ。ISBN 9783540726807。
- ^ Yue, P.; Tan, Z. 「DM-03 - リレーショナル DBMS とその空間拡張」。GIS&T 知識体系。UCGIS。2023年1 月 5 日閲覧。
- ^ Zhang, X.; Du, Z. 「DM-66 空間インデックス」。GIS&T 知識体系。UCGIS。2023年1 月 5 日閲覧。
- ^ ギューティング、ラルフ・ハルトムット;シュナイダー、マルクス (2005)。オブジェクト データベースの移動。モーガン・カウフマン。 p. 262.ISBN 9780120887996。
- ^ 「PostGIS 関数リファレンス」。PostGISマニュアル。OSGeo。2023年1 月 4 日閲覧。
- ^ [1] ドリル地理空間機能ドキュメント
- ^ 「ジオクエリ | Elasticsearch ガイド [7.15] | Elastic」。
- ^ H2 ジオメトリタイプのドキュメント
- ^ H2 空間インデックス作成ドキュメント
- ^ 「GeoSpatial – MonetDB」。2014年3月4日。
- ^ 「MySQL 5.5 リファレンスマニュアル - 12.17.1. MySQL 空間サポートの概要」。2013 年 4 月 30 日時点のオリジナルよりアーカイブ。2013年 5 月 1 日に取得。
- ^ OpenLink Software. 「9.34. ジオメトリ データ タイプと空間インデックスのサポート」 . 2018 年10 月 24 日閲覧。
- ^ OpenLink Software (2018-10-23). 「Virtuoso Enterprise および Open Source エディションの新リリース」。2018 年10 月 24 日閲覧。
- ^ 「OGC 認定 PostGIS」。
- ^ 「コマンドリファレンス – Redis」。
- ^ 「SAP ヘルプポータル」(PDF)。
- ^ "RTREE". tarantool.org . 2014年12月13日時点のオリジナルよりアーカイブ。
- ^ 「HP Vertica Place」。2015年12月2日。
- ^ 「GEOS」.
- ^ 「Neo4j Spatial は、データに対する空間操作を容易にする Neo4j のユーティリティ ライブラリです。特に、既に配置されているデータに空間インデックスを追加したり、空間操作を実行したりできます」。GitHub。2019年2 月 18 日。
- ^ 「ReQL コマンド リファレンス - RethinkDB」。
さらに読む
- 空間データベース: ツアー、Shashi Shekhar および Sanjay Chawla、Prentice Hall、2003 年 ( ISBN 0-13-017480-7 )
- 空間データベース - GIS への応用 Philippe Rigaux、Michel Scholl、Agnes Voisard。Morgan Kaufmann Publishers . 2002 ( ISBN 1-55860-588-6 )
- 地理空間ビッグ データのデータ管理システムの評価 Pouria Amirian、Anhid Basiri、Adam Winstanley。スプリンガー。 2014年 ( ISBN 9783319091563 )
外部リンク
- PostgreSQL PostGIS の紹介
- サービス指向アーキテクチャSOAのコンポーネントとしての PostgreSQL PostGIS
- 道路ネットワーク上の移動物体に対するトリガーベースのセキュリティ警報スキーム、Sajimon Abraham、P. Sojan Lal、Springer Berlin / Heidelberg 発行、2008 年。
- ジオデータベース ArcGIS リソース センター ジオデータベースの説明
