
Accessing ArcPy modules with Python
Up to this point, we have covered some basic concepts related to ArcPy. In addition to the basic ArcPy site package, there are a number of modules that you can use to access specific functionality. These modules must be specifically imported into your scripts before you can use the functionality provided. In this recipe, you will learn how to import these modules.
Getting ready
In addition to providing access to tools, functions, and classes, ArcPy also provides several modules. Modules are purpose-specific Python libraries containing functions and classes. The modules include a Mapping module (arcpy.mapping
), a Data Access module (arcpy.da
), a Spatial Analyst module (arcpy.sa
), a Geostatistical module (arcpy.ga
), a Network Analyst module (arcpy.na
), and a Time module (arcpy.time
). To use the functions and classes included with each of these modules you must specifically import their associated libraries.
How to do it…
Follow these steps to learn how to use the functions and classes provided by the arcpy.mapping
module:
- Open
c:\ArcpyBook\Ch2\Crime_Ch2.mxd
with ArcMap. - Open the Python window.
- Import the
arcpy.mapping
module:import arcpy.mapping as mapping
- Get a reference to the current map document (
Crime_Ch2.mxd
):mxd = mapping.MapDocument("CURRENT")
- Call the
arcpy.mapping.ListLayers
function:print mapping.ListLayers(mxd)
This will return a list of all layers in the map document and print these to the shell window:
[<map layer u'City of Austin Bldg Permits'>, <map layer u'Hospitals'>, <map layer u'Schools'>, <map layer u'Streams'>, <map layer u'Streets'>, <map layer u'Streams_Buff'>, <map layer u'Floodplains'>, <map layer u'2000 Census Tracts'>, <map layer u'City Limits'>, <map layer u'Travis County'>]
Access to all the functions and objects available in the Mapping module is done in the same way.
How it works…
Each of the modules provided by ArcPy gives access to functionality that fills a specific purpose. For example, the ArcPy Mapping module provides access to functions that allow you to manage map documents and layer files. The functions and objects in this module all relate in some way to managing these files.