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


Python ArcGIS RasterCollection.from_stac_api用法及代碼示例


本文簡要介紹 python 語言中 arcgis.raster.RasterCollection.from_stac_api 的用法。

用法:

static from_stac_api(stac_api, query=None, attribute_dict=None, request_method='POST', request_params=None, engine=None, *, gis=None)

返回:

RasterCollection 對象

from_stac_api 方法根據 SpatioTemporal Asset Catalog (STAC) API search 查詢創建 RasterCollection 對象。

Parameter

Description

stac_api

必需的字符串。 STAC API 根端點的 URL。需要執行搜索的 STAC API。

注意:

目前,此方法僅支持 Sentinel-2 Cloud-Optimized GeoTIFFs (COG) STAC 項目查詢(從 11.0 開始提供)。

例子:

https://earth-search.aws.element84.com/v0

query

可選字典。可用於查詢 STAC API 的搜索端點的 GET/POST 請求查詢字典。 (鍵/值取決於使用的 STAC API 的規範和 request_method 參數值)。

對於 bbox 查詢參數,還接受 Envelope Polygon 對象(在任何空間參考中)。

例子:
{
“collections”:[“sentinel-s2-l2a-cogs”],
“bbox”: [-110,39.5,-105,40.5],
“query”:{“eo:cloud_cover”:{“lt”:0.5}},
“datetime”: “2020-10-05T00:00:00Z/2020-10-10T12:31:12Z”,
“limit”:100
}

attribute_dict

可選字典。要添加到從查詢返回的每個(STAC 項目)柵格的屬性信息。對於每個鍵值對,鍵是屬性名稱,值是表示每個柵格的屬性值的值列表。

還可以使用 STAC 項元數據信息從 STAC 項中自動收集屬性值。可以通過以這種格式為感興趣的屬性指定 STAC 項目屬性名稱來完成:

  • key : value -> Attribute display name : STAC item property name

例子:
{
“Name”:”id”,
“Sensor”:”platform”,
“StdTime”:”datetime”,
“Cloud Cover”:”eo:cloud_cover”,
“Spatial Reference”:“項目:epsg”,
“Extent”:”bbox”
}
注意:

如果在 attribute_dict 中未指定“幾何”,則將根據其 STAC 項目 ‘geometry’ 屬性為 RasterCollection 中的每個柵格自動添加它,並將在空間參考中:{'wkid':4326}

request_method

可選字符串。用於進行搜索的 STAC API 的 HTTP 請求方法。

可接受的方法:

  • GET

  • POST (This is the default)

例子:

“POST”

request_params

此參數可用於設置發出 STAC API 搜索請求的屬性。這些是requests.post()requests.get() 方法參數和值將以字典格式指定。

例子:
{
“verify”:是的,
“headers”:{“Authorization”:“承載者access_token_string”}
}

engine

可選字符串。用於光柵處理的後端引擎。

可能的選項:
  • “arcpy”:使用arcpy引擎進行處理。

  • “image_server”:使用 Image Server 引擎進行處理(這是默認設置)。

例子:

“image_server”

注意:

當使用image_server引擎時,RasterRendering服務應該在活動的GIS連接中啟用。

gis

可選的 GIS 對象。 RasterCollection 對象的 GIS。

例子:

# Usage Example: Creating a RasterCollection object from making a query to a STAC API.

rc = RasterCollection.from_stac_api(stac_api=stac_api_url,
                                    query={
                                            "collections": ["sentinel-s2-l2a-cogs"],
                                            "bbox": [-110,39.5,-105,40.5],
                                            "query": {"eo:cloud_cover": {"lt": 0.5}},
                                            "datetime": "2020-10-05T00:00:00Z/2020-10-10T12:31:12Z",
                                            "limit": 100
                                          },
                                    attribute_dict={
                                                    "Name":"id",
                                                    "Sensor":"platform",
                                                    "StdTime":"datetime",
                                                    "Cloud Cover":"eo:cloud_cover",
                                                    "Spatial Reference":"proj:epsg",
                                                    "Extent":"bbox"
                                                   },
                                    request_method="POST",
                                    gis=gis)

相關用法


注:本文由純淨天空篩選整理自arcgis.com大神的英文原創作品 arcgis.raster.RasterCollection.from_stac_api。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。