API reference¶
SpaceLiDAR._download
SpaceLiDAR.angle
SpaceLiDAR.angle
SpaceLiDAR.angle!
SpaceLiDAR.classify
SpaceLiDAR.download_curl
SpaceLiDAR.gedi_info
SpaceLiDAR.granule_from_file
SpaceLiDAR.granules_from_folder
SpaceLiDAR.in_bbox
SpaceLiDAR.info
SpaceLiDAR.info
SpaceLiDAR.netrc!
SpaceLiDAR.points
SpaceLiDAR.points
SpaceLiDAR.s3!
SpaceLiDAR.shift
SpaceLiDAR.splitline
SpaceLiDAR.track_power
#
SpaceLiDAR._download
— Method.
This is a method because it will segfault if precompiled.
#
SpaceLiDAR.angle
— Function.
Rough approximation of the track angle on a Euclidian lon/lat plot.
#
SpaceLiDAR.angle!
— Method.
Calculatitudee angle of direction in degrees where North is 0° for a DataFrame.
#
SpaceLiDAR.angle
— Method.
angle(longitude::Vector{Number}, latitude::Vector{Number})
Calculate the angle of direction from previous points in degrees where North is 0°. Points are given as longitude
and latitude
pairs in their own vector. The angle for the first point is undefined and set to the second.
Returns a Vector{Number}
of angles
#
SpaceLiDAR.classify
— Function.
Retrieve all points as classified as ground in ATL08.
#
SpaceLiDAR.download_curl
— Method.
Hacked version of Base.download which adds cookies and (optional) netrc parsing.
#
SpaceLiDAR.gedi_info
— Method.
Derive info based on file id.
The id is built up as follows, see section 2.4 in the user guide GEDI02A2019110014613O01991T049050200101.h5 or newer (V2) GEDI02A2019242104318O0404601T023430200302V002.h5
#
SpaceLiDAR.granule_from_file
— Method.
Generate granule from .h5 file.
#
SpaceLiDAR.granules_from_folder
— Method.
Generate granules from folder filled with .h5 files.
#
SpaceLiDAR.in_bbox
— Method.
Filter with bbox.
#
SpaceLiDAR.info
— Method.
Derive info based on file id.
The id is built up as follows, see 1.2.5 in the user guide ATL03[yyyymmdd][hhmmss][ttttccss][vvvrr].h5
#
SpaceLiDAR.info
— Method.
Derive info based on file id.
The id is built up as follows, see 1.2.5 in the user guide ATL03[yyyymmdd][hhmmss][ttttccss][vvvrr].h5
#
SpaceLiDAR.netrc!
— Method.
Writes/updates netrc file for ICESat-2 and GEDI downloads.
#
SpaceLiDAR.points
— Method.
points(g::ICESat2_Granule{:ATL06})
Retrieve the points for a given 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 |
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 |
- | - |
power |
- |
"strong" or "weak" 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)))
.
#
SpaceLiDAR.points
— Method.
points(g::ICESat_Granule{:GLAH06})
Retrieve the points for a given 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.s3!
— Function.
Change default download locatio n to a S3 bucket.
#
SpaceLiDAR.shift
— Method.
shift(longitude, latitude, angle, distance)
Shift longitude
and latitude
with distance
m in direction angle
, where North is 0°. Returns a tuple of the shifted coordinates: (longitude, latitude)
#
SpaceLiDAR.splitline
— Function.
Split a linestring if the next point is further than distance
. Not using Haversine here, as we want to split on meridians and such.
#
SpaceLiDAR.track_power
— Method.
Return whether track is a strong or weak beam. See Section 7.5 The Spacecraft Orientation Parameter of the ATL03 ATDB.
-
Smith, B., Fricker, H. A., Gardner, A. S., Medley, B., Nilsson, J., Paolo, F. S., ... & Zwally, H. J. (2020). Pervasive ice sheet mass loss reflects competing ocean and atmosphere processes. Science, 368(6496), 1239-1242. ↩