powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Диаграмма Вороного, поиск ближайшей точки
16 сообщений из 216, страница 9 из 9
Диаграмма Вороного, поиск ближайшей точки
    #39231004
nikichale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
д0kmaytonпропущено...

дОК я тебя умоляю. Ну никто не ответит на твой вопрос.

Это кстате задача по сабжу, только мы ищем не точки ,
а анлогичные объекты ( улицы и перекрестки) .



подругому задача звучит так.
обьект находитесь возле фонтана , и вам нужно найти ближайший к нему фонтан,
Хотя на карте ( квадрате) могут быть и отдельные деревья , скверы ,
автобусные остановки , дома, парковки,
, ну и фонтаны ....

Ну можно сделать составной индекс type+Z-order, но тогда тип нужно задать точно (на равенство)
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39231011
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Z-кривая не отменяет обычных индексов. Это скорее кластеризация
объектов с координатами (x,y) близкими, в соседних HDD blocks.
Я-же собирался использовать в БД Oracle дополнительное поле
z-code как еще одно измерение для оптимизаций.
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39231012
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nikichaleд0k,

Для не точек можно использовать тот же индекс, но кроме Z-порядка нужно еще хранить уровень покрывающих квадратиков. 28+28+8(байт для уровня)=64 - секрет магического числа 28.

Уточнение.
Еще указатели на страницу спарва лева вверху и низу того же уровня .
8*5=40 а страница должна быть 4 к, 8к ......
так как читать из файловой системы меньше чем 4к обейдется дороже чем 4 к.

собственно возврашаясь вопросу оптимизации , как расположить
страницы на диске так , что бы максимальное количество условий поиска обьекта
размазанного по страницам
покрывать мультиблочным чтением не читая лишних страниц
( не содержащих информацию о нужном нам обьекте) .
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39231018
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
nikichaleд0kпропущено...


Это кстате задача по сабжу, только мы ищем не точки ,
а анлогичные объекты ( улицы и перекрестки) .



подругому задача звучит так.
обьект находитесь возле фонтана , и вам нужно найти ближайший к нему фонтан,
Хотя на карте ( квадрате) могут быть и отдельные деревья , скверы ,
автобусные остановки , дома, парковки,
, ну и фонтаны ....

Ну можно сделать составной индекс type+Z-order, но тогда тип нужно задать точно (на равенство)


Аналог PK-FK только c только с разрешенным в FK значением null ( пока не классифицирован ).
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39231027
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
maytonZ-кривая не отменяет обычных индексов. Это скорее кластеризация
объектов с координатами (x,y) близкими, в соседних HDD blocks.
Я-же собирался использовать в БД Oracle дополнительное поле
z-code как еще одно измерение для оптимизаций.


Сходил покурил , поразмыслил и в очередной раз утвердился в мысли 18561522
что лучше иметь много
индексов всяких и разных и их мержить , чем бить пространство на
квадраты и прочие области.
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39231195
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
д0kmaytonZ-кривая не отменяет обычных индексов. Это скорее кластеризация
объектов с координатами (x,y) близкими, в соседних HDD blocks.
Я-же собирался использовать в БД Oracle дополнительное поле
z-code как еще одно измерение для оптимизаций.


Сходил покурил , поразмыслил и в очередной раз утвердился в мысли 18561522
что лучше иметь много
индексов всяких и разных и их мержить , чем бить пространство на
квадраты и прочие области.

У ораклового СВО есть проблемы c мержем индексов , это тема ораклового раздела.
а тут я пытаюсь рассуждуть фундаментально.

В принципе могу привлечь нашего спеца по сбору оракловой статистики СВО,
но судя по затратам на процессоры и диски при сборе статистики
и результатам в планах запрсов овчинка выделки не стоит .

Нам пока не удалось найти оптимальные параметры сбора ститистики что бы заставить СВО
мержить индексы без хинтов, вспоминаем старый добрый деприейтед руле :).

Максимум, на что получилось выйти с более менее пердсказуемым результатом в планах ,
это мерж индексов через джоин таблицы сам с собой.
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39231210
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0kСледующий вопрос ,
у вас есть улица длиной 5 км и шириной 30 м.
Как должно быть построено индексное хранение , что бы тыцнув
мышей в карту в любом месте улицы , получить ее название и координаты
всех перекрестков и названия пересекающих улиц.
Не вычитвая с диска квадрат 5км на 5 км со всеми его обьектами.Для этого надо индексировать не только шейпы, но и дополнительно их ключевые точки, при этом для прямых линий, "слишком протяжённых" в обычном зуме, надо дополнительно накидать точек вдоль линий (и при необходимости штриховку внутри них), а для объектов, слишком больших по площади в этом зуме, надо держать отдельные списки. Перед этим шейпам объектов разных типов назначаются, само собой, разные уровни "обычного зума" и разные уровни зума, при котором объекты вообще скрываются с карты. Тогда вы будете вычитывать квадрат с размером в полторы-две-три характерных ширины улицы, то есть для улицы это будет 50x50 метров.

Правда, тогда полезут большие вопросы производительности для мультилиний со слишком большим количеством точек, но я не уверен, что могу рассказать, как они решаются, не нарушив контракт :|

Но можно этого и не делать. Все улицы квадрата 5x5 километров уютно улягутся в памяти и дадут вам интерактивное время без фокусов. Вот когда всё очертание побережья мирового океана разбито на всего лишь три десятка мультиполигонов, и все изобаты разбиты так же, у вас карта раскрашена 20 слоями изобат с заливкой контуров, и вы даёте зум в Индонезию с её тясячами островов... одним неловким движением мыши в QGIS... вам придётся немножко подождать, прежде чем вы сможете сделать следующее движение карты :)
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39231379
nikichale
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
д0kmaytonZ-кривая не отменяет обычных индексов. Это скорее кластеризация
объектов с координатами (x,y) близкими, в соседних HDD blocks.
Я-же собирался использовать в БД Oracle дополнительное поле
z-code как еще одно измерение для оптимизаций.


Сходил покурил , поразмыслил и в очередной раз утвердился в мысли 18561522
что лучше иметь много
индексов всяких и разных и их мержить , чем бить пространство на
квадраты и прочие области.

Нашел 2000 года статью
"Comparing Z-order B-tree and R-tree Family for Spatial Query Processing"

по http://webcache.googleusercontent.com/search?q=cache:CglmEYxoLcwJ:europa.nvc.cs.vt.edu/~ctlu/Publication/1998-2006/Z-order-B-tree.ps &cd=8&hl=ru&ct=clnk&gl=ru

и вывод, что Z-order B-tree индекс для пространственных выборок не хуже, чем R-tree, но проще.

А тут
http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-indexing-with-Quadtrees-and-Hilbert-Curves
джентлемен все заново изобрел только для точек, но в коментах ему объяснили
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39231421
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nikichaleд0kпропущено...



Сходил покурил , поразмыслил и в очередной раз утвердился в мысли 18561522
что лучше иметь много
индексов всяких и разных и их мержить , чем бить пространство на
квадраты и прочие области.

Нашел 2000 года статью
"Comparing Z-order B-tree and R-tree Family for Spatial Query Processing"

по http://webcache.googleusercontent.com/search?q=cache:CglmEYxoLcwJ:europa.nvc.cs.vt.edu/~ctlu/Publication/1998-2006/Z-order-B-tree.ps &cd=8&hl=ru&ct=clnk&gl=ru

и вывод, что Z-order B-tree индекс для пространственных выборок не хуже, чем R-tree, но проще.

А тут
http://blog.notdot.net/2009/11/Damn-Cool-Algorithms-Spatial-indexing-with-Quadtrees-and-Hilbert-Curves
джентлемен все заново изобрел только для точек, но в коментах ему объяснилиС 2000 года в СУБД поменялось почти всё :)
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39231466
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39232114
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruНо можно этого и не делать. Все улицы квадрата 5x5 километров уютно улягутся в памяти и дадут вам интерактивное время без фокусов. Вот когда всё очертание побережья мирового океана разбито на всего лишь три десятка мультиполигонов, и все изобаты разбиты так же, у вас карта раскрашена 20 слоями изобат с заливкой контуров , и вы даёте зум в Индонезию с её тясячами островов... одним неловким движением мыши в QGIS... вам придётся немножко подождать, прежде чем вы сможете сделать следующее движение карты :)


Я так думаю ИМХО, с фунтаментальной точки зрения,
на определенном масштабе математика оптимального хранения
должна быть другая .
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39232336
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0k Я так думаю ИМХО, с фунтаментальной точки зрения,
на определенном масштабе математика оптимального хранения
должна быть другая . Фракталы хороши только тогда, когда ты сначала рисуешь побережье, а потом приводишь местность в соотвествие с картой. Ну а вообще да, для мелкого хранения нужны уже не изобаты, а просто 3D-треугольная сетка. Одна беда --- если есть именно изобаты, да ещё заранее неизвестно, валидны ли они, то к 3d сетке без потерь данных не перейти.
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39232360
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruд0k Я так думаю ИМХО, с фунтаментальной точки зрения,
на определенном масштабе математика оптимального хранения
должна быть другая . Фракталы хороши только тогда, когда ты сначала рисуешь побережье, а потом приводишь местность в соотвествие с картой. Ну а вообще да, для мелкого хранения нужны уже не изобаты, а просто 3D-треугольная сетка. Одна беда --- если есть именно изобаты, да ещё заранее неизвестно, валидны ли они, то к 3d сетке без потерь данных не перейти.


Я не понял, что вы имеете ввиду( выделено).

Карта уже нарисована , ее нужно оптимально хранить и быстро искать участки .
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39232421
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребяты. Фракталы и прочие аты-баты - совсем срыв мозка. Мы так далеко уеедем от темы.
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39232432
Фотография iv_an_ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
д0kiv_an_ruпропущено...
Фракталы хороши только тогда, когда ты сначала рисуешь побережье, а потом приводишь местность в соотвествие с картой. Ну а вообще да, для мелкого хранения нужны уже не изобаты, а просто 3D-треугольная сетка. Одна беда --- если есть именно изобаты, да ещё заранее неизвестно, валидны ли они, то к 3d сетке без потерь данных не перейти.


Я не понял, что вы имеете ввиду( выделено).

Карта уже нарисована , ее нужно оптимально хранить и быстро искать участки .Тогда фракталы не нужны.
...
Рейтинг: 0 / 0
Диаграмма Вороного, поиск ближайшей точки
    #39232681
д0k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
iv_an_ruд0kпропущено...



Я не понял, что вы имеете ввиду( выделено).

Карта уже нарисована , ее нужно оптимально хранить и быстро искать участки .Тогда фракталы не нужны.

не согласен

Теже "четревья", вид с боку .....

зы я пытаюсь рассуждать о формате оптимального хранения ....
...
Рейтинг: 0 / 0
16 сообщений из 216, страница 9 из 9
Форумы / Программирование [игнор отключен] [закрыт для гостей] / Диаграмма Вороного, поиск ближайшей точки
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]