Skip to main content

Hi all!

I am relatively new to FME but I work with ArcGis Pro since a while now.

I am trying to add an “Esri ArcGIS Server Feature Service” reader, which actually contains multiple map servers hosted online on the open government website (public data). When I try to add the reader in FME, I get absolutely no visual preview of the data, it does not open in my window and therefore cannot interact with the data. Even though I get multiple warning messages, my translation log seems to indicate that mapping file generation was successful…

Can anyone help me? Has anyone already dealt with that kind of issue? Is it an issue with authentification and authorization?

Do you have pertinent resources concerning ArcGis features services as reader in FME? 

Thank you!

Hi ​@zeliesch,

You can add a map service using the Esri ArcGIS Server Feature Service, as long as you don’t include the layer ID. For example, the following URL will work:

https://hosting.wsapi.cloud.bom.gov.au/arcgis/rest/services/base_layers/Aust_State_boundary/MapServer

But the following will not:

https://hosting.wsapi.cloud.bom.gov.au/arcgis/rest/services/base_layers/Aust_State_boundary/MapServer/0 

Thanks


Hi ​@churchfraser and thanks for your response!

Yes I have no issue adding a single Map Service like that, problem is I want to read all the map services included in this folder: https://egisp.dfo-mpo.gc.ca/arcgis/rest/services/open_data_donnees_ouvertes

And this is the URL I provide when I want to add the Esri ArcGIS Server Feature Service reader into FME.

If you open the link, you’ll see that there are wayyyy too many map services for me to add them individually…

Any idea what could I do in this situation?

Thanks again!


Well. Here is a solution you could try. It might not be the most elegant but it will give you a list of all service links that can then be used in a FeatureReader.

HTTP Caller » XMLFragmenter » StringReplacer(s) » FeatureReader

The site you are using does offer a site list = https://egisp.dfo-mpo.gc.ca/arcgis/rest/services/open_data_donnees_ouvertes?f=sitemap

So we can use the url in the HTTP Caller to query the service f=sitemap (see screencap1)

Then xml transformers should be able to get you to a list of mapservice urls.
I used a XMLFragmenter using “loc” and replaced leading and trailing junk with the string replacers eventually giving a list of some 600+ mapservices. With the list you can then do as you wish from there. There is definitely a more elegant solution using XML Transformers but hope this helps!!
 

 


@crutledge thanks a lot! I will try this “not so elegant” way then ;)


Reply