Skip to main content

Hi,

I am trying to read from a publicly available WMS service (https://environment.data.gov.uk/spatialdata/nafra2-risk-of-flooding-from-surface-water/wms), layer

rofsw_4band.

I have connected to the service in FME Form using a reader and bounding box for my area of interest. The reader runs, reporting success, but returns only a single line entry and a white dotted square in the preview.

Adding the layer to ArcPro works fine and data can be viewed as expected.

I believe the issue is due to scale thresholding applied to the service by the provider. No features are returned unless the map scale is less than 1:50k. My bounding box is much bigger.

This forum post is the closest to my problem, Problems reading WMS layers? | Community, but doesn't suggest a solution.

In the reader it does not seem possible to set the scale to operate at.

Would the workflow required to access the features be something like:

  1. Split my area of interest into a grid, where each square is <1:50k.
  2. Somehow call the WMS service for the area of each individual grid square. Would that be achieved using a feature reader, with the individual grid square reader as the initiator?
  3. Merge all the features obtained for each grid back together to recompile the data set. Checking for duplicates/overlap.

As a relative newbie to FME any help would be appreciated. Hopefully I’m not barking up the wrong tree 🐕

Thanks in advance,

Martin

I’ve been experimenting with my workflow above (grid of polygons > call WMS for each area > compile results).

Using a 2dGridCreator, generated polygons within my area of interest. Linked the resulting polygons to a featureReader as the initiator. Set the spatial filter to Bounding Boxes OGC-Intersect.

As I understand, and from examining the logs, this simple workbench is defining areas of interest, then calling the WMS service with a bounding box set for each initiator feature.

The featureReader returns results, but only the details of the layer, no data as such.

The 2dGridCreator is set to create 4 squares 1m2. The origin is in a location where features are present. This 1m2 size should be well below the scale threshold for the service, so fairly sure the extent boxes should intersect areas in the WMS where data exists.

Am I working with the misconception that it is possible to access the the data within the WMS service? In Pro I can enquire on the data from the WMS and retrieve specific attributes for features e.g. fid and risk_band. I thought FME would facilitate this somehow.

 

Thanks


This page OGC WMS (Web Map Service) Reader answers my question. 

Only the GetCapabilities and GetMap operations are supported in this implementation.

meaning that GetFeatureInfo the third WMS operation is not supported by the reader. So I don't believe it is possible to do what I was hoping to do.

This post GetFeatureInfo from a WMS workaround? | Community suggests work arounds are possible. But in my case I don't think this will be feasible. I can obtain the data in another way.

If anyone is aware of a way to access the attributes do please let me know 🤞


Reply