[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