Daher hat GDAL kürzlich eine neue Funktion hinzugefügt , mit der S3-Bucket-Dateien nach dem Zufallsprinzip gelesen werden können. Ich möchte GDAL-Bilder aus mehreren Kacheln eines Bildes zuschneiden, ohne die gesamte Datei herunterladen zu müssen. Ich habe nur eine sehr spärliche Dokumentation zum Konfigurieren und Zugreifen auf einen S3-Bucket durch GDAL gesehen und bin ein wenig verwirrt, wie ich anfangen soll. Wäre jemand so freundlich, ein extrem kurzes Beispiel / Tutorial zu geben, wie man das virtuelle Dateisystem für GDAL einrichten würde, um dieses Ziel zu erreichen? Bonuspunkte, wenn Ihre Lösung die Skripterstellung über Python ermöglicht!
Zur Verdeutlichung: Wir haben es bereits in Python gemacht. Das Problem mit Python ist, dass Sie das gesamte Image herunterladen müssen, um es damit zu betreiben. Die neueste Version von GDAL unterstützt die Montage des S3-Buckets. Wenn Sie also einen kleinen Teil des Bildes beschneiden möchten, können Sie diesen kleineren Teil direkt bearbeiten. Leider habe ich keine Dokumentation dazu gefunden, da das Feature erst im Januar im Stable-Zweig veröffentlicht wurde. Daher sollte die Lösung das VSI3-System in der neuesten Version von GDAL verwenden oder das System auf andere Weise intelligent einsetzen, um zu verhindern, dass der Benutzer das gesamte Image auf ein EBS-Laufwerk herunterladen muss, um es zu bearbeiten.
Das heißt, die Prämie wird für Antworten vergeben, die die in den neuesten Versionen von GDAL enthaltenen VSI-APIs verwenden, sodass nicht die gesamte Datei in den Arbeitsspeicher oder auf die Festplatte eingelesen werden muss. Außerdem sind die von uns verwendeten Buckets nicht immer öffentlich, sodass viele der veröffentlichten HTTP-Tricks in vielen unserer Situationen nicht funktionieren.