Michael,

https://github.com/OSGeo/gdal/pull/10108 will fix it.

You can also workaround the issue by overriding the extent of the source dataset to be exactly -179.995,89.995,180.005,-89.995 with

 
"vrt://NETCDF:20240102090000-JPL-L4_GHRSST-SSTfnd-MUR-GLOB-v02.0-fv04.1.nc:analysed_sst?a_srs=EPSG:4326&a_ullr=-179.995,89.995,180.005,-89.995"

The issue was twofolds:

- the dataset uses lon/lat arrays with single precision floating-point numbers. Hence -179.99 gets actually read a a read as -179.99000549316406 as a double-precision number, and thus the maxx - minxx difference was slightly over 360 degrees. I've added a heuristics to try to round -179.99-single-precision as -179.99-double-precision

- which defeated a heuristics in the warper to identify the center longitude of a dataset registered in a geographic CRS. This center longitude is just (min_lon + max_lon) / 2 if the dataset doesn't cover more than 360 degrees of longitude. This value, when computed, is passed as a hint OGRCoordinateTransformation so that it can post-correct longitudes to apply a +/- 360 degree offset, to be in the range of the source dataset. I've relaxed the sanity check to allow slighly more than 360 degrees

Even


Le 01/06/2024 à 08:19, Michael Sumner via gdal-dev a écrit :
This data source has an odd georeferencing, it's a 36000x17999 raster in the extent -179.995 -89.995 180.005 89.995.

vrt://NETCDF:/vsicurl/https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/MUR-JPL-L4-GLOB-v4.1/20240101090000-JPL-L4_GHRSST-SSTfnd-MUR-GLOB-v02.0-fv04.1.nc:analysed_sst?a_srs=EPSG:4326

(Why is it 17999: well there's one missing row - you'd expect 18000 at 0.01 resolution and that manifests as half a cell short at the top and bottom).

But also the x registration is half a cell to the east from what you would expect.

It's correctly registered in that frame though, if we shift it west by the half cell I've verified visually that it "looks wrong" compared to coastlines etc.

The point of this report is, gdalwarp misses the western window of data for a request across the antimeridian (there's no data in the output east of 180).

gdalwarp $dsn -te 173.00 -19.85 185.00 -15.00 out1.tif -co COMPRESS=LZW

If we "fix" the extent to be more longitudinally pleasing, we get the data east of the antimeridian, the map is properly filled either side of the antimeridian.


vrt://NETCDF:/vsicurl/https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/MUR-JPL-L4-GLOB-v4.1/20240101090000-JPL-L4_GHRSST-SSTfnd-MUR-GLOB-v02.0-fv04.1.nc:analysed_sst?a_srs=EPSG:4326&a_ullr=-180,89.995,180,-89.995 <https://archive.podaac.earthdata.nasa.gov/podaac-ops-cumulus-protected/MUR-JPL-L4-GLOB-v4.1/20240101090000-JPL-L4_GHRSST-SSTfnd-MUR-GLOB-v02.0-fv04.1.nc:analysed_sst?a_srs=EPSG:4326&a_ullr=-180,89.995,180,-89.995>

gdalwarp $dsnfix -te 173.00 -19.85 185.00 -15.00 out2.tif -co COMPRESS=LZW


Which is good, but as mentioned above the workaround means we are now half a cell out. It works fine for projected windows over the antimeridian in either situation.

The compressed file sizes reflect the missing data in the second one, these are 625K and 1.1Mb.

I'd like the warper to be able to correctly fill the data from the western window in the original case, we have determined that we can't feasibly "fix" the extent.

Or maybe something else I'm missing? I don't *think* SAMPLE_GRID or SOURCE_EXTRA helps here. I know that I could craft a meridian-crossing combination in VRT but I'd rather like this workflow to work as-is.  (Chasing down the weird grid referencing is another project, but it's a really massive dataset so I'm pretty unconfident of that occurring).

Cheers, Mike

--
Michael Sumner
Research Software Engineer
Australian Antarctic Division
Hobart, Australia
e-mail: mdsum...@gmail.com

_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

--
http://www.spatialys.com
My software is free, but my time generally not.
_______________________________________________
gdal-dev mailing list
gdal-dev@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/gdal-dev

Reply via email to