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

Thomas Juntunen junt0015 at umn.edu
Mon Nov 25 10:23:56 PST 2019


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/8303aa39/attachment.html>


More information about the gdal-dev mailing list