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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。