Changes between Version 1 and Version 2 of ShpTree


Ignore:
Timestamp:
Jan 28, 2009, 10:46:12 AM (15 years ago)
Author:
jmckenna
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ShpTree

    v1 v2  
    55----
    66
    7 The ShpTree utility creates spatial index files (.qix) for a single shapefile. !MapServer will take advantage of these spatial index files to more rapidly identify the shapefiles that are needed to render a particular map extents.
     7The shptree utility creates spatial index files (.qix) for a single shapefile. !MapServer will take advantage of these spatial index files to more rapidly identify the shapefiles that are needed to render a particular map extents.
    88
    99Note that the .qix file does not provide any indexing for attribute queries, and is unrelated to the shapefile tile index created by tile4ms.
     
    3737== Old vs. New Format ==
    3838
    39 At this time I am not sure what the differences are between old and new formats. The new format seems to be smaller in the cases I have tried. Hopefully the developers (SteveLime / CarlAnderson) will add notes here.
     39At this time I am not sure what the differences are between old and new formats. The new format seems to be smaller in the cases I have tried. Hopefully the developers (Steve Lime / Carl Anderson) will add notes here.
    4040
    4141The New format is essentially the old format with a header added to explicitly indicate the byte order of the index, and a version number. This was in preparation for a (as of yet) unsubmitted work to add a integer based index in addition to the current (double) floating point index.
     
    5656== History ==
    5757
    58 The original shapetree (in memory) indexing work was done by FrankWarmerdam within the ShapeLib distribution. It was adapted for MapServer, and improved by SteveLime and CarlAnderson. I am not sure which was responsible for the format rewrite (the new format).
     58The original shapetree (in memory) indexing work was done by Frank Warmerdam within the !ShapeLib distribution. It was adapted for !MapServer, and improved by Steve Lime and Carl Anderson. I am not sure which was responsible for the format rewrite (the new format).
    5959
    60 The original shptree only did native order indexes. Carl was trying to use Mapserver in a mixed server environment and added some byte swapping code. The old code was adjusted to guess byte order without changing the file format. The new format added a header with a tag "SQT", a byte order, and a format version number to allow future changes to be correctly detected.
     60The original shptree only did native order indexes. Carl was trying to use !MapServer in a mixed server environment and added some byte swapping code. The old code was adjusted to guess byte order without changing the file format. The new format added a header with a tag "SQT", a byte order, and a format version number to allow future changes to be correctly detected.
    6161
    6262At that time Carl also was having problems generating shptree indexes on machines with limited memory. The integer format is an attempt to reduce the index size and to speed up the indexing operation.