ThinkGeo.com    |     Documentation    |     Premium Support

TinyGEO "ID" problem

We've been using TinyGeo for displaying items, but today is the first time I went to try to query one.  When I used "TinyGeoFeatureLayer.QueryTools.GetFeatureById" MapSuite would throw an error along the line of "item already exists in collection".  I then went to inspect the features and found that I had duplicate "ID" values: 0 - 7, then 0 - 7 over and over again for 10,000+ features.  This TinyGeo file was created via "CreateTinyGeoFile" from a shapefile.  The "ID" column is not part of the original data; it must be something being generated by MapSuite.  I rebuilt the TGEO file using 6.0.0.92 and I still get the duplicate ID values.


Anyone else come across this?  


Allen



Hi Allen, 
  
 We don’t suggest you to use the GetFeaturesById because the TinyGeo file couldn’t be queried by id cause its file structure. so the default implementation is GetAllFeatures first and then find the feature which id is matched and the performance would be bad. The repeat id value has been fixed, please get 6.0.149.0 or 6.0.0.149 and have a try. 
  
 Regards, 
  
 Edgar 


Edgar, 
  
 Thanks for the info.  At the moment the alternate solution is not practical, because the data in the TinyGeo file could come from different sources and we could not safely presume certain columns would be present.  The reason I was querying the TinyGeo layer is for a function where the user can click on the map and the software finds the closest feature in a list of layers.  In this case it was a building parcel layer and had an “OBJECTID” column and I did use the “GetAllFeatures” scan you noted above, but it could be a totally different feature without the “OBJECTID” column.  (It was a bit slower, but I got the correct feature rather than an error!)  We don’t need this functionality at the moment, so I will put a ticket in our tracking system as a reminder if we ever need to revisit this.  We were just trying to get the code to work with SQL Server, shapefile, and TinyGeo layers, all of which could be part of this query process some day. 
  
 Thanks, 
 Allen

Edgar, this appears to be fixed in 6.0.0.149. I had thought the bug was taking place in the generation of the TinyGeo but I found out I was wrong when I loaded a newly created one using the 6.0.0.92 DLL and the repeated numbers still are there. If I load the new TGEO in 6.0.0.149 and do "GetAllFeatures" I see your typical long alphanumeric IDs. I'm not going to worry about this any more until we need this functionality. 



Allen



Hi Allen,  
  
 Thanks for your feedback!