<div dir="ltr">Hello,<div><br></div><div>I have a question regarding importing the gdal library using pl/python. Specifically, I want to create an in memory raster using the gdal library. This is a snippet of code that I have written,</div><div><br></div><div>CREATE OR REPLACE FUNCTION terrapop_area_level_to_raster2( sample_geog_level_id bigint, raster_variable_id bigint, raster_band bigint) RETURNS text AS</div><div><span class="" style="white-space:pre">        </span>$BODY$   </div><div><span class="" style="white-space:pre">        </span></div><div><span class="" style="white-space:pre">   </span>from osgeo import gdal</div><div><span class="" style="white-space:pre">     </span>import numpy as np</div><div><span class="" style="white-space:pre"> </span>from osgeo import ogr, osr</div><div><span class="" style="white-space:pre"> </span></div><div><br></div><div><span class="" style="white-space:pre">  </span>memDriver = gdal.GetDriver(19)</div><div><span class="" style="white-space:pre">     </span>#memDriver = gdal.GetDriverByName('MEM')</div><div><span class="" style="white-space:pre">   </span>memRast = memDriver.Create('', 10, 10, 1, gdal.GDT_Int32)</div><div><br></div><div>This is the error I receive. A python NoneType error. Which seems to that the gdal class has not been imported. I have verified that gdal is available on the system. </div><div><br></div><div><div>ERROR: AttributeError: 'NoneType' object has no attribute 'Create'</div><div>SQL state: XX000</div></div><div><br></div><div>However, this function on the same server and database returns to me all the gdal drivers. Any idea how I can diagnose this problem?</div><div><br></div><div><div>CREATE OR REPLACE FUNCTION gdal_drivers()</div><div>  RETURNS SETOF text AS</div><div>$BODY$</div><div><br></div><div>from osgeo import gdal</div><div>driver = gdal.GetDriverByName('MEM')</div><div>rast = driver.Create('', 2, 4, 1, gdal.GDT_Int32)</div><div><br></div><div>names = []</div><div>driverall = gdal.GetDriverCount()</div><div>for i in range(gdal.GetDriverCount()):</div><div><span class="" style="white-space:pre">       </span>driver = gdal.GetDriver(i)</div><div><span class="" style="white-space:pre"> </span>drivername = driver.ShortName</div><div><span class="" style="white-space:pre">      </span>names.append([i,drivername])</div><div><br></div><div>return names</div><div><br></div><div>$BODY$</div><div>  LANGUAGE plpythonu VOLATILE</div></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div>