ThinkGeo.com    |     Documentation    |     Premium Support

Shape file works in 2.0, but not 3.0

Hey,


I've got two shapefiles that for some reason simply refuses to work in ThinkGeo.  The routine I'm using works fine for plenty of other shapefiles, but when I attempt to index the shapefile or render it in any way, I get the following error:



System.IO.IOException: The spatial index generation failed for an unknown reason.    Please see the inner exception. ---> System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: startIndex
   at System.ThrowHelper.ThrowArgumentOutOfRangeException(ExceptionArgument argument, ExceptionResource resource)
   at System.BitConverter.ToInt32(Byte[] value, Int32 startIndex)
   at ThinkGeo.MapSuite.Core.xdad12102199d8695.xfff82833a56cfe2e(Byte[] x1c828e238ef853a2, Int32 xedf77fd65cf83220)
   at ThinkGeo.MapSuite.Core.xdad12102199d8695.ReadRecord(Int32 recordIndex)
   at ThinkGeo.MapSuite.Core.ShapeFileFeatureSource.GetFeaturesByIdsCore(IEnumerable`1 ids, IEnumerable`1 returningColumnNames)
   at ThinkGeo.MapSuite.Core.FeatureSource.GetFeatureById(String id, IEnumerable`1 returningColumnNames)
   at ThinkGeo.MapSuite.Core.FeatureSource.GetFeatureById(String id, ReturningColumnsType returningColumnNamesType)
   at ThinkGeo.MapSuite.Core.ShapeFileFeatureSource.BuildIndexFile(String shapePathFilename, String indexPathFilename, Projection projection, String columnName, String regexExpression, BuildIndexMode buildIndexMode)
   --- End of inner exception stack trace ---
   at ThinkGeo.MapSuite.Core.ShapeFileFeatureSource.BuildIndexFile(String shapePathFilename, String indexPathFilename, Projection projection, String columnName, String regexExpression, BuildIndexMode buildIndexMode)
   at ThinkGeo.MapSuite.Core.ShapeFileFeatureSource.BuildIndexFile(String shapePathFilename, BuildIndexMode buildIndexMode)
   at ThinkGeo.MapSuite.Core.ShapeFileFeatureLayer.BuildIndexFile(String pathFilename, BuildIndexMode rebuildExistingIndexMode)

 


Additionally, the index does properly build in 2.0.  Both of the affected shapefiles are the same, just with different dbfs.  This one is pretty critical for us, any ideas?  I can send the shapefile along if need be, just let me know!



Just wonder are you using the latest version 3.0.131? as we fixed a buidIndex bug in that version. If problem exists with that one, it will be great if you can send the shape file to us. Please send to support@thinkgeo.com and ask to forward to Ben. 


Hi Ben, 
  
 I am indeed using the latest build.  Also, i don’t think just the indexing is tripping it up.  If i don’t build the index and set requireindex to false, I still get the same error.  I’m sending the shape file as we speak.  The title is “Shape file works in 2.0, but not 3.0 - Forward To Ben”.  I appreciate you looking into this and I await your reply!

Ben,


Turns out its too big to send in a shape file.  Instead, I made it available as a direct downlaod off of one of our sites.  It's like 23 megs.  The email I sent this afternoon contains the details.  Thanks again!



Tom, 
  
 This is a bug in our 3.0 version that we didn’t support well for some special shp files. We will fix it in the next version. Sorry for the inconvenience.  
  
 Our support will send you the correct IDX/IDS files for your specific shape data, the current version (3.0.131) and future versions will all work fine with it.  
  
 If you have some other shape files with the same problem, just send to us and we will generate the index files for you, before the new release is out.  
  
 Ben