ThinkGeo.com    |     Documentation    |     Premium Support

WFS on Unexpired Eval version

 Hi,


I'm currently testing the web edition to see if it holds up for our requirements. One of those requirements is WFS. As you use OpenLayers on the client side, this should work. (I have an openlayers sample that works with our data)


However, when I added the layer to my map, or when I use the LoadWfsFeatureLayer sample (from the cs samples that come with the components), all I see is a map tiled with 'Eval 52 days' (Most likely to turn to 51 days tomorrow) messages.


Is this a limitation of the evaluation version? It is most certainly one of our most critical requirements, as we need to be able to use WFS-T to update and insert our data.


regards,


Casper Span



Casper,


 The evaluation edition has no restriction  and you can use all the features as in the full version. I think that what is happening with the sample LoadWfsFeatureLayer is that the external website for datafinder.org is currently down. I suggest you check the WFS capability of Map Suite using a different url. Please look at this post below which shows another example of WFS. It goes thru the whole process with WfsFeatureLayer. I think this is going to help you. Thank you.


gis.thinkgeo.com/Support/Discussion...fault.aspx


 



Hi Val, I thought about that as well, so I tried the GetCapabilities before posting. It was up and running… 
  
 I will check out the example though, but I expected the built in samples to work out of the box. 
  
 Regards, 
 Casper Span

Hi Casper, 
  
 We’ll keep an eye on your feedback, hope everything goes well. 
  
 Regards, 
  
 Ivan

Unfortunately, the link Val provided didn't fix my problem...  Everytime I try adding a WFS layer, all I get is an overlay filled with "Eval XX days" (where XX is 47 today) I've tried the WFS server that came with the samples and I've tried my testing WFS machine. (running geoserver 2.1 RC) Both are accesable and working on tools like uDig.  


 


Again, all I'm doing at the moment is:


 


 



// EPSG:28992, Rijksdriehoek new
Proj4Projection projection = new Proj4Projection();
projection.InternalProjectionParametersString = Proj4Projection.GetEpsgParametersString(28992);
projection.ExternalProjectionParametersString = Proj4Projection.GetGoogleMapParametersString();
projection.Open();

// grabs the locatiedossiers layer from geoserver
WfsFeatureLayer LocDos = new WfsFeatureLayer(@"roxit-geoserver:8080/geoserver/ows", "Roxit:Locatiedossiers");
// which is a RD New layer
LocDos.FeatureSource.Projection = projection;

// give it a simple style
LocDos.ZoomLevelSet.ZoomLevel01.DefaultPointStyle =
    PointStyles.CreateSimplePointStyle(PointSymbolType.Diamond, GeoColor.FromHtml("#BEDB4B"), 2);
LocDos.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;

// Show me the exceptions
LocDos.DrawingExceptionMode = DrawingExceptionMode.DrawException;

// not sure if needed...
LocDos.Open();

// add it to an overlay
LayerOverlay WfsLayers = new LayerOverlay("LocatiedossiersOverlay");
WfsLayers.IsBaseOverlay = false;
WfsLayers.IsVisible = true;
WfsLayers.Name = "Locatiedossiers";
WfsLayers.Layers.Add(LocDos);

// add overlay to map
map.CurstomOverlays.Add(WfsLayers);


Hi Casper,


I used the following code to test WfsFeatureLayer, it worked.


protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        Map1.MapUnit = GeographyUnit.Meter;
        Map1.MapBackground.BackgroundBrush = new GeoSolidBrush(GeoColor.FromHtml("#E5E3DF"));

        WfsFeatureLayer wfsFeatureLayer = new WfsFeatureLayer(@"giswebservices.massgis.state.ma.us/geoserver/wfs", "massgis:TOWNS_POLYM");
        wfsFeatureLayer.ZoomLevelSet.ZoomLevel01.DefaultAreaStyle = AreaStyles.Country1;
        wfsFeatureLayer.ZoomLevelSet.ZoomLevel01.ApplyUntilZoomLevel = ApplyUntilZoomLevel.Level20;
        wfsFeatureLayer.Open();
        Map1.CurrentExtent = wfsFeatureLayer.GetBoundingBox();
        // Use the two lines below to check whether there are response features from WFS or not
        Collection<FeatureSourceColumn> columns = wfsFeatureLayer.FeatureSource.GetColumns();
        Collection<Feature> features = wfsFeatureLayer.FeatureSource.GetAllFeatures(ReturningColumnsType.NoColumns);
        wfsFeatureLayer.Close();
        Map1.StaticOverlay.Layers.Add("WfsFeatureLayer", wfsFeatureLayer);
    }
}


The output is as below:






Could you please refer to the code snippet above to have another try? 


Regards,


Ivan



Hi Ivan, 
  
 Your sample worked. With it, I got my own piece of code working. A diff between my old and new sample revealed a simple and somewhat embarrassing mistake. I was showing polygons but only created a point style. I guess the original sample has the same problem…? 
  
 It does feel a bit sluggish though compared to uDig, for example… Any ideas? (I’m starting the map at streetlevel, so the zoomlevels shouldn’t be a problem) 
  
 regards, 
 Casper

Hi Casper, 
  
 It’s a good news that your application works as you expect. :) 
  
 In my opinion, it’s a good practice to check whether we can get bounding box, columns or features from the WFS address before we use this WFS, we must also pay attention to the styles (POINT,LINE or AREA). 
  
 Regards, 
  
 Ivan