ThinkGeo.com    |     Documentation    |     Premium Support

WFSFeatureLayer feature request

Nelson, 
 We also notice the performance problem for GetColumsn and now is trying to fix it. Now , in the Open we will try to GetColumns for this WfsFeatureSource and it seems we used a low-performance way.  
  
 We will try to investigate the way you mentioned, just to fetch the data(columns) we want, instead of get all data back and analyze it out. 
  
 Any hints would be appreciated. 
  
 Thanks for your reporting! 
  
 Any more questions just let me know. 
  
 Thanks. 
  
 Yale 


Nelson,


For the GetColumns performance problem, we get the following investigation result. When we call the GetColumns , We will NOT get all the data back and analyze them back as we imaged(we made a mistake together).
 
Following is the example:
 

    WfsFeatureLayer layer = new WfsFeatureLayer();
            layer.ServiceLocationUrl = "giswebservices.massgis.state.ma.us/geoserver/wfs";
            layer.TypeName = "massgis:GISDATA.COUNTIES_POLYM";
            layer.Open();
            Collection<FeatureSourceColumn> columns = layer.QueryTools.GetColumns();
            layer.Close();

 

The request we sent to the server should be :
giswebservices.massgis.state...TIES_POLYM
 
Which ONLY return the information needed.
 
Any more questions just let me know.
 
Thanks.
 
Yale


Posted By Yale on 08-05-2009 10:15 PM 

Thanks Nelson and David, 



We will move forward to add this new API and override it in WfsFeatureSource as soon as possible. 



I guess we can get it this week or at the beginning of next week. 



Thanks Nelson for your great ideas. 



Any more questions just let me know. 



Yale 




 



Nelson,
 
We have added the new functionality introduced by David, and it should be ready in next release.
 
 Then it should use it in following way:
Any more questions just let me know.

WfsFeatureSource target = new WfsFeatureSource();
target.ServiceLocationUrl = "giswebservices.massgis.state.ma.us/geoserver/wfs";
target.TypeName = "massgis:GISDATA.COUNTIES_POLYM";
target.Open();
WellKnownType featureType = target.GetFirstFeaturesWellKnownType();
target.Close();

 


Thanks.
 
Yale


Thanks Yale. 
  
 I just wanted to clear up one little thing incase you had missed it as I didn’t see you specifically mention it. 
  
 While the performance issue being resolved for GetColumns is very nice (thank you! can’t wait to see it) The biggest issue I am seeing is that not even all of the c olumns are being returned. I can verify my dataset has 15 columns but only 4 are returning? This is an even bigger issue than performance as it is data integrity. That is the original problem I was mentioning. 
  
 The other news is great news though. When will next release be seen?

Nelson, 
  
 I also noticed that the GetColumns return value is not exactly same with yours (I always get 4 columns back instead of 15 columns). 
  
 Dave contacts me that we probably will add 2 events in the WfsFeatureSource which will be fired just before going to the server and just after fetch data from the server. It will be much easier to see underlying things going on. 
  
 I think the temporary version is already ready for the new feature (GetFirstFeaturesWellKnownType) added in. 
  
 Any more questions just let me know. 
  
 Thanks. 
  
 Yale