Ich kann mit Python - OWSLib kein Bodengitterbild erhalten
Ich versuche, ein Bild-GTIFF mit OWSLib in Python zu erhalten, erhalte jedoch eine Fehlermeldung. Könntest du mir helfen?
Code:
from owslib.wcs import WebCoverageService
wcs = WebCoverageService('http://maps.isric.org/mapserv?map=/map/phh2o.map', version='1.0.0')
bbox = (-54.7968690628577, -28.35600162342199, -54.77831702365789, -28.33600341642725)
response = wcs.getCoverage(
identifier='phh2o_0-5cm_mean',
crs='urn:ogc:def:crs:EPSG::4326',
bbox=bbox,
resx=250, resy=250,
format='GEOTIFF_INT16')
response.read()
Ausgabe:
b '\ n <ServiceExceptionReport version = "1.2.0" \ nxmlns = "http://www.opengis.net/ogc" xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation = "http://www.opengis.net/ogc http://schemas.opengis.net/wcs/1.0.0/OGC-exception.xsd">\nmsImageCreate (): Fehler bei der Bildbehandlung. Der Versuch, ein Rohbild zuzuweisen, ist fehlgeschlagen, nicht genügend Speicher. \ N \ n \ n '
Antworten
Auf Ihre Anfrage hin arbeiten Sie mit EPSG:4326einem geografischen Koordinatensystem, das Grad verwendet. Die Anforderung resx=250, resy=250fordert ein Raster mit einer Auflösung von 250 Grad an, und der Server versucht, alle Daten zu lesen, ein aggregiertes Raster zu erstellen und einen Speichermangel zu melden.
Wenn Sie so etwas versuchen 0.001
response = wcs.getCoverage(
identifier='phh2o_0-5cm_mean',
crs='urn:ogc:def:crs:EPSG::4326',
bbox=bbox,
resx=0.001 , resy=0.001,
format='GEOTIFF_INT16')
Sie erhalten erfolgreicher ein Raster (Auflösung ca. 111 Meter, je nachdem, wo Sie sich auf dem Planeten befinden).