ArcGIS空间数据处理
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
VBScript,Python等脚本语言)
ArcGIS Model Builder
• 模型是现实问题的抽象和简化 • 来源于现实问题处理方法在模型中以工
具的形式呈现
• 研究者的思考在模型中以处理逻辑和流程的形式
呈现
• 最简单的模型
ArcGIS Model Builder实现
• 新建工具,在ToolBox中单击右键,出来右键菜单,在New
的子菜单里选Model
Model Builder界面介绍
模型运行过程产生的数据,不删除可能 会造成模型因为文件名冲突而不能运行
Model Builder界面介绍
• 编辑菜单,依次是剪贴、复制、粘贴和选择所有 • 视图菜单,自动布局是流程更加美观 、各种放大
ArcGIS空间数据处理
• 在ArcGIS空间处理是地理信息的处理过程:
数据 操作 数据
ArcGIS空间数据处理模型
• ArcGIS的工具是建立复杂处理过程的基础,通过对数据反
复使用不同的工具,可以得到新的数据或结果。
• 把多个步骤中使用的工具连接起来就形成了一个空间数据
处理模型,这个模型可以被用来自动执行和完成ArcGIS中 的空间数据处理任务。
推荐
• 根据规则生成,在模型中通过%scratchGDB%和
%scratchFolder%使用
• 设置成Managed
• Model自行指定合适位置
删除中间数据
• 手动删除中间数据
以标准工具方式运行
以标准工具方式运行
以对话框的方式运行
以对话框方式使用模型
• 将需要的模型变量发布成模型参数 • 将不需要默认值的变量清空值
添加数据到模型中 选择模型中的数据,工具 将数据和工具连接起来 运行选中的处理过程或整个模型
• 加入数据四种方式 • add data按钮 • 从ArcMap或ArcCatalog从直
接拖到模型中
• 模式界面中右键create
variable
• 在工具中添加数据
Page 31
• 加入工具
• 从ArcToolBox中拖拽已
• 通过按处理逻辑(流程)把多个处理过程组合到一起从
而实现对复杂问题的建模
公园选址模型
地理模型的用途
• 自动完成空间数据处理分析、数据管理、转
换工作
• 记录和保存一种处理方法 • 共享空间处理过程 • 创建定制的工具,将通用的操作集合到一个
工具中
地理建模的主要数据处理方法
• 数据转换:矢量到栅格,采样点空间插值,DEM 到栅格 • 地形分析:坡度、坡向、光照模型 • 重分类 • 缓冲区分析 • 图层叠加分析:权重模式、高级算法模式
• 类似于图形化(非可视化)的程序设计界面,实现
GIS问题的建模
• 模型输出结果可以加入到ArcMap数据框中 • 数据或工具可以直接从ArcMap中拖入Model Builder
ModelBuilder:模型参数化
• 模型中的变量(数据和派生数据)可以参数化 ,这
样做的目的有两个:
• 可以通过对话框的方式运行模型,就如运行Arctoolbox中的
连接线——Environment
连接线——Precondition
• 前提:用某个变量控制其他工具执行
连接线——Feedback
• 反馈:将结果重新作为输入
过程
一个过程
• 过程 = 工具 + 变量 + 连接线 • 模型的执行以过程为基本单位
这些都是过程
使用多个过程
• 多个相关的过程就组成了一个模型
行政区融合
1、村级行政区,select生成另一个表 2、更新行政代码 3、融合 4、处理碎片
建tin到dem
在arctoolbox没有create tin from featureclass 只能先create tin,后edit tin
等高线抽稀
从20米等高距到50米等高距的(加 密,可能需要平滑)
运行的方式
运行单个过程
运行Ready-To-Run的过程
运行所有可运 行的过程
在ArcMap检查结果
• 勾选Add To Display使之添加到ArcMap
中间数据
• 用于连接多个过程的中间结果是中间数据 • 以下情况外都默认设置成中间数据:
• 已有数据、最终结果、设为参数
• 在Model Builder中运行模型中间数据需要手动删除
循环的列子
一个目录下的有很多类似文件,进行循环
Page 99
脚本和Python
• 脚本语言的特征
• 在执行时以解释(interpreting) 为主的编程语言 • 特征:松散类型:变量无需定义成指定的类型 • 无需编译,解释执行 • 并非系统编程语言
为什么在地理处理中使用脚本
• 和建模一样的优越性:
其它分析工具一样;
• 能够作为子模型用于其它模型中
• 参数化的模
型可以作为
子模型用于
构造更复杂 的模型
唯一输入数据的模型 Area Within 100 meters of Streams
多个输入数据的模型: Parcels Within Flood Zone
多个输出数据的模型
Model Builder介绍
Tools下
创建矩形接幅表
任务:创立一个可以指定范围矩形接幅表 Create Fishnet和FeatureToPolygon
创建1:5万西安80国际标准分幅
中央经线为102度,经度范围为101-103,纬度2224,1:5万经差15分(0.25度),纬差10分 (0.16666666度)
创建1:5万西安80国际标准分幅
Model Only Tools
连接工具与变量
使用连 接工具
下拉框选择
使用连接工具
• 动态显示可用的参数
使用连接工具
• 根据模型元素类型判断连接线类型
演示
• 连接模型元素
在Model Builder中运行
模型元素的状态
模型的验证
模型验证做了什么
• 检查数据源是否有效 • 检查参数是否有效 • 检查工具是否有效
• Model Builder界面介绍 • 如何加入数据 • 如何加入工具 • 如何设置参数变量 • 如何运行和将已完成的工具共享,让其他人使用
Model Builder界面介绍
• 启动Model Builder
• 在ArcGIS(Catalog、Map、Globe、Scene)的菜单中选择
地理处理菜单下的模型构建器菜单
• Arcgis地理处理工具是进行地理数据分析的主要手段
• 地理数据处理方法复杂,操作步骤多,重复工作耗时
耗力
Arcgis空间处理工具
• 支持:工具、命令、模型、脚本
空间数据处理方式
• 在ArcGIS toolbox中运行具有GUI的工具 • 以命令行的形式运行一个分析工具 • 生成并运行一个模型,执行一系列的空间处理操作. • 编写并运行脚本程序调用空间处理工具(支持
有的工具,添加到模型 中
• 在ArcToolBox中查找工
具方法:
• 创建一个模型 • 模型概念部分
• 模型基本元素 • 模型过程
• 构建模型部分
• 添加模型元素 • 连接模型元素 • 验证和运行模型 • 模型的整饰
概要
创建一个模型
创建一个简单模型
关于简单模型的基本问题
• 组成一个Model的基本元素有什么? • 如何根据基本元素一个Model? • 如何运行一个Model?
添加模型元素
添加工具
• 直接拖拽 • Add Data or Tool
• 所有变量类型
添加变量
工具右键创建
空白处右键创建
添加变量
• 数据变量
• 从Catalog Window中直接拖拽 • 使用Add Data or Tool
演示
• 添加变量和工具
连接模型元素
输出结果会默认连好
普通GP 迭代器
数据
Page 85
设置工具参数
Page 86
修改每个节点的名称,右键Rename 或则 显示属性
Page 87
增加已有的工具,保存当前工具
Page 88
运行工具
• 蓝色的椭圆表示输入数据,绿色的椭圆表示 输出数据,黄色的矩形表示动作(采用哪个 工具)
• 只能从arctoolbox中拖拽工具,可以从 ArcCatalog或arcmap拖拽数据
• 网址: • 邮箱:support@ • 热线:400-819-2881
• 资源中心:/zh-cn/home
定义参数
定义参数
设置参数 1、双击、 2、右键打开 按Run 运行,再次run 先删除内部临时
Python版本
• 每一个ArcGIS版本都有相对应的Python版本(默认随
ArcGIS安装)
编写Python脚本
• 标准代码,导入基本模块,创建地理处理器对象
• #Import modules • import arcgisscripting, sys, os
中间数据的存放位置
• 人工指定到特定位置
• 共享后其他人没有相应文件夹或数据库怎么办?
• 放到Scratch Workspace下
• 可指定,通过%scratchworkspace%使用 • 可以指定到GDB或Foder • 共享是他人设置与你不同怎么办?
中间数据的存放位置
• 放到Scratch GDB或Scratch Folder
Model基本元素
模型的基本元素
Data Variable
Derived Data
Value Variable
Tools
连接线——Data
• Data:代表数据流向或执行方向
连接线——Environment
下一级覆盖上一级
连接线——Environment
通过模型属性设置
可以是常量也可 以指向一个变量
以对话框方式使用模型
• 在模型属性中设置参数属性
• 参数顺序 • 设置Filter
中间数据问题
• 中间数据会自行删除,无需手动删除
Model Builder的整饰
元素形状
更改工具和变量 更改连接线
空间位置
文字标注
自由标注和链接标注
标注的显示属性
创建标注的方法
Esri中国技术支持联系方式
• 高效地执行系列任务 • 阅读和编写简单 • 容易共享
• 批处理操作 • 使用逻辑来控制工具的执行 • 任务计划 • 与其它系统有接口 • 单个文件 • 任何时刻都可以运行 • 用户不需要学习一个特定的语言
选择脚本语言
为什么使用Python
• Python易学,因为它的语法清晰简单。 • Python支持基于对象的编程,并且更易理解 • Python文档简单 • 复杂的数据结构可以直接在python中工作 • 有调试的环境 • Python可以简单地跟C++和Fortran语言结合。 • Python可以无缝地与Java结合在一起 • Python是免费的并且被很多人采用。 • 跨平台 • ESRI 提供了大量基于Python的例子
图层叠加Overlay
• 将多个图层的信息结合在一
个图层中。
• 矢量图层的复合:相交、合并、
剪切
• 栅格图层的叠加:栅格计算器
栅格计算器
25% 25% 50%
加权叠加
ArcGIS Model Builder
• Model Builder提供了一个图形化的操作环境,可以
在其中创建及修改模型。
• 工具是矩形,数据是椭圆,线连接数据和工 具,箭头表示方向,所有的工具都有输出
Model Builder示例 • 对已有表加字段 • 创建矩形接幅表 • 缩编中村级行政区,生成乡级行政区 • tin到dem • 等高线抽稀(加密度)
• Model Builder循环的简单列子
对已有表加字段
任务:给一个表增加两个字段一个是ID,一个是 Name,使用Add Field在Data Management
ArcGIS Model Builder
• 模型是现实问题的抽象和简化 • 来源于现实问题处理方法在模型中以工
具的形式呈现
• 研究者的思考在模型中以处理逻辑和流程的形式
呈现
• 最简单的模型
ArcGIS Model Builder实现
• 新建工具,在ToolBox中单击右键,出来右键菜单,在New
的子菜单里选Model
Model Builder界面介绍
模型运行过程产生的数据,不删除可能 会造成模型因为文件名冲突而不能运行
Model Builder界面介绍
• 编辑菜单,依次是剪贴、复制、粘贴和选择所有 • 视图菜单,自动布局是流程更加美观 、各种放大
ArcGIS空间数据处理
• 在ArcGIS空间处理是地理信息的处理过程:
数据 操作 数据
ArcGIS空间数据处理模型
• ArcGIS的工具是建立复杂处理过程的基础,通过对数据反
复使用不同的工具,可以得到新的数据或结果。
• 把多个步骤中使用的工具连接起来就形成了一个空间数据
处理模型,这个模型可以被用来自动执行和完成ArcGIS中 的空间数据处理任务。
推荐
• 根据规则生成,在模型中通过%scratchGDB%和
%scratchFolder%使用
• 设置成Managed
• Model自行指定合适位置
删除中间数据
• 手动删除中间数据
以标准工具方式运行
以标准工具方式运行
以对话框的方式运行
以对话框方式使用模型
• 将需要的模型变量发布成模型参数 • 将不需要默认值的变量清空值
添加数据到模型中 选择模型中的数据,工具 将数据和工具连接起来 运行选中的处理过程或整个模型
• 加入数据四种方式 • add data按钮 • 从ArcMap或ArcCatalog从直
接拖到模型中
• 模式界面中右键create
variable
• 在工具中添加数据
Page 31
• 加入工具
• 从ArcToolBox中拖拽已
• 通过按处理逻辑(流程)把多个处理过程组合到一起从
而实现对复杂问题的建模
公园选址模型
地理模型的用途
• 自动完成空间数据处理分析、数据管理、转
换工作
• 记录和保存一种处理方法 • 共享空间处理过程 • 创建定制的工具,将通用的操作集合到一个
工具中
地理建模的主要数据处理方法
• 数据转换:矢量到栅格,采样点空间插值,DEM 到栅格 • 地形分析:坡度、坡向、光照模型 • 重分类 • 缓冲区分析 • 图层叠加分析:权重模式、高级算法模式
• 类似于图形化(非可视化)的程序设计界面,实现
GIS问题的建模
• 模型输出结果可以加入到ArcMap数据框中 • 数据或工具可以直接从ArcMap中拖入Model Builder
ModelBuilder:模型参数化
• 模型中的变量(数据和派生数据)可以参数化 ,这
样做的目的有两个:
• 可以通过对话框的方式运行模型,就如运行Arctoolbox中的
连接线——Environment
连接线——Precondition
• 前提:用某个变量控制其他工具执行
连接线——Feedback
• 反馈:将结果重新作为输入
过程
一个过程
• 过程 = 工具 + 变量 + 连接线 • 模型的执行以过程为基本单位
这些都是过程
使用多个过程
• 多个相关的过程就组成了一个模型
行政区融合
1、村级行政区,select生成另一个表 2、更新行政代码 3、融合 4、处理碎片
建tin到dem
在arctoolbox没有create tin from featureclass 只能先create tin,后edit tin
等高线抽稀
从20米等高距到50米等高距的(加 密,可能需要平滑)
运行的方式
运行单个过程
运行Ready-To-Run的过程
运行所有可运 行的过程
在ArcMap检查结果
• 勾选Add To Display使之添加到ArcMap
中间数据
• 用于连接多个过程的中间结果是中间数据 • 以下情况外都默认设置成中间数据:
• 已有数据、最终结果、设为参数
• 在Model Builder中运行模型中间数据需要手动删除
循环的列子
一个目录下的有很多类似文件,进行循环
Page 99
脚本和Python
• 脚本语言的特征
• 在执行时以解释(interpreting) 为主的编程语言 • 特征:松散类型:变量无需定义成指定的类型 • 无需编译,解释执行 • 并非系统编程语言
为什么在地理处理中使用脚本
• 和建模一样的优越性:
其它分析工具一样;
• 能够作为子模型用于其它模型中
• 参数化的模
型可以作为
子模型用于
构造更复杂 的模型
唯一输入数据的模型 Area Within 100 meters of Streams
多个输入数据的模型: Parcels Within Flood Zone
多个输出数据的模型
Model Builder介绍
Tools下
创建矩形接幅表
任务:创立一个可以指定范围矩形接幅表 Create Fishnet和FeatureToPolygon
创建1:5万西安80国际标准分幅
中央经线为102度,经度范围为101-103,纬度2224,1:5万经差15分(0.25度),纬差10分 (0.16666666度)
创建1:5万西安80国际标准分幅
Model Only Tools
连接工具与变量
使用连 接工具
下拉框选择
使用连接工具
• 动态显示可用的参数
使用连接工具
• 根据模型元素类型判断连接线类型
演示
• 连接模型元素
在Model Builder中运行
模型元素的状态
模型的验证
模型验证做了什么
• 检查数据源是否有效 • 检查参数是否有效 • 检查工具是否有效
• Model Builder界面介绍 • 如何加入数据 • 如何加入工具 • 如何设置参数变量 • 如何运行和将已完成的工具共享,让其他人使用
Model Builder界面介绍
• 启动Model Builder
• 在ArcGIS(Catalog、Map、Globe、Scene)的菜单中选择
地理处理菜单下的模型构建器菜单
• Arcgis地理处理工具是进行地理数据分析的主要手段
• 地理数据处理方法复杂,操作步骤多,重复工作耗时
耗力
Arcgis空间处理工具
• 支持:工具、命令、模型、脚本
空间数据处理方式
• 在ArcGIS toolbox中运行具有GUI的工具 • 以命令行的形式运行一个分析工具 • 生成并运行一个模型,执行一系列的空间处理操作. • 编写并运行脚本程序调用空间处理工具(支持
有的工具,添加到模型 中
• 在ArcToolBox中查找工
具方法:
• 创建一个模型 • 模型概念部分
• 模型基本元素 • 模型过程
• 构建模型部分
• 添加模型元素 • 连接模型元素 • 验证和运行模型 • 模型的整饰
概要
创建一个模型
创建一个简单模型
关于简单模型的基本问题
• 组成一个Model的基本元素有什么? • 如何根据基本元素一个Model? • 如何运行一个Model?
添加模型元素
添加工具
• 直接拖拽 • Add Data or Tool
• 所有变量类型
添加变量
工具右键创建
空白处右键创建
添加变量
• 数据变量
• 从Catalog Window中直接拖拽 • 使用Add Data or Tool
演示
• 添加变量和工具
连接模型元素
输出结果会默认连好
普通GP 迭代器
数据
Page 85
设置工具参数
Page 86
修改每个节点的名称,右键Rename 或则 显示属性
Page 87
增加已有的工具,保存当前工具
Page 88
运行工具
• 蓝色的椭圆表示输入数据,绿色的椭圆表示 输出数据,黄色的矩形表示动作(采用哪个 工具)
• 只能从arctoolbox中拖拽工具,可以从 ArcCatalog或arcmap拖拽数据
• 网址: • 邮箱:support@ • 热线:400-819-2881
• 资源中心:/zh-cn/home
定义参数
定义参数
设置参数 1、双击、 2、右键打开 按Run 运行,再次run 先删除内部临时
Python版本
• 每一个ArcGIS版本都有相对应的Python版本(默认随
ArcGIS安装)
编写Python脚本
• 标准代码,导入基本模块,创建地理处理器对象
• #Import modules • import arcgisscripting, sys, os
中间数据的存放位置
• 人工指定到特定位置
• 共享后其他人没有相应文件夹或数据库怎么办?
• 放到Scratch Workspace下
• 可指定,通过%scratchworkspace%使用 • 可以指定到GDB或Foder • 共享是他人设置与你不同怎么办?
中间数据的存放位置
• 放到Scratch GDB或Scratch Folder
Model基本元素
模型的基本元素
Data Variable
Derived Data
Value Variable
Tools
连接线——Data
• Data:代表数据流向或执行方向
连接线——Environment
下一级覆盖上一级
连接线——Environment
通过模型属性设置
可以是常量也可 以指向一个变量
以对话框方式使用模型
• 在模型属性中设置参数属性
• 参数顺序 • 设置Filter
中间数据问题
• 中间数据会自行删除,无需手动删除
Model Builder的整饰
元素形状
更改工具和变量 更改连接线
空间位置
文字标注
自由标注和链接标注
标注的显示属性
创建标注的方法
Esri中国技术支持联系方式
• 高效地执行系列任务 • 阅读和编写简单 • 容易共享
• 批处理操作 • 使用逻辑来控制工具的执行 • 任务计划 • 与其它系统有接口 • 单个文件 • 任何时刻都可以运行 • 用户不需要学习一个特定的语言
选择脚本语言
为什么使用Python
• Python易学,因为它的语法清晰简单。 • Python支持基于对象的编程,并且更易理解 • Python文档简单 • 复杂的数据结构可以直接在python中工作 • 有调试的环境 • Python可以简单地跟C++和Fortran语言结合。 • Python可以无缝地与Java结合在一起 • Python是免费的并且被很多人采用。 • 跨平台 • ESRI 提供了大量基于Python的例子
图层叠加Overlay
• 将多个图层的信息结合在一
个图层中。
• 矢量图层的复合:相交、合并、
剪切
• 栅格图层的叠加:栅格计算器
栅格计算器
25% 25% 50%
加权叠加
ArcGIS Model Builder
• Model Builder提供了一个图形化的操作环境,可以
在其中创建及修改模型。
• 工具是矩形,数据是椭圆,线连接数据和工 具,箭头表示方向,所有的工具都有输出
Model Builder示例 • 对已有表加字段 • 创建矩形接幅表 • 缩编中村级行政区,生成乡级行政区 • tin到dem • 等高线抽稀(加密度)
• Model Builder循环的简单列子
对已有表加字段
任务:给一个表增加两个字段一个是ID,一个是 Name,使用Add Field在Data Management