GDAL niedawno dodał nową funkcję, która pozwala na losowy odczyt plików segmentu S3. Chcę przyciąć obrazy GDAL z wielu kafelków obrazu bez konieczności pobierania całego pliku. Widziałem tylko bardzo rzadką dokumentację, jak skonfigurować i uzyskiwać dostęp do segmentu S3 przez GDAL i jestem trochę zdezorientowany, jak zacząć? Czy ktoś byłby na tyle uprzejmy, aby podać wyjątkowo krótki przykład / samouczek na temat ustawiania wirtualnego systemu plików dla GDAL, aby osiągnąć ten cel? Bonus pts, jeśli twoje rozwiązanie pozwala na skryptowanie go w Pythonie!
Aby wyjaśnić: już to zrobiliśmy w Pythonie. Problem z Pythonem polega na tym, że musisz pobrać cały obraz, aby go obsługiwać. Najnowsza wersja GDAL ma obsługę montażu łyżki S3, dzięki czemu jeśli chcemy powiedzieć przycięcie niewielkiej części obrazu, możemy operować bezpośrednio na tej mniejszej części. Niestety, ponieważ funkcja ta została wydana tylko w stabilnym oddziale w styczniu, nie znalazłem żadnej dokumentacji na jej temat. Tak więc rozwiązanie powinno wykorzystywać system VSI3 w najnowszej wersji GDAL lub w inny sposób inteligentnie korzysta z systemu, aby uniemożliwić użytkownikowi pobranie całego obrazu na dysk EBS w celu jego obsługi.
Oznacza to, że nagroda zostanie przyznana za odpowiedź, która korzysta z interfejsów API VSI znalezionych w najnowszych wersjach GDAL, dzięki czemu cały plik nie musi być wczytywany do pamięci lub dysku. Ponadto my, wiadra, których używamy, nie zawsze są publiczne, więc wiele opublikowanych sztuczek HTTP nie będzie działać w wielu naszych sytuacjach.