ArcGIS教程提取栅格像元几种方式.docx

上传人:b****4 文档编号:5071705 上传时间:2023-05-08 格式:DOCX 页数:19 大小:42.17KB
下载 相关 举报
ArcGIS教程提取栅格像元几种方式.docx_第1页
第1页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第2页
第2页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第3页
第3页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第4页
第4页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第5页
第5页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第6页
第6页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第7页
第7页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第8页
第8页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第9页
第9页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第10页
第10页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第11页
第11页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第12页
第12页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第13页
第13页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第14页
第14页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第15页
第15页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第16页
第16页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第17页
第17页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第18页
第18页 / 共19页
ArcGIS教程提取栅格像元几种方式.docx_第19页
第19页 / 共19页
亲,该文档总共19页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

ArcGIS教程提取栅格像元几种方式.docx

《ArcGIS教程提取栅格像元几种方式.docx》由会员分享,可在线阅读,更多相关《ArcGIS教程提取栅格像元几种方式.docx(19页珍藏版)》请在冰点文库上搜索。

ArcGIS教程提取栅格像元几种方式.docx

ArcGIS教程提取栅格像元几种方式

ArcGIS教程:

栅格像元的提取

一、按属性提取

摘要

  基于逻辑查询提取栅格像元。

插图

用法

  ·如果Where子句的求值结果是True,则将为该像元位置返回初始输入值。

如果其求值结果是False,则将为像元位置指定NoData。

  ·对于输出栅格,将舍弃输入栅格中的所有额外项(值和计数除外)。

  ·如果在Where子句中指定了除输入栅格的值以外的某一项,则将为此像元位置返回初始输入值。

  ·当输入为多波段栅格时,将输出一个新的多波段栅格。

对输入多波段栅格中的每一单个波段都会进行相应分析。

  默认输出格式是EsriGrid堆栈。

请注意,EsriGrid堆栈的名称不能以数字开头、不能使用空格,并且长度不能超过9个字符。

  ·如果输入内容为根据多波段栅格(超过三个波段)创建的图层,提取操作将只考虑图层加载(符号化)的波段。

因此,输出的多波段栅格只会具有三个波段,分别对应于输入图层显示中使用的多波段栅格。

  ·如果输入栅格为整型,那么输出栅格也为整型。

如果输入栅格为浮点型,则输出栅格也为浮点型。

语法

  ExtractByAttributes(in_raster,where_clause)

参数

说明

数据类型

in_raster

提取像元的输入栅格。

RasterLayer

where_clause

用于选择栅格像元子集的逻辑表达式。

表达式遵循 SQL 表达式的一般格式。

SQLExpression

返回值

名称

说明

数据类型

out_raster

包含提取像元值的输出栅格。

Raster

代码实例

  按属性提取(ExtractByAttributes)示例1(Python窗口)

  本示例将基于逻辑查询从栅格中提取像元,其中高程大于1,000米。

import arcpy

from arcpy import env

from arcpy.sa import *

env.workspace= "C:

/sapyexamples/data"

attExtract=ExtractByAttributes("elevation", "VALUE>1000")

attExtract.save("c:

/sapyexamples/output/attextract")

 按属性提取(ExtractByAttributes)示例2(独立脚本)

  本示例将基于逻辑查询从栅格中提取像元,其中高程大于1,000米。

#Name:

ExtractByAttributes_Ex_02.py

#Description:

Extractsthecellsofarasterbasedonalogicalquery.

#Requirements:

SpatialAnalystExtension

#Importsystemmodules

import arcpy

from arcpy import env

from arcpy.sa import *

#Setenvironmentsettings

env.workspace= "C:

/sapyexamples/data"

#Setlocalvariables

inRaster= "elevation"

inSQLClause= "VALUE>1000"

#CheckouttheArcGISSpatialAnalystextensionlicense

arcpy.CheckOutExtension("Spatial")

#ExecuteExtractByAttributes

attExtract=ExtractByAttributes(inRaster,inSQLClause)

#Savetheoutput

attExtract.save("c:

/sapyexamples/output/attextract02")

二、按圆形区域提取

摘要

  基于圆提取栅格像元。

用法

  ·可通过像元的中心来确定该像元是位于圆的内部还是位于圆的外部。

如果中心位于圆弧的内部,则即使部分像元落在圆外,也会将此像元视为完全处于圆内。

  ·未选择的像元位置被赋予NoData值。

  ·当输入为多波段栅格时,将输出一个新的多波段栅格。

对输入多波段栅格中的每一单个波段都会进行相应分析。

  默认输出格式是EsriGrid堆栈。

请注意,EsriGrid堆栈的名称不能以数字开头、不能使用空格,并且长度不能超过9个字符。

  ·如果输入内容为根据多波段栅格(超过三个波段)创建的图层,提取操作将只考虑图层加载(符号化)的波段。

因此,输出的多波段栅格只会具有三个波段,分别对应于输入图层显示中使用的多波段栅格。

  ·如果输入栅格为整型,那么输出栅格也为整型。

如果输入栅格为浮点型,则输出栅格也为浮点型。

语法

  ExtractByCircle(in_raster,center_point,radius,{extraction_area})

参数

说明

数据类型

in_raster

提取像元的输入栅格。

RasterLayer

center_point

指示用于定义提取区域的圆的中心坐标 (x,y) 的点类。

该类的形式为:

∙         Point(x,y)

将指定坐标使用与输入栅格相同的地图单位。

Point

radius

用于定义提取区域的圆半径。

将以地图单位指定半径,并且与输入栅格的单位相同。

Double

extraction_area

(可选)

标识要提取输入圆内部还是输入圆外部的像元。

∙         INSIDE — 指定应选择输入圆内部的像元并将其写入输出栅格的关键字。

圆形区域外部的所有像元都将在输出栅格中获得 NoData 值。

∙         OUTSIDE — 指定应选择输入圆外部的像元并将其写入输出栅格的关键字。

圆形区域内部的所有像元都将在输出栅格中获得 NoData 值。

String

返回值

名称

说明

数据类型

out_raster

包含提取像元值的输出栅格。

Raster

代码实例

  按圆形区域提取(ExtractByCircle)示例1(Python窗口)

  本示例将在某一点位置方圆500米的半径范围内提取像元。

import arcpy

from arcpy import env

from arcpy.sa import *

env.workspace= "C:

/sapyexamples/data"

outExtCircle=ExtractByCircle("elevation",arcpy.Point(482838.823, 222128.982),

                               500, "INSIDE")

outExtCircle.save("c:

/sapyexamples/output/extcircle")

  按圆形区域提取(ExtractByCircle)示例2(独立脚本)

  本示例将在某一点位置方圆1,000米的半径范围内提取像元。

#Name:

ExtractByCircle_Ex_02.py

#Description:

Extractsthecellsofarasterbasedonacircle.

#Requirements:

SpatialAnalystExtension

#Importsystemmodules

import arcpy

from arcpy import env

from arcpy.sa import *

#Setenvironmentsettings

env.workspace= "C:

/sapyexamples/data"

#Setlocalvariables

inRaster=("elevation")

centerPoint=arcpy.Point(482838.823, 222128.982)

circRadius= 1000

extractType= "INSIDE"

#CheckouttheArcGISSpatialAnalystextensionlicense

arcpy.CheckOutExtension("Spatial")

#ExecuteExtractByCircle

outExtCircle=ExtractByCircle(inRaster,centerPoint,circRadius,

                              extractType)

#Savetheoutput

outExtCircle.save("c:

/sapyexamples/output/extcircle02")

三、按掩膜提取

摘要

  提取所定义掩膜区域内的栅格像元。

插图

用法

  ·按掩膜提取工具与设置掩膜环境大体相同,但二者的区别在于输入掩膜只适用于即时实例,而在环境中设置的掩膜可在发生更改或被禁用之前应用于所有工具。

  ·当输入为多波段栅格时,将输出一个新的多波段栅格。

对输入多波段栅格中的每一单个波段都会进行相应分析。

  默认输出格式是EsriGrid堆栈。

请注意,EsriGrid堆栈的名称不能以数字开头、不能使用空格,并且长度不能超过9个字符。

  ·如果输入内容为根据多波段栅格(超过三个波段)创建的图层,提取操作将只考虑图层加载(符号化)的波段。

因此,输出的多波段栅格只会具有三个波段,分别对应于输入图层显示中使用的多波段栅格。

  ·如果输入掩膜是栅格,则会将非NoData输入像元位置的值复制到输出栅格。

可用来创建掩膜栅格的工具包括条件函数、条件测试,以及提取分析工具集中的其他工具。

  ·当为输入栅格掩膜指定多波段栅格时,将只在运算中使用第一个波段。

  ·如果输入栅格为整型,那么输出栅格也为整型。

如果输入栅格为浮点型,则输出栅格也为浮点型。

语法

  ExtractByMask(in_raster,in_mask_data)

参数

说明

数据类型

in_raster

提取像元的输入栅格。

RasterLayer

in_mask_data

用于定义提取区域的输入掩膜数据。

它可以是栅格或要素数据集。

当输入掩膜数据为栅格时,将在输出栅格中为掩膜数据中的 NoData 像元指定 NoData 值。

RasterLayer|FeatureLayer

返回值

名称

说明

数据类型

out_raster

包含提取像元值的输出栅格。

Raster

代码实例

  按掩膜提取(ExtractByMask)示例1(Python窗口)

  本示例将从栅格内提取由输入面shapefile要素类所定义的掩膜内的像元。

import arcpy

from arcpy import env

from arcpy.sa import *

env.workspace= "C:

/sapyexamples/data"

outExtractByMask=ExtractByMask("elevation", "mask.shp")

outExtractByMask.save("C:

/sapyexamples/output/maskextract")

  按掩膜提取(ExtractByMask)示例2(独立脚本)

  本示例将从栅格内提取由输入面shapefile要素类所定义的掩膜内的像元。

#Name:

ExtractByMask_Ex_02.py

#Description:

Extractsthecellsofarasterthatcorrespondwiththeareas

#   definedbyamask.

#Requirements:

SpatialAnalystExtension

#Importsystemmodules

import arcpy

from arcpy import env

from arcpy.sa import *

#Setenvironmentsettings

env.workspace= "C:

/sapyexamples/data"

#Setlocalvariables

inRaster= "elevation"

inMaskData= "mask.shp"

#CheckouttheArcGISSpatialAnalystextensionlicense

arcpy.CheckOutExtension("Spatial")

#ExecuteExtractByMask

outExtractByMask=ExtractByMask(inRaster,inMaskData)

#Savetheoutput

outExtractByMask.save("C:

/sapyexamples/output/extractmask")

四、用点提取

摘要

  基于一组坐标点提取栅格像元。

用法

  ·未选择的像元位置被赋予NoData值。

  ·当输入为多波段栅格时,将输出一个新的多波段栅格。

对输入多波段栅格中的每一单个波段都会进行相应分析。

  默认输出格式是EsriGrid堆栈。

请注意,EsriGrid堆栈的名称不能以数字开头、不能使用空格,并且长度不能超过9个字符。

  ·如果输入内容为根据多波段栅格(超过三个波段)创建的图层,提取操作将只考虑图层加载(符号化)的波段。

因此,输出的多波段栅格只会具有三个波段,分别对应于输入图层显示中使用的多波段栅格。

  ·如果输入栅格为整型,那么输出栅格也为整型。

如果输入栅格为浮点型,则输出栅格也为浮点型。

语法

  ExtractByPoints(in_raster,points,{extraction_area})

参数

说明

数据类型

in_raster

提取像元的输入栅格。

RasterLayer

points

[point,...]

点类对象的 Python 列表用于指示要提取栅格值的位置。

点对象均在 x,y 坐标对列表中指定。

对象形式为:

∙         [point(x1,y1),point(x2,y2),...]

点所使用的地图单位与输入栅格相同。

Point

extraction_area

(可选)

标识是基于指定点位置(内部)提取像元还是基于点位置外部(外部)提取像元。

∙         INSIDE — 指定将所选点落入的像元写入输出栅格的关键字。

方框区域外部的所有像元都将在输出栅格中获得 NoData 值。

∙         OUTSIDE — 指定应选择输入点外部的像元并将其写入输出栅格的关键字。

String

返回值

名称

说明

数据类型

out_raster

包含提取像元值的输出栅格。

Raster

代码实例

  用点提取(ExtractByPoints)示例1(Python窗口)

  本示例将基于指定点坐标提取栅格的像元。

import arcpy

from arcpy import env

from arcpy.sa import *

env.workspace= "C:

/sapyexamples/data"

pointList=[arcpy.Point(743050, 4321275),arcpy.Point(743100, 4321200),

            arcpy.Point(734500,4322000)]

outPointExtract=ExtractByPoints("soil",pointList,"INSIDE")

outPointExtract.save("c:

/sapyexamples/output/pntextract")

  用点提取(ExtractByPoints)示例2(独立脚本)

  本示例将基于指定点坐标提取栅格的像元。

#Name:

ExtractByPoints_Ex_02.py

#Description:

Extractsthecellsofarasterbasedonasetofpoints.

#Requirements:

SpatialAnalystExtension

#Importsystemmodules

import arcpy

from arcpy import env

from arcpy.sa import *

#Setenvironmentsettings

env.workspace= "C:

/sapyexamples/data"

#Setlocalvariables

inRaster= "soil"

pointList=[arcpy.Point(743050, 4321275),

            arcpy.Point(743100, 4321200),

            arcpy.Point(743500, 4322000),

            arcpy.Point(742900, 4321800)]

#CheckouttheArcGISSpatialAnalystextensionlicense

arcpy.CheckOutExtension("Spatial")

#ExecuteExtractByPoints

outPointExtract=ExtractByPoints("soil",pointList,"INSIDE")

#Savetheoutput

outPointExtract.save("c:

/sapyexamples/output/pntext")

五、多边形提取

摘要

  基于多边形提取栅格像元。

用法

  ·若要基于要素类中的多边形提取像元,而不是提供一系列x,y坐标对,则可以使用按掩膜提取工具。

  ·可通过像元的中心来确定该像元是位于多边形的内部还是多边形的外部。

如果中心位于多边形弧的内部,则即使部分像元落在多边形之外,也会将此像元视为完全处于多边形之内。

  ·多边形最多可以有1,000个折点。

多边形折点必须按顺时针顺序输入。

如果要使用多个多边形,则第一个折点和最后一个折点必须相同,以使多边形闭合。

如果最后的点不相同,多边形将自动闭合。

多边形的弧之间可以相交,但不建议您使用过于复杂的多边形。

  ·未选择的像元位置被赋予NoData值。

  ·当输入为多波段栅格时,将输出一个新的多波段栅格。

对输入多波段栅格中的每一单个波段都会进行相应分析。

  默认输出格式是EsriGrid堆栈。

请注意,EsriGrid堆栈的名称不能以数字开头、不能使用空格,并且长度不能超过9个字符。

  ·如果输入内容为根据多波段栅格(超过三个波段)创建的图层,提取操作将只考虑图层加载(符号化)的波段。

因此,输出的多波段栅格只会具有三个波段,分别对应于输入图层显示中使用的多波段栅格。

  ·如果输入栅格为整型,那么输出栅格也为整型。

如果输入栅格为浮点型,则输出栅格也为浮点型。

语法

  ExtractByPolygon(in_raster,polygon,{extraction_area})

参数

说明

数据类型

in_raster

提取像元的输入栅格。

RasterLayer

polygon

[point,...]

用于定义要提取的输入栅格区域的一个或多个多边形。

每个多边形部分都是由点类定义的一系列折点。

作为可选的,可使用多边形类来定义各个多边形部分。

点将指定为 x,y 坐标对。

对象形式为:

∙         [[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)]

请注意,最后一个坐标应与第一个坐标相同,从而使多边形闭合。

Point

extraction_area

(可选)

标识要提取输入多边形内部还是输入多边形外部的像元。

∙         INSIDE — 指定应选择输入多边形内部的像元并将其写入输出栅格的关键字。

多边形区域外部的所有像元都将在输出栅格中获得 NoData 值。

∙         OUTSIDE — 指定应选择输入多边形外部的像元并将其写入输出栅格的关键字。

多边形区域内部的所有像元都将在输出栅格中获得 NoData 值。

String

返回值

名称

说明

数据类型

out_raster

包含提取像元值的输出栅格。

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= "C:

/sapyexamples/data"

extPolygonOut=ExtractByPolygon("soil",polyPoints, "INSIDE")

extPolygonOut.save("c:

/sapyexamples/output/extpoly")

  多边形提取(ExtractByPolygon)示例2(独立脚本)

  本示例将基于定义的多边形坐标提取栅格的像元。

#Name:

ExtractByPolgyon_Ex_02.py

#Description:

Extractsthecellsofarasterbasedonapolygon.

#Requirements:

SpatialAnalystExtension

#Importsystemmodules

import arcpy

from arcpy import env

from arcpy.sa import *

#Setenvironmentsettings

env.workspace= "C:

/sapy

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2