<div dir="ltr">Hi all,<div><br><div>Starting from <a href="https://github.com/drwelby/hasbeen">https://github.com/drwelby/hasbeen</a> I've implemented an SBN shapefile indexing routine in C++. I'm happy, so far, with the results; I've used it for a few weeks now.</div>
<div>With some work it could be integrated into OGR.</div><div>Question is, how much interest, considering pros and cons of my implementation?</div><div><br></div><div>On the plus side:</div><div>- except for occasional differences in the promotion level of lonely features (see hasbeen), the results are identical to Esri. Differences do not result in any features/shape being 'lost' or invisible. Achieves identical results in the 'block_groups' shape example (see also <a href="https://code.google.com/p/pyshp/downloads/detail?name=spatial_idx_kit.zip&can=2&q=">spatial_Idx_kit.zip</a>). though.</div>
<div>- Esri AG can use the indexes, as well as SBNsearch.</div><div>- Fast.</div><div>- produces .sbx on request.</div><div><br></div><div>On the minus side:</div><div>- uses a lambda function, so limits compilerchoice</div>
<div>- compiled with VS2013, VS2012 probably is ok, too, no other compilers tried, but there's no ms or intel specific or exotic stuff, really.</div><div>- uses exceptions (at least from constructor).</div><div>- uses a simple template (internally).</div>
<div>- very frustrating I cannot achieve complete identity in spite of some (serious) trying.</div><div>- relies now on a tweaked version of SHPReadObject() which avoids reading the vertices (just extents and ID).</div><div>
- not a single thought about M and Z features (may or may not be relevant).</div><div>- has not been tested exhaustively.</div><div>- have not written a function to maintain an index structure during editing. Doing so will certainly require work.</div>
<div><br></div><div>Please let me know whether being able to (SBN)index shapefiles from OGR, even though the resulting indexfiles may differ slightly, is an attractive prospect.</div><div><br></div><div>Jan</div></div></div>