当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python ArcGIS ImageryLayer.export_image用法及代码示例


本文简要介绍 python 语言中 arcgis.raster.ImageryLayer.export_image 的用法。

用法:

export_image(bbox=None, image_sr=None, bbox_sr=None, size=None, time=None, export_format='jpgpng', pixel_type=None, no_data=None, no_data_interpretation='esriNoDataMatchAny', interpolation=None, compression=None, compression_quality=None, band_ids=None, mosaic_rule=None, rendering_rule=None, f='json', save_folder=None, save_file=None, compression_tolerance=None, adjust_aspect_ratio=None, lerc_version=None, slice_id=None)

返回:

导出的数据字典或指示文件路径的字符串。

export_image 操作是在 ImageryLayer 对象上执行的。该操作的结果是图像方法。此方法提供有关导出图像的信息,例如其 URL、范围、宽度和高度。

注意:

除了通常的 HTML 和 JSON 响应格式外,您还可以在执行此操作时请求图像格式。当您使用图像格式执行导出时,服务器通过直接将图像字节流式传输到客户端来响应。使用这种方法,除了图像本身之外,您不会获得与导出图像相关的任何信息。

Parameter

Description

bbox

可选的字典或字符串。导出图像的范围(边界框)。除非已指定 bbox_sr 参数,否则假定 bbox 位于影像图层的空间参考中。

bbox 应指定为 arcgis.geometry.Envelope 对象,它是 json 表示形式或具有以下格式的列表或字符串:'<xmin>, <ymin>, <xmax>, <ymax>' 如果省略,则范围使用图像层

image_sr

可选字符串, SpatialReference 。导出图像的空间参考。空间参考可以指定为众所周知的 ID、json 表示形式或 SpatialReference 对象。如果未指定image_sr,图像将在影像图层的空间参考中导出。

bbox_sr

可选字符串,空间参考。 bbox 的空间参考。空间参考可以指定为众所周知的 ID、json 表示形式或 arcgis.geometry.SpatialReference 对象。如果未指定image_sr,则假定bbox位于图像层的空间参考中。

size

可选列表。导出图像的大小(宽度 * 高度)(以像素为单位)。如果不指定尺寸,将导出默认尺寸为1200*450的图像。语法:[宽度,高度]列表

time

可选 datetime.date、datetime.datetime 或时间戳字符串。导出图像的时刻或时间范围。指定为 datetime.date、datetime.datetime 或自纪元以来的毫秒数的时间戳语法:time=<timeInstant>

指定为 [<startTime>, <endTime>] 列表的时间范围 对于时间范围,<startTime> 或 <endTime> 之一可以为 None。为开始时间或结束时间指定的“无”值将分别表示开始时间或结束时间为无穷大。语法:time=[<开始时间>, <结束时间>] ;指定为 datetime.date、datetime.datetime 或时间戳

export_format

可选字符串。导出图像的格式。默认格式为 jpgpng。如果请求的范围内没有透明像素,则jpgpng格式返回JPG;否则,它返回 PNG (png32)。

值:jpgpng,png,png8,png24,jpg,bmp,gif,tiff,png32,bip,bsq,lerc

pixel_type

可选字符串。像素类型也称为数据类型,与存储在栅格中的值的类型有关,例如有符号整数、无符号整数或浮点。整数是整数,而浮点数是小数。

no_data

可选浮点数。不代表任何信息的像素值。

no_data_interpretation

可选字符串。 no_data 设置的解释。当no_data 是数字时,默认值为NoDataMatchAny;当no_data 是逗号分隔字符串时,默认值为NoDataMatchAll:NoDataMatchAny、NoDataMatchAll。

interpolation

可选字符串。当栅格数据集发生扭曲或更改坐标空间时,在转换栅格数据集时推断像素值的重采样过程。其中之一:RSP_BilinearInterpolation、RSP_CubicConvolution、RSP_Majority、RSP_NearestNeighbor

compression

可选字符串。控制导出为 TIFF 格式时如何压缩图像:无、JPEG、LZ77。它不控制其他格式的压缩。

compression_quality

可选整数。控制压缩算法对图像造成的损失程度。压缩质量的有效值范围为 0 到 100。

band_ids

可选列表。如果有多个波段,您可以指定要导出的单个波段,也可以通过指定波段编号来更改波段组合(红、绿、蓝)。频段编号从 0 开始。指定为整数列表,例如 [2,1,0]

mosaic_rule

可选字典。在定义如何对单个图像进行马赛克时指定马赛克规则。当未指定镶嵌规则时,将使用图像图层的默认镶嵌规则(如根资源中公布的:defaultMosaicMethod、mosaicOperator、sortField、sortValue)。

rendering_rule

可选字典。指定如何渲染所请求的图像的渲染规则。

f

可选字符串。响应格式。默认为 json 值:json,image,kmz,numpy_array

注意:如果 f=”numpy_array” 并且栅格是单波段或多波段栅格,则数组的维度将为行、列和波段数。如果栅格是多维栅格,则数组的维度将是切片数、行数、列数和波段数。需要安装 LERC 才能将图像服务导出为 numpy 数组。

如果f=”image”,则返回导出图像的字节,除非还传递了save_folder和save_file参数,在这种情况下,图像被写入指定文件

save_folder

可选字符串。 f=image时保存导出图像的文件夹

save_file

可选字符串。 f=image时保存导出图像的文件

compression_tolerance

可选浮点数。控制 lerc 压缩算法的容差。容差定义了压缩图像中像素值的最大可能误差。示例:compression_tolerance=0.5 对于 8 位和 16 位图像来说是无损的,但对于浮点数据来说精度为 +-0.5。压缩容差仅适用于 LERC 格式。

adjust_aspect_ratio

可选布尔值。指示是否调整纵横比。默认情况下adjust_aspect_ratio为true,这意味着实际的bbox将被调整以匹配尺寸参数的宽高比,并且响应图像具有方形像素。

lerc_version

可选整数。如果用户将格式设置为 lerc,则为 Lerc 格式的版本。值:1 或 2 如果指定了版本,服务器将返回匹配的版本,否则返回可用的最高版本。

slice_id

可选整数。导出多维栅格的给定切片。要获取切片索引,请在 ImageryLayer 对象上使用 slices 方法。

例子:

# Usage Example: Exports an ImageryLayer object (created using Image Service) to a local location in tiff format

imagery_layer = ImageryLayer("https://myserver/arcgis/rest/services/ImageServiceName/ImageServer", gis=gis)
imagery_layer.export_image(size=[1400, 600],
                           export_format="tiff",
                           f="image",
                           save_folder=r"/path/to/save_folder",
                           save_file="my_raster.tif")

相关用法


注:本文由纯净天空筛选整理自arcgis.com大神的英文原创作品 arcgis.raster.ImageryLayer.export_image。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。