Итак, GDAL недавно добавил новую функцию, которая позволяет произвольно читать файлы S3 Bucket. Я хочу обрезать изображения GDAL из нескольких фрагментов изображения, не загружая весь файл. Я только видел очень скудную документацию о том, как настроить и получить доступ к корзине S3 через GDAL, и я немного запутался, как начать? Будет ли кто-то достаточно любезен, чтобы предоставить чрезвычайно короткий пример / учебник о том, как можно настроить виртуальную файловую систему для GDAL для достижения этой цели? Бонусные баллы, если ваше решение позволяет создавать сценарии через Python!
Чтобы уточнить: мы уже сделали это на Python. Проблема с Python заключается в том, что вам нужно загрузить весь образ, чтобы работать с ним. Новейшая версия GDAL имеет поддержку для монтажа корзины S3, так что если нам нужно обрезать небольшую часть изображения, мы можем работать непосредственно с этой меньшей частью. Увы, поскольку эта функция была выпущена только в стабильной ветке в январе, я не нашел никакой документации по ней. Таким образом, решение должно использовать систему VSI3 в новейшей версии GDAL или иным образом разумно использовать систему, чтобы пользователю не требовалось загружать весь образ на диск EBS для работы с ним.
То есть награда будет присуждена за ответ, использующий API-интерфейсы VSI, обнаруженные в новейших версиях GDAL, так что весь файл не нужно будет читать в память или на диск. Кроме того, мы, используемые нами блоки, не всегда общедоступны, поэтому многие публикуемые трюки HTTP не будут работать во многих наших ситуациях.