What's new for geoprocessing in ArcGIS 10.1
Geoprocessing packages
You can create geoprocessing packages to share your work. Geoprocessing packages are files that can be uploaded to arcgis.com or emailed to colleagues. A package consists of results and each result contains a tool, the data used by the tool, and the environment settings used by the tool. Packages are created by right-clicking a result in the Results window and choosing Share As > Geoprocessing Package.
Geoprocessing services
You create geoprocessing services by right-clicking a result in the Results window and choosing Share As > Geoprocessing Service. This opens the Share As Service step-by-step wizard and the Service Editor dialog box. For those of you that published geoprocessing services at 10.0, the major differences are:
- Tool layers in a map document are no longer needed. In fact, creation of tool layers in 10.1 is no longer supported (you can still use them, however).
- The option for right-clicking a toolbox and publishing to ArcGIS server has been removed—you can only publish results.
- You don't have to edit your models to configure them as services—you use the Service Editor instead. The Service Editor gives you full control over the definition of the input and output parameters of your service.
Geodesic buffering
The Buffer tool now creates true geodesic buffers for line and polygon input data. Prior to 10.1, only input point features would create geodesic buffers.
New environment variables
If you develop your own script or model tools, you may be interested to know that there are two new read-only variables you can access from geoprocessing environments: Scratch GDB and Scratch Folder. The Scratch GDB environment variable contains a path to a scratch file geodatabase which is guaranteed to exist when your tool is run. The Scratch Folder environment variable contains a path to a folder that's guaranteed to exist when your tool is run. Other new environment settings are:
Python and ArcPy
Python add-ins
You can now program your own buttons and tools using Python add-ins.
Python toolboxes
Python toolboxes are geoprocessing toolboxes that are created entirely in Python. A Python toolbox and the tools contained within look, act, and work just like toolboxes and tools created in any other way. If you have developed your own Python script tools in the past, you'll be interested in Python toolboxes, for there are a few features of Python toolboxes that are not available with script tools:
- You can implement your own licensing checks.
- You can create Value Table parameters. Value Tables are multicolumn tables that allow you to input multiple values (columns) per row. An example of a Value Table parameter is the Input Features parameter of the Union tool.
- You can create your own composite data types from existing data types. For example, you can create a parameter that will accept either a Feature Layer or a Raster Layer.
New ArcPy modules and functions
The data access module, arcpy.da, is a Python module for working with data. It allows control of the edit session, edit operation, improved cursor support (including faster performance), functions for converting tables and feature classes to and from NumPy arrays, and support for versioning, replicas, domains, and subtypes workflows.
Learn more about the data access module
The Network Analyst module, arcpy.na, is a Python module that provides access to all of the geoprocessing tools available in the Network Analyst toolbox as well as helper functions and classes. You can use this module with other ArcPy modules to automate network analysis workflows using Python.
Learn more about the Network Analyst module
Various enhancements have been made to the mapping module (arcpy.mapping), including access to symbology properties, reporting, and layer time properties. See What's new for automating map workflows in ArcGIS 10.1 for more information.
Other Python functionality
- Python 2.7: ArcGIS 10.1 has been upgraded to include the Python 2.7 release.
- Spatial references: SpatialReference objects can now be created directly from spatial reference names and authority code (factory code) ID values. Additional functions for supporting spatial references and transformations include ListSpatialReferences and ListTransformations.
- New geometry methods: Geometry classes now support:
- Topological operators (boundary, buffer, clip, convexHull, difference, distanceTo, intersect, symmetricDifference, and union)
- distanceTo, projectAs and positionAlongLine methods
- Methods for accessing geodesic lengths and areas (getLength and getArea)
- Geodatabase administration: New functions, AcceptConnections, DisconnectUser and ListUsers, to support geodatabase administration workflows.
- Geoprocessing tool history: In Python, you can determine whether history logging is active and turn it on or off using GetLogHistory and SetLogHistory functions.
- Alias names: The AlterAliasName function can be used to update alias names on tables or feature classes.
- Named arguments: ArcPy functions now support named arguments.
- Describe properties: A new set of properties for Editor tracking datasets.
- WKB: New FromWKB function for creating geometry from well-known binaries (WKB).
- WKT: New FromWKT function for creating geometry from well-known text (WKT).