https://github.com/jeremytubongbanua/nasa_space_apps_2024
1st place at NASA Space Apps 2024, Ontario Tech University. Mapping X is a web-based interactive Geographical Information System (GIS) tool that lets you generate .STL. meshes from Digital Elevation Model (DEM) data and Surface Water and Ocean Topography (SWOT) data from open-source NASA Earthview data.
https://github.com/jeremytubongbanua/nasa_space_apps_2024
Last synced: 2 months ago
JSON representation
1st place at NASA Space Apps 2024, Ontario Tech University. Mapping X is a web-based interactive Geographical Information System (GIS) tool that lets you generate .STL. meshes from Digital Elevation Model (DEM) data and Surface Water and Ocean Topography (SWOT) data from open-source NASA Earthview data.
- Host: GitHub
- URL: https://github.com/jeremytubongbanua/nasa_space_apps_2024
- Owner: JeremyTubongbanua
- Created: 2024-10-05T13:30:31.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2024-11-13T16:33:03.000Z (7 months ago)
- Last Synced: 2025-04-10T01:04:48.746Z (2 months ago)
- Language: Python
- Homepage: http://67.217.243.8/
- Size: 755 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# nasa_space_apps_2024
- [nasa_space_apps_2024](#nasa-space-apps-2024)
- [Overview](#overview)
- [Links](#links)
- [How It Works](#how-it-works)
- [Key Components](#key-components)
- [Tech Used](#tech-used)
- [Samples](#samples)## Overview
Mapping X is a web-based interactive Geographical Information System (GIS) tool that lets you generate .STL. meshes from Digital Elevation Model (DEM) data and Surface Water and Ocean Topography (SWOT) data from open-source NASA Earthview data. The generated STL meshes can be used for 3D printing for observation which can be used for terrain and water elevation analysis.
## Links
- Long form video (5 minutes) -
- Short form video (30 seconds) -
- Live Project Demo -
- GitHub Repository -## How It Works
1. We have to manually import ncDF (SWOT) and .tif (DEM) files into the backend/data/ folder. Then, each of the sub folders (swot and dem) have their own `convert.py` script that converts the ncDF and .tif files into .csv and .png files for each file. Lots of resolution is lost in this process because there are just too many coordinates (longitude, latitude). The .csv and .png files are then stored in the backend/data/ folder, where the .csv file has columns longitude, latitude, and elevation, and the .png file is a representation that can be overlayed on the map.
2. Now that we've converted our data appropriately, we can serve the frontend when a request is made when a rectangular bounding box is drawn on the map. The frontend sends a request where the backend will receive the longitude and latitude of the bounding box, and determine which .CSVs are needed to generate the .STL file. Then we simply generate a .STL file from the elevation data from the .CSVs with geometry and volume using numpy and send that back to the frontend.
## Key Components
Check out key components such as:
- [SWOT convert.py](./backend/data/swot/convert.py)
- [DEM convert.py](./backend/data/dem/convert.py)
- [backend flask server](./backend/server.py)
- [backend test scripts](./backend/tests)
- [frontend](./my-map-app/)## Tech Used

Not mentioned is Canva for video editing and Audacity for audio editing.
## Samples
Some random samples

DEM overlay

SWOT overlay

FIGMA prototyping

High Level overview of how it works

SWOT of Lake Huron

SWOT of Lake Ontario

Application (why is it useful)

Future improvements
