Oracle Spatial, вычисления вдоль длинного линейного
-
- Участник
- Сообщения: 56
- Зарегистрирован: 15 май 2013, 12:41
- Репутация: 1
Oracle Spatial, вычисления вдоль длинного линейного
Подскажите, пожалуйста как увеличить скорость вычислений вдоль длинного линейного объекта.
Грубо говоря есть дорога 1000 км и нужно найти населенные пункты на заданном расстоянии от неё.
Сейчас строю буфер вокруг дорого(sdo_buffer) и с помощью SDO_WITHIN_DISTANCE ищу НП на нулевой дистанции.
Работает очень медленно.
Грубо говоря есть дорога 1000 км и нужно найти населенные пункты на заданном расстоянии от неё.
Сейчас строю буфер вокруг дорого(sdo_buffer) и с помощью SDO_WITHIN_DISTANCE ищу НП на нулевой дистанции.
Работает очень медленно.
-
- Гуру
- Сообщения: 5292
- Зарегистрирован: 09 апр 2010, 19:30
- Репутация: 1015
- Ваше звание: просто мимо прохожу
- Откуда: Ё-бург
Re: Oracle Spatial, вычисления вдоль длинного линейного
построить граф
-
- Участник
- Сообщения: 56
- Зарегистрирован: 15 май 2013, 12:41
- Репутация: 1
Re: Oracle Spatial, вычисления вдоль длинного линейного
Заменил SDO_WITHIN_DISTANCE на SDO_ANYINTERACT, получилось гораздо шустрее.
По Oracle Spatial мало инфы на русском. Есть на английском одна хорошая, сижу вкуриваю её.
По Oracle Spatial мало инфы на русском. Есть на английском одна хорошая, сижу вкуриваю её.
- SergeyRyzhkov
- Гуру
- Сообщения: 909
- Зарегистрирован: 02 июл 2014, 19:13
- Репутация: 203
- Ваше звание: GP-экотеррористы
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Oracle Spatial, вычисления вдоль длинного линейного
Естественно шустрее , логика то операторов совершенно разная и как следствие математика у SDO_WITHIN_DISTANCE намного сложнее.
Еще в таких случаях желательно приводить запрос целиком, писать про наличие индексов и т.д.
http://docs.oracle.com/cd/B28359_01/app ... #SPATL1023
Еще в таких случаях желательно приводить запрос целиком, писать про наличие индексов и т.д.
http://docs.oracle.com/cd/B28359_01/app ... #SPATL1023
-
- Участник
- Сообщения: 56
- Зарегистрирован: 15 май 2013, 12:41
- Репутация: 1
Re: Oracle Spatial, вычисления вдоль длинного линейного
Подскажите ещё, пожалуйста.
Какую функцию(процедуру) использовать чтобы найти ближайший площадной объект от точки.
SDO_NN, как я понял, ищет ближайшую точку на площадных объектах.
Какую функцию(процедуру) использовать чтобы найти ближайший площадной объект от точки.
SDO_NN, как я понял, ищет ближайшую точку на площадных объектах.
- SergeyRyzhkov
- Гуру
- Сообщения: 909
- Зарегистрирован: 02 июл 2014, 19:13
- Репутация: 203
- Ваше звание: GP-экотеррористы
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Oracle Spatial, вычисления вдоль длинного линейного
Не совсем понял
SDO_NN находит ближайшие объекты к заданной,
Например,находим все объекты ближайшие к точке (создаем сами геометрию sdo_geometry(...)
Далее делаем запрос, в котором выводим расстояния от точки до объектов
Свои запросы не стал приводить - они слишком сложные, брал пример с:
Источник: http://www.oraclegis.com/blog/?p=2622
Еще небольшой, но важный тюнинг можно посмотреть
https://blogs.oracle.com/oraclespatial/ ... ing_sdo_nn
SDO_NN находит ближайшие объекты к заданной,
Например,находим все объекты ближайшие к точке (создаем сами геометрию sdo_geometry(...)
Код: Выделить всё
SDO_NN(c.shape, sdo_geometry(2001, NULL, sdo_point_type(10,7,NULL), NULL, NULL),
‘sdo_num_res=2′, 1)
Код: Выделить всё
SELECT c.mkt_id, c.name, SDO_NN_DISTANCE(1) dist
FROM cola_markets c
WHERE SDO_NN(c.shape, sdo_geometry(2001, NULL,
sdo_point_type(10,7,NULL), NULL, NULL),
‘sdo_num_res=2′, 1) = ‘TRUE’ ORDER BY dist;
Источник: http://www.oraclegis.com/blog/?p=2622
Еще небольшой, но важный тюнинг можно посмотреть
https://blogs.oracle.com/oraclespatial/ ... ing_sdo_nn
- SergeyRyzhkov
- Гуру
- Сообщения: 909
- Зарегистрирован: 02 июл 2014, 19:13
- Репутация: 203
- Ваше звание: GP-экотеррористы
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Oracle Spatial, вычисления вдоль длинного линейного
Еще для ораклистов, советую стадибук (по спешл) в аттаче.
Старенькая, но толковая.
Старенькая, но толковая.
- Вложения
-
- D56709GC10_sg1.pdf
- (3.26 МБ) 849 скачиваний
-
- Участник
- Сообщения: 56
- Зарегистрирован: 15 май 2013, 12:41
- Репутация: 1
Re: Oracle Spatial, вычисления вдоль длинного линейного
Благодарю за разъяснения и за бук!
Кто сейчас на конференции
Сейчас этот форум просматривают: Bing [Bot] и 39 гостей