Python and Cube
December 19th, 2010One of the advantages of the ESRI ArcGIS Framework is that you can write Python scripts that do GIS things and run them from Cube. Even better, Cube uses the Geodatabase format, so you can store and retrieve things from there.
The first thing that is needed is a python script. The below is an example that we’re not using at the moment, but it merges multiple transit line files together.
import arcgisscripting, sys, os
gp=arcgisscripting.create()
gp.AddToolbox("C:/Program Files/ArcGIS/ArcToolBox/Toolboxes/Data Management Tools.tbx")
print sys.argv
input1=sys.argv[1]
input2=sys.argv[2]
output=sys.argv[3]
in1=input1+input1[input1.rfind("\\"):]+"_PTLine"
in2=input2+input2[input2.rfind("\\"):]+"_PTLine"
input=in1+';'+in2
input=input.replace("\\","/")
output=output.replace("\\","/")
print input
print output
if gp.Exists(output):
gp.delete_management(output)
#input=input1+"_PTLine" +';'+input2 +"_PTLine"
gp.Merge_management(input,output)
print gp.GetMessage
del gp
To call this, we add the following in a Pilot script:
*merge.py {CATALOG_DIR}\Inputs\Transit.mdb\Routes1 {CATALOG_DIR}\Inputs\Transit.mdb\Routes2 {CATALOG_DIR}\Inputs\Transit.mdb\RoutesCombined
This makes it easy to create geoprocessing steps in ArcMap, export them to Python, and call them from the model.