mapa 0.12.0

Creator: bigcodingguy24

Last updated:

Add to Cart

Description:

mapa 0.12.0

mapa 🌍




mapa let's you create 3d-printable STL files from satellite
elevation data (using DEM data).
Under the hood mapa uses:

numpy and numba to crunch large amounts of data in little time
ALOS DEM satellite data (max resolution of 30m) provided by
Planetary Computer

Installation
pip install mapa

Usage
mapa provides the following approaches for creating STL files:
1. Using the mapa streamlit web app 🎈
Certainly the easiest way to interact with mapa is to use the streamlit web app. No need to install anything. Simply
access it via your browser. It is based on the mapa-streamlit repo and can
be accessed at:
https://3dmaps.streamlit.app/
Note, that the streamlit web app however, does not use the maximal available resolution of the ALOS DEM GeoTIFFs, as it
would take too much time and cloud resources to compute STL files of e.g. multiple GBs. If you are keen in getting STL
files with the highest resolution possible, I'd recommend following the next step.
2. Using the mapa interactive map 🗺
The second easiest way is using the mapa cli. After installing mapa, simply type
mapa

A jupyter notebook will be started with an interactive map. Follow the described steps by
executing the cells to create a 3d model of whatever place you like.



Choose bounding box
Create STL file












Slice STL file
3D print









3. Using the dem2stl cli 💻
The dem2stl cli lets you create a 3d-printable STL file based on your tiff file. You can run a demo computation to get
a feeling of how the output STL will look like:
dem2stl --demo

If you have your tiff file at hand, you may run something like
dem2stl --input your_file.tiff --output output.stl --model-size 200 --z-offset 3.0 --z-scale 1.5

The full list of options and their intention can be found with dem2stl --help:
Usage: dem2stl [OPTIONS]

🌍 Convert DEM data into STL files 🌏

Options:
--input TEXT Path to input TIFF file.
--output TEXT Path to output STL file.
--as-ascii Save output STL as ascii file. If not provided, output
file will be binary.
--model-size INTEGER Desired size of the (larger side of the) generated 3d
model in millimeter.
--max-res Whether maximum resolution should be used. Note, that
this flag potentially increases compute time
dramatically. The default behavior (i.e.
max_res=False) should return 3d models with sufficient
resolution, while the output stl file should be < ~400
MB.
--z-offset FLOAT Offset distance in millimeter to be put below the 3d
model. Defaults to 4.0. Is not influenced by z-scale.
--z-scale FLOAT Value to be multiplied to the z-axis elevation data to
scale up the height of the model. Defaults to 1.0.
--demo Converts a demo tif of Hawaii into a STL file.
--ensure-squared Flag to toggle whether the output model should be
squared in x- and y-dimension. When enabled it will
remove pixels from one side to ensure same length for
both sides.
--version Show the version and exit.
--help Show this message and exit.

4. Using mapa as python library 📚
In case you are building your own application you can simply use mapa's functionality within your application by importing the functions of the module.
from mapa import convert_tiff_to_stl

path_to_stl = convert_tiff_to_stl(
input_file="path/to/your/input_file.tiff",
as_ascii=False,
model_size=200,
output_file="path/to/your/output_file.stl",
max_res=False,
z_offset=3.0,
z_scale=1.5,
ensure_squared: bool = False,
)

Algorithm Deep Dive
In case you are curios about the algorithm which turns a GeoTIFF into a STL file, I'd recommend reading the header of
algorithm.py.
Changelog
See Releases.
Contributing
Contributions, feedback or issues are welcome.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.