Select to view content in your preferred language

Creating webmaps/apps with API for Python

1075
2
01-15-2024 09:22 AM
maya_fromstein
Occasional Contributor

Hello,

I am new to web programming (am experienced in R and familiar with python for data processing), so I apologize if this is basic or silly. I have gone in so many circles trying to figure this out on my own, so am hoping someone else wiser and more patient might be able to help!

The situation:

I am working with a software company who would like to integrate Esri web mapping into their offering for their clients. They don't plan on keeping a GIS person on staff long-term, so everything needs to be automated. Our desired end result would be that clients would select which fields they want mapped, and that would trigger a web map or app to be created and embedded in a website.
The possible combinations that we are thinking of now would be:
1. Fields from public data mapped and embedded into their private site,
2. and/or their private data mapped and embedded into their public facing website with pop-ups enabled  
For both options, we would like layers to be able to be turned off/on (though it could be okay if not for the first option).

From what I can understand, API for python is a great resource for scraping data, but I can only find resources for how to do that from public data. There seems to be a module for API for python and experience builder, but I can't find many resources about it or figure out how it actually creates a new EB and feeds data to it. There are so many amazing public health interactive maps that I know the python API was used for - but I can't figure out how they have all the features they do (pop-ups, interactive legends, etc) without the use of the Javascript SDK.

So, my question is:

- Does anyone have any workflows or recommendations that would allow me to pull data, map in a pre-formatted template (with interactive layers), and embed in a website (private or public) using only API for Python? Or is this primarily a task for Javascript? Even just knowing if it's possible or not would be a huge help so I can stop going in circles.

 

Thank you all so much!

 

2 Replies
Yuhash
by
Frequent Contributor

The short answer is yes, this can all be done with the Python API. From the generalized workflow you describe:

  1. Preconfigure the data and app resources to create generic templates: e.g. a web map and Experience Builder app. 
  2. Pull the data (e.g. Check a shared repository for new files or collect data using Survey123)
  3. Clone the templates and update the project data according to your customer preferences
  4. Republish as necessary (embed the iframe in a website)

HTH

maya_fromstein
Occasional Contributor

Thanks so much!

Would this work if we couldn't preconfigure the data layer? That's what we are hoping to automate through this process. From within the API I am having trouble with setting the points to cluster/aggregate or to customize the popups like I can from the GUI using arcade.

0 Kudos