|
BLOG
|
Modern GIS is about dynamic, real-time data. Static data is important… but there should be more focus on skills and experience with ‘living’ datasets. When I looked around for datasets to test; querying, visualizing, analyzing, and archiving real-time air quality data sounded like a good plan to me. If you are not familiar with PurpleAir – they build air quality sensors that private and public entities have deployed across the globe. They also provide an API that lets users send data requests to poll their sensors. In this blog – I wanted to run through how I configured ArcGIS Velocity to read the PurpleAir API and then built a dashboard from the data feed (along with historical information!) that can then be combined with your own data, or anything in the Living Atlas. In my short example – I wanted look at real-time air quality and pull in historical redlining data. Then, I added US Census American Community Survey (ACS) data related to poverty. Overall, the ease of use of the ArcGIS Velocity feed configuration, as well as the amazing documentation in the PurpleAir API (as well as the wealth of data) made this a really fun project. PurpleAir Maps and Data First off, thanks to the folks at PurpleAir for their great API and sensors. I have no affiliation with PurpleAir other than an interest in getting their data mapped! The PurpleAir website includes a map to explore sensor locations and data fields. The map shows all of the sensors that have been marked as ‘public’, thereby letting anyone see the data getting captured across the world for all of these sensors… it’s an amazing dataset. Based on the PurpleAir documentation, these sensors are recording data every 2 minutes for attributes like air quality, temperature, humidity, etc. (for the full list, just refer to the API documentation). Here are a couple screen shots from the PurpleAir map: Vietnam... Bosnia... California... PurpleAir API – Getting Started To get started, you need to send an e-mail request to PurpleAir for an API Key – once you have a key, you can send READ and WRITE requests to the API. You’ll need an API key to do anything going forward from here. The first thing that I needed to do (the best practice in the API), was to create a group, and then add sensors to that group. In that way, I could send one request to poll multiple sensors. In my use case, I wanted to get all of the data for New Haven, CT sensors. After creating the group (which will generate a unique ID for your group, write this down!), you then need to add sensors to that group. To get the sensor_index for the sensors you are interested in (for a specific geography), you first need to send a request over to the ‘sensors’ API – I ended up using ‘nwlng, nwlat, selng, selat’ to define a bounding box for New Haven. Here are the bounding box parameters, so you can return the sensor_index IDs for the sensors you actually care about. After you have your sensor_index values, you can then add them to your group. You can do this using the ‘Create Member’ POST request. You just need to send over your new group ID and the sensor_index values. Now, we are ready to build your request to poll the sensors! Building the Sensor Data Request We already created a group and added sensors to it, so now we can use the ‘groups’ API to send 1 request and retrieve data for all of the members of that group. I hope you remembered your group ID! There are a lot of different attributes that you can return, so make sure you select only those fields that you need, to keep the request more compact. You will end up creating a comma separated list of fields that you want to send over in the request. In my example, I wanted to poll for these fields: name, model, hardware, location_type, private, latitude, longitude, altitude, position_rating, uptime, last_seen, last_modified, date_created, humidity, temperature, pressure, pm2.5_alt, pm2.5_alt_a, pm2.5_alt_b, pm2.5 Diving into ArcGIS Velocity Esri offers 2 different software solutions for real-time data, ArcGIS GeoEvent Server and ArcGIS Velocity. You can read more about both solutions in the links above. The biggest difference between the 2, is that ArcGIS Velocity is a SaaS solution, whereas GeoEvent Server part of an ArcGIS Enterprise deployment. In my opinion, Velocity is also a bit easier to configure and get up and running. If you want to learn more about Velocity, or getting started with it, there are some great resources here. The rest of this blog will walk through the PurpleAir configuration. In ArcGIS Velocity, we are going to create a ‘feed’ with the PurpleAir API (with the request we have already built out). ArcGIS Velocity includes a wide-range of different feed types, for the PurpleAir API, we need to use the ‘Web and Messaging’ type. This feed type provides a lot of different options and it’s where you can configure requests to a wide-array of APIs. To poll the PurpleAir API, we will use the ‘HTTP Poller’. Since we have already know the parameters for our API request, we just need to put them in the right places in the Velocity UI. This includes the URL, the ‘fields’, and the API key. If the request worked, you’ll get a response back that looks something like this: The one issue with this response, is that all of the data for the sensors is found in the ‘data’ field that was returned. This is a place where Velocity makes this really easy. All you need to do is enter in the ‘Root node’ (‘data’ in this case), and then click ‘Derive schema’ to update the field definition. To make it easier to use your data, you can also provide field names that will be applied in the feature service. If you set names for your fields, it will be easier for you as you assign the key fields, notably the XY, datetime, and your unique ID. Then we set the interval to send the requests. Make sure that you don’t crush the API with requests! Keep the requests at something reasonable. Lastly, give your feed a name and specify if you want to create a feature layer to host all of the observations. Let’s Map this Stuff! The last step is simply building out an ArcGIS Dashboard to display all of your data. In my example, I combined the real-time data with some additional layers from the Living Atlas to provide more context. The one spot that I have been tripped up before, is getting the serial chart to display historical values. Here's a short video that shows some of the settings. That's it! Thanks again to the PurpleAir team for their great documentation and API. Check out their API documentation here: PurpleAir API. As always - if you have any questions, or if you get something built out, I'd love to see it.
... View more
05-24-2023
09:00 AM
|
2
|
10
|
13035
|
|
BLOG
|
@skyhook - We have hundreds of schools and universities using the new licensing model with field/disconnected workflows. Can you let us know what issue you foresee? Would love to be able to help.
... View more
05-17-2023
03:48 PM
|
0
|
0
|
1131
|
|
BLOG
|
Thanks so much to everyone that joined the webinar yesterday! If you need access to the webinar recording, just register above. The slides are also available for download. We will also follow-up to all of the questions we didn't get to.
... View more
05-11-2023
11:17 AM
|
0
|
0
|
611
|
|
POST
|
There are 2 different 'StoryMaps' I just want to make sure you are logging into the right one - try going to this site and then try signing in, or requesting the Username: https://www.arcgis.com/index.html
... View more
04-12-2023
10:14 AM
|
0
|
1
|
1698
|
|
POST
|
@LailaKalva - What school/university are you with? I would start by reaching out to your teacher or the local administrator for the ArcGIS Online account at your school - they could help you reset your PW or get you logged in.
... View more
04-12-2023
07:56 AM
|
0
|
3
|
1748
|
|
POST
|
This URL provides a link to the required installation and documents the issue you might be experiencing: https://esriaustraliatechblog.wordpress.com/2022/10/17/faq-addressing-arcgis-pro-3-0-microsoft-net-desktop-runtime-x64requirement/
... View more
04-12-2023
07:44 AM
|
0
|
1
|
2758
|
|
POST
|
@TomBaker - Your link above '404's - is this 'dead' or does it still exist?
... View more
04-11-2023
06:51 AM
|
0
|
0
|
5283
|
|
POST
|
Great question @emmabard - what kind of data? Does it have an 'XY' or a geolocation? Or, do you want to 'join' it to an existing location (location of stream gauge sensor, or weather sensor, etc.). Short answer is for sure - I would take a look at using ArcGIS Online and then scheduling a push/sync/update of your data from the Raspberry Pi via a Python script. The ArcGIS Python API has some great documentation and you could even use one of the ArcGIS Notebooks to schedule the script to run. There is a blog right here with some older instructions/workflow: https://community.esri.com/t5/k12-instruction-questions/arcgis-api-for-python-on-a-raspberry-pi-happy-pi/td-p/866300
... View more
04-11-2023
06:47 AM
|
1
|
0
|
1846
|
|
BLOG
|
The ability to geo-locate or geo-reference historical maps has been a long-standing workflow in GIS. For those in history or planning programs, I love how this work can really make the past come to life. What buildings (or uses) existed in a location? How has an area changed? What physical landforms of the city have changed? Which landforms have persisted or shaped the current urban form? The best part, it doesn’t take 3 years of GIS to dive into. Sanborn map key. A few weeks ago, I had the pleasure of visiting Boston University to give a workshop on georeferencing historical maps. As part of that workshop, I developed some basic StoryMaps, web maps, and materials to guide users through the process. The workshop used both ArcGIS Online and ArcGIS Pro. Rather than letting that material gather dust – I wanted to share it out in the hopes that others could benefit. The main takeaways that I wanted the attendees to be aware of were: Basic georeferencing can now be accomplished in ArcGIS Online ArcGIS Pro is really easy to use for georeferencing if you need more precision and control Any of the maps or data that you georeference can be quickly and easily embedded into dozens of different applications There is a wealth of great primary source material available over the web (Library of Congress as just one example) In this material, I also provided a download for the few maps that I use in the workshop. To be honest… I spent far too much time cleaning up and ‘cutting’ the water out of the 1867 Colton Map of Boston, so I’d love others to use it as well (that download can be found in the 2nd StoryMap). These StoryMaps were both put together as part of the workshop, the first one provides some examples of what you can do with georeferenced maps. The other StoryMap provides a basic outline of the process and steps. Looking for Land: The growth of Boston: https://arcg.is/1miSP0 Georeferencing, Digitizing, & Working with Time Series Data: https://arcg.is/19yuaj0 I’d love to see what others pull together or if anyone has some great lessons on georeferencing historical maps. Have you had students digitize features? Build time-series maps? Use them for field excursions? Let me know in the comments below!
... View more
04-10-2023
11:54 AM
|
5
|
4
|
7408
|
|
BLOG
|
@FairfieldMapGuy - What type of item were you trying to edit? I just ran a quick test (with a Feature Layer). I ensured that I checked the 'edit JSON' button - edited a couple things, hit save, returned to my item description, and then edits were visible/preserved. Check the doc of the tool as well - it does mention some attributes that are not directly editable: https://guide.assistant.esri-ps.com/docs/warnings
... View more
03-06-2023
08:06 AM
|
0
|
0
|
13420
|
|
POST
|
@wizgis - This was years ago - but I vaguely remember inserting a 'date-time' at the end of my CSV file name when I was generating the files. That way - GeoEvent saw the CSV as a new file - even if after parsing, some of the records had not changed or updated, but it worked to ensure GeoEvent saw it as a new file each time.
... View more
03-02-2023
05:50 AM
|
0
|
0
|
1005
|
|
POST
|
In ArcGIS Online - you could 'enrich' a dataset with this data using Map Viewer - there are a wide-array of variables related to recycling patterns. Your general workflow would be: 1) Get the geography level data that you need (US Counties/Zip/etc.) - this could be pulled from ArcGIS Online or from the US Census Tiger data. 2) Add your data to MapViewer - then use the Analysis tools and the Enrich tool to select the variables you need/want. If this is all brand new to you - you could easily 'google' any of the above steps and get some detailed documentation.
... View more
03-01-2023
09:26 AM
|
0
|
0
|
1201
|
|
BLOG
|
There are a lot of fantastic updates in the ArcGIS Online February update and many of these are very pertinent for the education community. You can read about all of the updates/full details in Bernie’s blog (https://www.esri.com/arcgis-blog/products/arcgis-online/announcements/whats-new-arcgis-online-february-2023/) or in the ArcGIS Online documentation (https://doc.arcgis.com/en/arcgis-online/reference/whats-new.htm), but I wanted to take a minute to call special attention to just 3 of these updates. Analysis Tools in Map Viewer! It was long awaited, but the analysis tools are now available in Map Viewer! This includes both vector and raster analysis tools. Every analysis tool (found in Map Viewer Classic) has yet to be ported over and there are some limitations on the types of layers that can be used for analysis, but there is a lot here. One of the things that I was most excited about – is the fact that the web map will now contain all of the analysis history from the analysis tools you run. As an educator, a potential use case is the ability to share the map, along with the geoprocessing history. Learners could then review the analysis steps and parameters. They could even open the ‘historical tool run’ to change inputs, parameters, environment options, and then run the tool themselves. Some of the ‘advanced’ options are also a nice to have. With each analysis tool, there are also environment settings, similar to ArcGIS Pro, which allow users to manage the processing extent or even the output coordinate system. For more details from the product team: Introducing Analysis Media layers (images that can be referenced to a geographic location) The next big thing that I wanted to highlight was the ability to place media (images) in reference to a geographic location. To be clear, the capability at this release is fairly basic, but it still fills a big need. For users that need high-precision or the ability to edit individual control points, there is ArcGIS Pro for georeferencing. Yet, for users that are looking to place a historical map or reference document quickly, there is now a great option outside of the desktop environment. Personally, I love how this opens up a wide range of workflows for the ‘non-GIS’ major. Learners can now georeference a historical map, create a feature class, edit data, build a web application, and share their work with StoryMaps… all without even touching desktop software. For more details from the product team on this capability: Announcing Media Layers Feature Display Order This might be a small change to the symbology settings, but it’s something that is really important for cartography. Prior to this release, there was no easy way to force a ‘drawing’ order within the same feature layer. If there were/are hundreds of overlapping symbols, they would be displayed in whatever order they were returned by the server… not the best approach when that order could affect the interpretation of the data! This is a great feature from a teaching perspective, as well for production mapping. There are a wide range of examples that learners could explore to see the visual impact of modifications to the feature display order. For more details from the product team: Bringing Order to Complexity Close I know a lot of people are really excited for this update and I can't wait to see how these tools and updates get incorporated into teaching/curriculum in the months to come! If you have questions or need any resources, please reach out!
... View more
02-23-2023
07:10 AM
|
10
|
1
|
2489
|
|
POST
|
@DaveMcGuire - Is this the same topic/question that you posted in the Esri Press channel? I see that you Dan was able to help you find data related to the ArcGIS Pro text - you need the older 10.3 content as well?
... View more
02-21-2023
05:34 AM
|
0
|
1
|
1508
|
| Title | Kudos | Posted |
|---|---|---|
| 6 | Thursday | |
| 1 | 08-18-2023 07:52 AM | |
| 1 | 08-19-2025 08:26 AM | |
| 4 | 08-11-2025 10:55 AM | |
| 2 | 07-28-2025 08:36 AM |
| Online Status |
Offline
|
| Date Last Visited |
Monday
|