SQL Server GEOGRAPHY_GRID x & y range - PullRequest
       26

SQL Server GEOGRAPHY_GRID x & y range

1 голос
/ 23 ноября 2010

У меня есть таблица, которая должна записывать географические точки (long, lat) для всего мира.Входные данные являются традиционными продольными и широтными (-180, -90, 180, 90).

Я создал столбец географии и хочу его проиндексировать.Тем не менее, есть много вариантов, и MSDN не указывает на лучшие практики.У меня есть следующие вопросы:

  1. Я предполагаю, что GRIDS = (LEVEL_1 = HIGH, LEVEL_2 = HIGH, LEVEL_3 = HIGH, LEVEL_4 = HIGH) лучше всего подходит для сеток.Это создаст максимально возможное разрешение на широте ≈ 611,5 м.Я видел пример с другими вариантами.Что лучше?
  2. Поскольку я записываю только точки, я предполагаю, что CELLS_PER_OBJECT = 1 является правильным?
  3. Каков диапазон минимальных и максимальных значений для x & y для GEOGRAPHY_GRID?См. # 4.
  4. Ссылаясь на № 3 выше, мне нужно будет преобразовать традиционные продольные и широтные (-180, -90, 180, 90) данные в любой диапазон, который использует GEOGRAPHY_GRID, чтобы правильно использоватьсетки?

Ответы [ 2 ]

1 голос
/ 23 ноября 2010

1.) И 2.) Важно помнить, что одна и та же сетка используется не только для тесселяции данных в столбце, для которого создается индекс, но и для любого параметра запроса, который вы используете. используя для проверки этих данных. Рассмотрим следующий запрос:

SELECT * FROM Table, ГДЕ GeomColumn.STIntersects (@MyPoly) = 1

Предполагая, что вы создали пространственный индекс в GeomColumn, тогда та же самая сетка будет применена к @MyPoly для выполнения первичной фильтрации результатов. Таким образом, вы выбираете не только сетку, основанную на том, что находится в вашей таблице, но и тип запроса, который вы будете использовать для этих данных. На практике то, что является «лучшим», очень субъективно, основываясь на ваших данных. Я бы всегда рекомендовал вам начинать со СРЕДНЕГО, СРЕДНЕГО, СРЕДНЕГО, СРЕДНЕГО, а затем попробовать отрегулировать его оттуда, чтобы увидеть, улучшаете ли вы производительность на основе эмпирических тестов.

3.) И 4.) Вы не устанавливаете ограничивающую рамку для типа географии - предполагается, что все географические индексы неявно охватывают весь земной шар. Это одна из причин того, что геометрия обычно является более быстродействующим типом данных, чем география, потому что ячейки индекса геометрии могут обеспечить более высокое разрешение в ограниченной географической области.

0 голосов
/ 11 декабря 2010

Я нашел ответ на 3, 4: SRID 4326 (-180.0000, -90.0000, 180.0000, 90.0000)

...