经云优化的GeoTiff的战略性能优势是能够检索给定范围内的栅格数据,而仅从远程资源中提取概览和字节范围。
在Python中,vsicurl和gdal.Warp抽象使得仅在一定范围内使用URL即可做到这一点:
vsicurl_url = '/vsicurl/' + url_to_cog
gdal.Warp(output_file,
vsicurl_url,
dstSRS = 'EPSG:4326',
cutlineDSName = jsonFileSliceAoi,
cropToCutline = True)
新钻的COG Spark Examples解释了如何使用在上一步中平铺RDD所创建的AttributeStore到达Raster [Tile]:
//tiling an RDD and writing out the catalog
...
// Create the reader instance to query tiles stored as a Structured COG Layer
val reader = FileCOGLayerReader(attributeStore)
// Read layer at the max persisted zoom level
// Actually it can be any zoom level in this case from the [0; zoom] values range
val layer: TileLayerRDD[SpatialKey] = reader.read[SpatialKey, Tile](LayerId("example_cog_layer", zoom))
// Let's stitch the layer into tile
val raster: Raster[Tile] = layer.stitch
GeoTrellis支持COG的examples,release notes和docs都确认存在对切片数据的支持,并使客户可以将其作为COG使用。 GeoTrellis是否也支持充当客户的能力?
如果您没有预先存在的目录,但是具有支持范围请求的URL,如何创建FileCOGLayerReader
?
答案 0 :(得分:0)
我们目前有两个与COG相关的概念:
最后一个允许您仅以某种方式将有关数据集的元数据收集到一个(范围,URI)元组中,并提供一个查询它的接口。熟悉我发布给您的示例,并让我知道是否适合您。
顺便说一句,RasterFoundry将非结构化的COG图层用于其图块服务器。