ThinkGeo.com    |     Documentation    |     Premium Support

How can I best achieve this?

I want to be able to create a layer from a C# DataTable that has already been queried (using my own complex queries (ie.., using mutiple queries, etc. with #temp files, etc. so I really can't use the built in tool that contemplates a simple query on the fly). The results of these queries will produce a single DataTable with a Total Field, and geography.WKT field/or standard geography field.


I want to display the polygons (usually representing a zip code or county) with a number associated with the county (like total population) as different colors depending on a range of population, etc.


I've learned that I can use the ClassBreakStyle to define the levels, and associate that to the total field. I'm happy to write my own class to achieve this, but I'm not sure which of your classes to base it on.


I've tried basing it on FeatureLayer, but I don't see how I can manually add the indivdual features. It has a FeatureSource property, but this class assumes that it will query the data on the fly which I can't do, I need to already have the data as mentioned above.


So what class do I used instead of FeatureLayer?


BTW, I've tried the FeatureSource class to build the features but when I attempt to manually add a feature to it using the following code, I get an error on BeginTransaction() that its read-only or something.


BeginTransaction();


AddFeature(feature);


CommitTransaction();


I'd really appreciate your guideance.


Thanks!! bob



Hi Bob, 
  
 Actually you don’t need to inherit any class, the InMemoryFeatureLayer can achieve your goals, cause all the features’ data are in the memory, please refer to the sample HowDoISamples->Data Providers->CreateAnInMemoryFeatureLayer, I think it’s what you want. 
  
 Hope it helps, 
  
 Edgar