If you have worked with geoprocessing long enough, there has likely been a thing or two you have wanted to automate to lighten your workload. I mean, there are companies that are built on quick fix solutions to offer you just that. When it comes to programming for spatially-sound data though, don’t you deserve a similar approach?
Thankfully, this is where Integrated Python Geoprocessing comes in. Affectionately named pygp – pronounced like "pie" not "pig" – this solution is a Python library specifically designed for the geoprocessing framework. It is a package built internally, developed throughout the last few years, and constantly improving. Not only do we offer it as a solution for clients who wish to dig into the code themselves, but we also use it to build out the abundance of tools we offer here at Integrated. This pygp, man...it is no one-trick pony.
This library follows a well-established set of coding standards and best practices (e.g., idiomatic Python) that have evolved as the Python practitioner community has grown ever since the inception of the Python language. Because of this, the pygp package handles much of the heavy-lifting often placed on the developer. This is due to employment of multiple individual geoprocessing operations that have been combined into larger, logical (frequently used) operations to make them easier to both understand and apply.
To give an idea of the perks and benefits of this solution, a few key features are below.
Integrated Python Geoprocessing provides a framework for tools that allows them to continue to work when upgrading both minor and major releases of the ArcGIS platform.
By utilizing positional and keyword arguments within the library, sensible defaults may be used more often. Additionally, much less typing is required for otherwise empty arguments…and who doesn’t love less typing?
The pygp Python package enables the ability to nest multiple geoprocessing tools from the ArcGIS platform that would typically require being run within a sequence. This nesting functionality produces essentially a single line of code for complex processes, allowing the sequence to behave more like true Python functions.