Skip to content

Commit

Permalink
Added JOSS manuscript
Browse files Browse the repository at this point in the history
  • Loading branch information
giswqs committed Jun 23, 2021
1 parent a7fe4ba commit c362c1b
Show file tree
Hide file tree
Showing 4 changed files with 125 additions and 8 deletions.
13 changes: 8 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,19 +24,22 @@

## Introduction

**leafmap** is a Python package for geospatial analysis and interactive mapping in a Jupyter environment. It is a spin-off project of the [geemap](https://geemap.org) Python package, which was designed specifically to work with [Google Earth Engine](https://earthengine.google.com) (GEE). However, not everyone in the geospatial community has a GEE account. **leafmap** is designed to fill this gap for non-GEE users. It enables users to perform advanced geospatial analysis and interactive mapping with minimal coding in a Jupyter environment (e.g., Google Colab, JupyterLab, Jupyter notebook). It is built upon a number of open-source packages, such as [folium](https://github.com/python-visualization/folium) and [ipyleaflet](https://github.com/jupyter-widgets/ipyleaflet) (for creating interactive maps), [WhiteboxTools](https://github.com/jblindsay/whitebox-tools) and [whiteboxgui](https://github.com/giswqs/whiteboxgui) (for analyzing geospatial data), and [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) (for designing interactive graphical user interface).

The [WhiteboxTools](https://github.com/jblindsay/whitebox-tools) library currently contains **468** tools, which are each grouped based on their main function into one of the following categories. For a list of available tools with comprehensive documentation and usage details, please see the [WhiteboxTools User Manual](https://jblindsay.github.io/wbt_book/available_tools/index.html).
**Leafmap** is a Python package for interactive mapping and geospatial analysis with minimal coding in a Jupyter environment. It is a spin-off project of the [geemap](https://geemap.org) Python package, which was designed specifically to work with [Google Earth Engine](https://earthengine.google.com) (GEE). However, not everyone in the geospatial community has access to the GEE cloud computing platform. Leafmap is designed to fill this gap for non-GEE users. It is a free and open-source Python package that enables users to analyze and visualize geospatial data with minimal coding in a Jupyter environment, such as Google Colab, Jupyter notebook, and JupyterLab. Leafmap is built upon a number of open-source packages, such as [folium](https://github.com/python-visualization/folium), [ipyleaflet](https://github.com/jupyter-widgets/ipyleaflet), and [here-map-widget-for-jupyter](https://github.com/heremaps/here-map-widget-for-jupyter) (for creating interactive maps), [WhiteboxTools](https://github.com/jblindsay/whitebox-tools) and [whiteboxgui](https://github.com/giswqs/whiteboxgui) (for analyzing geospatial data), and [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) (for designing interactive graphical user interface [GUI]). The WhiteboxTools library currently contains **470+** tools for advanced geospatial analysis, which are each grouped based on their main function into one of the following categories. Users can access these tools via whiteboxgui directly within the leafmap user interface without writing a single line of code.

- [Data Tools](https://jblindsay.github.io/wbt_book/available_tools/data_tools.html)
- [Geomorphometric Analysis](https://jblindsay.github.io/wbt_book/available_tools/geomorphometric_analysis.html)
- [GIS Analysis](https://jblindsay.github.io/wbt_book/available_tools/gis_analysis.html)
- [Hydrological Analysis](https://jblindsay.github.io/wbt_book/available_tools/hydrological_analysis.html)
- [Image Analysis](https://jblindsay.github.io/wbt_book/available_tools/image_processing_tools.html)
- [LiDAR Analysis](https://jblindsay.github.io/wbt_book/available_tools/lidar_tools.html)
- [Image Processing Tools](https://jblindsay.github.io/wbt_book/available_tools/image_processing_tools.html)
- [LiDAR Tools](https://jblindsay.github.io/wbt_book/available_tools/lidar_tools.html)
- [Mathematical and Statistical Analysis](https://jblindsay.github.io/wbt_book/available_tools/mathand_stats_tools.html)
- [Precision Agriculture](https://jblindsay.github.io/wbt_book/available_tools/precision_agriculture.html)
- [Stream Network Analysis](https://jblindsay.github.io/wbt_book/available_tools/stream_network_analysis.html)

## Statement of Need

There are a plethora of Python packages for geospatial analysis, such as geopandas for vector data analysis and xarray for raster data analysis. However, few Python packages provide interactive GUIs for loading and visualizing geospatial data in a Jupyter environment. It might take many lines to code to load and display geospatial data with various file formats on an interactive map, which can be a challenging task for novice users with limited coding skills. Leafmap provides many convenient functions for loading and visualizing geospatial datasets with only one line of code. Users can also use the interactive GUI to load geospatial datasets without coding. Anyone with a web browser and Internet connection can use leafmap to perform geospatial analysis and data visualization in the cloud with minimal coding.

Launch the interactive notebook tutorial for the **leafmap** Python package with Google Colab or Binder now:

[![image](https://colab.research.google.com/assets/colab-badge.svg)](https://gishub.org/leafmap-colab)
Expand Down
7 changes: 4 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,7 @@

## Introduction

**leafmap** is a Python package for geospatial analysis and interactive mapping in a Jupyter environment. It is a spin-off project of the [geemap](https://geemap.org) Python package, which was designed specifically to work with [Google Earth Engine](https://earthengine.google.com) (GEE). However, not everyone in the geospatial community has a GEE account. **leafmap** is designed to fill this gap for non-GEE users. It enables users to perform advanced geospatial analysis and interactive mapping with minimal coding in a Jupyter environment (e.g., Google Colab, JupyterLab, Jupyter notebook). It is built upon a number of open-source packages, such as [folium](https://github.com/python-visualization/folium) and [ipyleaflet](https://github.com/jupyter-widgets/ipyleaflet) and [here-map-widget-for-jupyter](https://github.com/heremaps/here-map-widget-for-jupyter) (for creating interactive maps), [WhiteboxTools](https://github.com/jblindsay/whitebox-tools) and [whiteboxgui](https://github.com/giswqs/whiteboxgui) (for analyzing geospatial data), and [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) (for designing interactive graphical user interface).

The [WhiteboxTools](https://github.com/jblindsay/whitebox-tools) library currently contains **468** tools, which are each grouped based on their main function into one of the following categories. For a list of available tools with comprehensive documentation and usage details, please see the [WhiteboxTools User Manual](https://jblindsay.github.io/wbt_book/available_tools/index.html).
**Leafmap** is a Python package for interactive mapping and geospatial analysis with minimal coding in a Jupyter environment. It is a spin-off project of the [geemap](https://geemap.org) Python package, which was designed specifically to work with [Google Earth Engine](https://earthengine.google.com) (GEE). However, not everyone in the geospatial community has access to the GEE cloud computing platform. Leafmap is designed to fill this gap for non-GEE users. It is a free and open-source Python package that enables users to analyze and visualize geospatial data with minimal coding in a Jupyter environment, such as Google Colab, Jupyter notebook, and JupyterLab. Leafmap is built upon a number of open-source packages, such as [folium](https://github.com/python-visualization/folium), [ipyleaflet](https://github.com/jupyter-widgets/ipyleaflet), and [here-map-widget-for-jupyter](https://github.com/heremaps/here-map-widget-for-jupyter) (for creating interactive maps), [WhiteboxTools](https://github.com/jblindsay/whitebox-tools) and [whiteboxgui](https://github.com/giswqs/whiteboxgui) (for analyzing geospatial data), and [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) (for designing interactive graphical user interface [GUI]). The WhiteboxTools library currently contains **470+** tools for advanced geospatial analysis, which are each grouped based on their main function into one of the following categories. Users can access these tools via whiteboxgui directly within the leafmap user interface without writing a single line of code.

- [Data Tools](https://jblindsay.github.io/wbt_book/available_tools/data_tools.html)
- [Geomorphometric Analysis](https://jblindsay.github.io/wbt_book/available_tools/geomorphometric_analysis.html)
Expand All @@ -38,6 +36,9 @@ The [WhiteboxTools](https://github.com/jblindsay/whitebox-tools) library current
- [Precision Agriculture](https://jblindsay.github.io/wbt_book/available_tools/precision_agriculture.html)
- [Stream Network Analysis](https://jblindsay.github.io/wbt_book/available_tools/stream_network_analysis.html)

## Statement of Need

There are a plethora of Python packages for geospatial analysis, such as geopandas for vector data analysis and xarray for raster data analysis. However, few Python packages provide interactive GUIs for loading and visualizing geospatial data in a Jupyter environment. It might take many lines to code to load and display geospatial data with various file formats on an interactive map, which can be a challenging task for novice users with limited coding skills. Leafmap provides many convenient functions for loading and visualizing geospatial datasets with only one line of code. Users can also use the interactive GUI to load geospatial datasets without coding. Anyone with a web browser and Internet connection can use leafmap to perform geospatial analysis and data visualization in the cloud with minimal coding.
Launch the interactive notebook tutorial for the **leafmap** Python package with Google Colab or Binder now:

[![image](https://colab.research.google.com/assets/colab-badge.svg)](https://gishub.org/leafmap-colab)
Expand Down
63 changes: 63 additions & 0 deletions paper/paper.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
@ARTICLE{Gorelick2017,
title = "{Google Earth Engine: Planetary-scale geospatial analysis for
everyone}",
author = "Gorelick, Noel and Hancher, Matt and Dixon, Mike and
Ilyushchenko, Simon and Thau, David and Moore, Rebecca",
journal = "Remote Sensing of Environment",
publisher = "Elsevier",
volume = 202,
pages = "18--27",
month = dec,
year = 2017,
url = "http://www.sciencedirect.com/science/article/pii/S0034425717302900",
keywords = "Cloud computing; Big data; Analysis; Platform; Data
democratization; Earth Engine",
issn = "0034-4257",
doi = "10.1016/j.rse.2017.06.031"
}

@ARTICLE{Wu2020,
title = "{geemap: A Python package for interactive mapping with Google
Earth Engine}",
author = "Wu, Qiusheng",
journal = "The Journal of Open Source Software",
volume = 5,
number = 51,
pages = "2272",
month = "3~" # jul,
year = 2020,
url = "https://doi.org/10.21105/joss.02305",
keywords = "Earth Engine; Python; GIS; Remote Sensing; Mapping; Geospatial; jupyter notebooks",
doi = "10.21105/joss.02272"
}

@MISC{Lindsay2018,
title = "{WhiteboxTools User Manual}",
author = "Lindsay, John B",
publisher = "GitHub.com",
month = "4~" # mar,
year = 2018,
url = "https://jblindsay.github.io/wbt_book",
howpublished = "\url{https://jblindsay.github.io/wbt_book}",
note = "Accessed: 2021-1-7"
}

@ARTICLE{Hoyer2017,
title = "{xarray: ND labeled arrays and datasets in Python}",
author = "Hoyer, Stephan and Hamman, Joe",
journal = "Journal of Open Research Software",
publisher = "Ubiquity Press",
volume = 5,
number = 1,
year = 2017,
url = "https://openresearchsoftware.metajnl.com/articles/148/",
doi = "10.5334/jors.148"
}

@MISC{Jordahl2014,
title = "{GeoPandas: Python tools for geographic data}",
author = "Jordahl, K",
journal = "URL: https://github.com/geopandas/geopandas",
year = 2014,
doi = "10.5281/zenodo.4569086"
}
50 changes: 50 additions & 0 deletions paper/paper.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
---
title: "Leafmap: A Python package for interactive mapping and geospatial analysis with minimal coding in a Jupyter environment"
tags:
- Python
- geospatial
- ipyleaflet
- mapping
- Jupyter
authors:
- name: Qiusheng Wu
orcid: 0000-0001-5437-4073
affiliation: "1"
affiliations:
- name: Department of Geography, University of Tennessee, Knoxville, TN 37996, United States
index: 1
date: 22 June 2021
bibliography: paper.bib
---

# Summary

**Leafmap** is a Python package for interactive mapping and geospatial analysis with minimal coding in a Jupyter environment. It is a spin-off project of the [geemap](https://geemap.org) Python package [@Wu2020], which was designed specifically to work with [Google Earth Engine](https://earthengine.google.com) (GEE) [@Gorelick2017]. However, not everyone in the geospatial community has access to the GEE cloud computing platform. Leafmap is designed to fill this gap for non-GEE users. It is a free and open-source Python package that enables users to analyze and visualize geospatial data with minimal coding in a Jupyter environment, such as Google Colab, Jupyter notebook, and JupyterLab. Leafmap is built upon a number of open-source packages, such as [folium](https://github.com/python-visualization/folium), [ipyleaflet](https://github.com/jupyter-widgets/ipyleaflet), and [here-map-widget-for-jupyter](https://github.com/heremaps/here-map-widget-for-jupyter) (for creating interactive maps), [WhiteboxTools](https://github.com/jblindsay/whitebox-tools) [@Lindsay2018] and [whiteboxgui](https://github.com/giswqs/whiteboxgui) (for analyzing geospatial data), and [ipywidgets](https://github.com/jupyter-widgets/ipywidgets) (for designing interactive graphical user interface [GUI]). The WhiteboxTools library currently contains **470+** tools for advanced geospatial analysis, which are each grouped based on their main function into one of the following categories. Users can access these tools via whiteboxgui directly within the leafmap user interface without writing a single line of code.

- [Data Tools](https://jblindsay.github.io/wbt_book/available_tools/data_tools.html)
- [Geomorphometric Analysis](https://jblindsay.github.io/wbt_book/available_tools/geomorphometric_analysis.html)
- [GIS Analysis](https://jblindsay.github.io/wbt_book/available_tools/gis_analysis.html)
- [Hydrological Analysis](https://jblindsay.github.io/wbt_book/available_tools/hydrological_analysis.html)
- [Image Processing Tools](https://jblindsay.github.io/wbt_book/available_tools/image_processing_tools.html)
- [LiDAR Tools](https://jblindsay.github.io/wbt_book/available_tools/lidar_tools.html)
- [Mathematical and Statistical Analysis](https://jblindsay.github.io/wbt_book/available_tools/mathand_stats_tools.html)
- [Precision Agriculture](https://jblindsay.github.io/wbt_book/available_tools/precision_agriculture.html)
- [Stream Network Analysis](https://jblindsay.github.io/wbt_book/available_tools/stream_network_analysis.html)

# Statement of Need

There are a plethora of Python packages for geospatial analysis, such as geopandas for vector data analysis [@Jordahl2014] and xarray for raster data analysis [@Hoyer2017]. However, few Python packages provide interactive GUIs for loading and visualizing geospatial data in a Jupyter environment. It might take many lines to code to load and display geospatial data with various file formats on an interactive map, which can be a challenging task for novice users with limited coding skills. Leafmap provides many convenient functions for loading and visualizing geospatial datasets with only one line of code. Users can also use the interactive GUI to load geospatial datasets without coding. Anyone with a web browser and Internet connection can use leafmap to perform geospatial analysis and data visualization in the cloud with minimal coding.

# Leafmap Tutorials

Various tutorials and documentation are available for using leafmap, including:

- [Complete API documentation on leafmap modules and methods](https://leafmap.org)
- [20+ notebook examples for using leafmap with Google Colab and Jupyter](https://leafmap.org/tutorials)
- [Video tutorials for using leafmap](https://gishub.org/youtube-leafmap)

# Acknowledgements

The author would like to thank the developers of ipyleaflet and ipywidgets, which empower the interactive mapping functionality of leafmap, including [Martin Renou](https://github.com/martinRenou), [David Brochart](https://github.com/davidbrochart), and [Sylvain Corlay](https://github.com/SylvainCorlay). The authors would also like to express thanks to [John Lindsay](https://github.com/jblindsay) for developing the WhiteboxTools library, which serves as the geospatial analysis backend of leafmap. Special thanks go to all leafmap contributors, especially [Sachin Kharude](https://github.com/sackh) for contributing the heremap plotting backend to leafmap.

# References

0 comments on commit c362c1b

Please sign in to comment.