Deploying Python Tools to GIS Users

Summary

The geospatial community has coalesced around Python, both in the commercial and open source spaces. In this talk, I'll show how Python tools can be shared with users of ArcGIS, a commercial GIS system which uses Python as its primary development environment. By constructing small Python wrappers, code can be shared in graphical tools which enable non-programmers to use what you've built.

Description

Geospatial data is frequently manipulated directly using Python tools, commonly built on top of powerful libraries such as GDAL, GEOS and NetCDF. Delivering model results to end users in many instances requires providing tools in familiar graphical environments, such as desktop GIS systems, which can permit users without programming knowledge to integrate models and results into their existing scientific workflows. This talk discusses how to construct simple wrappers around existing Python programs to enable their use by ArcGIS, a commonly used commercial GIS.

Two separate approaches will be illustrated: creating Python toolboxes, or collections of tools embeddable in workflows, and creating customized Python graphical add-ins, which can control the graphical environment provided within ArcGIS. Building contextual help, interactive widgets, and leveraging numpy for direct data integration will be discussed. While ArcGIS exposes much of its functionality via the ArcPy package, this talk instead focuses on integrating code from other environments, and doesn't presume existing ArcGIS expertise.