Formas de expresar preguntas geográficas en forma legible por máquina

22

Un concepto central de SIG es responder preguntas sobre conjuntos de datos. Desde el punto de vista de una base de datos; SQL con extensiones espaciales es una forma de hacer tales preguntas. ¿De qué otras maneras se pueden expresar las preguntas en un formato basado en texto legible por máquina? ¿Cuáles son los beneficios de los diferentes enfoques?

Matthew Snape
fuente
2
+1 Estaría interesado en escuchar alternativas a los operadores de Clementini
Kirk Kuykendall
@whuber, debería haber sido más específico. Estoy interesado en alternativas a los operadores de Clementini en consultas de ArcGIS, o consultas en bases de datos a las que ArcGIS puede conectarse. Si bien a primera vista, Clementini parece humano y legible por máquina, como humano a menudo tengo dificultades .
Kirk Kuykendall
1
@Kirk OK, ¡pero parece que ArcGIS está teniendo dificultades, no tú! :-) Es interesante que Clemintini et al terminen su trabajo original con la observación "Otro punto en nuestra lista de deseos está relacionado con la prueba de si el método basado en el cálculo es realmente adecuado para los usuarios finales".
whuber
1
@Matthew ¿Podría ser un poco más claro sobre el alcance de las "preguntas" en las que está interesado? Por ejemplo, ¿está interesado principalmente en preguntas que se responden descubriendo y procesando relaciones espaciales entre características (que presumiblemente necesitarían el poder de SIG para llevar a cabo) o sería suficiente solo buscar atributos estáticos de entidades o ubicaciones con nombre individuales ( que no necesita procesamiento espacial)?
whuber

Respuestas:

7

Solo puedo pensar en 3 tipos de consultas espaciales, ignorando cualquier atributo o consultas basadas en hash.

  1. Consultas espaciales basadas en la geometría, y se utilizan para encontrar las relaciones entre entidades vectoriales. Las consultas espaciales de SQL son realmente solo un algoritmo de API de bajo nivel como Bentley-Ottmann , utilizado en OpenLayers para verificar si dos líneas se cruzan.

    Como Kirk mencionó, los tipos de relación entre características se han estandarizado en el modelo de nueve intersecciones dimensionalmente extendido :

    • Igual a
    • Desarticular
    • Se cruza
    • Toques (se encuentra)
    • Cruces
    • En el interior)
    • Contiene
    • Solapamientos
    • Cubiertas
    • Cubierto por

    Se puede argumentar que las consultas espaciales basadas en índices son una forma simplificada de consultas de geometría. La mayoría de las consultas de geometría usan un índice espacial como una consulta de primer paso para filtrar características irrelevantes antes de comparar geometrías individuales, lo que consume más tiempo. Estos también se implementan en bases de datos NoSQL como MongoDB .

  2. Consultas espaciales basadas en la teoría de grafos . Estos tipos de consulta se implementan en SIG a través de herramientas como Network Analyst , y nuevamente en un nivel bajo son algoritmos .
  3. Consultas espaciales basadas en cuadrículas de trama y teoría de conjuntos (y teoría de conjuntos difusa ).

Hay algunas implementaciones que combinan lo anterior, como StarSpan que combina consultas de ráster y de vectores, aunque realmente oculta un paso de preprocesamiento.

Existen numerosas API que implementan este tipo de consultas que son legibles tanto por máquina como por texto. Hay una buena discusión sobre las distintas aplicaciones y sus problemas aquí .


El documento Towards a 3d Spatial Query Language divide los operadores espaciales en 4 tipos, en función de la consulta en lugar del tipo de datos (lo que quizás tenga más sentido):

  1. operadores direccionales (como arriba, abajo, norte de, sur de)
  2. operadores topológicos (como tocar, contener, igual, dentro)
  3. operadores métricos (como la distancia)
  4. Operadores booleanos (como unión, intersección)

También trae terminología para tratar con características 3D (cuerpo y superficie), que no están incluidas en DE-I9M.

geographika
fuente
Entonces, más allá del modelo de nueve intersecciones dimensionalmente extendido, ¿solo podemos expresar preguntas en formas que se toman prestadas de otros dominios?
Matthew Snape
1
Defina su pregunta en cualquier lenguaje específico de dominio SIG que desee, pero al final la máquina consultará utilizando uno de los métodos anteriores (aunque es posible que me falten algunos).
geographika
7

1 - Hay algunos estudios con este software: http://nlp.uned.es/MLQA06/papers/ferres.pdf
A pesar de que está más relacionado con las búsquedas en Internet, podría proporcionar alguna orientación sobre cómo traducir el lenguaje humano al lenguaje de computadora.
Buscar en Google 'GeoTALP-Q' también proporciona más artículos sobre el tema.

2- GeoDjango proporciona una API para consultas espaciales, es una traducción de SQL a un lenguaje orientado a objetos que puede acelerar mucho trabajo tedioso como escribir funciones PL / python para consultas espaciales complejas. Está limitado por la base de datos que usa.

Pablo
fuente
Ese es un hallazgo interesante. Debido a que nos gusta que este sitio sea independiente y brinde respuestas útiles de inmediato, es mejor acompañar una referencia como esta con su propio resumen de sus conclusiones relevantes. ¿Podrías hacer esto aquí? Mi lectura muy rápida del artículo sugiere que puede centrarse más en extraer atributos geográficos de datos basados ​​en la web que en procesar consultas sobre relaciones
whuber
@whuber. Ok, gracias por el consejo. Lo tendré en cuenta para futuras respuestas.
Pablo
2
1 Lo lamentable de SQL es que muchos de sus palabras que suenan espaciales reservados tienen poco o nada que ver con el espacio: donde, a partir, etc. EN
Kirk Kuykendall
@ Kirk Gracioso, nunca lo pensé de esa manera. La diferencia entre ubicación y espacio es suficiente para causarle dolor de cabeza a un hombre. :)
Nathanus
@nathanus Sí, y luego incluso existe la noción de distancia léxica entre dos índices de sonido que pueden ser utilizados por un dbms para encontrar la calle más cercana .
Kirk Kuykendall