Qlik Community

Qlik GeoAnalytics Documents

Documents related to Qlik GeoAnalytics.

Setting up a Esri ArcGIS WFS source as a layer in Qlik GeoAnalytics (QGA)

Employee
Employee

Setting up a Esri ArcGIS WFS source as a layer in Qlik GeoAnalytics (QGA)

QGA can consume geodata from many different sources including Esri ArcGIS online, here's what's needed to show the data as a feature layer in QGA.

Step-by-step guide

Start by figuring out the correct parameters. In this case the source is administrative boundaries (Buurt) of the Dutch city Zwolle.

  1. Usually an base url is given like this (http://services1.arcgis.com/3YlK2vfHGZtonb1r/ArcGIS/rest/services/Zwolle_WijkBuurt_gdb/FeatureServer...), follow and click on "Query" at the bottom
  2. Set parameters Where 1=1, Outfield BRTNR (this is the field we want to use as index) in, and set the output to geojson and clicked Query (Get)
  3. Try out the the geojson in geojson.io, realise that projection needs to be 4326 (WGS84), changed the url param : outSR=4326.

    Note!
    If you want to use the builtin basemap, the geojson layer should be in WGS84 -> EPSG:4326

  4. And voilá a valid geojson url! http://services1.arcgis.com/3YlK2vfHGZtonb1r/ArcGIS/rest/services/Zwolle_WijkBuurt_gdb/FeatureServer...
  5. Check that the geojson works by setting it up as a static geodata layer.
  6. Then make a area layer with the geojson as input, BRTNR as dimension.I checked the geojson and used BRTNR as the "Source key attribute".

    geodata_settings.png
    See the attached Sense app for more details. Note 1, this example requires Qlik GeoAnalytics. Note 2, this app features data from an external service which might be out of service.

Authentication in ArcGIS

Special note regarding Authentication in ArcGIS (Thanks to ssamuels for the solution)

The authentication when working with secured map services from ESRI can be solved by setting up a REST connection in the loadscript to retrieve a new access token from the REST API of ArcGIS Online. This is done by sending a GenerateToken request to the URL "https://www.arcgis.com/sharing/generateToken?parameters".  The REST call must be a POST request over https and takes the following parameters:

username - Username of the user who wishes to get a token.

password - Password of user who wishes to get a token.

referer - The base URL of the web application that will invoke the services

expiration - The token expiration time in minutes (default value for this parameter is 60 minutes)

f - The response format. The value for this parameter must be "json".

The resulting access token is stored in the data model and can be used as a text variable to append to the location service url in the GeoAnalytics extension.

Labels (1)
Attachments
Comments
Partner
Partner

Hi Patric,

I can only select 'JSON, HTML, AMF or KMZ'. as query output. Does it work with one of these options?

Frank

0 Likes
Employee
Employee

Hi Frank,

Ok, QGA supports WFS with GeoJSON or GML.


Esri JSON is somewhat different and can't used as input to a dynamic layer.


However the connector can load Esri JSON with the "Load" operation using the connector.

The data is read every time the app is reloaded.

GeoAnalytics Reference

There is an "Load" example here:

Guides & Examples « bi.idevio.com

Thanks,

Patric

0 Likes
Partner
Partner

Hi Patric,

I use Qlikview (not Sense) and I tried the load operation, but I keep getting the following error, after I click on

These are the steps I take:

I click on connect, and i choose custom:

I enter the folowing URL (this one is public, so you can test it yourself)

https://mapservices.prorail.nl/arcgis/rest/services/Gebiedsindelingen_ProRail_005/MapServer/4/

I click on test connection and it gives an OK back:

Then I click on 'select data'

I have to repeat the previous steps:

It gives me an OK again, but when I click on 'OK', I keep getting the following error:

What am I doing worng. I am stuck at this point. 😞

0 Likes
Partner
Partner

In your other reply you use in the Sense example the following URL:

https://mapservices.prorail.nl/arcgis/rest/services/Gebiedsindelingen_ProRail_005/MapServer/4/query?...

But where in the steps of creating the connection within Qlikview do I use this URL?

If I use after i Click on 'Connect' I get the following error:

0 Likes
Employee
Employee

Ok, first you connect, choose ga.qlikcloud.com (not custom, that's for connecting to an on-premise QGA server)

Then you do "Select Data"

esri_json4.png !

And then the Load operation:

esri_json3.png

Check out the documentation for the connector here:

Qlik GeoAnalytics Connector « bi.idevio.com

See also the attached qlikview app which posted to the article.

Thanks,

Patric

Partner
Partner

Hi Patric,

Thanks for al your quick replies, I think we are getting there, but when I connect to 'http://ga.qlikcloud.com/' again I get an error: 😞

Any ideas?

0 Likes
Employee
Employee

Sorry, have to be https://ga.qlikcloud.com

0 Likes
tersiver
New Contributor

Sorry, but https://ga.qlikcloud.com fails, with the same error message: Connection failed. Invalid URL.

0 Likes
Partner
Partner

we use https://ga.idevio.com, that one works for us!

0 Likes
osamaanwar
Contributor

@bps

Hi Patric ,

Can you please elaborate how to do this with other place like i want to achieve this for Margate

Town in England.


Where can i have location service url for Margate town. Let me know please.


I am having following column in my data from ESRI Database using rest connector.

            "OBJECTID",

             "Status",

            "Creator",

            "GlobalID",

            "Shape__Area",

            "Shape__Length",

            "__FK_attributes"



Thanks


0 Likes
Version history
Revision #:
1 of 1
Last update:
‎2017-04-21 04:55 AM
Updated by: