Um conceito central do GIS é responder a perguntas sobre conjuntos de dados. Do ponto de vista de um banco de dados; SQL com extensões espaciais é uma maneira de fazer essas perguntas. De que outras maneiras as perguntas podem ser expressas em um formulário baseado em texto legível por máquina? Quais são os benefícios de diferentes abordagens?
geoprocessing
analysis
Matthew Snape
fonte
fonte
Respostas:
Só consigo pensar em três tipos de consulta espacial, ignorando qualquer atributo ou consulta baseada em hash.
Consultas espaciais baseadas na geometria e são usadas para encontrar os relacionamentos entre os recursos do vetor. As consultas espaciais do SQL são realmente apenas um alogoritmo de baixo nível da API, como o Bentley-Ottmann - usado no OpenLayers para verificar se duas linhas se cruzam.
Como Kirk mencionou, os tipos de relacionamento entre os recursos padronizaram o modelo de nove interseções estendido dimensionalmente :
Pode-se argumentar que as consultas espaciais baseadas em índices são uma forma simplificada de consultas de geometria. A maioria das consultas de geometria usa um índice espacial como uma consulta de primeira passagem para filtrar recursos irrelevantes antes de comparar geometrias individuais, que consomem mais tempo. Eles também são implementados em bancos de dados NoSQL , como o MongoDB .
Existem algumas implementações que combinam as opções acima, como o StarSpan, que combina consultas de varredura e vetor - embora oculte realmente uma etapa de pré-processamento.
Existem inúmeras APIs que implementam esses tipos de consultas legíveis por máquina e texto. Há uma boa discussão sobre diferentes implementações e seus problemas aqui .
O artigo Towards a 3d Spatial Query Language divide os operadores espaciais em 4 tipos, com base na consulta e não no tipo de dados (o que talvez faça mais sentido):
Ele também traz terminologia para lidar com os recursos 3D (corpo e superfície), que não estão incluídos no DE-I9M.
fonte
1 - Existem alguns estudos com este software: http://nlp.uned.es/MLQA06/papers/ferres.pdf
Apesar de mais relacionado a pesquisas na Internet, ele pode fornecer algumas orientações sobre como traduzir a linguagem humana para a linguagem de computador.
Googling 'GeoTALP-Q' também fornece mais artigos sobre o assunto.
2- O GeoDjango fornece uma API para consultas espaciais, é uma tradução do SQL para uma linguagem orientada a objetos que pode acelerar muito trabalho tedioso, como escrever funções PL / python para consultas espaciais complexas. É limitado pelo banco de dados que você usa.
fonte