Data¶
ICESat¶
#
SpaceLiDAR.points
— Method.
Retrieve the points for a given ICESat GLAH06 (Land Ice) granule as a list of namedtuples The names of the tuples are based on the following fields:
Variable | Original Field | Description | Units |
---|---|---|---|
longitude |
Data_40HZ/Geolocation/d_lon |
Longitude of segment center, WGS84, East=+ | decimal degrees |
latitude |
Data_40HZ/Geolocation/d_lat |
Latitude of segment center, WGS84, North=+ | decimal degrees |
height |
Data_40HZ/Elevation_Surfaces/d_elev |
+ Data_40HZ/Elevation_Corrections/d_satElevCorr |
m above WGS84 ellipsoid |
datetime |
Data_40HZ/DS_UTCTime_40 |
Precise time of aquisiton | date-time |
quality 1 |
Data_40HZ/Quality/elev_use_flg |
& Data_40HZ/Quality/sigma_att_flg = 0 |
|
& Data_40HZ/Waveform/i_numPk = 1 |
& Data_40HZ/Elevation_Corrections/d_satElevCorr < 3 |
1 = high quality | |
height_reference |
land_ice_segments/dem/dem_h |
Height of the (best available) DEM | height above WGS84 |
You can get the output in a DataFrame
with DataFrame(points(g))
.
#
SpaceLiDAR.points
— Method.
Retrieve the points for a given ICESat GLAH14 (Land Surface) granule as a list of namedtuples The names of the tuples are based on the following fields:
Variable | Original Field (in Data_40HZ ) |
Description | Units |
---|---|---|---|
longitude |
/Geolocation/d_lon |
Longitude of segment center, WGS84, East=+ | decimal degrees |
latitude |
Geolocation/d_lat |
Latitude of segment center, WGS84, North=+ | decimal degrees |
height |
Elevation_Surfaces/d_elev |
+ Elevation_Corrections/d_satElevCorr |
m above WGS84 ellipsoid |
datetime |
DS_UTCTime_40 |
Precise time of aquisiton | date-time |
quality 1 |
Quality/elev_use_flg |
& Quality/sigma_att_flg = 0 |
|
& Waveform/i_numPk = 1 |
& Elevation_Corrections/d_satElevCorr < 3 |
1=high quality | |
clouds |
Elevation_Flags/elv_cloud_flg |
Cloud contamination | - |
height_reference |
Geophysical/d_DEM_elv |
Height of the (best available) DEM | height above WGS84 |
gain |
Waveform/i_gval_rcv |
Gain value used for received pulse. | - |
reflectivity |
Reflectivity/d_reflctUC |
Reflectivity, not corrected | - |
attitude |
Quality/sigma_att_flg |
Attitude quality indicator | 0=good; 50=warning; 100=bad; |
saturation |
Quality/sat_corr_flg |
Saturation Correction Flag | 0=not_saturated; |
You can get the output in a DataFrame
with DataFrame(points(g))
.
ICESat-2¶
#
SpaceLiDAR.classify
— Function.
classify(granule::ICESat2_Granule{:ATL03}, atl08::Union{ICESat2_Granule{:ATL08},Nothing} = nothing, tracks = icesat2_tracks)
Like points(::ICESat2_Granule{:ATL03})
but with the classification from the ATL08 dataset. If an ATL08 granule is not provided, we try to find it based on the ATL03 name using convert
.
#
SpaceLiDAR.points
— Method.
points(g::ICESat2_Granule{:ATL03}, tracks=icesat2_tracks; step=1, bbox::Union{Nothing,Extent,NamedTuple} = nothing)
Retrieve the points for a given ICESat-2 ATL03 (Global Geolocated Photon Data) granule as a list of namedtuples, one for each beam. The names of the tuples are based on the following fields:
Column | Field | Description | Units |
---|---|---|---|
longitude |
heights/lon_ph |
Longitude of photon, WGS84, East=+ | decimal degrees |
latitude |
heights/lat_ph |
Latitude of photon, WGS84, North=+ | decimal degrees |
height |
heights/h_ph |
Photon WGS84 Height | m above the WGS 84 ellipsoid |
quality |
heights/quality_ph |
Indicates the quality of the associated photon | 0 = nominal |
uncertainty |
geolocation/sigma_h |
Estimated height uncertainty | m |
datetime |
heights/delta_time |
+ ancillary_data/atlas_sdp_gps_epoch + gps_offset |
date-time |
confidence |
heights/signal_conf_ph |
Photon Signal Confidence | 2=low; 3=med; 4=high |
segment |
geolocation/segment_id |
Along-track segment ID number | - |
track |
gt1l - gt3r groups |
- | - |
strong_beam |
- |
"strong" (true) or "weak" (false) laser power | - |
sun_angle |
geolocation/solar_elevation |
Sun angle | ° above horizon |
detector_id |
atlas_spot_number attribute |
- | - |
height_reference |
heights/dem/dem_h |
Height of the (best available) DEM | m above the WGS 84 ellipsoid |
You can combine the output in a DataFrame
with reduce(vcat, DataFrame.(points(g)))
if you want to change the default arguments or DataFrame(g)
with the default options.
#
SpaceLiDAR.points
— Method.
points(g::ICESat2_Granule{:ATL06}, tracks=icesat2_tracks, step=1, bbox::Union{Nothing,Extent,NamedTuple} = nothing)
Retrieve the points for a given ICESat-2 ATL06 (Land Ice) granule as a list of namedtuples, one for each beam. The names of the tuples are based on the following fields:
Column | Field | Description | Units |
---|---|---|---|
longitude |
land_ice_segments/longitude |
Longitude of segment center, WGS84, East=+ | decimal degrees |
latitude |
land_ice_segments/latitude |
Latitude of segment center, WGS84, North=+ | decimal degrees |
height |
land_ice_segments/h_li |
Standard land-ice segment height | m above the WGS 84 ellipsoid |
height_error |
√(land_ice_segments/sigma_geo_h ² + |
Total vertical geolocation error | m above the WGS 84 ellipsoid |
land_ice_segments/h_li_sigma ²) |
|||
datetime |
land_ice_segments/delta_time |
+ ancillary_data/atlas_sdp_gps_epoch + gps_offset |
date-time |
quality |
land_ice_segments/atl06_quality_summary |
Boolean flag indicating the best-quality subset | 1 = high quality |
track |
gt1l - gt3r groups |
- | - |
strong_beam |
- |
"strong" (true) or "weak" (false) laser power | - |
detector_id |
atlas_spot_number attribute |
- | - |
height_reference |
land_ice_segments/dem/dem_h |
Height of the (best available) DEM | - |
You can combine the output in a DataFrame
with reduce(vcat, DataFrame.(points(g)))
if you want to change the default arguments or DataFrame(g)
with the default options.
#
SpaceLiDAR.points
— Method.
points(g::ICESat2_Granule{:ATL08}; tracks=icesat2_tracks, step=1, canopy=false, ground=true, bbox::Union{Nothing,Extent,NamedTuple} = nothing)
Retrieve the points for a given ICESat-2 ATL08 (Land and Vegetation Height) granule as a list of namedtuples, one for each beam. With the tracks
keyword, you can specify which tracks to include. The default is to include all tracks. With the step
keyword, you can choose to limit the number of points, the default is 1 (all points). With setting ground
and or canopy
, you can control to include ground and/or canopy points. Finally, with the ground_field
and canopy_field
settings, you can determine the source field. The default is h_te_mean
for ground and h_mean_canopy_abs
for canopy. With the introduction of v5, a 20m resolution is also available for estimation, which you can enable with highres
. Note that filtering with a bounding box doesn't yet work when highres
is true.
The names of the tuples are based on the following fields:
Column | Field | Description | Units |
---|---|---|---|
longitude |
land_segments/longitude |
Longitude of segment center, WGS84, East=+ | decimal degrees |
latitude |
land_segments/latitude |
Latitude of segment center, WGS84, North=+ | decimal degrees |
height |
land_segments/terrain/h_te_mean |
Standard land-ice segment height | m above the WGS 84 ellipsoid |
height_error |
land_segments/terrain/h_te_uncertainty |
Total vertical geolocation error | m |
datetime |
land_segments/delta_time |
+ ancillary_data/atlas_sdp_gps_epoch + gps_offset |
date-time |
quality |
land_segments/terrain_flg |
Boolean flag indicating the best-quality subset | 1 = high quality |
phr |
land_segments/ph_removal_flag |
More than 50% of photons removed | - |
sensitivity |
land_segments/snr |
The signal to noise ratio | - |
scattered |
land_segments/msw_flag |
Multiple Scattering warning flag | -1=unknown; 0=none |
saturated |
land_segments/sat_flag |
Saturation detected | - |
clouds |
land_segments/layer_flag |
Clouds or blowing snow are likely present | - |
track |
gt1l - gt3r groups |
- | - |
strong_beam |
- |
"strong" (true) or "weak" (false) laser power | - |
classification |
- |
"ground", "high_canopy" | - |
height_reference |
land_segments/dem_h |
Height of the (best available) DEM | m above the WGS 84 ellipsoid |
detector_id |
atlas_spot_number attribute |
- | - |
You can combine the output in a DataFrame
with reduce(vcat, DataFrame.(points(g)))
if you want to change the default arguments or just DataFrame(g)
with the default options.
#
SpaceLiDAR.points
— Function.
Retrieve the points for a given ICESat-2 ATL12 (Ocean Surface Height) granule as a list of namedtuples, one for each beam. The names of the tuples are based on the following fields:
Column | Field | Description | Units |
---|---|---|---|
longitude |
ssh_segments/longitude |
Longitude of segment center, WGS84, East=+ | decimal degrees |
latitude |
ssh_segments/latitude |
Latitude of segment center, WGS84, North=+ | decimal degrees |
height |
ssh_segments/heights/h |
Standard land-ice segment height | m above the WGS 84 ellipsoid |
datetime |
ssh_segments/delta_time |
+ ancillary_data/atlas_sdp_gps_epoch + gps_offset |
date-time |
track |
gt1l - gt3r groups |
- | - |
strong_beam |
- |
"strong" (true) or "weak" (false) laser power | - |
detector_id |
atlas_spot_number attribute |
- | - |
You can combine the output in a DataFrame
with reduce(vcat, DataFrame.(points(g)))
if you want to change the default arguments or DataFrame(g)
with the default options.
GEDI¶
#
SpaceLiDAR.bounds
— Method.
Return the bounds of the GEDI granule.
Warning
This opens the .h5 file to read all tracks, so it is very slow.