Möglichkeiten, geografische Fragen in maschinenlesbarer Form auszudrücken


22

Ein Kernkonzept von GIS ist die Beantwortung von Fragen zu Datensätzen. Aus der Sicht einer Datenbank; SQL mit räumlichen Erweiterungen ist eine Möglichkeit, solche Fragen zu stellen. Welche anderen Möglichkeiten gibt es, Fragen in maschinenlesbarer, textbasierter Form auszudrücken? Was sind die Vorteile verschiedener Ansätze?


2
+1 Möchten Sie Alternativen zu Clementini Operators
Kirk Kuykendall


@whuber, ich hätte genauer sein sollen. Ich interessiere mich für Alternativen zu Clementini-Operatoren in ArcGIS-Abfragen oder Abfragen für Datenbanken, mit denen ArcGIS eine Verbindung herstellen kann. Während Clementini auf den ersten Blick sowohl menschlich als auch maschinenlesbar erscheint, habe ich als Mensch oft Schwierigkeiten .
Kirk Kuykendall

1
@Kirk OK, aber es scheint, dass ArcGIS die Schwierigkeiten hat, nicht Sie! :-) Es ist interessant, dass Clemintini et al. Ihre Originalarbeit mit der Bemerkung "Ein weiterer Punkt in unserer Wunschliste betrifft die Prüfung, ob die auf Kalkül basierende Methode wirklich für Endbenutzer geeignet ist."
whuber

1
@Matthew Könnten Sie den Umfang der "Fragen", an denen Sie interessiert sind, etwas klarer formulieren? Sie interessieren sich zum Beispiel hauptsächlich für Fragen, die beantwortet werden, indem räumliche Beziehungen zwischen Merkmalen entdeckt und verarbeitet werden (für deren Ausführung vermutlich die Leistung von GIS erforderlich ist), oder es reicht aus, nur die statischen Attribute einzelner benannter Entitäten oder Orte nachzuschlagen ( welche benötigen keine räumliche bearbeitung)?
whuber

Antworten:


7

Ich kann mir nur drei Arten von räumlichen Abfragen vorstellen, bei denen alle auf Attributen oder Hashes basierenden Abfragen ignoriert werden.

  1. Räumliche Abfragen, die auf Geometrie basieren und zum Ermitteln der Beziehungen zwischen Vektor-Features verwendet werden. SQL räumlichen Abfragen sind wirklich nur ein API niedriges Niveau alogorithms wie Bentley-Ottmann - in Openlayers verwendet zu überprüfen , ob zwei Linien kreuzen.

    Wie Kirk erwähnte, sind die Arten der Beziehung zwischen Merkmalen auf dem dimensional erweiterten Neun-Schnitt-Modell standardisiert :

    • Gleich
    • Disjunkt
    • Schneidet
    • Berührt (trifft)
    • Kreuze
    • Innerhalb
    • Enthält
    • Überlappungen
    • Abdeckungen
    • Überdeckt von

    Es kann argumentiert werden, dass räumliche Abfragen, die auf Indizes basieren, eine vereinfachte Form von Geometrieabfragen sind. Die meisten Geometrieabfragen verwenden einen räumlichen Index als erste Abfrage, um irrelevante Features herauszufiltern, bevor einzelne Geometrien verglichen werden, was zeitaufwendiger ist. Diese sind auch in NoSQL- Datenbanken wie MongoDB implementiert .

  2. Räumliche Abfragen basierend auf der Graphentheorie . Diese Abfragetypen werden in GIS mithilfe von Tools wie Network Analyst implementiert , und auf einer niedrigen Ebene befinden sich Algorithmen .
  3. Räumliche Abfragen basierend auf Raster-Gittern und Mengen-Theorie (und Fuzzy-Mengen-Theorie ).

Es gibt einige Implementierungen, die das oben Genannte kombinieren , wie z. B. StarSpan , das Raster- und Vektorabfragen kombiniert - obwohl es einen Vorverarbeitungsschritt wirklich verbirgt.

Es gibt zahlreiche APIs, die diese Art von Abfragen implementieren, die sowohl maschinen- als auch textlesbar sind. Es gibt eine gute Diskussion über verschiedene Implementierungen und ihre Probleme hier .


In dem Artikel Auf dem Weg zu einer räumlichen 3D-Abfragesprache werden räumliche Operatoren in vier Typen unterteilt, die auf der Abfrage und nicht auf dem Datentyp basieren (was möglicherweise sinnvoller ist):

  1. Richtungsoperatoren (wie oben, unten, Norden, Süden)
  2. topologische Operatoren (wie touch, contain, equal, inside)
  3. Metrische Operatoren (z. B. Entfernung)
  4. Boolesche Operatoren (wie Vereinigung, Schnittmenge)

Es enthält auch eine Terminologie für 3D-Features (Körper und Oberfläche), die in DE-I9M nicht enthalten sind.


Können wir also über das dimensional erweiterte Neun-Schnitt-Modell hinaus Fragen nur in Formen ausdrücken, die von anderen Domänen entlehnt wurden?
Matthew Snape

1
Definieren Sie Ihre Frage in einer beliebigen GIS-Domänensprache, aber am Ende fragt der Computer mit einer der oben genannten Methoden ab (obwohl mir möglicherweise einige fehlen).
geographika

7

1 - Es gibt einige Studien zu dieser Software: http://nlp.uned.es/MLQA06/papers/ferres.pdf
Obwohl sie eher mit Internetsuchen zu tun hat, kann sie einige Hinweise zur Übersetzung von menschlicher Sprache in Computersprache geben.
Googeln 'GeoTALP-Q' bietet auch weitere Artikel zum Thema.

2- GeoDjango bietet eine API für räumliche Abfragen. Es handelt sich um eine Übersetzung von SQL in eine objektorientierte Sprache, die eine Menge mühsamer Arbeit wie das Schreiben von PL / Python- Funktionen für komplexe räumliche Abfragen beschleunigen kann . Es ist durch die von Ihnen verwendete Datenbank begrenzt .


Das ist ein interessanter Fund. Da wir möchten, dass diese Site für sich steht und sofort nützliche Antworten liefert, ist es am besten, eine solche Referenz mit Ihrer eigenen Zusammenfassung der relevanten Schlussfolgerungen zu versehen. Könntest du das hier machen? Meine sehr schnelle Durchsicht des Papiers legt den Schluss nahe, dass es sich eher um das Extrahieren geografischer Attribute aus webbasierten Daten als um das Verarbeiten von Abfragen zu räumlichen Beziehungen handelt.
whuber

@whuber. Ok, danke für den Tipp. Ich werde das für zukünftige Antworten berücksichtigen.
Pablo

2
+1 Das Unglückliche an SQL ist, dass so viele seiner räumlich klingenden reservierten Wörter wenig oder gar nichts mit dem Raum zu tun haben: WO, VON, IN usw.
Kirk Kuykendall

@Kirk Witzig, so habe ich das nie gedacht. Der Unterschied zwischen Ort und Raum reicht aus, um einem Mann Kopfschmerzen zu bereiten. :)
Nathanus

@nathanus Ja, und dann gibt es sogar den Begriff der lexikalischen Distanz zwischen zwei Soundexen, die von einem DBMS verwendet werden können, um die am besten passende Straße zu finden .
Kirk Kuykendall
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.