Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Поддержка двумерных данных  [new]
SimSim
Member

Откуда: С.-Петербург
Сообщений: 4
Доброго времени суток!

Существует ли расширение для MS SQL 2000 с поддержкой двумерных данных? Хочется хранить в базе многоугольники и быстро выполнять запросы: найти все многоугольники содержащие заданную точку или найти все многоугольники пересекающиеся с заданным.

Заранее спасибо.
6 ноя 03, 13:37    [408872]     Ответить | Цитировать Сообщить модератору
 Re: Поддержка двумерных данных  [new]
boogier
Member

Откуда: Н.Новгород
Сообщений: 220
Для хранения двумерных данных
Create table t (x int, y int)


Для хранения трехмерных данных
Create table t (x int, y int, z int)
6 ноя 03, 13:46    [408907]     Ответить | Цитировать Сообщить модератору
 Re: Поддержка двумерных данных  [new]
YuriAM
Member

Откуда:
Сообщений: 829
Нельзя быть настолько ленивым, чтобы не писать "AND"
6 ноя 03, 13:46    [408909]     Ответить | Цитировать Сообщить модератору
 Re: Поддержка двумерных данных  [new]
ValeraS
Member

Откуда: из подмосковной тайги
Сообщений: 82
Поддержка обработки геометрических данных есть в Oracle, называется Oracle Spatial.
В MS SQL такой штуки не встречал.
6 ноя 03, 13:51    [408917]     Ответить | Цитировать Сообщить модератору
 Re: Поддержка двумерных данных  [new]
SimSim
Member

Откуда: С.-Петербург
Сообщений: 4
ValeraS - спасибо.
Для boogier и YuriAM простенькая задача. В базе лежать несколько сотен тысяч многоугольников (не обязательно выпуклых). Каждый многоугольник состоит от 10 до нескольких тысяч точек. Вопрос - как вы напишите поиск без специальных индексов? Это сколько же AND надо написать? :)

Ну как дети малые, ей богу.
6 ноя 03, 14:06    [408962]     Ответить | Цитировать Сообщить модератору
 Re: Поддержка двумерных данных  [new]
tpg
Member

Откуда: Novosibirsk
Сообщений: 23902
как вы напишите поиск без специальных индексов

А вот про это поподробней можно? Что за индексы такие спецуальные?
6 ноя 03, 14:08    [408967]     Ответить | Цитировать Сообщить модератору
 Re: Поддержка двумерных данных  [new]
SimSim
Member

Откуда: С.-Петербург
Сообщений: 4
Например R-Tree и вариации. Общая идея, как в B-Tree, но условием занесения в ту или иную ветку является попадание в тот или иной объемлющий прямоугольник. На последнем шаге, естественно, придется честно проверить попадание точки в многоугольник, но их уже будет совсем немного.
6 ноя 03, 14:14    [408982]     Ответить | Цитировать Сообщить модератору
 Re: Поддержка двумерных данных  [new]
Павел Воронцов
Member

Откуда: Новосибирск
Сообщений: 2386
Блог
я видел Spatial MS для SQL, но он был корявый (на мой неискушенный взгляд). С другой стороны практически его не пользовал и ничего конкретного сказать не могу. вот тут посмотрите
6 ноя 03, 14:37    [409032]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить