Extending ArcGIS with Python

Download Report

Transcript Extending ArcGIS with Python

Extending ArcGIS with Python
Clinton Dow – Geoprocessing Product Engineer @ Esri
ArcPy: Moving Forward
‘Python is the language of GIS.’ – Bill Moreland, Esri Dev Summit 2016
• Python
-
-
2 vs. 3 in ArcGIS
Python 2 End of Support Countdown Clock!
- ArcGIS Pro 1.2  Python 3.4.3
ArcGIS 10.4  Python 2.7.10
- ArcGIS Pro 1.3+  Decoupled Python!
ArcGIS for Server  Python 2.7.10
Extending ArcGIS with Python Modules
Python is a ‘Batteries Included’ Programming Language
• Python
-
Distutils
-
-
Create Packages of your Python code for distribution to other programmers
Collections
-
-
Standard Library
Utilize common functions on collections of objects
Itertools
-
Powerful functions to iterate over collections of objects
There Must Be A Better Way!
Never Underestimate The Python Standard Library!
• Raymond
-
Hettinger
Transforming Code Into Beautiful, Idiomatic Python
-
https://www.youtube.com/watch?v=OSGv2VnC0go
Extending ArcGIS with Python Modules
Python is a ‘Batteries Included’ Programming Language
• Standard
-
-
-
Data Types
CSV
Excel
-
Xlrd
-
xlwt
XML
-
Etree
-
DOM
-
SAX
JSON
-
Serialize/Deserialize dictionary-like data structure
Extending ArcGIS with Python Modules
Utilize the Extended Python Ecosystem in your ArcGIS Tools
•
Scientific
•
Utility
•
Web-Scraping
-
Jupyter
-
Requests
-
BeautifulSoup
-
IPython
-
Arrow
-
Scrapy
-
NumPy
-
Chardet
-
SciPy
-
Pandas
-
Bokeh
-
PySAL
-
Plotly
-
SciKit Learn
•
Visualization
Extending ArcGIS with Python Modules
Utilize the Extended Python Ecosystem in your ArcGIS Tools
•
Web Framework
-
Django
-
GeoDjango
•
Web Service API
-
Twitter
-
AWS
-
Flask
-
ElasticSearch
-
Pyramid
-
Etc…
awesome-python on GitHub
Curated list of the best Python packages as chosen by the GitHub community
The Future of Python in ArcGIS
Continuum Analytics’ conda VirtualEnv & Package Manager
• Conda
-
-
integration into ArcGIS
Advanced Python Package Management
-
Curated channels of scientific Python packages
-
Includes C and Fortran compiler
-
Create and host your own conda packages
-
Easily share your code with the GIS community
Built-In Virtual Environment Support
-
Manage multiple environments with access to ArcPy
-
Easily share environments
-
Trivializes dependency issues
The Future of Python in ArcGIS
Screenshots of conda UI
Thank You!
Clinton Dow - Contact Info
[email protected]
http://lnked.in/cdow