Hosting a simple website to allow calculation of railways distances and associated carbon emissions in Africa.
# Africa Railway Distance and Emissions Calculator v2
A web-based tool for calculating railway distances, travel times, and carbon emissions across **all 49 mainland African countries**. Built with OpenStreetMap data, optimized pathfinding algorithms, and a hybrid data architecture that combines pre-extracted static files with live API fallback.
🌐 **Live Demo:**
njfinney.github.io
---
## 🎯 What This Tool Does
- **Calculate actual railway distances** between any two stations across Africa
- **Estimate travel times** based on average freight speeds (35 km/h)
- **Calculate shipment times** including loading, unloading, and customs delays
- **Compute CO₂e emissions** per metric ton of cargo
- **Visualize routes** on an interactive map
- **Identify network disconnections** with gap analysis
---
## 🌍 Coverage
### 49 Mainland African Countries
| Region | Countries |
|--------|-----------|
| **North Africa** | Algeria, Egypt, Libya, Morocco, Sudan, Tunisia |
| **West Africa** | Benin, Burkina Faso, Côte d'Ivoire, Gambia, Ghana, Guinea, Guinea-Bissau, Liberia, Mali, Mauritania, Niger, Nigeria, Senegal, Sierra Leone, Togo |
| **Central Africa** | Angola, Cameroon, Central African Republic, Chad, Congo (Brazzaville), Congo (DRC), Equatorial Guinea, Gabon |
| **East Africa** | Burundi, Djibouti, Eritrea, Ethiopia, Kenya, Madagascar, Rwanda, Somalia, South Sudan, Tanzania, Uganda |
| **Southern Africa** | Botswana, Eswatini, Lesotho, Malawi, Mozambique, Namibia, South Africa, Zambia, Zimbabwe |
---
## 🏗️ Architecture
### Hybrid Data Approach
The v2 architecture dramatically reduces API calls and improves reliability:
```
┌─────────────────────────────────────────────────────────┐
│ User Interface │
│ (HTML + Tailwind CSS + Leaflet) │
├─────────────────────────────────────────────────────────┤
│ Application Logic │
│ ┌─────────────────┐ …