Mehr

Fehler beim Lesen eines großen virtuellen Rasters mit rasterio: „Degenerierte Transformation kann nicht invertiert werden“

Fehler beim Lesen eines großen virtuellen Rasters mit rasterio: „Degenerierte Transformation kann nicht invertiert werden“


Ich habe ein virtuelles Raster erstellt mitgdalbuildvrt, die einen großen Teil (England) mit hoher Auflösung abdeckt. Die Daten sind ziemlich spärlich und konzentrieren sich auf die Küstenlinien, ohne dass Dateien im Landesinneren enthalten sind. Ich versuche, die Daten in Python zu lesen mitrasterio.

Wenn ich versuche, die affine Transformation umzukehren (um Weltkoordinaten in Pixelkoordinaten umzuwandeln), erhalte ich die folgende Fehlermeldung:

>>> layer.affine Affine(0.0002777778000000001, 0.0, -5.5000000044, 0.0, -0.0002777778000000001, 55.0000000836) >>> layer.affine.__invert__() Traceback (letzter Aufruf zuletzt): Datei "", Zeile 1, in  Datei "c:Python27libsite-packagesaffine-1.0-py2.7.eggaffine\__init__.py", Zeile 407, in __invert__ "Cannot invert degenerate transform") affin.TransformNotInvertibleError: Cannot invert degenerate transform

Ich erhalte diesen Fehler nicht beim Zugriff auf die einzelnen Rasterdateien. Ich habe eine Vorstellung davon, was es bedeutet, aber nicht, wie ich es umgehen kann. Vielleicht muss es anders angegangen werden? Wie greife ich auf diese Daten zu, ohne mir Gedanken darüber machen zu müssen, in welcher Datei sie gespeichert sind?


Das Invertieren der Transformation ist nicht der richtige Weg. Probieren Sie die Datensätze aus dataIndex()-Methode oder deren Code: https://github.com/mapbox/rasterio/blob/master/rasterio/io.py#L62.


Schau das Video: How to install Python geospatial libraries Gdal, Fiona, Rasterio, etc under a Conda Env in Windows