Advent of Code is back! Unwrap daily challenges to sharpen your Alteryx skills and earn badges along the way! Learn more now.
Free Trial

Alteryx Designer Desktop Discussions

Find answers, ask questions, and share expertise about Alteryx Designer Desktop and Intelligence Suite.
SOLVED

ArcGIS esri JSON to Alteryx SpatialObj conversion

VidyaS
7 - Meteor

Hello,

 

I'm trying to see if there is a way in Alteryx to convert a ArcGIS ESRI JSON REST API response to an Alteryx SpatialObj data type so we can see the shape like points or polygons. I'm able to download the response however not sure how to parse this and convert the geometries into polygons. Attached a workflow with sample JSON response that I'm trying to convert to a spatial object within Alteryx. Or is the only way to use GDAL/org2ogr tools with Run Command tool to pass the response to a GeoJSON and then parse it? Any insights are appreciated.

 

Thank you in advance!

-VS

9 REPLIES 9
TravisR
Alteryx Alumni (Retired)

As you're probably aware, under the hood an Alteryx 'SpatialObject' is just GeoJson.

 

Esri supports GeoJson format for their API - https://doc.arcgis.com/en/arcgis-online/reference/geojson.htm

 

I would just change your API call to receive the data in geojson and then go from there. You may need to do a small amount of pruning/parsing the GeoJson response from their API but after that it's just a matter of using a select tool to change the data type from a string to SpatialObject.

VidyaS
7 - Meteor

Thank you Travis. Yes, that was my first thought to change the output format to geojson, however, in the current implementation of this REST API call that output method is not supported unfortunately and I'm only able to get Esri JSON response. My apologies, I should have mentioned this before.

TravisR
Alteryx Alumni (Retired)

Ah that makes sense.

 

Does the attached solve what you are looking for?

VidyaS
7 - Meteor

Thank you very much Travis, this is very helpful. I should've added more objectId's in the query originally. I think you workflow is working but when I add another objectId to the API query call it's not able to parse the lat/lons individually since the grouping needs to be done by objectId's since now there are multiple polygons in response. I really appreciate your help. I've attached the workflow with another two objectId's in it for reference.

TravisR
Alteryx Alumni (Retired)

This should fix it to handle multiple shapes.

VidyaS
7 - Meteor

Awesome, thank you so much Travis for your help and time on this. I will look into this workflow to see if I can group by Object ID instead of the feature Id since if this could be grouped by object ID then I can join other attributes from GIS based on object ID.

jdross
6 - Meteoroid

Hi Travis,

I got this working for some of my arcgis services but I came across an issue when I'm getting values from a date field.  It seems that it gets converted to text.  I don't understand what the format is or if I can convert it back or not.  For example, i have a create_date field on a point feature that should be 2/15/2019 7:09:46 PM but it is coming in to my workflow as this value: 1550257992631.  It actually should be 3:09 pm but must be converting it to Greenwich time on the server...no biggie I can convert time zones, but I'm not sure what the long numeric value is indicating.

 

Have you experienced this conversion?

 

Thanks,

Jon

TravisR
Alteryx Alumni (Retired)

@jdross That looks like your api is returning epoch time to me. I suggest you check out this community thread.

 

https://community.alteryx.com/t5/Alteryx-Designer-Discussions/Convert-Epoch-time-to-actual-date-form...

jdross
6 - Meteoroid

This worked

 

DateTimeAdd('1970-01-01',[date_field]/1000, 'Seconds')

 

 

Thank you!

 

Labels
Top Solution Authors