landmapyr

landmapyr: Land Mapping Package

This package was originally called landmapy but was changed to accommodate the inclusion of both Python and R packages.

GitHub


Example EDA Projects Using landmapyr

To date, this package has been used in the following EDA projects (with modules other than initial and plot modules):

Genesis of landmapyr Package

This landmapyr python package was begun in nov-dec 2024 when I took the Earth Data Analytics (EDA) course as I found the project tools growing and wanted to find a way to help me remember and reuse the code I was developing.

EDA staff offered draft code for tools to the class, which I adapted and expanded, based on their advice. I learned by doing and looking at other tools, developing my own Coding Strategy. The Quarto files (*.qmd) are rendered as markdown (*.md) files with the shell command (run within this directory):

quarto render [filename].qmd -t markdown

with the output files going into the directory [filename]_files/figure-markdown/ as .png files. Post-rendering with

python3 ../landmapyr/move_images.py [filename].qmd

moves the images to images/[filename]/.

Technical Notes

Python Kernel Selection

The python kernel used for the EDA examples is earth-analytics-python, which uses Python 3.11.10. Instructions on installing this kernel via conda can be found at https://earthdatascience.org/workshops/setup-earth-analytics-python/setup-python-conda-earth-analytics-environment/, which points one to Earth Analytics Python Conda Environment. If you have this kernel installed, it is important to ensure that Quarto uses it. You can set the python kernel by first using a Jupyter notebook. Alternatively, set the default python kernel for Quarto. See Set Default Python Kernel for Quarto for more information.

Python Data Storage

These examples use ephermeral and permanent remote data storage. See Documentation on Data Storage for more information. Some projects use read/write to files, in particular the folder ~/earth-analytics/data is used in the buffalo.qmd and the two crane examples. Note that the location is hardcoded in the python code. Most projects use python’s Store Magic class and a shared Data class to provide remote storage and data ingestion.

Static vs Dynamic Plots

Several of the examples include both static and dynamic plots, but only static plots are rendered by default. Dynamic plots using the hv_plots functions yield much larger plot objects, which are inherently more flexible. See Plot Functions for more information.