Open Sustainable Technology
A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.
Browse accepted projects | Review proposed projects | Propose new project | Open Issues
SpaceLiDAR
A Julia toolbox for ICESat, ICESat-2 and GEDI data to quickly search, download, and load filtered point data with relevant attributes from the .h5 granules of each data product.
https://github.com/evetion/spacelidar.jl
earth-observation gedi hacktoberfest icesat icesat-2 io julia laser remote-sensing
Last synced: about 10 hours ago
JSON representation
Repository metadata
A Julia package for working with ICESat-2 & GEDI data as part of my PhD research
- Host: GitHub
- URL: https://github.com/evetion/spacelidar.jl
- Owner: evetion
- License: gpl-3.0
- Created: 2020-02-17T11:50:45.000Z (about 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-08T12:26:29.000Z (about 1 month ago)
- Last Synced: 2024-04-27T00:53:23.127Z (15 days ago)
- Topics: earth-observation, gedi, hacktoberfest, icesat, icesat-2, io, julia, laser, remote-sensing
- Language: Julia
- Homepage: https://www.evetion.nl/SpaceLiDAR.jl/dev/
- Size: 3.79 MB
- Stars: 23
- Watchers: 5
- Forks: 4
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Citation: CITATION.cff
README
[![Stable](https://img.shields.io/badge/docs-stable-blue.svg)](https://evetion.github.io/SpaceLiDAR.jl/stable)
[![Dev](https://img.shields.io/badge/docs-dev-blue.svg)](https://evetion.github.io/SpaceLiDAR.jl/dev)
[![CI](https://github.com/evetion/SpaceLiDAR.jl/actions/workflows/CI.yml/badge.svg)](https://github.com/evetion/SpaceLiDAR.jl/actions/workflows/CI.yml)
[![codecov](https://codecov.io/gh/evetion/SpaceLiDAR.jl/branch/master/graph/badge.svg?token=nztwnGtIcY)](https://codecov.io/gh/evetion/SpaceLiDAR.jl)
[![DOI](https://zenodo.org/badge/241095197.svg)](https://zenodo.org/badge/latestdoi/241095197)# SpaceLiDAR
A Julia toolbox for ICESat, ICESat-2 and GEDI data. Quickly search, download, and load filtered point data with relevant attributes from the `.h5` granules of each data product.Currently supports the following data products:
| mission | data product | User Guide (UG) | Algorithm Theoretical Basis Document (ATBD)|
|--- |--- |--- |--- |
|ICESat| GLAH06 v34 | [UG](https://nsidc.org/sites/nsidc.org/files/MULTI-GLAH01-V033-V034-UserGuide.pdf) | [ATBD](https://eospso.nasa.gov/sites/default/files/atbd/ATBD-GLAS-02.pdf) |
|ICESat| GLAH14 v34 | [UG](https://nsidc.org/sites/nsidc.org/files/MULTI-GLAH01-V033-V034-UserGuide.pdf) | [ATBD](https://eospso.nasa.gov/sites/default/files/atbd/ATBD-GLAS-02.pdf) |
|ICESat-2| ATL03 v6 | [UG](https://nsidc.org/sites/default/files/documents/user-guide/atl03-v006-userguide.pdf) | [ATBD](https://icesat-2.gsfc.nasa.gov/sites/default/files/page_files/ICESat2_ATL03_ATBD_r006.pdf) |
|ICESat-2| ATL06 v5 | [UG](https://nsidc.org/sites/default/files/documents/user-guide/atl06-v006-userguide.pdf) | [ATBD](https://icesat-2.gsfc.nasa.gov/sites/default/files/page_files/ICESat2_ATL06_ATBD_r006.pdf) |
|ICESat-2| ATL08 v6 | [UG](https://nsidc.org/sites/default/files/documents/user-guide/atl08-v006-userguide.pdf) | [ATBD](https://nsidc.org/sites/default/files/documents/technical-reference/icesat2_atl08_atbd_v006_0.pdf) |
|ICESat-2| ATL12 v5 | [UG](https://nsidc.org/sites/default/files/documents/user-guide/atl12-v006-userguide.pdf) | [ATBD](https://icesat-2.gsfc.nasa.gov/sites/default/files/page_files/ICESat2_ATL12_ATBD_r006.pdf) |
|GEDI| L2A v2 | [UG](https://lpdaac.usgs.gov/documents/998/GEDI02_UserGuide_V21.pdf) | [ATBD](https://lpdaac.usgs.gov/documents/581/GEDI_WF_ATBD_v1.0.pdf) |For an overview with code examples, see the FOSS4G Pluto notebook [here](https://www.evetion.nl/SpaceLiDAR.jl/dev/tutorial/foss4g_2021.jl.html)
If you use SpaceLiDAR.jl in your research, please consider [citing it](https://zenodo.org/badge/latestdoi/241095197).
# Install
```julia
]add SpaceLiDAR
```# Usage
Search for data
```julia
using SpaceLiDAR
using Extents
# Find all ATL08 granules ever
granules = search(:ICESat2, :ATL08)# Find only ATL03 granules in a part of Vietnam
vietnam = Extent(X = (102., 107.0), Y = (8.0, 12.0))
granules = search(:ICESat2, :ATL08; extent=vietnam, version=6)# Find GEDI granules in the same way
granules = search(:GEDI, :GEDI02_A)# A granule is pretty simple
granule = granules[1]
granule.id # filename
granule.url # download url
granule.info # derived information from id# Downloading granules requires a setup .netrc with an NASA EarthData account
# we provide a helper function, that creates/updates a ~/.netrc or ~/_netrc
SpaceLiDAR.netrc!(username, password) # replace with your credentials# Afterward you can download the dataset
fn = SpaceLiDAR.download!(granule)# You can also load a granule from disk
granule = granule(fn)# Or from a folder
local_granules = granules(folder)# Instantiate search results locally (useful for GEDI location indexing)
local_granules = instantiate(granules, folder)
```Derive points
```julia
using DataFrames
fn = "GEDI02_A_2019242104318_O04046_01_T02343_02_003_02_V002.h5"
g = SpaceLiDAR.granule(fn)
df = DataFrame(g)
149680×15 DataFrame
Row │ longitude latitude height height_error datetime intensity sensitivity surface quality nmo ⋯
│ Float64 Float64 Float32 Float32 DateTime Float32 Float32 Bool Bool UIn ⋯
────────┼──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
1 │ 153.855 -47.2772 -13.3536 0.307976 2019-08-30T10:48:21.047 393.969 -0.0671094 true false ⋯
2 │ 153.855 -47.2769 -11.2522 0.307978 2019-08-30T10:48:21.055 797.26 0.533529 true true
3 │ 153.856 -47.2767 -13.775 0.307981 2019-08-30T10:48:21.063 1010.39 0.695938 true true
4 │ 153.857 -47.2765 -11.729 0.307983 2019-08-30T10:48:21.071 852.614 0.544849 true true
5 │ 153.857 -47.2763 -13.2443 0.307985 2019-08-30T10:48:21.080 980.66 0.620767 true true ⋯
6 │ 153.858 -47.2761 -12.1813 0.307987 2019-08-30T10:48:21.088 937.441 0.620531 true true
7 │ 153.859 -47.2758 -11.9011 0.30799 2019-08-30T10:48:21.096 1235.02 0.73815 true true
8 │ 153.859 -47.2756 -12.3796 0.307992 2019-08-30T10:48:21.104 854.127 0.545655 true true
```Derive linestrings
```julia
using DataFrames
fn = "ATL03_20181110072251_06520101_003_01.h5"
g = SpaceLiDAR.granule(fn)
tlines = DataFrame(SpaceLiDAR.lines(g, step=10000))
Table with 4 columns and 6 rows:
geom sun_angle track datetime
┌───────────────────────────────────────────────────────────────────────────
1 │ wkbLineString25D geometry 38.3864 gt1l_weak 2018-11-10T07:28:01.688
2 │ wkbLineString25D geometry 38.375 gt1r_strong 2018-11-10T07:28:02.266
3 │ wkbLineString25D geometry 38.2487 gt2l_weak 2018-11-10T07:28:04.474
4 │ wkbLineString25D geometry 38.1424 gt2r_strong 2018-11-10T07:28:07.374
5 │ wkbLineString25D geometry 38.2016 gt3l_weak 2018-11-10T07:28:05.051
6 │ wkbLineString25D geometry 38.1611 gt3r_strong 2018-11-10T07:28:06.344
SpaceLiDAR.GDF.write("lines.gpkg", tlines)
```
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it using these metadata." authors: - affiliation: "Deltares, TU Delft" family-names: Pronk given-names: Maarten orcid: "https://orcid.org/0000-0001-8758-3939" - affiliation: "NASA Jet Propulsion Laboratory" family-names: Gardner given-names: Alex orcid: "https://orcid.org/0000-0002-8394-8889" date-released: 2021-07-30 title: "SpaceLiDAR.jl" version: 0.2.2 url: "https://github.com/evetion/SpaceLiDAR.jl" doi: 10.5281/zenodo.7213658
Owner metadata
- Name: Maarten Pronk
- Login: evetion
- Email:
- Kind: user
- Description: GeoData Scientist working on elevation modelling @Deltares. External PhD candidate at @TUDelft3d
- Website: https://www.evetion.nl
- Location: Netherlands
- Twitter:
- Company: @Deltares @TUDelft3d
- Icon url: https://avatars.githubusercontent.com/u/8655030?u=589d1dc380bbe6c779a177bfbbc8e85a3fdf687a&v=4
- Repositories: 91
- Last ynced at: 2024-05-01T10:12:26.896Z
- Profile URL: https://github.com/evetion
GitHub Events
Total
- Create event: 51
- Commit comment event: 22
- Release event: 9
- Delete event: 22
- Member event: 1
- Pull request event: 87
- Fork event: 3
- Issues event: 57
- Watch event: 26
- Issue comment event: 200
- Public event: 1
- Push event: 219
- Pull request review event: 56
- Pull request review comment event: 48
Last Year
- Commit comment event: 1
- Create event: 22
- Delete event: 16
- Issue comment event: 91
- Issues event: 20
- Pull request event: 38
- Pull request review comment event: 21
- Pull request review event: 20
- Push event: 57
- Watch event: 6
Committers metadata
Last synced: 2 days ago
Total Commits: 138
Total Committers: 7
Avg Commits per committer: 19.714
Development Distribution Score (DDS): 0.341
Commits in past year: 21
Committers in past year: 5
Avg Commits per committer in past year: 4.2
Development Distribution Score (DDS) in past year: 0.619
Name | Commits | |
---|---|---|
Maarten Pronk | g****t@e****l | 91 |
Maarten Pronk | 8****n | 17 |
Alex Gardner | 3****r | 14 |
dependabot[bot] | 4****] | 8 |
github-actions[bot] | 4****] | 6 |
CompatHelper Julia | c****y@j****g | 1 |
Ubuntu | u****u@i****l | 1 |
Committer domains:
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 32
Total pull requests: 49
Average time to close issues: 4 months
Average time to close pull requests: 14 days
Total issue authors: 5
Total pull request authors: 4
Average comments per issue: 3.28
Average comments per pull request: 2.22
Merged pull request: 36
Bot issues: 0
Bot pull requests: 21
Past year issues: 7
Past year pull requests: 23
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 7 days
Past year issue authors: 3
Past year pull request authors: 4
Past year average comments per issue: 6.43
Past year average comments per pull request: 2.0
Past year merged pull request: 19
Past year bot issues: 0
Past year bot pull requests: 11
Top Issue Authors
- alex-s-gardner (21)
- evetion (8)
- hugoledoux (1)
- JuliaTagBot (1)
- jzphlp (1)
Top Pull Request Authors
- evetion (17)
- github-actions[bot] (13)
- alex-s-gardner (11)
- dependabot[bot] (8)
Top Issue Labels
- enhancement (1)
Top Pull Request Labels
- dependencies (8)
Package metadata
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 9
juliahub.com: SpaceLiDAR
A Julia package for working with ICESat-2 & GEDI data as part of my PhD research
- Homepage: https://www.evetion.nl/SpaceLiDAR.jl/dev/
- Documentation: https://docs.juliahub.com/SpaceLiDAR/nEURf/
- Licenses: GPL-3.0
- Latest release: 0.3.0 (published over 1 year ago)
- Last Synced: 2024-05-10T09:06:56.185Z (1 day ago)
- Versions: 9
- Dependent Packages: 0
- Dependent Repositories: 0
-
Rankings:
- Dependent repos count: 9.94%
- Stargazers count: 24.964%
- Average: 26.778%
- Forks count: 33.293%
- Dependent packages count: 38.915%
Dependencies
- actions/checkout v2 composite
- julia-actions/setup-julia latest composite
- actions/cache v1 composite
- actions/checkout v2 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite
- actions/checkout v3 composite
- julia-actions/setup-julia latest composite
- stefanzweifel/git-auto-commit-action v4 composite
Score: -Infinity