Skip to content

NeuralCortex/SRTM_Viewer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NASA STS-99 SRTM Tile Viewer

Overview

SRTM-Viewer is a JavaFX application designed to visualize and analyze topographical data from NASA's Shuttle Radar Topography Mission (SRTM) STS-99. Users can graphically select and evaluate SRTM tiles, save them as PNG files, and analyze elevation data. The application supports both SRTM3 (3 arc-second resolution) and SRTM1 (1 arc-second resolution) files. A high-performance JavaFX and OpenGL desktop application designed to parse, render, and analyze 3D Digital Elevation Models (DEM) from raw NASA SRTM (.hgt) data tiles in real-time.

Core Features

Feature Description
SRTM3 & SRTM1 Support Loads both 3 arc-second (~90m) and 1 arc-second (~30m) .hgt files
Real-Time SRTM 3D-Engine Accelerated terrain generation via OpenGL shaders
Worldwide Tile Grid Overlay Interactive map with full 1°×1° SRTM tile grid clearly displayed and color-coded by availability
Heightmap PNG Export 16-bit grayscale or colored heightmaps (with customizable color ramps)
Wavefront OBJ Export Blender-ready high-quality triangulated mesh
POV-Ray Scene Export Generates ready-to-render .pov + .png files with height_field terrain, camera, lighting, and atmospheric effects

Screenshots

SRTM 3D-Engine

SRTM 3D-Engine

Application Screenshot

Blender Screenshot

Requirements

  • A stable internet connection is required to run the application.
  • Java Runtime Environment (JRE) or Java Development Kit (JDK) version 24 is required.
  • JavaFX SDK is necessary for GUI functionality (JavaFX).

File Structure

SRTM files (.hgt) contain 16-bit signed integer values representing elevation data, with no header or trailer. File names follow the format N50E010.hgt.

SRTM3 Tile (1x1 degree)

North X=0,Y=1200 ********************* X=1200,Y=1200
                 *********************
                 *********************
                 *********************
South X=0,Y=0    ********************* X=1200,Y=0
                 West             East

SRTM1 Tile (1x1 degree)

North X=0,Y=3600 ********************* X=3600,Y=3600
                 *********************
                 *********************
                 *********************
South X=0,Y=0    ********************* X=3600,Y=0
                 West             East

Usage Instructions

Tab 1: Tile Selection

  • Move the mouse over the map to select an SRTM tile (e.g., for a specific city).
  • Displays tile boundaries, file name, northern/southern longitude, and elevation.
  • Accounts for Earth's curvature in calculations.
  • Calculates the tile's area in square kilometers.

Tab 2: Grid View

  • Visualize .hgt files from a local directory as a grid on OpenStreetMap.
  • File names appear at a certain zoom level.
  • Two tables on the right allow showing or hiding individual tiles or entire regions.
  • Grid view uses only file names, not file contents.
  • Store files in a single folder without subdirectories (e.g., Europe, Asia, North America, Japan).

Tab 3: Graphical Analysis

  • Import an SRTM3 or SRTM1 tile for color-coded visualization based on a configurable color table.
  • Edit the color table to adjust tile coloring; changes are saved to the configuration file.
  • At higher zoom levels, hover to display elevation in meters above sea level.
  • Enable the alpha channel for semi-transparency to view underlying map features (e.g., cities or highways).
  • Right-click to place a marker; copy/paste longitude and latitude from Google Maps using CTRL+V to update coordinates.
  • Save options:
    • Export the tile as a black-and-white elevation profile or colored PNG (with or without a marker).
    • Preview is provided before saving; markers outside the tile are ignored.
  • 3D visualization via POV export:
    • Generates a black-and-white elevation profile and a POV file for the POV-Ray ray tracer.
    • Set POV-Ray image size to at least Full HD (1920x1080 pixels).
  • 3D visualization via Blender export:
    • Generates a clean, high-quality Wavefront .obj (opens perfectly in Blender without any fixes).
    • Triangulated mesh
    • Ready for immediate rendering, texturing (satellite imagery, procedural materials), animation, or 3D printing.
    • Recommended import settings in Blender: just drag & drop or File → Import → Wavefront (.obj) — no rotation or scale fixes needed.

Tab 4: Live 3D

Interact with the real-time Live 3D viewport using your mouse and keyboard combinations:

🖱️ Mouse Navigation

  • Rotate / Orbit View: Click + Drag with the Left Mouse Button (LMB) inside the viewport to rotate around the terrain mesh.
  • Height Control: Use Scroll Wheel to dynamically change the height of the camera ($Y$-axis) on the fly.

⌨️ Keyboard Navigation

Enable the WASD checkbox in the top control panel to unlock free-fly camera movement:

  • W / S - Move camera forward and backward.
  • A / D - Strafe camera left and right.
  • Reset - Click the top-panel reset button to snap the camera back to its initial position.

🛠️ Visualizer Features

📐 Mesh & Scale Configuration

  • Resolution Dropdown: Choose the structural density of the terrain mesh to balance rendering performance and detail.
  • Wireframe Toggle: Switch to a structural wireframe view to analyze vertex displacement, triangle distribution, and geometry.
  • Axis Scaling Sliders ($X, Y, Z$): Fine-tune the horizontal bounds or dramatically accentuate elevation layout profiles.

🌊 Waterlevel Simulation

  • Show Toggle: Toggle a dynamic water plane surface over the map bounds.
  • Height Control: Input an absolute value in meters or slide the Adjust bar to visualize flood risks, sea-level changes, or catchment baselines.

☀️ Custom Shading & Lighting Engine

  • Light Source Coordinates: Reposition the target illumination vector using independent $X, Y, Z$ sliders.
  • Material Properties: * Ambient: Adjust overall baseline environmental lighting.
    • Diffuse: Enhance surface depth gradients and slope contours.
    • Specular: Define the highlight glare reflection strength off structural surfaces.

🎨 Topographical Color Mapping

  • Map specific elevation steps to distinct color values.
  • Custom rules allow you to seamlessly add, delete, or update color thresholds (e.g., deep blue for water beds, vibrant greens for valleys, warm browns for cliffs, and stark whites for mountain peaks).

Technologies Used

Data Attribution

The digital elevation models utilized by this software are provided courtesy of NASA and the National Geospatial-Intelligence Agency (NGA), collected during the Shuttle Radar Topography Mission (STS-99).

About

NASA STS-99 SRTM Tile Viewer & Converter

Topics

Resources

License

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors