It's hard to know what will come out of a conversation at a conference. When Steve from National Clean Up Day came by our booth at the Esri UC, I didn't know that it was the start of a fun and rewarding relationship that would lead us toward getting to work with the great people at EarthDay.Org.
The first request came soon after we met, and (as I remember it) started with my favorite phrase: "How hard would it be to..." bulk import submissions to our Survey123 form? But let me back up a few steps. World Cleanup Day and Earth Day use many Esri products; specifically, they use Survey123 to collect information about events relating to cleanups (among other things) from around the world. The idea is that organizers of cleanup events can register their events (via Survey123), and participants can find information about them via a map interface (WebApp Builder).
What is a "cleanup?" Well, my friend, this is when a group of people gets together to pick up trash and "clean up" the environment. We should all be doing this every time we see some garbage outside, but there is one day per year when everyone can get together and help clean up a bit. For 2023, that is September 16th. So, hop on to World Cleanup Day and get yourself signed up!
In this particular case, some organizers had many events, often coming from other (corporate) systems, and they needed a way for these organizers to submit these events in bulk. Understandably, the GIS staff didn't want to do the upload manually either; they wanted an easy way to validate and load the data.
Step one is always to meet with the client and the users and understand the problem we are solving as well as the constraints. In this case, the primary constraint is that everything must happen within ArcGIS Online. Thanks to hosted Python Notebooks, we were able to make that happen.
We created an Excel spreadsheet template with all the columns and a little validation that Earth Day needs to share cleanup events. Then we constructed a new Survey123 form where users can retrieve the template and upload a populated spreadsheet.
A hosted Python Notebook that runs every hour looks for new uploads from Survey123 and processes them. Each record in the spreadsheet goes through a little QC, gets geocoded, and then loaded into the Feature Service (the same one that backs the primary Survey123 form that lets you enter cleanup events one at a time). If the script finds any errors, it will send the offending record to the GIS folks via the ArcGIS Online notification system.
This process made it easier for Earth Day's users to submit cleanups and simplified the lives of their GIS staff. But don't just take our word for it:
"The Autouploader that Dymaptic created for us makes collecting and organizing data on ESRI extremely easy. Now we can even pass off the work to our clients so that we can gather data hands-free." - Michael Karapetian, Great Global Cleanup Coordinator
This project became the (somewhat technical) beginning of a much broader relationship between dymaptic and EarthDay.Org. I'm proud to say that dymaptic supports all kinds of efforts at Earth Day relating to GIS and that we'll be helping to power several efforts for Earthy Day on April 22nd. So please do check them out and help support our environment!