![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
IntroductionBoost , Chapter 1. Geometry , Spatial Indexes
|
Линейный алгоритм |
Квадратный алгоритм |
R*tree |
Алгоритм упаковки |
|
---|---|---|---|---|
Примерная структура |
|
|
|
|
1M Ценности вставки |
1.76s |
2.47s |
6.19s |
0.64s |
100k пространственные запросы |
2.21s |
0.51s |
0.12s |
0.07s |
100k knn запросы |
6.37s |
2.09s |
0.64s |
0.52s |
Конфигурация машины, используемой для тестирования, была: Intel(R) Core(TM) i7 870 @ 2.93GHz, 8GB RAM, MS Windows 7 x64. Код был составлен с оптимизацией скорости (O2
).
Производительность R-дерева для различных значений параметра Max и Min=0,5*Max представлена в таблице ниже. В двух верхних фигурах вы можете увидеть производительность R-дерева, хранящего случайные, относительно небольшие, не перекрывающиеся, 2d коробки. В нижних производительность R-дерева также хранит случайные, 2d-боксы, но на этот раз довольно большие и, возможно, перекрывающиеся. Как вы можете видеть, производительность R-дерево отличается в обоих случаях.
строительство |
запрос |
|
---|---|---|
не перекрываясь |
|
|
перекрытие |
|
|
Ключевые особенности этой реализации R-дерево:
R-дерево зависит от Boost. Контейнер, Boost.Core, Boost.Move, Boost.MPL, Boost. Ранж, буст.
Пространственный индекс был первоначально запущен Federico J. Fernandez во время программы Google Summer of Code 2008, наученной Хартмутом Кайзером.
Я хотел бы поблагодарить Баренда Герельса, Бруно Лаланде, Матеуш и #321;oskot, Lucanus J. Simonson за их поддержку и идеи.
[1] Gutttman, A. (1984). R-Trees: Динамическая структура индекса для пространственного поиска
[2] Cheung, K.; Fu, A. (1998). Ближайшие соседи Поиск на R-деревье
[3] Грин, D. (1989). Реализация и анализ производительности методов доступа к пространственным данным
[4] Beckmann, N.; Kriegel, H. P.; Schneider, R.; Seeger, B. (1990). Р*-дерево: эффективный и надежный метод доступа для точек и прямоугольников
[5] Leutenegger, Scott T.; Edgington, Jeffrey M.; Lopez, Mario A. (1997). STR: простой и эффективный алгоритм для упаковки R-Tree
[6] Garcia, Yvan J.; Lopez, Mario A.; Leutenegger, Scott T. (1997). Приветственный Алгоритм для навалочных R-деревьев
Статья Introduction раздела Chapter 1. Geometry Spatial Indexes может быть полезна для разработчиков на c++ и boost.
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
:: Главная :: Spatial Indexes ::
реклама |