SpaceLiDAR

A Julia package for working with ICESat-2 & GEDI data as part of my PhD research

https://github.com/evetion/spacelidar.jl

Science Score: 64.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: zenodo.org
  • Committers with academic emails
    1 of 6 committers (16.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.0%) to scientific vocabulary

Keywords

earth-observation gedi hacktoberfest icesat icesat-2 io julia laser remote-sensing

Keywords from Contributors

interpretability matrix-exponential hack pde meshing pinn standardization neural-operators bridges fluxes
Last synced: 6 months ago · JSON representation ·

Repository

A Julia package for working with ICESat-2 & GEDI data as part of my PhD research

Basic Info
Statistics
  • Stars: 25
  • Watchers: 4
  • Forks: 4
  • Open Issues: 7
  • Releases: 11
Topics
earth-observation gedi hacktoberfest icesat icesat-2 io julia laser remote-sensing
Created about 6 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

Stable Dev CI codecov DOI

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 | ATBD | |ICESat| GLAH14 v34 | UG | ATBD | |ICESat-2| ATL03 v6 | UG | ATBD | |ICESat-2| ATL06 v5 | UG | ATBD | |ICESat-2| ATL08 v6 | UG | ATBD | |ICESat-2| ATL12 v5 | UG | ATBD | |GEDI| L2A v2 | UG | ATBD |

For an overview with code examples, see the FOSS4G Pluto notebook here

If you use SpaceLiDAR.jl in your research, please consider citing it.

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.0, 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; extent=vietnam)

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.

Note: download! updated granule url to local path

granule = SpaceLiDAR.download!(granule)

You can also load a granule from disk

path2file = granule.url granule = SpaceLiDAR.granule(path2file)

Or from a folder

(folder, fn) = splitdir(path2file) local_granules = SpaceLiDAR.granules(folder) ```

Derive points ```julia using DataFrames fn = "GEDI02A2019242104318O0404601T023430200302_V002.h5" granule = SpaceLiDAR.granule(fn)

df = DataFrame(granule) 760156×15 DataFrame Row │ longitude latitude height heighterror datetime intensity sensitivity surface quality nmodes track strongbeam classification sunangle heightreference │ Float64 Float64 Float32 Float32 DateTime Float32 Float32 Bool Bool UInt8 String Bool String Float32 Float32
────────┼───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 1 │ 26.6923 51.823 169.045 0.313182 2019-04-18T10:22:23.996 -857.388 1.38006 true false 1 BEAM0000 false ground 49.0315 169.752 2 │ 26.7006 51.823 165.783 0.31319 2019-04-18T10:22:24.078 853.56 0.694586 true false 1 BEAM0000 false ground 49.0312 167.354 3 │ 26.7023 51.823 162.871 0.313192 2019-04-18T10:22:24.095 110.071 -0.480232 true false 1 BEAM0000 false ground 49.0311 164.785 ⋮ │ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ ⋮ 760155 │ 110.661 -0.194184 171.157 0.258848 2019-04-18T10:45:33.900 7702.96 0.945006 true true 2 BEAM1011 true ground -1.94442 176.333 760156 │ 110.662 -0.195451 167.176 0.258852 2019-04-18T10:45:33.925 9595.64 0.981322 true true 2 BEAM1011 true ground -1.94564 173.691 ```

Derive linestrings ```julia using DataFrames fn = "GEDI02A2019108093620O0196503T053380200301_V002.h5" granule = SpaceLiDAR.granule(fn) tlines = DataFrame.(SpaceLiDAR.lines(granule; step=10000))

SpaceLiDAR.GDF.write("lines.gpkg", tlines) ```

Owner

  • Name: Maarten Pronk
  • Login: evetion
  • Kind: user
  • Location: Netherlands
  • Company: @Deltares @TUDelft3d

GeoData Scientist working on elevation modelling @Deltares. External PhD candidate at @TUDelft3d

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

GitHub Events

Total
  • Create event: 9
  • Commit comment event: 5
  • Release event: 2
  • Issues event: 1
  • Watch event: 2
  • Delete event: 2
  • Issue comment event: 3
  • Push event: 17
  • Pull request event: 9
Last Year
  • Create event: 9
  • Commit comment event: 5
  • Release event: 2
  • Issues event: 1
  • Watch event: 2
  • Delete event: 2
  • Issue comment event: 3
  • Push event: 17
  • Pull request event: 9

Committers

Last synced: 6 months ago

All Time
  • Total Commits: 144
  • Total Committers: 6
  • Avg Commits per committer: 24.0
  • Development Distribution Score (DDS): 0.222
Past Year
  • Commits: 13
  • Committers: 3
  • Avg Commits per committer: 4.333
  • Development Distribution Score (DDS): 0.462
Top Committers
Name Email Commits
Maarten Pronk g****t@e****l 112
Alex Gardner 3****r 15
dependabot[bot] 4****] 9
github-actions[bot] 4****] 6
Ubuntu u****u@i****l 1
CompatHelper Julia c****y@j****g 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 34
  • Total pull requests: 53
  • Average time to close issues: 4 months
  • Average time to close pull requests: 18 days
  • Total issue authors: 5
  • Total pull request authors: 4
  • Average comments per issue: 3.26
  • Average comments per pull request: 2.11
  • Merged pull requests: 40
  • Bot issues: 0
  • Bot pull requests: 23
Past Year
  • Issues: 2
  • Pull requests: 5
  • Average time to close issues: 2 months
  • Average time to close pull requests: 21 days
  • Issue authors: 1
  • Pull request authors: 2
  • Average comments per issue: 1.5
  • Average comments per pull request: 0.4
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 2
Top Authors
Issue Authors
  • alex-s-gardner (21)
  • evetion (10)
  • jzphlp (1)
  • hugoledoux (1)
  • JuliaTagBot (1)
Pull Request Authors
  • evetion (23)
  • dependabot[bot] (15)
  • github-actions[bot] (12)
  • alex-s-gardner (12)
Top Labels
Issue Labels
enhancement (1)
Pull Request Labels
dependencies (15) github_actions (3)

Packages

  • Total packages: 3
  • Total downloads:
    • julia 1 total
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 33
proxy.golang.org: github.com/evetion/spacelidar.jl
  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
proxy.golang.org: github.com/evetion/SpaceLiDAR.jl
  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
juliahub.com: SpaceLiDAR

A Julia package for working with ICESat-2 & GEDI data as part of my PhD research

  • Versions: 11
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1 Total
Rankings
Dependent repos count: 9.9%
Stargazers count: 25.0%
Average: 26.8%
Forks count: 33.3%
Dependent packages count: 38.9%
Last synced: 6 months ago

Dependencies

.github/workflows/docs.yml actions
  • actions/checkout v2 composite
  • julia-actions/setup-julia latest composite
.github/workflows/CI.yml actions
  • 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
.github/workflows/TagBot.yml actions
  • JuliaRegistries/TagBot v1 composite
.github/workflows/doc_versions.yml actions
  • actions/checkout v3 composite
  • julia-actions/setup-julia latest composite
  • stefanzweifel/git-auto-commit-action v4 composite