[gdal-dev] Adding Features to Existing PostIGIS Table with Python OGR/GDAL?

Gerard gerardg at gmail.com
Mon Nov 25 12:59:54 PST 2019


Thanks!

def Open(*args, **kwargs):
      """Open(char const * utf8_path, int update=0) -> DataSource"""
      return _ogr.Open(*args, **kwargs)

This still causes an error, even though OVERWRITE is set to NO.
ds = ogr.Open("PG:dbname='db' user='user'", update=1)
# .....
trackslayer = ds.CreateLayer(table, srs, ogr.wkbMultiLineString,
['OVERWRITE=NO'] )

However, this seems to work fine:
trackslayer = ds.GetLayerByName('tracks')
tracksdef = trackslayer.GetLayerDefn()
outFeature = ogr.Feature(tracksdef)
outFeature.SetField("name", name)
# .....
trackslayer.CreateFeature(outFeature)

Gerard


On Mon, Nov 25, 2019 at 11:24 AM Thomas Juntunen <junt0015 at umn.edu> wrote:

> Gerard,
> You need to open your data source in update mode.
> ds = ogr.Open("PG:dbname='db' user='user'", update=1)
>
> On Mon, Nov 25, 2019 at 10:58 AM Gerard <gerardg at gmail.com> wrote:
>
>> Is it possible to add features to an existing PostGIS table using Python
>> OGR/GDAL? I've tried these two approaches:
>>
>> # Approach 1. Results in:
>> # ERROR 1: Layer tracks already exists, CreateLayer failed.
>> # Use the layer creation option OVERWRITE=YES to replace it.
>> ds = ogr.Open("PG:dbname='db' user='user'")
>> srs = osr.SpatialReference()
>> srs.ImportFromEPSG(4326)
>> layer = ds.CreateLayer('tracks', srs, ogr.wkbMultiLineString,
>> ['OVERWRITE=NO'] )
>>
>> # Approach 2. Results in:
>> # ERROR 1: Invalid index : -1
>> # ERROR 6: CreateFeature : unsupported operation on a read-only
>> datasource.
>> ds = ogr.Open("PG:dbname='db' user='user'")
>> layer = ds.GetLayerByName('tracks')
>> # set fields, etc.
>> layer.CreateFeature(outFeature)
>>
>> Think I could accomplish it via SQL statements and ds.ExecuteSQL(), and
>> I've found examples using psycopg2 (or SQLAlchemy) instead. Just wondering
>> if it's directly possible using Python OGR/GDAL.
>>
>> Thanks,
>> Gerard
>> _______________________________________________
>> gdal-dev mailing list
>> gdal-dev at lists.osgeo.org
>> https://lists.osgeo.org/mailman/listinfo/gdal-dev
>
>
>
> --
> *The right coordinate system can turn an impossible problem into two
> really hard problems. -- Charlie Pellerin*
>
> Thomas Juntunen
> GIS Specialist
> Polar Geospatial Center
> R280 Learning and Environmental Science
> 1954 Buford Ave
> University of Minnesota
> St. Paul, MN 55108
> 612-626-0505
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20191125/389aa9f2/attachment-0001.html>


More information about the gdal-dev mailing list