Não consigo obter a imagem do sologrid com Python - OWSLib
Estou tentando obter um GTIFF imagen com OWSLib em Python, mas recebo um erro. Você me ajudaria?
Código:
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()
Resultado:
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 (): Erro de manuseio de imagem. A tentativa de alocar a imagem bruta falhou, sem memória. \ N \ n \ n '
Respostas
A seu pedido, você está trabalhando com o EPSG:4326qual é um sistema de coordenadas geográficas usando graus. A solicitação resx=250, resy=250pede uma grade com resolução de 250 graus, e o servidor tentará ler todos os dados e fazer uma grade agregada e reportar uma falta de memória.
Se você tentar algo como 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')
Você terá mais sucesso ao obter uma grade (resolução em torno de 111 metros, dependendo de onde você estiver no planeta).