質問

私は、時空間データを保持するためのリレーショナルDBテーブルを設計するためのベストプラクティスに興味があります。具体的には、このようなテーブルに保持されるデータは、特定の妥当性の期間、幾何学的定義、および階層的な側面を持つカスタムジオメトリです(特定の幾何学は他のジオメトリの子供です)。

誰かがこの主題に関する良い資料を私に向けることができるか、特定の実装を提案できるかどうか興味があります。

ありがとうございました。

役に立ちましたか?

解決

私はポストギスを使用します(http://postgis.refractions.net/)ジオメトリタイプの場合、次のようなテーブルを作成します。

CREATE TABLE data (
    geometry geometry,
  valid_from timestamp,
  valid_till timestamp,
  check(valid_till >= valid_from)
);

PostGISは空間クエリを作成できるため、特定のジオメトリ内のすべてのジオメトリのデータベースを照会できます(たとえば、状態または郡を表すジオメトリのすべてのジオメトリのクエリなど)。

有効期間を取得するには、このクエリに追加の条件を追加する必要があります。 (valid_from >= now() and valid_till <= now()).

もちろん、3つの列すべてにインデックスが必要になります。ジオメトリ列には、空間インデックスが必要です。

PostGISサイトで見つけることができる空間クエリとジオメトリタイプおよびジオメトリインデックスに関するすべての情報。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top