Способы выражения географических вопросов в машиночитаемой форме

22

Основная концепция ГИС - отвечать на вопросы о наборах данных. С точки зрения базы данных; SQL с пространственными расширениями - это способ задать такие вопросы. Какими еще способами можно выразить вопросы в машиночитаемой текстовой форме? Каковы преимущества разных подходов?

Мэтью Снейп
источник
2
+1 Было бы интересно услышать альтернативы операторам Клементини
Кирк Кайкендалл
@ Whuber, я должен был быть более конкретным. Меня интересуют альтернативы операторам Клементини в запросах ArcGIS или запросы к базам данных, к которым может подключаться ArcGIS. Хотя на первый взгляд Клементини кажется как человек, так и машиночитаемым, мне , как человеку, часто трудно .
Кирк Куйкендалл
1
@Kirk Хорошо, но похоже, что ArcGIS испытывает трудности, а не вы! :-) Интересно, что Клеминтини и его коллеги заканчивают свою оригинальную статью замечанием «Еще один пункт в нашем списке пожеланий связан с проверкой, действительно ли метод на основе исчисления действительно подходит для конечных пользователей».
whuber
1
@ Matthew Не могли бы вы немного прояснить сферу "вопросов", которые вас интересуют? Например, вас в основном интересуют вопросы, ответы на которые выявляются путем обнаружения и обработки пространственных связей между объектами (для которых, вероятно, потребуется мощность ГИС) или достаточно просто посмотреть статические атрибуты отдельных именованных объектов или местоположений ( которые не нуждаются в пространственной обработке)?
whuber

Ответы:

7

Я могу думать только о 3 типах пространственных запросов, игнорируя любые атрибуты или запросы на основе хеша.

  1. Пространственные запросы основаны на геометрии и используются для нахождения связей между векторными объектами. SQL пространственные запросы действительно просто alogorithms API низкого уровня , такие как Bentley-Ottmann - используемые в OpenLayers , чтобы проверить , если две линии пересекаются.

    Как упоминал Кирк, типы отношений между объектами стандартизированы в расширенной по размеру модели из девяти пересечений :

    • Равно
    • Disjoint
    • Intersects
    • Прикосновения (встречается)
    • Кресты
    • Внутри (внутри)
    • Содержит
    • Перекрытия
    • Крышки
    • Покрыта

    Можно утверждать, что пространственные запросы на основе индексов являются упрощенной формой геометрических запросов. Большинство запросов геометрии используют пространственный индекс в качестве запроса первого прохода, чтобы отфильтровать нерелевантные объекты перед сравнением отдельных геометрий, что требует больше времени. Они также реализованы в базах данных NoSQL, таких как MongoDB .

  2. Пространственные запросы на основе теории графов . Эти типы запросов реализуются в ГИС с помощью таких инструментов, как Network Analyst , и опять же на низком уровне находятся алгоритмы .
  3. Пространственные запросы, основанные на растровых сетках и теории множествтеории нечетких множеств ).

Есть несколько реализаций, которые объединяют вышеперечисленное, например StarSpan, который объединяет растровые и векторные запросы, хотя он действительно скрывает шаг предварительной обработки.

Существует множество API-интерфейсов, которые реализуют эти типы запросов, которые считываются как машинными, так и текстовыми. Там хорошая дискуссия о различных реализациях и их проблемах здесь .


В статье « На пути к трехмерному пространственному запросу» язык разбивает пространственные операторы на 4 типа, основанные на запросе, а не на типе данных (что, возможно, имеет больше смысла):

  1. операторы направления (такие как выше, ниже, север, юг)
  2. топологические операторы (такие как касание, содержат, равно, внутри)
  3. метрические операторы (например, расстояние)
  4. Булевы операторы (такие как объединение, пересечение)

Он также вводит терминологию для работы с трехмерными элементами (корпус и поверхность), которые не включены в DE-I9M.

geographika
источник
Таким образом, за пределами пространственно расширенной модели девяти пересечений мы можем выражать вопросы только в тех формах, которые заимствованы из других областей?
Мэтью Снейп
1
Задайте свой вопрос на любом языке, специфичном для ГИС-домена, который вы пожелаете, но в конце машина выполнит запрос одним из перечисленных выше способов (хотя я могу пропустить некоторые из них).
география
7

1 - Есть некоторые исследования с этим программным обеспечением: http://nlp.uned.es/MLQA06/papers/ferres.pdf
Несмотря на то, что это больше связано с поиском в Интернете, оно может дать некоторые рекомендации о том, как перевести человеческий язык на компьютерный язык.
Google Googling «GeoTALP-Q» также предоставляет больше статей на эту тему.

2- GeoDjango предоставляет API для пространственных запросов, это перевод с SQL на объектно-ориентированный язык, который может ускорить много утомительной работы, такой как написание функций PL / python для сложных пространственных запросов. Это ограничено базой данных, которую вы используете.

Pablo
источник
Это интересная находка. Поскольку нам нравится, что этот сайт стоит отдельно и дает немедленные полезные ответы, лучше всего сопровождать такую ​​ссылку своим собственным кратким изложением соответствующих выводов. Не могли бы вы сделать это здесь? Мое очень быстрое чтение статьи предполагает, что она может быть сосредоточена больше на извлечении географических атрибутов из веб-данных, а не на обработке запросов о пространственных отношениях.
whuber
@whuber. Хорошо, спасибо за совет. Я приму это во внимание для будущих ответов.
Пабло
2
+1 Неудачная вещь в SQL состоит в том, что многие из его пространственно звучащих зарезервированных слов не имеют ничего общего с пространством: ГДЕ, ОТ, В и т. Д.
Кирк Куйкендалл
@ Кирк Забавно, я никогда не думал об этом, таким образом. Разницы между местом и пространством достаточно, чтобы у парня разболелась голова. :)
Натан
@nathanus Да, и даже есть понятие о лексическом расстоянии между двумя орудиями, которое может использоваться БДМ для поиска ближайшей подходящей улицы.
Кирк Куйкендалл