Skip to content

Repository files navigation

Sun Path Atlas

English · 简体中文

deployment Code style: Prettier last commit top language repo size license

Website Introduction

A browser-based sun-path calculator for architecture and outdoor planning. Choose a location, date, time, and timezone to inspect solar geometry in 2D or 3D, compare a full year, and export the result.

Website Features

☀️ Solar geometry — altitude, azimuth, sunrise, sunset, solar noon, day length, and twilight bands use readable NOAA-style simplified formulas.

🌍 Map input — select coordinates on a world map or enter latitude and longitude directly with an explicit timezone offset.

📊 Day and year views — inspect one day's track or compare representative monthly tracks across the year.

🧭 2D and 3D diagrams — use a polar chart or rotate and zoom a Three.js sky sphere.

🖼️ Deterministic export — save the current diagram as SVG or high-resolution PNG.

🌐 Bilingual interface — English is the default and Simplified Chinese is complete.

🎨 Adaptive themes — follow the system by default, with a compact light/dark toggle.

Getting Started

git clone https://github.com/lailai0916/sun-path-atlas.git
cd sun-path-atlas
npm install
npm run dev

Before publishing a change:

npm run lint
npm run build

Project Structure

sun-path-atlas/
├── docs/                           # documentation and formulas
│   └── about.md                    # formulas, definitions, and limits
├── public/                         # static assets
├── src/                            # application source code
│   ├── components/                 # controls, charts, map, and statistics
│   ├── modules/                    # solar math, export, and i18n
│   ├── App.tsx                     # application composition
│   ├── index.css                   # themes and responsive layout
│   └── main.tsx                    # React entry point
├── index.html                      # Application entry page
├── package-lock.json               # Dependency lock file
├── package.json                    # Dependency configuration
├── tsconfig.json                   # TypeScript configuration
└── vite.config.ts                  # Vite configuration

Calculation Scope

The model calculates equation of time, solar declination, hour angle, altitude, and azimuth. Sunrise and sunset use a Sun-center altitude of $-0.833°$; civil, nautical, and astronomical twilight use $-6°$, $-12°$, and $-18°$.

Results are approximate and may differ from high-precision ephemerides by tens of seconds. Refraction is included only in the sunrise and sunset definition, terrain and local horizon obstructions are not modelled, and polar-circle boundaries are more sensitive. See About Sun Calculations for formulas and limitations.

License

This project's code is licensed under MIT License.

About

A browser-based sun-path calculator for architecture and outdoor planning.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages