Portanto, a GDAL adicionou recentemente um novo recurso que permite a leitura aleatória dos arquivos de bucket do S3. Estou procurando cortar imagens GDAL de vários blocos de uma imagem sem ter que baixar o arquivo inteiro. Eu só vi documentação muito esparsa sobre como configurar e acessar um bucket S3 através do GDAL e estou um pouco confuso sobre como começar? Alguém teria a gentileza de fornecer um exemplo / tutorial extremamente curto sobre como definir o sistema de arquivos virtual para o GDAL para atingir esse objetivo? Pontos extras se sua solução permitir que ele seja script via Python!
Para esclarecer: Já o fizemos em Python. O problema com o Python é que você precisa fazer o download de toda a imagem para operá-la. A versão mais recente do GDAL suporta a montagem do balde S3, para que, se precisarmos recortar uma pequena porção da imagem, possamos operar diretamente nessa porção menor. Infelizmente, como o recurso foi lançado apenas na filial estável em janeiro, não encontrei nenhuma documentação sobre ele. Portanto, a solução deve usar o sistema VSI3 na versão mais recente do GDAL ou usar o sistema de maneira inteligente para impedir que o usuário precise baixar a imagem inteira em uma unidade EBS para operar nela.
Ou seja, a recompensa será concedida por responder que usa as APIs VSI encontradas nas versões mais recentes do GDAL, para que todo o arquivo não precise ser lido na memória ou no disco. Além disso, nós, os buckets que usamos nem sempre são públicos, portanto muitos dos truques HTTP publicados não funcionarão em muitas de nossas situações.