[gdal-dev] NetCDF: how to read coordinates from "lon" and "lat" variables?

Michael Sumner mdsumner at gmail.com
Tue Dec 3 10:06:18 PST 2024


You can't use a geotransform unless the data are actually regular. There's
no saying whether the lon lat arrays describe a regular grid redundantly
without inspecting them (it's also very common for formats to deliver lon
lat coords when the data is actually a regular grid in a different crs, but
it's not easy to automatically determine that situation which is the entire
entropy-increasing problem with the degenerate coordinate model of
netcdf-alikes. There's hope though, see xarray PR 9543 for a crack of light
in the gloom).

Cheers, Mike

On Wed, 4 Dec 2024, 00:52 andy, <aborruso at gmail.com> wrote:

> Hi Michael,
> It seems to work.
>
> Is there no way not to hard-code the GeoTransform, SrcRect, etc.
> parameters?
>
> Thank you
>
> <VRTDataset rasterXSize="174" rasterYSize="229">
>   <SRS>EPSG:4326</SRS>
>   <GeoTransform>4.36, 0.0894, 0.0, 48.88, 0.0, -0.0597</GeoTransform>
>   <VRTRasterBand dataType="Float32" band="1">
>     <Metadata>
>       <MDI key="long_name">NO2 Concentration</MDI>
>       <MDI key="units">ppb vol</MDI>
>     </Metadata>
>     <ComplexSource>
>       <SourceFilename relativeToVRT="1">NETCDF:"out.input.nc
> ":NO2</SourceFilename>
>       <SourceBand>1</SourceBand>
>       <SourceProperties RasterXSize="174" RasterYSize="229"
> DataType="Float32" BlockXSize="174" BlockYSize="1" />
>       <SrcRect xOff="0" yOff="0" xSize="174" ySize="229" />
>       <DstRect xOff="0" yOff="0" xSize="174" ySize="229" />
>     </ComplexSource>
>   </VRTRasterBand>
> </VRTDataset>
>
> On Tue, 3 Dec 2024 at 12:02, Michael Sumner <mdsumner at gmail.com> wrote:
>
>> Try
>>
>> gdalinfo NETCDF:"out.input.nc":NO2
>>
>> If you see those lon and lat subdatasets listed under "geolocation" then
>> you can use gdalwarp to create a georeferenced dataset, automatically with
>> gdalwarp sds.in out.tif or by specifying a grid with some of
>> -tr,-te,-t_srs,-ts.
>>
>> If they don't appear they can can be arranged via VRT.
>>
>> HTH
>>
>> On Tue, 3 Dec 2024, 21:52 andy via gdal-dev, <gdal-dev at lists.osgeo.org>
>> wrote:
>>
>>> Hi,
>>> I have a NetCDF file that I cannot share here.
>>>
>>> Using gdalinfo I have the below output.
>>>
>>> Is there any way to tell gdal to read coordinates from the “lon” and
>>> “lat” variables/subdatasets, and thus have the coordinates of the vertices
>>> not in pixels?
>>>
>>> Thank you very much
>>>
>>>
>>> Driver: netCDF/Network Common Data Format
>>> Files: none associated
>>> Size is 512, 512
>>> Subdatasets:
>>>   SUBDATASET_1_NAME=NETCDF:"out.input.nc":NO2
>>>   SUBDATASET_1_DESC=[25x1x229x174] NO2 (32-bit floating-point)
>>>   SUBDATASET_2_NAME=NETCDF:"out.input.nc":O3
>>>   SUBDATASET_2_DESC=[25x1x229x174] O3 (32-bit floating-point)
>>>   SUBDATASET_3_NAME=NETCDF:"out.input.nc":PM10
>>>   SUBDATASET_3_DESC=[25x1x229x174] PM10 (32-bit floating-point)
>>>   SUBDATASET_4_NAME=NETCDF:"out.input.nc":PM25
>>>   SUBDATASET_4_DESC=[25x1x229x174] PM25 (32-bit floating-point)
>>>   SUBDATASET_5_NAME=NETCDF:"out.input.nc":Times
>>>   SUBDATASET_5_DESC=[25x19] Times (8-bit character)
>>>   SUBDATASET_6_NAME=NETCDF:"out.input.nc":lat
>>>   SUBDATASET_6_DESC=[229x174] lat (64-bit floating-point)
>>>   SUBDATASET_7_NAME=NETCDF:"out.input.nc":lon
>>>   SUBDATASET_7_DESC=[229x174] lon (64-bit floating-point)
>>>   SUBDATASET_8_NAME=NETCDF:"out.input.nc":pDUST
>>>   SUBDATASET_8_DESC=[25x1x229x174] pDUST (32-bit floating-point)
>>> Corner Coordinates:
>>> Upper Left  (    0.0,    0.0)
>>> Lower Left  (    0.0,  512.0)
>>> Upper Right (  512.0,    0.0)
>>> Lower Right (  512.0,  512.0)
>>> Center      (  256.0,  256.0)
>>>
>>>
>>>
>>> --
>>> ___________________
>>>
>>> Andrea Borruso
>>> website: https://medium.com/tantotanto
>>> 38° 7' 48" N, 13° 21' 9" E, EPSG:4326
>>> ___________________
>>>
>>> "cercare e saper riconoscere chi e cosa,
>>>  in mezzo all’inferno, non è inferno,
>>> e farlo durare, e dargli spazio"
>>>
>>> Italo Calvino
>>> _______________________________________________
>>> gdal-dev mailing list
>>> gdal-dev at lists.osgeo.org
>>> https://lists.osgeo.org/mailman/listinfo/gdal-dev
>>>
>>
>
> --
> ___________________
>
> Andrea Borruso
> website: https://medium.com/tantotanto
> 38° 7' 48" N, 13° 21' 9" E, EPSG:4326
> ___________________
>
> "cercare e saper riconoscere chi e cosa,
>  in mezzo all’inferno, non è inferno,
> e farlo durare, e dargli spazio"
>
> Italo Calvino
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20241204/1ae9a42a/attachment.htm>


More information about the gdal-dev mailing list