當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。