[gdal-dev] Ogr2ogr, PostGIS and numeric field overflow with a shapefile

Even Rouault even.rouault at spatialys.com
Fri May 19 11:41:28 PDT 2017


On vendredi 19 mai 2017 15:54:03 CEST Rahkonen Jukka (MML) wrote:
> Hmm, but how about other formats? Is there some general workaround? For
> example conversion into shapefiles fails because of this error while
> geopackage seems to be OK.

ogr2ogr -unsetFieldWidth


> 
> -Jukka-
> 
> 
> Lähettäjä: Rahkonen Jukka (MML)
> Lähetetty: 19. toukokuuta 2017 18:32
> Vastaanottaja: 'Even Rouault' <even.rouault at spatialys.com>;
> gdal-dev at lists.osgeo.org Aihe: Re: [gdal-dev] Ogr2ogr, PostGIS and numeric
> field overflow with a shapefile
> 
> Hi,
> 
> That's it. I think I should have known to read carefully the PG driver
> manual http://www.gdal.org/drv_pg.html.
> 
> -Jukka-
> 
> Even Rouault wrote:
> 
> Re: [gdal-dev] Ogr2ogr, PostGIS and numeric field overflow with a shapefile
> 
> On vendredi 19 mai 2017 15:15:02 CEST Rahkonen Jukka (MML) wrote:
> > Hi,
> > 
> > 
> > 
> > See this gis.stackexchange question
> > 
> > https://gis.stackexchange.com/questions/240900/shp2pgsql-segmentation-faul
> > t
> > 
> > .
> > 
> > 
> > 
> > I have confirmed that Europe_coastline.shp from this zip
> > 
> > https://www.eea.europa.eu/data-and-maps/data/eea-coastline-for-analysis-1/
> > g
> > 
> > is-data/europe-coastline-shapefile/at_download/file can't be saved into
> > 
> > PostGIS with ogr2ogr. The error message is exactly this
> > 
> > 
> > 
> > ERROR 1: COPY statement failed. ERROR: numeric field overflow
> > 
> > DETAIL: A field with precision 19, scale 11 must round to an absolute
> > value
> > 
> > less than 10^8. CONTEXT: COPY coastline, line 1, column shape_leng:
> > 
> > "275736334.13200003000"
> > 
> > 
> > 
> > The error seems to happen in PostGIS which creates a field for
> > "shape_leng"
> > 
> > as NUMERIC(19,11) and then insertion of value 275736334.13200003000 fails.
> > 
> > If GDAL user gets this kind of (invalid?) shapefile, what can they do? I
> > 
> > had a try with -oo ADJUST_TYPE=YES but with no luck. Opening the shapefile
> > 
> > and saving a copy with OpenJUMP indeed works because OpenJUMP is changing
> > 
> > the field definition from Shape_Leng: Real (19.11) into Shape_Leng: Real
> > 
> > (33.16).
> 
> Use -lco PRECISION=NO (PostGIS driver option) to create the field as FLOAT8
> instead.
> > -Jukka Rahkonen-
> 
> --
> 
> Spatialys - Geospatial professional services
> 
> http://www.spatialys.com


-- 
Spatialys - Geospatial professional services
http://www.spatialys.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20170519/909d25ce/attachment-0001.html>


More information about the gdal-dev mailing list