要为ArcGIS运行的Python脚本

时间:2013-05-31 04:38:32

标签: python arcgis

我想运行使用地理处理工具的python脚本。我不想集成它们,而是想在外部而不是在ArcGIS中运行脚本。请用一个很好的例子告诉我如何做到这一点。我必须对4个地图进行重新分类,然后对输出进行加权和叠加。下面是我能写的脚本,但我不知道我在哪里收到错误..

enter code here # 

import sys, string, os, arcgisscripting
 gp = arcgisscripting.create()
 gp.CheckOutExtension("spatial")

  gp.AddToolbox("C:/../Spatial Analyst Tools.tbx")

  feature_shp1 = sys.argv[1]
  if feature_shp1 == '#':
   feature_shp1 = "D:\\BRIEFCASE\\media\\new shapefiles\\feature_shp1"
  slope = sys.argv[2]
  if slope == '#':
  slope = "D:\\" 

  Reclassification__2_ = sys.argv[3]
  if Reclassification__2_ == '#':
  Reclassification__2_ = "2 1;2 3 2;3 4 3;4 5 4" 

  Reclassification = sys.argv[4]
  if Reclassification == '#':
  Reclassification = "0 13 1;13 45 2;45 80 3;80 108 4;108 146 5;146 176;174   195 7;195 231 8;231 255 9" 

  Reclass_feat3 = "D:\\"
  Reclass_slop3 = "D:\\3"
  gjh = "C:\"
  Reclass_field = "VALUE"
  Reclass_field__2_ = "VALUE"

  gp.Reclassify_sa(feature_shp1, Reclass_field__2_, Reclassification__2_,            Reclass_feat3, "NODATA")

  gp.Reclassify_sa(slope, Reclass_field, Reclassification, Reclass_slop3, "NODATA")

  gp.WeightedSum_sa("'..Reclass_feat3' VALUE 1;'D:..Reclass_slop3' VALUE 1","ijh")

1 个答案:

答案 0 :(得分:1)

如果您尝试使用ArcGIS地理处理工具而不启动ArcGIS本身,则需要将以下位代码放在程序的顶部:

import arcpy
#Rest of Program
#Step 3:Profit!

这应该允许您使用工具箱中的各种工具,包括加权和和重分类。我认为arcpy取代了arcgisscripting作为导入该模块的模块,但我不确定,因为我没有使用过ArcGIS脚本,而且已经知道除了arcpy以外的其他任何东西。

至于如何使工具箱工具正常工作,the ArcGIS Resource center can be quite helpful