我先说说我之前遇到的问题。
熟悉ArcGIS的人知道,arcmap中的ModelBuilder中可以构建地理处理模型,模型中需要用到的处理工具直接在Toolbox中拖拽进去就行。构建的模型形成一个工作流,前一个工具的输出数据可以是后一个工具的输入数据,不用再手动添加。产生的中间数据会存储在临时工作空间,这个临时工作空间可以手动设置。但是这样的工作流在python脚本中却不容易实现。为什么这样说,举个例子:
比如我现在要写一个python脚本,利用arcpy实现用城市分布的面数据对道路缓冲区数据进行裁剪的批量处理。首先,要利用arcpy.Buffer_analysis("Roads",r"D:\data\buffer_road.shp","1000 feet")函数形成缓冲区,并将缓冲区数据保存在data文件夹下,然后使用裁剪工具把城市中的道路缓冲区裁剪出来,用到arcpy.Clip_analysis("buffer_road.shp", "City", r"D:\data\buffer_road_clip.shp "),最终我是想得到buffer_road_clip.shp数据,中间的buffer_road.shp数据并不想保留。找了好久终于在arcgis的帮助文档里面找到了一个漂亮的函数arcpy.CreateScrathName()