Computing cartesian and geographical coordinates for polar data¶
[ ]:
import numpy as np
import wradlib as wrl
import xradar as xd
import warnings
warnings.filterwarnings("ignore")
Read the data¶
Here, we use an OPERA hdf5 dataset.
[ ]:
filename = "hdf5/20130429043000.rad.bewid.pvol.dbzh.scan1.hdf"
filename = wrl.util.get_wradlib_data_file(filename)
pvol = xd.io.open_odim_datatree(filename)
display(pvol)
Retrieve azimuthal equidistant coordinates and projection¶
[ ]:
for key in list(pvol.children):
if "sweep" in key:
pvol[key].ds = pvol[key].ds.wrl.georef.georeference()
[ ]:
pvol["sweep_0"].ds.DBZH.plot(x="x", y="y")
Retrieve geographic coordinates (longitude and latitude)¶
Using crs-keyword argument.¶
[ ]:
for key in list(pvol.children):
if "sweep" in key:
pvol[key].ds = pvol[key].ds.wrl.georef.georeference(
crs=wrl.georef.get_default_projection()
)
[ ]:
ds1 = pvol["sweep_0"].ds.wrl.georef.georeference(
crs=wrl.georef.get_default_projection()
)
ds1.DBZH.plot(x="x", y="y")
Using reproject¶
[ ]:
ds2 = pvol["sweep_0"].ds.wrl.georef.reproject(
trg_crs=wrl.georef.epsg_to_osr(32632),
)
ds2.DBZH.plot(x="x", y="y")