Spatialize Your Data
With Python scripting and the GeoEvent extension, bringing information from other systems into the ArcGIS platform has never been easier.
By Andrew Hargreaves, Esri
As GIS professionals we all know that adding a spatial element to data makes it much more valuable. One of the key benefits of GIS has always been, and always will be, the integrative power to bring location information together in a map — and then analyze it for insights and patterns that help explain and improve efficiencies. Today bringing information from other systems into GIS is easy with the ArcGIS platform.
Let’s take a look at a water utility example. Esri devotes a whole section of its web site to data integration for water utilities. A few commonly integrated water industry data types include:
• Customer Service Calls
• Billing and Consumption Information
• Work Orders
The ArcGIS platform features two powerful methods for bringing in these types of information: Python scripting and the ArcGIS GeoEvent Extension for Server. Both are simple and reliable ways to spatialize your operational data.
Python: Don’t Be Scared of Scripting!
Python is a simple, powerful scripting environment that you can use to automate the process of spatializing your data. For example, your organization may want to refresh feature services on a scheduled basis with completely with new data, update only certain features with new information, and/or push existing values into an archive table.
ARCREST is a set of Python tools to help you work with ArcGIS REST API for ArcGIS Server, ArcGIS Online, and ArcGIS WebMap JSON. You can use ARCREST to work with feature service REST endpoints, so you can:
• Add feature services
• Delete feature services
• Update feature services
• Query feature services
• Upload attachments to feature services
• Publish a .MXD as a feature service to ArcGIS Online
• Get ArcGIS Online or ArcGIS Server item information
This help link shows you how to run a Python script automatically as a scheduled task in Windows. You could set your task to run every night at midnight, for instance, to ensure ArcGIS.com has your most up-to-date features the next day, every day.
In fact, you can easily take this a step further. At the same time your script refreshes the data, it can perform analysis too. Esri’s High/Low Water Consumption solution uses this. The solution uses a Python script to update your services, maps, and dashboards at scheduled times. In addition, daily, weekly, or monthly records of high and low consumption can be stored as an informative web map using ArcGIS Online. This lets you query and view customers with the highest and lowest water usage.
Python is great for daily updates, but if your utility needs to see data changes in real time, it can do so easily with the ArcGIS GeoEvent Extension for Server. The GeoEvent extension brings information from other systems into ArcGIS in real time. In addition, it can issue notifications to users in real time, based on criteria you configure. For instance, you can be automatically alerted to a main break.
An example of a great solution that uses the GeoEvent extension is the Water SCADA Processor solution, which contains all the sample data and instructions you need to
• Map services for pumps, tanks, flow meters, daily tank changes, and daily flow summaries
• Automatically add historic data in archive tables
• Perform real-time calculations and filtering before issuing smart notifications.
Get Started Today
With Python scripting and the GeoEvent extension, it’s easier than ever to spatialize virtually any location data. Automate spatialization with Python scripting, the GeoEvent extension, or a hybrid. Gain greater clarity into your data in real-time. Plus, routinely ensure a steady supply of data into your GIS.
Originally published at blogs.esri.com on March 24, 2015.