ThinkGeo.com    |     Documentation    |     Premium Support

QueryTools Borken in InMemoryFeatureLayer?

Hello people,


I am a little bit desperate here as the QueryTools does not seems to work as advertised in for the MemoryFeatureLayer. I am using version 5.0.124 but the problem has been present since 5.0.0. Here is the problem:


1. I Create an InMemoryFeatureLayer. When I populate it and I inspect it in VisualStudio I can see that it has 3600 InternalFeatures. If I further inspect these 3600 InternalFeatures I can see that they all have a column named "Georef" (key) with a Corresponing String (value) Value.


2. If I now do aLayer.QueryTools.GetFeaturesIntersecting(aShape, New String() {"Georef"}) I get back the features that are interesected but with NO Column values. Instead if I inpsect them I can see that there is a column Georef as key but with no value.


3. If I do aLayer.QueryTools.GetFeaturesIntersecting(aShape, ReturningColumnsType.AllColumns) I get no columns at all.


4. The only way I found to have this working is to add my "key" or in general the information I need to "remain available" after the SpatialQuery, as the TAG of the feature.


So In order to recoup, I think there is a bug at QueryTools/SpatialQuery on the InmemoryFeature layer. The bug is that possibly the Spatial Query copies the correct Feature.ID, the correct Feature.Tag but fails to copy the Columns (some or all of them).


Any help will be much appreciated.


Kind Regards


Yiannis



Ioannis, 
  
 I think the Columns of your in memory feature layer is not included the column of the feature, you can add them by following code. 
     inMemoryLayer.Open(); 
             inMemoryLayer.Columns.Add(new FeatureSourceColumn("myColumn")); 
             inMemoryLayer.Close(); 
  
 Thanks, 
 James 


Spot on James, I bet this must be a common question from people like me who easily forget. I would suggest however to implement some kind of Exception when someone tries to insert columns that have not been explicitly declared on the layer.


In any case accept my apologises.


Kind Regards


Yiannis



Hello Ioannis, 
  
 Thank you for your advise, we will consider that in our 5.5.0 release. 
  
 Any more questions please let us know. 
  
 Regards, 
  
 Gary