ฉันไม่สามารถรับภาพดินกริดด้วย Python - OWSLib

Sep 07 2020

ฉันพยายามหา GTIFF ในจินตนาการด้วย OWSLib ใน Python แต่ได้รับข้อผิดพลาด คุณช่วยฉันได้มั้ย?

รหัส:

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()

เอาท์พุต:

b '\ n <ServiceExceptionReport เวอร์ชัน = "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 (): ข้อผิดพลาดในการจัดการรูปภาพ ความพยายามในการจัดสรรภาพดิบล้มเหลวหน่วยความจำไม่เพียงพอ \ n \ n \ n '

คำตอบ

1 JorgeMendes Sep 08 2020 at 07:47

ตามคำขอของคุณคุณกำลังดำเนินการEPSG:4326ซึ่งเป็นระบบพิกัดทางภูมิศาสตร์โดยใช้องศา คำขอresx=250, resy=250จะขอกริดที่มีความละเอียด 250 องศาและเซิร์ฟเวอร์จะพยายามอ่านข้อมูลทั้งหมดและสร้างตารางรวมและรายงานหน่วยความจำไม่เพียงพอ

หากคุณลองทำสิ่งที่ชอบ 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')

คุณจะประสบความสำเร็จมากขึ้นในการได้รับกริด (ความละเอียดประมาณ 111 เมตรขึ้นอยู่กับว่าคุณอยู่ที่ไหนบนโลกใบนี้)