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?
geoprocessing
analysis
Matthew Snape
quelle
quelle
Antworten:
Ich kann mir nur drei Arten von räumlichen Abfragen vorstellen, bei denen alle auf Attributen oder Hashes basierenden Abfragen ignoriert werden.
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 :
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 .
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):
Es enthält auch eine Terminologie für 3D-Features (Körper und Oberfläche), die in DE-I9M nicht enthalten sind.
quelle
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 .
quelle