GIS的核心概念是回答有关数据集的问题。从数据库的角度来看;具有空间扩展的SQL是询问此类问题的一种方式。可以通过基于机器可读文本的形式来表达问题吗?不同方法的好处是什么?
GIS的核心概念是回答有关数据集的问题。从数据库的角度来看;具有空间扩展的SQL是询问此类问题的一种方式。可以通过基于机器可读文本的形式来表达问题吗?不同方法的好处是什么?
Answers:
我只能想到3种类型的空间查询,而忽略任何基于属性或基于哈希的查询。
基于几何的空间查询,用于查找矢量特征之间的关系。SQL空间查询其实只是一个API低水平alogorithms如宾利奥特曼 - 在使用的OpenLayers检查,如果两线相交。
正如Kirk所提到的,特征之间的关系类型已在尺寸扩展的九相交模型上标准化:
可以说基于索引的空间查询是几何查询的简化形式。大多数几何查询在比较单个几何之前会使用空间索引作为首过查询来过滤掉不相关的特征,这比较耗时。这些也可以在NoSQL数据库(例如MongoDB)中实现。
有一些实现将上述功能结合在一起,例如将栅格和向量查询结合在一起的StarSpan-尽管它实际上隐藏了预处理步骤。
有许多实现这些机器和文本可读的查询类型的API。有不同的实现和他们的问题好好讨论在这里。
本文建立一个三维空间查询语言打破空间算为4种类型,根据查询,而不是数据类型(这或许更有意义):
它还引入了用于处理3D特征(身体和表面)的术语,这些特征未包含在DE-I9M中。
1-对该软件进行了一些研究:http : //nlp.uned.es/MLQA06/papers/ferres.pdf
尽管它与Internet搜索更为相关,但它可以为如何将人类语言翻译为计算机语言提供一些指导。
谷歌搜索“ GeoTALP-Q”还提供了有关该主题的更多文章。
2- GeoDjango提供了用于空间查询的API,它是从SQL到面向对象的语言的转换,可以加快许多繁琐的工作,例如为复杂的空间查询编写PL / python函数。它受您使用的数据库的限制。