[GIS] Automatically populating ArcGIS Online map using ModelBuilder

arcgis-10.3arcgis-desktoparcgis-onlinebasic-license-levelmodelbuilder

I have created a little model in ModelBuilder to take some cuts of some data e.g. last 30 days, last 6 months etc. I have then published this output to a feature service using ModelBuilder. I have set up all the names so it will overwrite itself meaning the model can just be ran daily and the new feature will be published and overwrite itself online, however it will not let me overwrite the service definition even though "overwrite processing" is turned on in geo-processing options. Any thought on why?

From this point I have to manually open up my web map and remove the old layer and add the new one into the map. Is their a way to incorporate doing this using my model as the reason I'm creating this is for any skill level user can run this model in my absence.

I am using ArcGIS 10.3 for Desktop but I've only got the basic license with the productivity suite

Best Answer

If you're comfortable with Python, you can write a script against the REST API to update the service URL in the web map and include it at the end of your model.

The basic workflow in this script would be to generate an authorization token, retrieve the current data for the web map, update the url, then POST the modified data back to the web map URI in ArcGIS Online.

There are many examples online with sample code.

Once you've written the script, incorporate it into your model with these instructions.

Related Question