Our preview of the DevSummit schedule continues with a look at Python sessions, covering everything from building tools and models, to administrating ArcGIS Server.
Since we added support for Python to ArcGIS through the ArcPy library, Python developers’ ability to do more on the ArcGIS platform has been increasing and this year is no exception. In this post we’ll highlight the Python sessions at DevSummit 2014.
Let's start at the beginning with developing tools with Python. Step through the process of creating geoprocessing tools using ArcPy on Monday at 1 p.m. and Thursday at 1 p.m. This workshop will highlight the important decisions to making fully functional geoprocessing tools.
A lot of people have been using ArcPy for its ArcMap automation abilities, especially around the arcpy.mapping namespace. On Wednesday at 2:30 p.m. you can go beyond the Basics of arcpy.mapping to explore new capabilities, modify symbology, generate reports, clone text, work with dynamic pictures, customize legends and print high-quality Web maps using geoprocessing services on ArcGIS Server.
On the data side of things, the Feature Data using ArcPy session on Thursday at 10 a.m. will talk about accessing and editing data in folders and geodatabases, fast cursor support, managing geodatabase objects and using NumPy arrays to extend analysis. On Monday at 2:15 p.m. you can learn all about building live data feeds using the aggregated live feeds methodology. This methodology consists of a series of scripts that download and process data, which is then deployed to your users through ArcGIS. Learn more about the Aggregated Live Feed methodology. A deep dive into using Geometric networks is up on Wednesday at 10:30 a.m. to cover usage of trace geometric network geoprocessing tools.
Apart from the specifics of using different ArcPy functionalities, several sessions are designed to improve your Python development workflow in general. Start with deploying geoprocessing tools as Python modules on Tuesday at 2:30 p.m. This is a new feature of ArcGIS 10.2 that uses the Python Distribution Utilities (Distutils) to distribute Python toolboxes and models. This session will cover how to install Python modules into the Python site packages directory, and how to extend this process to supported languages. This is a somewhat advanced session, knowledge of Python scripting and ArcPy is helpful but it’s not required for getting a good overview of the process.
On Tuesday at 1:30 p.m. there’s an interesting session on parallel geoprocessing that will cover how the City of Riverside, California is using Python and ArcPy to breakdown large tasks and execute them in parallel to reduce the time needed for processing large datasets. To decide whether your script’s performance needs improvement, you need to identify the root cause of slower processing. Profiling Python on Tuesday at 1 p.m. will show you how to identify it’s there’s a memory leak, how to gather statistics on your script, and the several tools available to improve performance. This includes: cProfile, objgraph, and the timeit module.
To expand what you can do in your Python script, you can access C Type libraries. Learn all about that on Wednesday at 1 p.m., including how to integrate external executable tools and high-performance in-process C/C++ native code from Python using standard libraries and Python APIs.
Another area where Python is getting more powerful is administrating ArcGIS Server. This year, two sessions will cover a great deal on this topic. The first is Administrating enterprise geodatabase on Tuesday at 2:30 p.m. This session will focus on effective patterns for Python developers to administer the geodatabase and its contents. The second is Administrating ArcGIS Server with Python on Tuesday at 4 p.m. and it covers authenticating and performing administrative tasks by sending and parsing JSON using Python.
About the Author
Amr Eldib is a Developer Support Consultant for Esri Canada. As a Certified Web Application Developer Associate, he has 10 years of experience in both geographic information system (GIS) and software development. Amr has worked with a number of organizations in both Egypt and Canada on building and supporting GIS systems using Esri products. He’s been a blogger and active member in many developer communities throughout much of his career.More Content by Amr Eldib