地理的な質問を機械可読形式で表現する方法


22

GISの中心概念は、データセットに関する質問に答えることです。データベースの観点から。空間拡張を伴うSQLは、このような質問をする方法です。機械可読テキストベースのフォームで質問を表現できる他の方法は何ですか?さまざまなアプローチの利点は何ですか?




@whuber、私はもっと具体的にすべきだった。ArcGISクエリのClementini演算子の代替、またはArcGISが接続できるデータベースに対するクエリに興味があります。一見クレメンティーニは人間と機械の両方が読めるように見えますが、人間として私はしばしば困難を感じます。
カーククイケンダル

1
@Kirk OK、でもあなたではなく、ArcGISに問題があるようです!:-) Clemintiniらが「我々のウィッシュリストの別のポイントは、計算ベースの方法がエンドユーザーに本当に適しているかどうかのテストに関連している」というコメントで元の論文を終了しているのは興味深い。
whuber

1
@Matthew興味のある「質問」の範囲についてもう少し明確になりますか?たとえば、主にフィーチャ間の空間的な関係を検出して処理することで回答される質問(実行するにはGISのパワーが必要と思われます)、または個々の名前付きエンティティまたは場所の静的な属性を検索するだけで十分ですか?どちらも空間処理を必要としません)?
whuber

回答:


7

属性またはハッシュベースのクエリを無視して、3種類の空間クエリしか考えられません。

  1. ジオメトリに基づく空間クエリ。ベクトルフィーチャ間の関係を見つけるために使用されます。SQL空間クエリは、次のような単なるAPIの低レベルalogorithms実際にあるベントレー・Ottmann - OpenLayersを使用して 2線が交差かどうかを確認します。

    カークが述べたように、特徴間の関係のタイプは、次元的に拡張された9交差モデルで標準化されています。

    • 等しい
    • ばらばら
    • 交差する
    • Touches(meets)
    • クロス
    • 内(内側)
    • 含む
    • 重複
    • カバー
    • CoveredBy

    インデックスに基づく空間クエリは、ジオメトリクエリの単純化された形式であると言えます。ほとんどのジオメトリクエリでは、空間インデックスを最初のパスクエリとして使用して、無関係なフィーチャを除外してから、個々のジオメトリを比較しますが、時間がかかります。これらは、MongoDBなどのNoSQLデータベースにも実装されています。

  2. グラフ理論に基づく空間クエリ。これらのタイプのクエリは、Network Analystなどのツールを介してGISに実装されますが、やはり低レベルのアルゴリズムです。
  3. ラスターグリッドと集合論(およびファジー集合論)に基づく空間クエリ。

ラスタークエリとベクトルクエリを組み合わせたStarSpanなど、上記を組み合わせた実装がいくつかありますが、実際には前処理ステップが隠されています。

これらの種類のクエリを実装する多くのAPIがあり、マシンとテキストの両方が読み取り可能です。さまざまな実装とそれらの問題に関する良い議論がここにあります


Towards a 3d Spatial Query Languageの論文では、データ型ではなくクエリに基づいて、空間演算子を4つのタイプに分けています(おそらくより理にかなっています)。

  1. 方向演算子(above、below、northOf、southOfなど)
  2. トポロジ演算子(touch、contain、equal、insideなど)
  3. メトリック演算子(距離など)
  4. ブール演算子(ユニオン、インターセクションなど)

また、DE-I9Mに含まれていない3Dフィーチャー(ボディとサーフェス)を扱うための用語を取り入れています。


次元的に拡張された9交差モデルを超えて、他のドメインから借用した形式でのみ質問を表現できますか?
マシュースネイプ

1
希望するGISドメイン固有の言語で質問を定義しますが、最終的にはマシンは上記の方法のいずれかを使用してクエリを実行します(ただし、いくつか欠落している場合もあります)。
geographika

7

1-このソフトウェアにはいくつかの研究があります。http//nlp.uned.es/MLQA06/papers/ferres.pdf
インターネット検索に関連しているにもかかわらず、人間の言語をコンピューター言語に翻訳する方法についてのガイダンスを提供します。
グーグル「GeoTALP-Q」は、このテーマに関する記事も提供しています。

2- GeoDjangoは、空間クエリ用のAPIを提供します。これは、SQLからオブジェクト指向言語への変換であり、複雑な空間クエリ用のPL / python関数の作成など、多くの退屈な作業をスピードアップできます。それはだ、データベースによって制限され、あなたが使用しています。


それは興味深い発見です。このサイトは独立しており、すぐに役立つ回答を提供することが望ましいので、このような参照には、関連する結論の独自の要約を添付することをお勧めします。ここでこれをしてもらえますか?私がこの論文を非常にすばやく読んだのは、空間的な関係に関するクエリの処理ではなく、Webベースのデータから地理的属性を抽出することに焦点を当てている可能性があることを示唆しています
whuber

@whuber。OK、ヒントをありがとう。将来の回答のためにそれを考慮します。
パブロ

2
1 SQLについての不幸な事はその空間的な響きの予約語のように多くは、ほとんど、またはスペースとは何の関係も持っているということである:、、、INなどFROM
カークKuykendall

@カークおかしい、私はそれをそのように考えたことはありません。場所とスペースの違いは、男に頭痛を与えるのに十分です。:)
ナサナス

@nathanusええ、それから、dbmsが最も近い一致する通りを見つけるために使用できる2つのsoundexe間の字句距離の概念さえあります。
カーク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.