Skip to main content

🌍 Create 3d-printable STLs from satellite elevation data 🌏

Project description

mapa 🌍

PyPI Python Downloads Python Tests

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

Under the hood mapa uses:

Installation

pip install mapa

Usage

mapa provides the following approaches for creating STL files:

1. Using the mapa interactive map

The easiest way is using the mapa cli. 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

2. 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 ready, 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 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 <= 200
                        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.
  --make-square         If the input tiff is a rectangle and not a square, cut
                        the longer side to make the output STL file a square.
  --version             Show the version and exit.
  --help                Show this message and exit.

3. Using mapa as python library

In case you are building your own application you can simply use mapa's functionality as a within your application by importing the modules functions.

from mapa import convert_tif_to_stl

path_to_stl = convert_tif_to_stl(...)

Changelog

See Releases.

Contributing

Contributions, feedback or issues are welcome.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mapa-0.1.4.tar.gz (13.8 kB view details)

Uploaded Source

Built Distribution

mapa-0.1.4-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

File details

Details for the file mapa-0.1.4.tar.gz.

File metadata

  • Download URL: mapa-0.1.4.tar.gz
  • Upload date:
  • Size: 13.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.12 Linux/5.11.0-1028-azure

File hashes

Hashes for mapa-0.1.4.tar.gz
Algorithm Hash digest
SHA256 0cc2ab436014d5978e22e6b04573708f5cc165a7834d327aa30d979c6803102a
MD5 6b85f617cff22b9cd6d5cdac5b6fed7b
BLAKE2b-256 3ba4cb6c106faabee3598b9b8e7a8b996e8a9a0cbf241b1c213be74d02866215

See more details on using hashes here.

File details

Details for the file mapa-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: mapa-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 15.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.1.12 CPython/3.8.12 Linux/5.11.0-1028-azure

File hashes

Hashes for mapa-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 ba04ba5db1916e2663c6278edc41b4b9f437e773459c2c2e0c9e2a30dfffd030
MD5 9b195631909a8fa71862fb0430595ca2
BLAKE2b-256 d1f670526365b9e923b6b4a97a78038a221598b7f6dc4f67301cae7a15996037

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page