Automate ArcGIS with Python to Streamline Geographic Data Analysis

Slides:



Advertisements
Similar presentations
Abt Associates Inc. In collaboration with: I Aga Khan Foundation I Bitrán y Asociados I BRAC University I Broad Branch Associates I Deloitte Consulting,
Advertisements

Collections Management Software for Museums and Archives r e d i s c o v e r y s o f t w a r e. c o m O V E R V I E W P R E S E N T A T I O N.
Easily retrieve data from the Baan database
Esri International User Conference | San Diego, CA Technical Workshops | Fundamentals: Having Fun with Tables and Reports Kent Marten Matthew Baker July.
JTX Overview Overview of Job Tracking for ArcGIS (JTX)
Why python? Automate processes Batch programming Faster Open source Easy recognition of errors Good for data management What is python? Scripting programming.
GIS Topics and Applications
Agenda Overview Why TransCAD Challenges/tips Initiatives Applications.
What is Where? u Getting Started With Geographic Information Systems u Chapter 5.
Introduction To ArcMap ArcMa p. ArcMap is a Map-centric GUI tool used to perform map-based tasks Mapping –Create maps by working geographically and interactively.
Arc: Programming Options Dr Andy Evans. Programming ArcGIS ArcGIS: Most popular commercial GIS. Out of the box functionality good, but occasionally: You.
ArcGIS Workflow Manager An Introduction
Enterprise ETL & the Home Again
Manage-2000 Reporting The different methods compared.
10/26/00Splitting Access Databases...1 Preparing for Access 2000 Windows 2000/Office 2000 Roll-out.
Technical Workshops | Esri International User Conference San Diego, California ArcMap: Tips and Tricks Miriam Schmidts Jorge Ruiz-Valdepena July 23 – 27,
Crystal And Elliott Edward M. Kwang President. Crystal Version Standard - $145 Professional - $350 Developer - $450.
Millennium 3 Your Service Bureau Name & Logo Here.
PLDS Online Database Presented by the Library Research Center on behalf of the Public Library Association ALA Annual Conference – Washington,
Network Analysis with Python
Publishing to ArcGIS for Server
Programming for Geographical Information Analysis: Advanced Skills Lecture 1: Introduction Programming Arc Dr Andy Evans.
Advance Map Automation With Python
Preparing and Deploying Data to ArcPad Juan Luera.
Esri UC 2014 | Technical Workshop | Python Map Automation – Beyond the Basics of arcpy.mapping Jeff Barrette Jeff Moulds.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Geocoding – An Introduction.
Introduction Presenter: James Zollweg, Ph.D. Associate Professor of Water Resources and GIS The College at Brockport NYS GIS Association – Python Training,
CMap Version 0.16 Ben Faga. CMap CMap Version 0.16 Bug fixes and code optimizations More intuitive menu system Asynchronous loading of comparative map.
Juanita Cano City of Sacramento Spring 2014 Geography 375.
Publishing GIS Services to ArcGIS Server
William Perry U.S. Geological Survey Western Ecological Research Center Geography 375 Final Project May 22, 2013.
Business Analyst Web App and ArcGIS Online Anna Hou Julia Holtzclaw.
Jeff Barrette Jeff Moulds
Automating Accounts Payable
Tech Support Tips and Tricks: ArcGIS for Desktop
ArcGIS Workflow Manager: Advanced Workflows and Concepts
Desktop Mapping: Building Map Books
Easily retrieve data from the Baan database
The Use of AMET and Automated Scripts for Model Evaluation
Mark V. Janikas Marjean Pobuda
PYTHON: AN INTRODUCTION
Core WG Meeting November 16th, 2017.
Final Project: Read from a csv file and write to a database table
Project Tracker, Reports, & Applications
Complete Management of your Entire Backflow Program
Increased Efficiency and Effectiveness
SharePoint Essentials Toolkit
Programming for Geographical Information Analysis: Advanced Skills
Create a simple Budget vs
SharePoint Permissions Manager
Programming for Geographical Information Analysis: Advanced Skills
Introduction To ArcMap
Python Map Automation – Beyond the Basics of arcpy.mapping
Automating and Validating Edits
Building Map Books in ArcGIS
Automating Geodatabase Administration with Python
Best Practices for Designing Effective Map Services: Case Studies
Python Map Automation – Beyond the Basics of arcpy.mapping
Network Analysis using Python
Building Map Books in ArcGIS
Network Analyst – Automating Workflows with Geoprocessing
5/8/2019 3:20 AM bQuery-Tool 3.0 A new and elegant way to create queries and ad-hoc reports on your Baan/Infor ERP LN data. This Baan session is a query.
Programming Arc.
Final Project Geog 375 Daniel Hewitt.
Survey Results Respondents: 39 of 51 – 76%
Desktop Mapping: Building Map Books
Visual Basic for Applications: Introduction
ArcGIS Pro: An Introduction Overview
Presentation transcript:

Automate ArcGIS with Python to Streamline Geographic Data Analysis Ryan Lambert Database Developer / Analyst, Front Range Community College, CO Ryan.Lambert@frontrange.edu AIR Forum 2017 – Washington D.C. Been at FRCC for 6 years, in IR for over 9 total. 3rd time at AIR, 2nd time as a presenter.

Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

This Presentation… Demonstrates How to Use MapBuilder Highlights How Automation can Increase Productivity Is an Invitation to Collaborate on MapBuilder 2 Collaborate: Need two types of users – People to USE the program to make BEAUTIFUL maps People to DEVELOP the program Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

What Is MapBuilder? Wraps around ArcPy module to Streamline and Simplify Open Source Python Project Licensed under MIT License GitHub: https://github.com/rustprooflabs/MapBuilder Current Version: 0.4.7 How many have used ArcGIS? Python? ArcPy?? For those of you that have used ArcPy, what’s the first thing that comes to mind when you think of ArcPy? Powerful Cumbersome Not Intuitive Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Why Automate Data Processing? “The future of data science is automation.” – Jen Underwood “…eliminate the cut-and-paste drudge work…” – Andy Leonard Source: http://sqlblog.com/blogs/andy_leonard/archive/2017/03/12/why-automate.aspx And that brings us to automating ArcGIS, and automation in general. The future of data science includes a lot of spatial analysis. Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Why Automate ArcGIS? GUI is slow and cumbersome Reduction in Error Various Zoom Levels Headers/Footers Large number of data sets Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Common ArcGIS Steps Import data file with Student Addresses Geocode Addresses Spatial Joins Export Polished Map(s) to PDF MapBuilder was created to perform these basic actions… Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Site here All the “Common ArcGIS tasks” are what I call the “Boring Stuff”. (geocoding, spatial joins, exporting PDFs…) Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Automation Boosts Productivity PDF Maps Created for External Use Not only an exponential increase in # of maps produced, but this allows more time to review the information, and it’s so easy to make minor adjustments to the model and run the whole set again. Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Demo 1 Basic Example Starts w/ Template MXD Exports PDF Output showing FRCC Service Area MXD: Think of Templates in Word – Avery 5XXX labels example Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Bootstrap.py (step 1) Import MapBuilder from local directory, not installed via pip. Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Bootstrap.py (step 2) Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Bootstrap.py (step 3) List of Dictionaries required for OUTPUT_LIST Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Get the Bounding Box You Want Hover Cursor for Max values Get the Bounding Box You Want Hover Cursor for Min values x y Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

MapBuilder: config.py Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Multiple Data Files Enrollment Maps for Each: Campus Program Ethnicity Processed in “Iterations” This is the main purpose I had in mind when starting this project. Administration wants maps showing all sorts of cross-cuts of our student population. Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Demo 2: Multiple Inputs and Outputs Use Excel Data “Splitter” (VBA) Geocodes ~ 1,500 Addresses from 2 .txt files Spatially Joins Geocoded addresses to Census Tracts Exports 11 PDFs Going from simple to complex Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Favorite beer in header, line 2 Output name in Header, line 3 (lines up with name see 2 slides ago) Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Geocoding Addresses From Demo 2 bootstrap.py Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Geocoding Caveat Currently only supports Local Geocoder Planning to support ESRI Online Geocoder in Q3 2017 Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Spatial Joins Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

More About Outputs Outputs are a “List” of “Dictionaries” MapBuilder Saves One PDF per Output in the list Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Custom Output Module Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Using Custom Output Module In bootstrap.py… Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Flexible and Customizable Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Project Geodatabase Generated Automatically Stores Data used Demo 2 – Can see table and Feature Class loaded to created GDB Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

One More Map… Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Summary Major Boost to Productivity Created 12 maps in < 45 minutes, while presenting Easy Annual updates: Update data and run again Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Get MapBuilder & Get Involed http://bit.ly/2rPN3vb  Note: Case Sensitive! Project Code Slide Deck Recording of Presentation (Coming soon!) Link to GitHub w/ Issues and Wiki Combine with Slide 31 (Get Involved!) Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017

Automate ArcGIS with Python to Streamline Geographic Data Analysis Thank You Ryan.Lambert@frontrange.edu Automate ArcGIS with Python to Streamline Geographic Data Analysis Automate ArcGIS with Python to Streamline Geographic Data Analysis © Ryan Lambert, Front Range Community College, 2017