[gdal-dev] Tolerance Condition Error ogr2ogr Albers to EPSG:4326

Peter Townsend peter.townsend at maplarge.com
Mon Dec 19 10:16:22 PST 2022


I've got this test dataset of a bunch of forest areas in Alaska. The
shapefile is in Albers, and we're converting it to EPSG:4326 lat longs.

Layer name: trees
Geometry: Polygon
Feature Count: 444
Extent: (-2175230.041280, 1899842.624457) - (4895522.387686, 6909266.538422)
Layer SRS WKT:
PROJCRS["Albers",
    BASEGEOGCRS["NAD27",
        DATUM["North American Datum 1927",
            ELLIPSOID["Clarke 1866",6378206.4,294.978698213898,
                LENGTHUNIT["metre",1]],
            ID["EPSG",6267]],
        PRIMEM["Greenwich",0,
            ANGLEUNIT["Degree",0.0174532925199433]]],
    CONVERSION["unnamed",
        METHOD["Albers Equal Area",
            ID["EPSG",9822]],
        PARAMETER["Latitude of false origin",50,
            ANGLEUNIT["Degree",0.0174532925199433],
            ID["EPSG",8821]],
        PARAMETER["Longitude of false origin",-154,
            ANGLEUNIT["Degree",0.0174532925199433],
            ID["EPSG",8822]],
        PARAMETER["Latitude of 1st standard parallel",55,
            ANGLEUNIT["Degree",0.0174532925199433],
            ID["EPSG",8823]],
        PARAMETER["Latitude of 2nd standard parallel",65,
            ANGLEUNIT["Degree",0.0174532925199433],
            ID["EPSG",8824]],
        PARAMETER["Easting at false origin",0,
            LENGTHUNIT["US survey foot",0.304800609601219],
            ID["EPSG",8826]],
        PARAMETER["Northing at false origin",0,
            LENGTHUNIT["US survey foot",0.304800609601219],
            ID["EPSG",8827]]],
    CS[Cartesian,2],
        AXIS["(E)",east,
            ORDER[1],
            LENGTHUNIT["US survey foot",0.304800609601219,
                ID["EPSG",9003]]],
        AXIS["(N)",north,
            ORDER[2],
            LENGTHUNIT["US survey foot",0.304800609601219,
                ID["EPSG",9003]]]]

We're trying to upgrade our GDAL from 3.21 to 3.53, and our poor test is
getting flagged now with either "ERROR 1: Point outside of projection
domain" and/or "ERROR 1: tolerance condition error".

This is what I'm seeing:
ogr2ogr.exe -skipfailures -t_srs EPSG:4326 --debug on c:\path\output
c:\path\trees.shp
GDAL: GDALOpen(c:\path\trees.shp, this=0000027A1189CBE0) succeeds as ESRI
Shapefile.
GDAL: Using ESRI Shapefile driver
GDAL: GDALDriver::Create(ESRI
Shapefile,c:\path\output,0,0,0,Unknown,0000000000000000)
Shape: DBF Codepage = LDID/87 for c:\path\trees.shp
Shape: Treating as encoding 'ISO-8859-1'.
ERROR 1: tolerance condition error
ERROR 1: tolerance condition error
GDALVectorTranslate: 444 features written in layer 'trees'
Shape: 444 features read on layer 'trees'.
GDAL: GDALClose(c:\path\trees.shp, this=0000027A1189CBE0)
GDAL: GDALClose(c:\path\output, this=0000027A1189D4A0)
GDAL: In GDALDestroy - unloading GDAL shared library.

(Same thing happens without skipfailures.)

Now I'm 95% sure it's throwing this error because there's some vertex
somewhere in here that's in that special "dead zone" for Alaska Albers that
can't convert to 4326 (seen this before on other datasets trying to project
individual points).

What I'm wondering is this:
1) Is there any way to get GDAL to tell me what feature/coordinate threw
the error?
2) What is it doing as a fallback behavior? Skipping the point and moving
on? I still come out with the same number of features in the end.

Thanks!
-- 
Peter Townsend
Senior Software Developer
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20221219/61199b22/attachment.htm>


More information about the gdal-dev mailing list