Стратегическим преимуществом облачной оптимизации 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 Объясните, как получить растр [Tile], используя AttributeStore, созданный в результате разбиения RDD на предыдущем шаге:
//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
examples , releaseПримечания и документы для поддержки COG в GeoTrellis подтверждают, что существует поддержка для разбиения данных на блоки и предоставления их клиентам для использования в качестве COG.Поддерживает ли GeoTrellis также возможность выступать в роли клиента?
Как создать FileCOGLayerReader
, если у вас нет ранее существующего каталога, но есть URL-адрес, поддерживающий запросы диапазона?