精华内容
下载资源
问答
  • 前言 1鸣谢 3第一部分 Python和地理处理的相关概念 4第1章 Python简介 41.1 引言 41.2 Python的特点 41.3 脚本语言和程序语言 41.4 ArcGIS脚本语言 51.5 Python的历史和版本 51.6 关于本书 61.7 Python脚本实例 ...

    前言 1

    鸣谢 3

    第一部分 Python和地理处理的相关概念 4

    第1章 Python简介 4

    1.1 引言 4

    1.2 Python的特点 4

    1.3 脚本语言和程序语言 4

    1.4 ArcGIS的脚本语言 5

    1.5 Python的历史和版本 5

    1.6 关于本书 6

    1.7 Python脚本实例 7

    1.8 Python脚本编辑器 10

    本章要点 15

    第2章 ArcGIS中的地理处理 16

    2.1 引言 16

    2.2 地理处理 16

    2.3 ArcObjets 16

    2.4 工具箱和工具 17

    2.5 工具的类型 19

    2.6 工具对话框 20

    2.7 环境设置 24

    2.8 批处理 26

    2.9 模型和ModelBuilder 29

    2.10 运行脚本 32

    2.11 运行脚本工具 34

    2.12 模型转为脚本 36

    2.13 定时运行脚本 37

    本章要点 39

    第3章 Python窗口 40

    3.1 引言 40

    3.2 Python窗口简介 40

    3.3 编写并运行脚本代码 40

    3.4 获取帮助 42

    3.5 Python窗口选项 44

    3.6 保存脚本 45

    3.7 在Python窗口中加载代码 46

    本章要点 46

    第4章 Python基础 47

    4.1 引言 47

    4.2 Python文档和资源 47

    4.3 数据类型与数据结构 47

    4.4 数字 47

    4.5 变量及其命名规则 48

    4.6 语句和表达式 49

    4.7 字符串 50

    4.8 列表 50

    4.9 Python对象 51

    4.10 函数 52

    4.11 方法 53

    4.12 处理字符串 53

    4.13 处理列表 56

    4.14 处理路径 58

    4.15 模块 59

    4.16 条件控制语句 60

    4.17 循环语句 62

    4.18 用户输入 63

    4.19 注释 64

    4.20 PythonWin编辑器 65

    4.21 编码规范 67

    本章要点 67

    第5章 使用Python进行地理处理 69

    5.1 引言 69

    5.2 ArcPy站点包 69

    5.3 导入ArcPy 69

    5.4 使用旧版ArcGIS 70

    5.5 使用地理处理工具 71

    5.6 使用地理处理工具箱 74

    5.7 ArcPy函数 75

    5.8 ArcPy类 76

    5.9 环境设置 77

    5.10 工具消息 78

    5.11 查询许可 81

    5.12 获取帮助 83

    本章要点 85

    第6章 访问空间数据 86

    6.1 引言 86

    6.2 检查数据的存在性 86

    6.3 描述数据 87

    6.4 列出数据 88

    6.5 对列表使用for循环 90

    6.6 操作列表 91

    6.7 元组 91

    6.8 字典 92

    本章要点 94

    第7章 处理空间数据 95

    7.1 引言 95

    7.2 使用游标访问数据 95

    7.3 在Python中使用SQL 98

    7.4 处理表和字段名 99

    7.5 解析属性表和字段名 101

    7.6 处理文本文件 101

    本章要点 107

    第8章 处理几何图形 108

    8.1 引言 108

    8.2 处理几何对象 108

    8.3 读取几何 108

    8.4 处理多部分要素 111

    8.5 处理有孔洞的多边形 114

    8.6 写入几何 116

    8.7 使用游标设置空间参考 118

    8.8 使用地理处理工具处理几何对象 119

    本章要点 120

    第9章 使用栅格数据 121

    9.1 引言 121

    9.2 列出栅格数据 121

    9.3 描述栅格属性 121

    9.4 处理栅格对象 123

    9.5 Spatial Analyst模块 124

    9.6 地图代数 125

    9.7 ApplyEnvironment函数 127

    9.8 arcpy.as模块中的类 128

    9.9 NumPy数组 131

    本章要点 131

    第10章 制图脚本 133

    10.1 引言 133

    10.2 ArcPy的制图模块 133

    10.3 地图文档 133

    10.4 地图文档的属性和方法 134

    10.5 数据框 135

    10.6 图层 137

    10.7 修复数据链接 139

    10.8 页面布局元素 143

    10.9 输出地图 145

    10.10 打印地图 146

    10.11 处理PDF文档 147

    10.12 新建地图册 147

    10.13 制图脚本样例 150

    本章要点 152

    第11章 程序调试与错误处理 153

    11.1 引言 153

    11.2 识别语法错误 153

    11.3 识别异常 155

    11.4 程序调试 155

    11.5 程序调试技巧 160

    11.6 异常的处理 160

    11.7 触发异常 161

    11.8 处理异常 162

    11.9 处理地理处理异常 164

    11.10 其它错误处理方法 166

    11.11 常见错误 166

    本章要点 167

    第12章 创建Python类和函数 168

    12.1 引言 168

    12.2 创建函数 168

    12.3 调用函数 170

    12.4 添加代码到模块中 172

    12.5 使用类 173

    12.6 地理处理包 176

    本章要点 178

    第13章 创建自定义工具 179

    13.1 引言 179

    13.2 为什么要创建自定义工具 179

    13.3 创建自定义工具的步骤 179

    13.4 编辑脚本代码 185

    13.5 工具参数 186

    13.6 设置工具参数 192

    13.7 脚本工具示例 198

    13.8 自定义工具行为 201

    13.9 处理消息 202

    13.10 处理独立脚本和工具的消息 204

    13.11 自定义进度对话框 204

    13.12 在进程中运行脚本 208

    本章要点 208

    第14章 共享脚本工具 209

    14.1 引言 209

    14.2 工具共享的方法 209

    14.3 软件许可 209

    14.4 共享工具的文件夹结构 210

    14.5 处理路径 210

    14.6 查找数据和工作空间 214

    14.7 创建地理处理包 215

    14.8 内嵌脚本并设置工具密码 216

    14.9 编写工具文档 216

    14.10 示例工具:市场分析 220

    本章要点 226

    附录C 227

    1 安装数据和软件 227

    2 安装练习数据 227

    3 卸载数据及资源 229

    4 安装软件 229

    5 卸载软件 229

    展开全文
  • 在上篇博客——利用Python制作Arcgis脚本工具(上)中,记录自己制作Arcgis脚本工具,并在本机成功运行的经历。制作工具的目的之一是共享,但不幸的是,在移植工具到其他电脑上时,出现了以下错误: 1、已在...

    在上篇博客——利用Python制作Arcgis脚本工具(上)中,记录自己制作Arcgis脚本工具,并在本机成功运行的经历。制作工具的目的之一是共享,但不幸的是,在移植工具到其他电脑上时,出现了以下错误:

     

    1、已在作者本机成功运行,BUT移植报错的脚本

    #coding=utf-8
    import arcpy
    import os
    import os.path
    inWorkspace = arcpy.GetParameterAsText(0)  #输入英文城市名文件所在路径,下含已转好的DAE_SHP文件夹
    #inWorkspace = "D:/PythonCode_inWork/09DAE_SHP_Check/PROCESS/DATA/YANGZHOU"
    
    #城市名自动获取
    city = os.path.split(inWorkspace)[-1]
    
    #_H合并Tile
    shps_dir = inWorkspace + "/DAE_SHP"
    shps = os.listdir(shps_dir)
    shps_H = []
    for i in shps:
        if '_H_poly.shp'  in i:
            shps_H.append(shps_dir+"/"+i)
    arcpy.AddMessage('Start merging...')
    #merge_name = city + "_MERGE.shp"
    #merge_result = os.path.join(inWorkspace,merge_name)
    merge_result = inWorkspace + "/"+ city + "_MERGE.shp"
    #print merge_result
    arcpy.Merge_management(shps_H,merge_result)
    arcpy.AddMessage('Merging succeed!')
    
    #按PID融合
    arcpy.AddMessage('Start dissolving...')
    dissolve_result = inWorkspace + "/"+ city + "_DISSOLVE.shp"
    arcpy.Dissolve_management(merge_result, dissolve_result,["PID","FTYPE"])
    arcpy.AddMessage('Dissolving succeed!' ) 
    
    #与Tile面交集取反
    Outline = ""
    arcpy.AddMessage('Start symdiffing...')
    for j in os.listdir(inWorkspace):
        if "Submit_Outline_M.shp" in j:
            Outline = j
    inFeatures = inWorkspace + "/"+ Outline
    updateFeatures = dissolve_result
    outFeatureClass = inWorkspace + "/"+ city + "_SymDiff.shp"
    arcpy.SymDiff_analysis(inFeatures, updateFeatures, outFeatureClass, "ALL",0.05)
    arcpy.AddMessage('Symdiffing succeed!' )
    
    #漏蓝结果排除边界外
    blue_union = inWorkspace + "/"+ city + "_BLUE_UNION.shp"
    arcpy.Clip_analysis(outFeatureClass, inFeatures, blue_union)
    
    #拆分多部件要素
    blue = inWorkspace + "/"+ city + "_BLUE.shp"
    arcpy.MultipartToSinglepart_management(blue_union,blue)
    
    #漏蓝检查提示消息
    #feature_count = int(arcpy.GetCount_management(blue).getOutput(0))
    feature_count = 0
    if feature_count == 0:
        arcpy.AddMessage("No Blue!Congratulations!".format(feature_count))
    elif feature_count == 1:
        arcpy.AddMessage("There is {0} blue gap to confirm!".format(feature_count))
    else:
        arcpy.AddMessage("There are {0} blue gaps to confirm!".format(feature_count))
    
    ​

     思索、困惑、抓耳挠腮................................................原来!问题!出在!这里:

    注意:

    路径里最后一个"/"必须写成“\\”,写成"/"或r“\”都不行,虽然语法上都正确。

    做了以上修改后,便可以移植到其他电脑上成功运行了。

     

    2、修改后的脚本

    #coding=utf-8
    import arcpy
    import os
    import os.path
    inWorkspace = arcpy.GetParameterAsText(0)  #输入英文城市名文件所在路径,下含已转好的DAE_SHP文件夹 D:\
    #inWorkspace = "D:\\PythonCode_inWork\\09DAE_SHP_Check\\PROCESS\\DATA\\YANGZHOU"
    
    #城市名自动获取
    city = os.path.split(inWorkspace)[-1]
    
    #_H合并Tile
    shps_dir = inWorkspace + "\\DAE_SHP"
    shps = os.listdir(shps_dir)
    shps_H = []
    for i in shps:
        if '_H_poly.shp' in i:
            shps_H.append(shps_dir+"\\"+i)
    arcpy.AddMessage('Start merging...')
    #merge_name = city + "_MERGE.shp"
    #merge_result = os.path.join(inWorkspace,merge_name)
    merge_result = inWorkspace + "\\" + city + "_MERGE.shp"
    #print merge_result
    arcpy.Merge_management(shps_H, merge_result)
    arcpy.AddMessage('Merging succeed!')
    
    #按PID融合
    arcpy.AddMessage('Start dissolving...')
    dissolve_result = inWorkspace + "\\" + city + "_DISSOLVE.shp"
    arcpy.Dissolve_management(merge_result, dissolve_result, ["PID", "FTYPE"])
    arcpy.AddMessage('Dissolving succeed!')
    
    #与Tile面交集取反
    Outline = ""
    arcpy.AddMessage('Start symdiffing...')
    for j in os.listdir(inWorkspace):
        if "Submit_Outline_M.shp" in j:
            Outline = j
    inFeatures = inWorkspace + "\\" + Outline
    updateFeatures = dissolve_result
    outFeatureClass = inWorkspace + "\\" + city + "_SymDiff.shp"
    arcpy.SymDiff_analysis(inFeatures, updateFeatures, outFeatureClass, "ALL", 0.05)
    arcpy.AddMessage('Symdiffing succeed!')
    
    #拆分多部件要素
    blue = inWorkspace + "\\" + city + "_BLUE.shp"
    arcpy.MultipartToSinglepart_management(outFeatureClass, blue)
    
    #漏蓝检查提示消息
    feature_count = int(arcpy.GetCount_management(blue).getOutput(0))
    if feature_count == 0:
        arcpy.AddMessage("No Blue!Congratulations!".format(feature_count))
    elif feature_count == 1:
        arcpy.AddMessage("There is {0} blue gap to confirm!".format(feature_count))
    else:
        arcpy.AddMessage("There are {0} blue gaps to confirm!".format(feature_count))
    

     

    展开全文
  • ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了。这里用按要素裁剪栅格的Python来演示如何导入ArcGIS中。代码如下:import sysreload(sys)sys.setdefaultencoding( "utf-8" )import ...

    在Pyhton写的一些代码,用户交互不方便,用户体验比较差,不方便重用。在ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了。这里用按要素裁剪栅格的Python来演示如何导入ArcGIS中。代码如下:

    import sys

    reload(sys)

    sys.setdefaultencoding( "utf-8" )

    import arcpy

    import string

    from arcpy.sa import *

    try:

    raster = arcpy.GetParameterAsText(0) #要裁剪的栅格

    clip_feat = arcpy.GetParameterAsText(1) #裁剪要素类

    field = arcpy.GetParameterAsText(2) #命名字段

    outworkspace = arcpy.GetParameterAsText(3) #命名字段裁剪后输出目录

    for row in arcpy.SearchCursor(clip_feat):

    mask=row.getValue("Shape")

    outPath=outworkspace+"\\"+str(row.getValue(field))

    outExtractByMask = ExtractByMask(raster,mask)

    outExtractByMask.save(outPath)

    except arcpy.ExecuteError:

    print arcpy.GetMessages()

    在用户工具箱中新建工具箱(在系统工具箱中不能新建),在工具箱右键,添加脚本;

    271504337376765.png

    271504354419551.png

    输入名称、标签、描述等信息。下一步,选择脚本文件。(这里需要注意的是:一定要勾选"存储相对路径名"这个选项)

    271504365814468.png

    271504380343713.png

    设置参数,这是最重要的一步。其中参数即代码中GetParameterAsText(n),并选择合适的数据类型,在参数属性中也可以进行相关设置。如果输出栅格名称按裁剪要素中的某个字段,需要设置"获取息"属性,还要进行过滤一下。

    271504400193584.png

    设置好一切参数过后,就可以来进行测试了。在本机上测试通!

    271504415661857.png

    接下来便是怎样移植到其他电脑了的问题了。前面我说说过要存储为相对路径,否则,将报错00576:脚本工具使用的脚本未处于所需位置。创建脚本工具时,有一个选项用于存储相对路径名(而不是绝对路径名)。设置此选项后,脚本的相对位置和保存脚本工具的工具箱必须保持不变。执行工具时移动两者中的任何一个都会出现此错误。

    271504428004801.png

    但改为相对路径后,在其他电脑上也能正常运行,但弹出了警告窗口。原因是客户机上没有勾选扩展模块相应的功能。这个示例需要勾选空间分析模板,因为使用了按掩膜提取这个工具。这个脚本实现的详情参考:使用Python脚本批量裁切栅格

    发布给他人,涉及到个人知识产权的问题,怎样让他人使用工具,又不能看到脚本代码?如果编辑调试完成了,在脚本工具右键可导入脚本。

    271504440347745.png

    271504470037018.png

    设置密码后,即可。

    271504483318991.png

    但必须注意的是:整个代码中不能有中文字符,否则,不能正常导入脚本,发布出去的脚本工具就有问题。没办法,对中文支持不好。

    展开全文
  • 如何用arcgis的python进行批处理目前比较常批处理包类:DOS批处理和PS批处理。PS批处理是强大片编辑软件Photoshop的,用来批量处理图片的脚本;而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现...

    如何用arcgis的python进行批处理

    目前比较常批处理包类:DOS批处理和PS批处理。PS批处理是强大片编辑软件Photoshop的,用来批量处理图片的脚本;

    而DOS批处理则是基于DOS命令的,用来自动地批量地执行DOS命令以实现特定操作的脚本。更复杂的情况,需要使用if、for、goto等命令控制程式的运行过程,如同C、Basic等高级语言一样。如果需要实现更复杂的应用,利用外部程式是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何当前系统下可运行的程序都可以放在批处理文件中运行。

    怎么用python开发arcgis

    在Pyhton写的一码,用户交方便,用户体验比较差,不方便重用ArcGIS中可以将用写的Python代码到ToolBox中,这样用起来就比较方便了。这里用按要素裁剪栅格的Python来演示如何导入ArcGIS中。代码如下:

    import sys

    reload(sys)

    sys.setdefaultencoding( "utf-8" )

    import arcpy

    import string

    from arcpy.sa import *

    try:

    raster = arcpy.GetParameterAsText(0) #要裁剪的栅格

    clip_feat = arcpy.GetParameterAsText(1) #裁剪要素类

    field = arcpy.GetParameterAsText(2) #命名字段

    outworkspace = arcpy.GetParameterAsText(3) #命名字段裁剪后输出目录

    for row in arcpy.SearchCursor(clip_feat):

    mask=row.getValue("Shape")

    outPath=outworkspace "\\" str(row.getValue(field))

    outExtractByMask = ExtractByMask(raster,mask)

    outExtractByMask.save(outPath)

    except arcpy.ExecuteError:

    print arcpy.GetMessages()

    在用户工具箱中新建工具箱(在系统工具箱中不能新建),在工具箱右键,添加脚本;

    输入名称、标签、描述等信息。下一步,选择脚本文件。(这里需要注意的是:一定要勾选"存储相对路径名"这个选项)

    设置参数,这是最重要的一步。其中参数即代码中GetParameterAsText(n),并选择合适的数据类型,在参数属性中也可以进行相关设置。如果输出栅格名称按裁剪要素中的某个字段,需要设置"获取息"属性,还要进行过滤一下。

    设置好一切参数过后,就可以来进行测试了。在本机上测试通!

    接下来便是怎样移植到其他电脑了的问题了。前面我说说过要存储为相对路径,否则,将报错00576:脚本工具使用的脚本未处于所需位置。创建脚本工具时,有一个选项用于存储相对路径名(而不是绝对路径名)。设置此选项后,脚本的相对位置和保存脚本工具的工具箱必须保持不变。执行工具时移动两者中的任何一个都会出现此错误。

    但改为相对路径后,在其他电脑上也能正常运行,但弹出了警告窗口。原因是客户机上没有勾选扩展模块相应的功能。这个示例需要勾选空间分析模板,因为使用了按掩膜提取这个工具。这个脚本实现的详情参考:使用Python脚本批量裁切栅格

    发布给他人,涉及到个人知识产权的问题,怎样让他人使用工具,又不能看到脚本代码?如果编辑调试完成了,在脚本工具右键可导入脚本。

    设置密码后,即可。

    Python写arcgis脚本,要怎么import arcpy呢,我用的IDE是pycharm,直

    arcpy放哪里的?

    请问大家谁有《面向ArcGIS的Python脚本编程》这本书中提到的配套练习数据吗?

    请问大家谁有《面向ArcGIS的Python脚本编程》这本书中提到的配套练习数据吗?

    arcgis 10.0 的python脚本怎么用

    找到工具条,上面Python的按钮:

    打开之后,在里面输入代码就行:

    关于arcgis的python脚本编程, shape文件出png图片问题

    1类型的PointToRaster example 1 (Python

    window)

    Converts point features to a raster dataset.

    import arcpy

    from arcpy import env

    env.workspace = "c:/data"

    arcpy.PointToRaster_conversion("ca_ozone_pts.shp", "ELEVATION",

    "c:/output/ca_elev", "MAXIMUM", "", 2000)

    PointToRaster example 2

    (stand-alone script)

    Converts point features to a raster dataset.

    # Name: PointToRaster_Ex_02.py

    # Description: Converts point features to a raster dataset.

    # Requirements: ArcInfo

    # Import system modules

    import arcpy

    from arcpy import env

    # Set environment settings

    env.workspace = "C:/data"

    # Set local variables

    inFeatures = "ca_ozone_pts.shp"

    valField = "ELEVATION"

    outRaster = "c:/output/ca_elev02"

    assignmentType = "MAXIMUM"

    priorityField = ""

    cellSize = 2000

    # Execute PointToRaster

    arcpy.PointToRaster_conversion(inFeatures, valField, outRaster,

    assignmentType, priorityField, cellSize)

    2、面类型的转栅格:PolygonToRaster example 1

    (Python window)

    Converts polygon features to a raster dataset.

    import arcpy

    from arcpy import env

    env.workspace = "c:/data"

    arcpy.PolygonToRaster_conversion("ca_counties.shp", "NAME",

                                     "c:/output/ca_counties.img", 

    "MAXIMUM_AREA", "MALES", 0.25)

    PolygonToRaster example 2

    (stand-alone script)

    Converts polygon features to a raster dataset.

    # Name: PolygonToRaster_Ex_02.py

    # Description: Converts polygon features to a raster dataset.

    # Requirements: ArcInfo

    # Import system modules

    import arcpy

    from arcpy import env

    # Set environment settings

    env.workspace = "C:/data"

    # Set local variables

    inFeatures = "ca_counties.shp"

    valField = "NAME"

    outRaster = "c:/output/ca_counties"

    assignmentType = "MAXIMUM_AREA"

    priorityField = "MALES"

    cellSize = 0.5

    # Execute PolygonToRaster

    arcpy.PolygonToRaster_conversion(inFeatures, valField, outRaster,

    assignmentType, priorityField, cellSize)

    3、线类型转栅格PolylineToRaster example 1

    (Python window)

    Converts polyline features to a raster dataset.

    import arcpy

    from arcpy import env

    env.workspace = "c:/data"

    arcpy.PolylineToRaster_conversion("roads.shp", "CLASS", "c:/output/roads.img",

    "MAXIMUM_COMBINED_LENGTH", "LENGTH", 30)

    PolylineToRaster example 2

    (stand-alone script)

    Converts polyline features to a raster dataset.

    # Name: PolylineToRaster_Ex_02.py

    # Description: Converts polyline features to a raster dataset.

    # Requirements: ArcInfo

    # Import system modules

    import arcpy

    from arcpy import env

    # Set environment settings

    env.workspace = "C:/data"

    # Set local variables

    inFeatures = "roads.shp"

    valField = "CLASS"

    outRaster = "c:/output/roads.tif"

    assignmentType = "MAXIMUM_COMBINED_LENGTH"

    priorityField = "LENGTH"

    cellSize = 30

    # Execute PolylineToRaster

    arcpy.PolylineToRaster_conversion(inFeatures, valField, outRaster,

    assignmentType, priorityField, cellSize)

    python 可以调用arcgis工具吗

    arcgis可以用Python脚本

    在Pyhton写的一些代码,用户交互不方便,用验比较差,不方便重在ArcGIS以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了。这里用按要素裁剪栅格的Python来演示如何导入ArcGIS中。代码如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    import sys

    reload(sys)

    sys.setdefaultencoding( "utf-8" )

    import arcpy

    import string

    from arcpy.sa import *

    try:

    raster = arcpy.GetParameterAsText(0) #要裁剪的栅格

    clip_feat = arcpy.GetParameterAsText(1) #裁剪要素类

    field = arcpy.GetParameterAsText(2) #命名字段

    outworkspace = arcpy.GetParameterAsText(3) #命名字段裁剪后输出目录

    for row in arcpy.SearchCursor(clip_feat):

    mask=row.getValue("Shape")

    outPath=outworkspace "\\" str(row.getValue(field))

    outExtractByMask = ExtractByMask(raster,mask)

    outExtractByMask.save(outPath)

    except arcpy.ExecuteError:

    print arcpy.GetMessages()

    在用户工具箱中新建工具箱(在系统工具箱中不能新建),在工具箱右键,添加脚本;

    输入名称、标签、描述等信息。下一步,选择脚本文件。(这里需要注意的是:一定要勾选"存储相对路径名"这个选项)

    设置参数,这是最重要的一步。其中参数即代码中GetParameterAsText(n),并选择合适的数据类型,在参数属性中也可以进行相关设置。如果输出栅格名称按裁剪要素中的某个字段,需要设置"获取息"属性,还要进行过滤一下。

    设置好一切参数过后,就可以来进行测试了。在本机上测试通!

    接下来便是怎样移植到其他电脑了的问题了。前面我说说过要存储为相对路径,否则,将报错00576:脚本工具使用的脚本未处于所需位置。创建脚本工具时,有一个选项用于存储相对路径名(而不是绝对路径名)。设置此选项后,脚本的相对位置和保存脚本工具的工具箱必须保持不变。执行工具时移动两者中的任何一个都会出现此错误。

    但改为相对路径后,在其他电脑上也能正常运行,但弹出了警告窗口。原因是客户机上没有勾选扩展模块相应的功能。这个示例需要勾选空间分析模板,因为使用了按掩膜提取这个工具。这个脚本实现的详情参考:使用Python脚本批量裁切栅格

    发布给他人,涉及到个人知识产权的问题,怎样让他人使用工具,又不能看到脚本代码?如果编辑调试完成了,在脚本工具右键可导入脚本。

    设置密码后,即可。

    但必须注意的是:整个代码中不能有中文字符,否则,不能正常导入脚本,发布出去的脚本工具就有问题。没办法,对中文支持不好。

    向精通ArcGIS——python脚本开发的同学请教

    No设成字符串,如No=“1”;select句,改成select("XYSheet1.shp","XYSheet1_Select1.shp","\"矿区编号\"

    =" No)。

    版权声明:本站所有文章皆为原创,欢迎转载或转发,请保留网站地址和作者信息。

    展开全文
  • 低层次的处理任务只有脚本可以执行,如某些表格操作脚本可以使用更复杂的编程逻辑,如错误捕捉等脚本可以包裹其他软件,如Excel 或是 R程序脚本可以单独运行,实际上也需要安装ArcGIS脚本可以定时执行ArcPy的类ArcPy...
  • 虽然在ArcMap中也有提供对应的工具(批量处理、建模等),但对于多个步骤之前的衔接及其它特殊处理存在困难,本系列文章将带你一步步理解ArcGIS二次开发并编写自己的工具。本系列文章内容并非来自课程教材,而是作者...
  • 利用Python制作Arcgis脚本工具(上)

    千次阅读 2019-04-19 12:45:44
    感谢ArcpyQQ群里的热心大神,帮我找出了城市名提取上的错误,并提供了多种简洁正确的方法!反思自己的基础还不扎实,连字符串常用的split()方法都忘记了...但也无须沮丧,继续多多练习吧! 自顶向下设计,自底向上...
  • 查看Python默认的错误消息添加Python异常处理语句结构(try/except/finally)调用GetMessages()函数获取工具消息使用严重性级别筛选工具消息调用GetMessage()返回单个消息测试并响应特定错误消息引言ArcGIS地理处理...
  • kml文件解析。使用ArcPy实现kml转shp文件,ArcGIS创建python脚本工具步骤。ValueError: could not convert string to float处理。
  • 我们将在本章介绍以下案例:通过命令行执行Python脚本使用sys.argv[]捕获命令行输入参数将Python脚本添加到批处理文件创建任务计划引言Python脚本既可以在ArcGIS运行环境外以独立脚本的形式来运行,也可以在ArcGIS...
  • 本文主要是分享本人在编写ArcGIS自定义脚本的一些经验,内容包括各脚本的界面、代码、设置等。涉及到的大多数脚本针对批处理栅格数据、绘图分析方面。 个人能力有限,如有疏忽错误,欢迎各位交流、指正! 一、功能...
  • 今天在arcgis脚本开发中碰到一个问题,在定义变量时,用的是GetParameterAsText函数,此函数返回的是一个字符串,但是在输入时,限定了只能输入整型数据。 #定义的接收变量 zaodao_gw = arcpy.GetParameterAsText...
  • ARCGIS Pro试用版申请教程
  • 一、引言在arcgis打开一个图层的属性表,可以对属性表的某个字段进行计算,但是在平常一般都是使用arcgis提供的字段计算器的界面进行傻瓜式的简答的赋值操作,并没有使用到脚本对字段值进行逻辑的操作。由于最近一直...
  • 一、引言在arcgis打开一个图层的属性表,可以对属性表的某个字段进行计算,但是在平常一般都是使用arcgis提供的字段计算器的界面进行傻瓜式的简答的赋值操作,并没有使用到脚本对字段值进行逻辑的操作。由于最近一直...
  • 来自:https://www.jb51.net/article/73561.htm一、引言在arcgis打开一个图层的属性表,可以对...由于最近一直在学python脚本,刚好又碰上一好基友需要我的助攻(使用arcgis制图),这就用上了。本以为能够轻松搞...
  • , 本书的主要内容:,  Python语法基础,  地理处理任务的自动化,  空间数据的访问和操作,  矢量和栅格数据的使用,  制图脚本开发,  程序调试和错误处理,  函数和类的创建,  脚本工具的创建和共享
  • 【实例简介】面向ArcGIS的Python脚本编程,最实用的教程。面向ArcGIS的Python脚本编程,最实用的教程。面向ArcGIS的Python脚本编程,最实用的教程。目录第一部分Pyth0n和地理处理的相关概念第1章 Python简介..···...
  • ArcGIS运行脚本报错的原因不一定是代码语法错误 能用arcpy.GetParameterAsText()就不要用raw_input() 能用arcpy.AddMessage()就不要用print() 勾选"执行脚本时显示命令窗口"能解决一部分问题,用"调试"模式运行能...
  • 基于ArcGIS的Python编程秘笈(第2版)译者简介审阅人简介1 面向ArcGIS的Python语言基础1.1 使用IDLE进行Python脚本开发1.1.1 Python Shell窗口1.1.2 Python脚本窗口1.1.3 编辑已有的Python脚本1.1.4 在IDLE中运行脚本...
  • 连接ArcGIS服务器错误:代理服务器从远程服务器收到了错误地址 万年不在自己电脑上发服务,所以今天发服务的时候就遇到这个小问题。 第一反应,ArcGIS Server服务没开,屁颠屁颠去开了,满心欢喜,打开还是这个错误...
  • 给大家带来的一篇关于Python相关的电子书资源,介绍了关于ArcGIS、Python、脚本编程方面的内容,本书是由人民邮电出版社出版,格式为PDF,资源大小49.9 MB,Paul编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分...
  • 前言 1鸣谢 3第一部分 Python和地理处理的相关概念 4第1章 Python简介 41.1 引言 41.2 Python的特点 41.3 脚本语言和程序语言 41.4 ArcGIS脚本语言 51.5 Python的历史和版本 51.6 关于本书 61.7 Python脚本实例 ...
  • 在用户工具箱中新建工具箱(在系统工具箱中不能新建),在工具箱右键,添加脚本; 输入名称、标签、描述等信息。下一步,选择脚本文件。(这里需要注意的是:一定要勾选"存储相对路径名"这个选项) 设置参数,...
  • ArcGIS中可以将用写的Python代码导入到ToolBox中,这样用起来就比较方便了。这里用按要素裁剪栅格的Python来演示如何导入ArcGIS中。代码如下:import sysreload(sys)sys.setdefaultencoding( "utf-8" )...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 912
精华内容 364
关键字:

arcgis脚本错误