Quick Start
Get your first terrain visualization in 5 minutes.
Prerequisites
Python 3.11+
Blender Python API (
bpy)
Installation
# Clone the repository
git clone https://github.com/jflournoy/terrain-maker_v2.git
cd terrain-maker_v2
# Install with uv (recommended)
uv sync --extra blender
# Or with pip
pip install -e ".[blender]"
Your First Terrain
from src.terrain.core import Terrain
from src.terrain.transforms import reproject_raster, flip_raster
from src.terrain.scene_setup import position_camera_relative
from src.terrain.rendering import render_scene_to_file
import numpy as np
# Create mock elevation data
dem = np.random.randint(100, 300, (512, 512)).astype(np.float32)
from rasterio.transform import Affine
transform = Affine.translation(-83.0, 42.5) * Affine.scale(0.001, -0.001)
# Create terrain
terrain = Terrain(dem, transform)
terrain.add_transform(reproject_raster(src_crs='EPSG:4326', dst_crs='EPSG:32617'))
terrain.add_transform(flip_raster(axis='horizontal'))
terrain.apply_transforms()
# Create mesh and render
mesh = terrain.create_mesh(scale_factor=100, height_scale=5)
camera = position_camera_relative(mesh, direction='south')
render_scene_to_file('my_terrain.png', width=800, height=600)
Run an Example
# Detroit elevation with real SRTM data
python examples/detroit_elevation_real.py
# With mock data (no real files needed)
python examples/detroit_elevation_real.py --mock-data
Next Steps
Great Lakes Elevation Visualization - Detailed elevation example
Snow Integration: Sledding Location Analysis - Snow data integration
Combined Render: Full-Featured Example - Full-featured rendering
Core Module - API reference