Skip to main content

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

No ratings
cancel
Showing results for 
Search instead for 
Did you mean: 
Patric_Nordstrom
Employee
Employee

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

Last Update:

Apr 2, 2021 4:20:45 AM

Updated By:

Patric_Nordstrom

Created date:

Apr 21, 2017 4:55:05 AM

Attachments

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 (https://services1.arcgis.com/3YlK2vfHGZtonb1r/ArcGIS/rest/services/Zwolle_WijkBuurt_gdb/FeatureServe...), 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! https://services1.arcgis.com/3YlK2vfHGZtonb1r/ArcGIS/rest/services/Zwolle_WijkBuurt_gdb/FeatureServe...
  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 (2)
Comments
Anonymous
Not applicable

It was an internal resource and it worked fine with QGA Plus. Thanks

avl_dlimi
Contributor III
Contributor III

Hi@Patric_Nordstrom 

I am trying to make use of the geographical data from https://kartkatalog.geonorge.no/metadata/statistiske-enheter-grunnkretser-wfs/cc7ded0b-7d34-4db6-8fd...

How would I get started using the WFS services listed on this site?

I have tried to draw inspiration from this post but I haven't found a way to do it

Thanks

 

0 Likes
tman
Contributor
Contributor

Hi Patric,

I have tried these steps in a new qliksense install november 22 and  i don't get any results. 

my query is working as it should be. i have also tried adding to a static geodata layer with no results.

https://services1.arcgis.com/BkFxaEFNwHqX3tAw/ArcGIS/rest/services/FS_VCGI_VTPARCELS_WM_NOCACHE_v2/F...

https://services1.arcgis.com/BkFxaEFNwHqX3tAw/ArcGIS/rest/services/FS_VCGI_VTPARCELS_WM_NOCACHE_v2/F...

tman_0-1673622026963.png

if i use the connector it works just fine..

LIB CONNECT TO 'VTPARCEL (clc_twells)';

/* Generated by GeoAnalytics for operation Load ---------------------- */
[Dataset1]:
SQL SELECT [Dataset1_Geometry], [OWNER2], [OWNER1] FROM Load(dataset='Dataset1')
DATASOURCE Dataset1 GEOFILE url='https://services1.arcgis.com/BkFxaEFNwHqX3tAw/ArcGIS/rest/services/FS_VCGI_VTPARCELS_WM_NOCACHE_v2/F...', keyField='', type='geojson', expectedGeomType='auto', encoding='', crs='EPSG:4326'
;

tag field [Dataset_Geometry] with '$geopolygon';
tag field [Dataset1_Geometry] with '$geopolygon';
/* End GeoAnalytics operation Load ----------------------------------- */

tman_1-1673622276634.png

 

what am i missing???

T

0 Likes
Version history
Last update:
‎2021-04-02 04:20 AM
Updated by: