В shapelib я отметил, что достаточное количество кода предназначено для обработки Quadtree Shapefile. Например, инструмент shptreedump (в исходном коде shapelib).Shapefile quadtree в shapelib
warmerda @ GDAL [207]% shptreedump -maxdepth 6 eg_data/polygon.shp ( SHPTreeNode Мин = (471127.19,4751545.00) Макс = (489292.31,4765610.50) Формы (0): (SHPTreeNode Мин = (471127.19,4751545.00) Max = (481118.01,4765610.50) Shapes (0): (SHPTreeNode Min = (471127.19,4751545.00) Max = (481118.01,4759281.03) Shapes (0): (SHPTreeNode Min = (471127.19,4751545.00) Макс = (476622,14,4759281,03) Sh приматы (0): (SHPTreeNode Min = (471127.19,4751545.00) Max = (476622.14,4755799.81) Shapes (0): (SHPTreeNode Min = (471127.19,4751545.00) Max = (474149.41,4755799.81) Формы (6): 395 397 402 404 405 422 ) (SHPTreeNode Min = (473599.92,4751545.00) Max = (476622.14,4755799.81) фигуры (10): 392 394 403 413 414 417 426 433 434 447 ) ) ...
Я думаю, что я хорошо знаком с форматом шейп-файла после прочтения ESRI Shapefile Technical Description. Но я не вижу никакой внутренней структуры дерева. Итак, мой вопрос: для чего нужен quadtree shapefile? И если это возможно, с объяснением реализации quadtree шейп-файла.
Спасибо.
+1 Благодарим вас, это помогает, хотя оно напрямую не касается моего вопроса. – lulyon
Обозначение lisp объясняет структуру дерева. Квадратура представляет собой пространственное разложение 2d-пространства в области, идентифицированные двумя противоположными углами, чтобы вы могли быстро найти точку. Это обобщение двоичного дерева, которое предназначено для поиска «чисел» в 1d-пространстве. Википедия станет хорошим началом для деталей реализации. – user1666959