[postgis-users] PL/Python
Martijn Meijers
b.m.meijers at tudelft.nl
Wed May 18 10:06:02 PDT 2016
I think the gdal.getDriver call returns None. Hence the attribute error on the line afterwards. Are you sure that 19 is what you should pass as input?
Martijn
Verzonden vanaf mobiel.
<div>-------- Oorspronkelijk bericht --------</div><div>Van: David Haynes <haynesd2 at gmail.com> </div><div>Datum:18-05-2016 17:35 (GMT+01:00) </div><div>Aan: postgis-users at lists.osgeo.org </div><div>Onderwerp: [postgis-users] PL/Python </div><div>
</div>Hello,
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,
CREATE OR REPLACE FUNCTION terrapop_area_level_to_raster2( sample_geog_level_id bigint, raster_variable_id bigint, raster_band bigint) RETURNS text AS
$BODY$
from osgeo import gdal
import numpy as np
from osgeo import ogr, osr
memDriver = gdal.GetDriver(19)
#memDriver = gdal.GetDriverByName('MEM')
memRast = memDriver.Create('', 10, 10, 1, gdal.GDT_Int32)
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.
ERROR: AttributeError: 'NoneType' object has no attribute 'Create'
SQL state: XX000
However, this function on the same server and database returns to me all the gdal drivers. Any idea how I can diagnose this problem?
CREATE OR REPLACE FUNCTION gdal_drivers()
RETURNS SETOF text AS
$BODY$
from osgeo import gdal
driver = gdal.GetDriverByName('MEM')
rast = driver.Create('', 2, 4, 1, gdal.GDT_Int32)
names = []
driverall = gdal.GetDriverCount()
for i in range(gdal.GetDriverCount()):
driver = gdal.GetDriver(i)
drivername = driver.ShortName
names.append([i,drivername])
return names
$BODY$
LANGUAGE plpythonu VOLATILE
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20160518/f1012f25/attachment.html>
More information about the postgis-users
mailing list