Why Python?
- ArcGIS VBA support ends after 10.0
- At 10.0,ArcMap and ArcCatalolg include an integrated Python shell
- Python scripting objects provided by ESRI
- IDLE is a decent development and debugging environment
- Python scripts can use ArcObjects!
Geoprocessing objects
- Ready-to-use geoprocessing objects are available for Python throuth arcgisscripting(9.3) and arcpy(10.0)
- At 9.3: additional functionality includes data access objects such as cursors
- At 10.0:additional functionality includes some map document automation
- Nonetheless, a greate deal of functionality is only available throuth ArcObjects
COM interop:relative speed test
...
The comtypes package
- Available for download at:http://sourceforge.net/projects/comtypes/(comtypes is a pure Python, lightweight COM client and server framework, based on the ctypes Python FFI package.)
- See also this link for documentation:http://starship.python.net/crew/theller/comtypes/
Loading and importing modules
...
Creating and casting objects
...
Demo:Maniplating and existing ArcMap or ArcCatalog session
Retrieving an existing session from outside the application boundary
Getting a selected feature
Creating session objects with IObjectFactor
TIP:At 10.0 ,you can run a script within the session's python shell and create ojbects normally;use AppRef to get he App handle