ArcGIS教程:提取栅格像元几种方式
更新时间:2024-01-18 02:57:01 阅读量: 教育文库 文档下载
地理国情监测云平台
ArcGIS教程:栅格像元的提取
一、按属性提取
摘要
基于逻辑查询提取栅格像元。 插图
用法
· 如果 Where 子句的求值结果是 True,则将为该像元位置返回初始输入值。如果其求值结果是 False,则将为像元位置指定 NoData。
· 对于输出栅格,将舍弃输入栅格中的所有额外项(值和计数除外)。
· 如果在 Where 子句中指定了除输入栅格的值以外的某一项,则将为此像元位置返回初始输入值。 · 当输入为多波段栅格时,将输出一个新的多波段栅格。对输入多波段栅格中的每一单个波段都会进行相应分析。
默认输出格式是 Esri Grid 堆栈。请注意,Esri Grid 堆栈的名称不能以数字开头、不能使用空格,并且长度不能超过 9个字符。
· 如果输入内容为根据多波段栅格(超过三个波段)创建的图层,提取操作将只考虑图层加载(符号化)的波段。因此,输出的多波段栅格只会具有三个波段,分别对应于输入图层显示中使用的多波段栅格。 · 如果输入栅格为整型,那么输出栅格也为整型。如果输入栅格为浮点型,则输出栅格也为浮点型。 语法
ExtractByAttributes (in_raster, where_clause)
参数 说明 数据类型 北京数字空间科技有限公司
地理国情监测云平台
in_raster 提取像元的输入栅格。 表达式遵循 SQL 表达式的一般格式。 返回值
Raster Layer SQL Expression where_clause 用于选择栅格像元子集的逻辑表达式。
说明 包含提取像元值的输出栅格。 数据类型 Raster 名称 out_raster 代码实例
按属性提取 (ExtractByAttributes) 示例 1(Python 窗口)
本示例将基于逻辑查询从栅格中提取像元,其中高程大于 1,000 米。
import arcpy
from arcpy import env from arcpy.sa import *
env.workspace = \
attExtract = ExtractByAttributes(\, \) attExtract.save(\)
按属性提取 (ExtractByAttributes) 示例 2(独立脚本)
本示例将基于逻辑查询从栅格中提取像元,其中高程大于 1,000 米。
# Name: ExtractByAttributes_Ex_02.py
# Description: Extracts the cells of a raster based on a logical query. # Requirements: Spatial Analyst Extension # Import system modules import arcpy
from arcpy import env from arcpy.sa import * # Set environment settings
env.workspace = \ # Set local variables inRaster = \ inSQLClause = \
# Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension(\) # Execute ExtractByAttributes
attExtract = ExtractByAttributes(inRaster, inSQLClause) # Save the output
attExtract.save(\)
北京数字空间科技有限公司
地理国情监测云平台
二、按圆形区域提取
摘要
基于圆提取栅格像元。 用法
· 可通过像元的中心来确定该像元是位于圆的内部还是位于圆的外部。如果中心位于圆弧的内部,则即使部分像元落在圆外,也会将此像元视为完全处于圆内。 · 未选择的像元位置被赋予 NoData 值。
· 当输入为多波段栅格时,将输出一个新的多波段栅格。对输入多波段栅格中的每一单个波段都会进行相应分析。
默认输出格式是 Esri Grid 堆栈。请注意,Esri Grid 堆栈的名称不能以数字开头、不能使用空格,并且长度不能超过 9个字符。
· 如果输入内容为根据多波段栅格(超过三个波段)创建的图层,提取操作将只考虑图层加载(符号化)的波段。因此,输出的多波段栅格只会具有三个波段,分别对应于输入图层显示中使用的多波段栅格。 · 如果输入栅格为整型,那么输出栅格也为整型。如果输入栅格为浮点型,则输出栅格也为浮点型。 语法
ExtractByCircle (in_raster, center_point, radius, {extraction_area})
参数 in_raster center_point 说明 提取像元的输入栅格。 指示用于定义提取区域的圆的中心坐标 (x,y) 的点类。 该类的形式为: 数据类型 Raster Layer Point ? Point (x, y) 将指定坐标使用与输入栅格相同的地图单位。 radius 用于定义提取区域的圆半径。 将以地图单位指定半径,并且与输入栅格的单位相同。 extraction_area 标识要提取输入圆内部还是输入圆外部的像元。 (可选) Double String ? INSIDE — 指定应选择输入圆内部的像元并将其写入输出栅格的关键字。圆形区域外部的所有像元都将在输出栅格中获得 NoData 值。 ? OUTSIDE — 指定应选择输入圆外部的像元并将其写入输出栅格的关键字。圆形区域内部的所有像元都将在输出栅格中获得 NoData 值。 返回值
北京数字空间科技有限公司
地理国情监测云平台
名称 out_raster 代码实例
按圆形区域提取 (ExtractByCircle) 示例 1(Python 窗口) 本示例将在某一点位置方圆 500 米的半径范围内提取像元。
说明 包含提取像元值的输出栅格。 数据类型 Raster import arcpy
from arcpy import env from arcpy.sa import *
env.workspace = \
outExtCircle = ExtractByCircle(\, arcpy.Point(482838.823, 222128.982), 500, \) outExtCircle.save(\) 按圆形区域提取 (ExtractByCircle) 示例 2(独立脚本) 本示例将在某一点位置方圆 1,000 米的半径范围内提取像元。
# Name: ExtractByCircle_Ex_02.py
# Description: Extracts the cells of a raster based on a circle. # Requirements: Spatial Analyst Extension # Import system modules import arcpy
from arcpy import env from arcpy.sa import * # Set environment settings
env.workspace = \ # Set local variables inRaster = (\)
centerPoint = arcpy.Point(482838.823, 222128.982) circRadius = 1000 extractType = \
# Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension(\) # Execute ExtractByCircle
outExtCircle = ExtractByCircle(inRaster, centerPoint, circRadius, extractType) # Save the output
outExtCircle.save(\)
三、按掩膜提取
北京数字空间科技有限公司
地理国情监测云平台
摘要
提取所定义掩膜区域内的栅格像元。 插图
用法
· 按掩膜提取工具与设置掩膜环境大体相同,但二者的区别在于输入掩膜只适用于即时实例,而在环境中设置的掩膜可在发生更改或被禁用之前应用于所有工具。
· 当输入为多波段栅格时,将输出一个新的多波段栅格。对输入多波段栅格中的每一单个波段都会进行相应分析。
默认输出格式是 Esri Grid 堆栈。请注意,Esri Grid 堆栈的名称不能以数字开头、不能使用空格,并且长度不能超过 9个字符。
· 如果输入内容为根据多波段栅格(超过三个波段)创建的图层,提取操作将只考虑图层加载(符号化)的波段。因此,输出的多波段栅格只会具有三个波段,分别对应于输入图层显示中使用的多波段栅格。 · 如果输入掩膜是栅格,则会将非 NoData 输入像元位置的值复制到输出栅格。可用来创建掩膜栅格的工具包括条件函数、条件测试,以及提取分析工具集中的其他工具。 · 当为输入栅格掩膜指定多波段栅格时,将只在运算中使用第一个波段。
· 如果输入栅格为整型,那么输出栅格也为整型。如果输入栅格为浮点型,则输出栅格也为浮点型。 语法
ExtractByMask (in_raster, in_mask_data) 参数 in_raster 说明 提取像元的输入栅格。 它可以是栅格或要素数据集。 当输入掩膜数据为栅格时,将在输出栅格中为掩膜数数据类型 Raster Layer Raster Layer | Feature Layer in_mask_data 用于定义提取区域的输入掩膜数据。 北京数字空间科技有限公司
地理国情监测云平台
据中的 NoData 像元指定 NoData 值。 返回值名称
说明 包含提取像元值的输出栅格。 数据类型 Raster out_raster 代码实例
按掩膜提取 (ExtractByMask) 示例 1(Python 窗口)
本示例将从栅格内提取由输入面 shapefile 要素类所定义的掩膜内的像元。
import arcpy
from arcpy import env from arcpy.sa import *
env.workspace = \
outExtractByMask = ExtractByMask(\, \) outExtractByMask.save(\) 按掩膜提取 (ExtractByMask) 示例 2(独立脚本)
本示例将从栅格内提取由输入面 shapefile 要素类所定义的掩膜内的像元。
# Name: ExtractByMask_Ex_02.py
# Description: Extracts the cells of a raster that correspond with the areas # defined by a mask.
# Requirements: Spatial Analyst Extension # Import system modules import arcpy
from arcpy import env from arcpy.sa import * # Set environment settings
env.workspace = \ # Set local variables inRaster = \ inMaskData = \
# Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension(\) # Execute ExtractByMask
outExtractByMask = ExtractByMask(inRaster, inMaskData) # Save the output
北京数字空间科技有限公司
地理国情监测云平台
outExtractByMask.save(\)
四、用点提取
摘要
基于一组坐标点提取栅格像元。 用法
· 未选择的像元位置被赋予 NoData 值。
· 当输入为多波段栅格时,将输出一个新的多波段栅格。对输入多波段栅格中的每一单个波段都会进行相应分析。
默认输出格式是 Esri Grid 堆栈。请注意,Esri Grid 堆栈的名称不能以数字开头、不能使用空格,并且长度不能超过 9个字符。
· 如果输入内容为根据多波段栅格(超过三个波段)创建的图层,提取操作将只考虑图层加载(符号化)的波段。因此,输出的多波段栅格只会具有三个波段,分别对应于输入图层显示中使用的多波段栅格。 · 如果输入栅格为整型,那么输出栅格也为整型。如果输入栅格为浮点型,则输出栅格也为浮点型。 语法
ExtractByPoints (in_raster, points, {extraction_area}) 参数 in_raster points [point,...] 说明 提取像元的输入栅格。 点类对象的 Python 列表用于指示要提取栅格值的位置。 点对象均在 x,y 坐标对列表中指定。对象形式为: 数据类型 Raster Layer Point ? [point(x1,y1), point(x2,y2),...] 点所使用的地图单位与输入栅格相同。 extraction_area 标识是基于指定点位置(内部)提取像元还是基于点位置外部(外部)String (可选) 提取像元。 ? INSIDE — 指定将所选点落入的像元写入输出栅格的关键字。方框区域外部的所有像元都将在输出栅格中获得 NoData 值。 ? OUTSIDE — 指定应选择输入点外部的像元并将其写入输出栅格的关键字。 返回值名称 out_raster
说明 包含提取像元值的输出栅格。 数据类型 Raster 北京数字空间科技有限公司
地理国情监测云平台
代码实例
用点提取 (ExtractByPoints) 示例 1(Python 窗口) 本示例将基于指定点坐标提取栅格的像元。
import arcpy
from arcpy import env from arcpy.sa import *
env.workspace = \
pointList = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200), arcpy.Point(734500,4322000)]
outPointExtract = ExtractByPoints(\, pointList,\) outPointExtract.save(\) 用点提取 (ExtractByPoints) 示例 2(独立脚本) 本示例将基于指定点坐标提取栅格的像元。
# Name: ExtractByPoints_Ex_02.py
# Description: Extracts the cells of a raster based on a set of points. # Requirements: Spatial Analyst Extension # Import system modules import arcpy
from arcpy import env from arcpy.sa import * # Set environment settings
env.workspace = \ # Set local variables inRaster = \
pointList = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200), arcpy.Point(743500, 4322000), arcpy.Point(742900, 4321800)]
# Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension(\) # Execute ExtractByPoints
outPointExtract = ExtractByPoints(\, pointList,\) # Save the output
outPointExtract.save(\)
五、多边形提取
摘要
北京数字空间科技有限公司
地理国情监测云平台
基于多边形提取栅格像元。 用法
· 若要基于要素类中的多边形提取像元,而不是提供一系列 x,y 坐标对,则可以使用按掩膜提取工具。
· 可通过像元的中心来确定该像元是位于多边形的内部还是多边形的外部。如果中心位于多边形弧的内部,则即使部分像元落在多边形之外,也会将此像元视为完全处于多边形之内。
· 多边形最多可以有 1,000 个折点。多边形折点必须按顺时针顺序输入。如果要使用多个多边形,则第一个折点和最后一个折点必须相同,以使多边形闭合。如果最后的点不相同,多边形将自动闭合。多边形的弧之间可以相交,但不建议您使用过于复杂的多边形。 · 未选择的像元位置被赋予 NoData 值。
· 当输入为多波段栅格时,将输出一个新的多波段栅格。对输入多波段栅格中的每一单个波段都会进行相应分析。
默认输出格式是 Esri Grid 堆栈。请注意,Esri Grid 堆栈的名称不能以数字开头、不能使用空格,并且长度不能超过 9个字符。
· 如果输入内容为根据多波段栅格(超过三个波段)创建的图层,提取操作将只考虑图层加载(符号化)的波段。因此,输出的多波段栅格只会具有三个波段,分别对应于输入图层显示中使用的多波段栅格。 · 如果输入栅格为整型,那么输出栅格也为整型。如果输入栅格为浮点型,则输出栅格也为浮点型。 语法
ExtractByPolygon (in_raster, polygon, {extraction_area}) 参数 in_raster polygon [point,...] 说明 提取像元的输入栅格。 用于定义要提取的输入栅格区域的一个或多个多边形。 每个多边形部分都是由点类定义的一系列折点。作为可选的,可使用多边形类来定义各个多边形部分。 点将指定为 x,y 坐标对。对象形式为: 数据类型 Raster Layer Point ? [[point(x1,y1), point(x2,y2),point(xn,yn),...point(x1,y1)], [point(x'1,y'1), point(x'2,y'2),point(x'n,y'n),...,point(x'1,y'1)] 请注意,最后一个坐标应与第一个坐标相同,从而使多边形闭合。 北京数字空间科技有限公司
地理国情监测云平台
extraction_area 标识要提取输入多边形内部还是输入多边形外部的像元。 (可选) String ? INSIDE — 指定应选择输入多边形内部的像元并将其写入输出栅格的关键字。多边形区域外部的所有像元都将在输出栅格中获得 NoData 值。 ? OUTSIDE — 指定应选择输入多边形外部的像元并将其写入输出栅格的关键字。多边形区域内部的所有像元都将在输出栅格中获得 NoData 值。 返回值
说明 包含提取像元值的输出栅格。 数据类型 Raster 名称 out_raster 代码实例
多边形提取 (ExtractByPolygon) 示例 1(Python 窗口) 本示例将基于定义的多边形坐标提取栅格的像元。
import arcpy
from arcpy import env from arcpy.sa import *
polyPoints = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200), arcpy.Point(743500, 4322000),arcpy.Point(742900, 4321800)] env.workspace = \
extPolygonOut = ExtractByPolygon(\, polyPoints, \) extPolygonOut.save(\) 多边形提取 (ExtractByPolygon) 示例 2(独立脚本) 本示例将基于定义的多边形坐标提取栅格的像元。
# Name: ExtractByPolgyon_Ex_02.py
# Description: Extracts the cells of a raster based on a polygon. # Requirements: Spatial Analyst Extension # Import system modules import arcpy
from arcpy import env from arcpy.sa import * # Set environment settings
env.workspace = \ # Set local variables inRaster = \
polyPoints = [arcpy.Point(743050, 4321275), arcpy.Point(743100, 4321200),
北京数字空间科技有限公司
地理国情监测云平台
arcpy.Point(743500, 4322000),arcpy.Point(742900, 4321800)] # Check out the ArcGIS Spatial Analyst extension license arcpy.CheckOutExtension(\) # Execute ExtractByPolygon
extPolygonOut = ExtractByPolygon(inRaster, polyPoints, \) # Save the output
extPolygonOut.save(\)
六、用矩形提取
摘要
基于矩形提取栅格像元。 用法
· 可通过像元的中心来确定该像元是位于矩形的内部还是矩形的外部。如果中心位于矩形轮廓的内部,则即使部分像元落在矩形之外,也会将此像元视为完全处于矩形内部。 · 未选择的像元位置被赋予 NoData 值。
· 当输入为多波段栅格时,将输出一个新的多波段栅格。对输入多波段栅格中的每一单个波段都会进行相应分析。
默认输出格式是 Esri Grid 堆栈。请注意,Esri Grid 堆栈的名称不能以数字开头、不能使用空格,并且长度不能超过 9个字符。
· 如果输入内容为根据多波段栅格(超过三个波段)创建的图层,提取操作将只考虑图层加载(符号化)的波段。因此,输出的多波段栅格只会具有三个波段,分别对应于输入图层显示中使用的多波段栅格。 · 如果输入栅格为整型,那么输出栅格也为整型。如果输入栅格为浮点型,则输出栅格也为浮点型。 语法
ExtractByRectangle (in_raster, rectangle, {extraction_area}) 参数 in_raster rectangle extent 说明 提取像元的输入栅格。 用于定义待提取区域的矩形。可以使用范围对象来指定坐标。 对象形式为: 数据类型 Raster Layer Extent ? Extent(XMin,YMin,XMax,YMax) 其中 XMin 和 YMin 定义待提取区域左下方的坐标,XMax 和 YMax 定义右上方的坐标。 将指定坐标使用与输入栅格相同的地图单位。 extraction_area 标识要提取输入矩形内部还是输入矩形外部的像元。 北京数字空间科技有限公司
String 地理国情监测云平台
(可选) ? INSIDE — 指定应选择输入矩形内部的像元并将其写入输出栅格的关键字。矩形区域外部的所有像元都将在输出栅格中获得 NoData 值。 ? OUTSIDE — 指定应选择输入矩形外部的像元并将其写入输出栅格的关键字。矩形区域内部的所有像元都将在输出栅格中获得 NoData 值。 返回值
说明 包含提取像元值的输出栅格。 数据类型 Raster 名称 out_raster 代码实例
用矩形提取 (ExtractByRectangle) 示例 1(Python 窗口) 本示例会将矩形范围以外的像元提取到新栅格。
import arcpy
from arcpy import env from arcpy.sa import *
env.workspace = \ rectExtract = ExtractByRectangle(\,
Extent(477625, 213900, 486400, 224200), \) rectExtract.save(\) 用矩形提取 (ExtractByRectangle) 示例 2(独立脚本) 本示例会将矩形范围以外的像元提取到新栅格。
# Name: ExtractByRectangle_Ex_02.py # Description:
# Requirements: Spatial Analyst Extension # Import system modules import arcpy
from arcpy import env from arcpy.sa import * # Set environment settings
env.workspace = \ # Set local variables inRaster = \
inRectangle = Extent(477625, 213900, 486400, 224200) # Check out the ArcGIS Spatial Analyst extension license
北京数字空间科技有限公司
地理国情监测云平台
arcpy.CheckOutExtension(\) # Execute ExtractByRectangle
rectExtract = ExtractByRectangle(inRaster, inRectangle, \) # Save the output
rectExtract.save(\)
北京数字空间科技有限公司
正在阅读:
ArcGIS教程:提取栅格像元几种方式01-18
数学的奥秘—本质与思维04-05
浅谈在语文教学中培养学生的人文精神08-18
2018年保险高管考试题库8.(寿险类)02-02
中国古代科举制度12-12
庄子二则教案 教学设计(2套)(新部编人教版八年级下册语文)05-15
广东省2014年第二批本科A类文科普通类第一次投档情况(文科08-18
Protel DXP 指导教程总03-16
冀教版八年级英语教学反思202-20
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 栅格
- 提取
- 方式
- 教程
- ArcGIS
- 鲁宾逊漂流记名著阅读与练习
- 蛋白同化制剂、肽类激素 两非药品目录
- 第五届湖湘三农论坛获奖名单
- 答案
- 英汉翻译辅导(练习+参考答案)
- 郑天挺先生与二十世纪的明史研究
- 项目管理概论-习题集(2015.2.28)答案
- 2018高一英语北师大版必修一习题:单元质量检测(一) 含答案
- C语言实验与习题(注释版)
- 抛物线中两线段的和最小问题(及差最大问题)(1)
- 圆中最值模型的应用
- 2009年集团科技进步奖申报项目汇总表
- 2007-2011年陕西历年高考试题 - 数学理
- 循环泵选型计算书(1)
- 论文一:企业招聘中的问题及对策研究
- 《幼儿园课程》练习题库参考答案1(2)
- 激光焊接技术在汽车工业中的应用及发展前景 - 葛宜银讲解
- IATF16949 2016版 质量手册(过程方法) - 图文
- 1学生学籍编写办法的通知1 - 图文
- 保监会验收文件18-21