云优化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来实现RasterTile:
//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.stitchGeoTrellis中支持COG的examples、release notes和docs都确认支持平铺数据,并使其可供客户端作为COG使用。GeoTrellis是否也支持充当客户端的功能?
如果没有预先存在的目录,但是有支持范围请求的FileCOGLayerReader,那么如何创建URL呢?
发布于 2018-10-04 21:46:56
我们目前有两个COG相关的概念:
表示。
最后一个允许您以某种方式将关于数据集的元数据收集到一个(区段,URI)元组中,并提供一个接口来查询它。熟悉我发布给你的例子,让我知道它是否适用于你。
顺便说一句,RasterFoundry将非结构化的COG层用于他们的磁贴服务器。
https://stackoverflow.com/questions/52635525
复制相似问题