0

我想运行使用地理处理工具的 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")
4

1 回答 1

1

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

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

这应该允许您使用工具箱中的各种工具,包括加权和和重新分类。我认为 arcpy 将 arcgisscripting 替换为为此目的导入的模块,但我不确定,因为我使用 python 脚本和 ArcGIS 的时间不够长,以至于除了 arcpy 之外还知道其他任何东西。

至于如何让工具箱工具工作,ArcGIS 资源中心会很有帮助

于 2015-01-07T17:49:47.103 回答