0

shapelibでは、かなりの量のコードが Shapefile quadtree を処理するためのものであることに気付きました。たとえば、ツール shptreedump (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) 最大 = (408111) ,4765610.50) 形状 (0): ( SHPTreeNode 最小 = (471127.19,4751545.00) 最大 = (481118.01,4759281.03) 形状 (0): ( SHPTreeNode 最小 = (471127.19,4751545.00) 最大 = (476622.14,4750)3:9281 形状( SHPTreeNode 最小 = (471127.19,4751545.00) 最大 = (476622.14,4755799.81) 形状 (0): ( SHPTreeNode 最小 = (471127.19,4751545.00) 最大 = (474149.41,4755799.81) 形状 (6): 395 4 2047 SHPTreeNode 最小 = (473599.92,4751545.00) 最大 = (476622.14,4755799.81) 形状 (10): 392 394 403 413 414 417 426 433 434 447 ) ) ...

ESRI Shapefile Technical Descriptionを読んだ後、私はシェープファイル形式にかなり精通していると思います。しかし、内部ツリー構造自体は見えません。私の質問は、シェープファイルの四分木は何のためのものですか? 可能であれば、シェープファイルの quadtree の実装についても説明します。

ありがとう。

4

1 に答える 1

2

引用されたテキストの最後を見ると、止まったところにたくさんの閉じ括弧があります...古き良きLispスタイルのエンコーディング:

(R (st1 (st21 () () () ()) () () ()) (st2) (st3) (st4))

R はツリーのルートを表し、() には 4 つのサブツリーと実際のデータ st1 があり、4 つのサブツリーを st1...st4 で示しました。st21 は、第 2 レベルの最初のサブツリーを表します。サブツリーにはラベルを付けることができます。または、それらのいずれかが空の場合は () で示されます。解析して印刷するのは簡単です。

于 2013-08-13T07:34:37.753 に答える