Основная концепция ГИС - отвечать на вопросы о наборах данных. С точки зрения базы данных; SQL с пространственными расширениями - это способ задать такие вопросы. Какими еще способами можно выразить вопросы в машиночитаемой текстовой форме? Каковы преимущества разных подходов?
geoprocessing
analysis
Мэтью Снейп
источник
источник
Ответы:
Я могу думать только о 3 типах пространственных запросов, игнорируя любые атрибуты или запросы на основе хеша.
Пространственные запросы основаны на геометрии и используются для нахождения связей между векторными объектами. SQL пространственные запросы действительно просто alogorithms API низкого уровня , такие как Bentley-Ottmann - используемые в OpenLayers , чтобы проверить , если две линии пересекаются.
Как упоминал Кирк, типы отношений между объектами стандартизированы в расширенной по размеру модели из девяти пересечений :
Можно утверждать, что пространственные запросы на основе индексов являются упрощенной формой геометрических запросов. Большинство запросов геометрии используют пространственный индекс в качестве запроса первого прохода, чтобы отфильтровать нерелевантные объекты перед сравнением отдельных геометрий, что требует больше времени. Они также реализованы в базах данных NoSQL, таких как MongoDB .
Есть несколько реализаций, которые объединяют вышеперечисленное, например StarSpan, который объединяет растровые и векторные запросы, хотя он действительно скрывает шаг предварительной обработки.
Существует множество API-интерфейсов, которые реализуют эти типы запросов, которые считываются как машинными, так и текстовыми. Там хорошая дискуссия о различных реализациях и их проблемах здесь .
В статье « На пути к трехмерному пространственному запросу» язык разбивает пространственные операторы на 4 типа, основанные на запросе, а не на типе данных (что, возможно, имеет больше смысла):
Он также вводит терминологию для работы с трехмерными элементами (корпус и поверхность), которые не включены в DE-I9M.
источник
1 - Есть некоторые исследования с этим программным обеспечением: http://nlp.uned.es/MLQA06/papers/ferres.pdf
Несмотря на то, что это больше связано с поиском в Интернете, оно может дать некоторые рекомендации о том, как перевести человеческий язык на компьютерный язык.
Google Googling «GeoTALP-Q» также предоставляет больше статей на эту тему.
2- GeoDjango предоставляет API для пространственных запросов, это перевод с SQL на объектно-ориентированный язык, который может ускорить много утомительной работы, такой как написание функций PL / python для сложных пространственных запросов. Это ограничено базой данных, которую вы используете.
источник