Non so se sei o meno appasionato di astronomia, ma quello che si prospetta sono 2 anni veramente di fuoco!
La prima volta che ho visto una eclissi totale di Sole è stato nel lontano 11 agosto 1999 in Germania.
Le Eclissi parziali di Sole sono belle, ma vedere quella totale ti stupirà ancora di più.
Devi munirti di occhiali oppurtunamente schermati e mettere filtri per il sole alla tua macchina fotografica e sei pronto per partire.
Il cielo si inizia ad oscurare ed il tempo sembra fermarsi. Tutto intorno a te è davvero fermo immobile. Il sole si oscura sempre di piu, ma non sono le nuvole, è la Luna che copre il Sole.
Qualche minuto di silenzio, non si sente nulla. Si vede solo la corono dei raggi solari. Il Sole si è trasformato in una gigantesca palla nera!
Mi vengono i brividi a ripensarci ed in quel momento, quell’occasione li davvero avuti, ma non avevo freddo ero solo rimasto estasiato da tanta bellezza che la natura ci offre.
Il bello di tutto ciò è che con la matematica, le formule astronomiche e la fisica riusciamo a prevedere esattamente dove si potrà vedere l’eclissi totale di Sole.
Quest’anno in Spagna si potrà vedere in una fascia centrale. Fortunati chi abita da quelle parti, per gli altri non resta che fare una bella vacanza il 12 agosto 2026.

Se siete curiosi potrete consultare il sito Nasa che calcola tutte le eclissi negli anni a seguire.
Descrizione Percorso Eclissi Sole
Qui di seguito il percorso del cono di ombra che attraverserà la nostra Terra il 12 agosto 2026 da calcoli della NASA.
| Ora | Limite Nord | Limite Sud | Linea Centrale | Diam. | Alt | Azm | Larghezza (km) | Durata |
|---|---|---|---|---|---|---|---|---|
| Limits | 75°10.4’N 108°41.4’E | 74°54.8’N 117°57.6’E | 75°04.7’N 113°27.1’E | 1.031 | 0 | – | 269 | 01m34.3s |
| 17:02 | 75°56.2’N 108°45.5’E | 85°19.3’N 119°25.4’E | 82°16.5’N 112°29.2’E | 1.033 | 7 | 7 | 273 | 01m45.8s |
| 17:04 | 82°09.8’N 103°13.0’E | 87°45.2’N 108°25.9’E | 85°17.7’N 104°12.9’E | 1.034 | 10 | 359 | 274 | 01m50.8s |
| 17:06 | 84°51.0’N 090°23.7’E | 89°04.0’N 038°08.9’E | 87°16.7’N 081°31.5’E | 1.035 | 12 | 337 | 274 | 01m54.6s |
| 17:08 | 86°20.6’N 065°49.4’E | 87°47.3’N 019°30.4’W | 87°49.4’N 033°00.0’E | 1.035 | 14 | 289 | 275 | 01m57.7s |
| 17:10 | 86°32.7’N 032°43.7’E | 86°08.5’N 029°13.0’W | 86°50.1’N 001°38.3’W | 1.036 | 16 | 255 | 275 | 02m00.4s |
| 17:12 | 85°43.2’N 008°22.5’E | 84°33.9’N 032°14.8’W | 85°24.2’N 015°10.9’W | 1.036 | 17 | 243 | 275 | 02m02.8s |
| 17:14 | 84°28.9’N 004°48.6’W | 83°04.3’N 033°25.0’W | 83°55.9’N 021°11.2’W | 1.037 | 18 | 238 | 276 | 02m04.9s |
| 17:16 | 83°07.9’N 012°00.1’W | 81°39.0’N 033°50.3’W | 82°29.7’N 024°16.3’W | 1.037 | 19 | 235 | 276 | 02m06.8s |
| 17:18 | 81°46.5’N 016°13.0’W | 80°17.5’N 033°53.8’W | 81°06.6’N 025°59.5’W | 1.037 | 20 | 235 | 277 | 02m08.5s |
| 17:20 | 80°26.5’N 018°50.5’W | 78°59.2’N 033°45.6’W | 79°46.4’N 026°58.9’W | 1.037 | 21 | 234 | 278 | 02m10.0s |
| 17:22 | 79°08.5’N 020°32.3’W | 77°43.6’N 033°30.3’W | 78°29.0’N 027°32.4’W | 1.038 | 22 | 235 | 278 | 02m11.4s |
| 17:24 | 77°52.5’N 021°39.4’W | 76°30.4’N 033°10.7’W | 77°14.0’N 027°49.5’W | 1.038 | 22 | 235 | 279 | 02m12.6s |
| 17:26 | 76°38.5’N 022°23.6’W | 75°19.4’N 032°48.3’W | 76°01.1’N 027°55.7’W | 1.038 | 23 | 236 | 280 | 02m13.7s |
| 17:28 | 75°26.4’N 022°51.9’W | 74°10.1’N 032°24.0’W | 74°50.2’N 027°54.3’W | 1.038 | 24 | 237 | 281 | 02m14.6s |
| 17:30 | 74°16.0’N 023°08.7’W | 73°02.6’N 031°58.3’W | 73°41.0’N 027°47.3’W | 1.038 | 24 | 238 | 282 | 02m15.4s |
| 17:32 | 73°07.0’N 023°17.1’W | 71°56.4’N 031°31.6’W | 72°33.4’N 027°36.2’W | 1.038 | 24 | 239 | 283 | 02m16.2s |
| 17:34 | 71°59.5’N 023°18.8’W | 70°51.6’N 031°04.1’W | 71°27.0’N 027°21.7’W | 1.038 | 25 | 241 | 285 | 02m16.8s |
| 17:36 | 70°53.1’N 023°15.5’W | 69°47.8’N 030°36.0’W | 70°21.9’N 027°04.7’W | 1.039 | 25 | 242 | 286 | 02m17.3s |
| 17:38 | 69°47.9’N 023°07.9’W | 68°45.2’N 030°07.2’W | 69°17.9’N 026°45.6’W | 1.039 | 25 | 243 | 288 | 02m17.7s |
| 17:40 | 68°43.6’N 022°56.9’W | 67°43.4’N 029°37.9’W | 68°14.8’N 026°24.6’W | 1.039 | 26 | 244 | 289 | 02m17.9s |
| 17:42 | 67°40.2’N 022°42.8’W | 66°42.4’N 029°08.0’W | 67°12.6’N 026°01.9’W | 1.039 | 26 | 246 | 291 | 02m18.1s |
| 17:44 | 66°37.6’N 022°26.2’W | 65°42.2’N 028°37.5’W | 66°11.1’N 025°37.8’W | 1.039 | 26 | 247 | 292 | 02m18.2s |
| 17:46 | 65°35.6’N 022°07.2’W | 64°42.6’N 028°06.4’W | 65°10.3’N 025°12.3’W | 1.039 | 26 | 248 | 294 | 02m18.2s |
| 17:48 | 64°34.3’N 021°46.1’W | 63°43.6’N 027°34.6’W | 64°10.1’N 024°45.4’W | 1.039 | 26 | 250 | 296 | 02m18.1s |
| 17:50 | 63°33.4’N 021°22.9’W | 62°45.0’N 027°02.0’W | 63°10.3’N 024°17.2’W | 1.039 | 26 | 251 | 298 | 02m17.9s |
| 17:52 | 62°32.9’N 020°57.7’W | 61°46.8’N 026°28.6’W | 62°11.0’N 023°47.6’W | 1.039 | 26 | 253 | 300 | 02m17.6s |
| 17:54 | 61°32.8’N 020°30.5’W | 60°49.0’N 025°54.3’W | 61°12.0’N 023°16.6’W | 1.038 | 25 | 254 | 302 | 02m17.1s |
| 17:56 | 60°32.9’N 020°01.3’W | 59°51.4’N 025°19.0’W | 60°13.3’N 022°44.2’W | 1.038 | 25 | 255 | 304 | 02m16.6s |
| 17:58 | 59°33.2’N 019°30.0’W | 58°54.0’N 024°42.4’W | 59°14.7’N 022°10.2’W | 1.038 | 25 | 257 | 305 | 02m16.0s |
| 18:00 | 58°33.6’N 018°56.6’W | 57°56.7’N 024°04.6’W | 58°16.3’N 021°34.4’W | 1.038 | 24 | 258 | 307 | 02m15.3s |
| 18:02 | 57°33.9’N 018°20.9’W | 56°59.4’N 023°25.3’W | 57°17.8’N 020°56.8’W | 1.038 | 24 | 260 | 309 | 02m14.5s |
| 18:04 | 56°34.1’N 017°42.7’W | 56°02.2’N 022°44.3’W | 56°19.3’N 020°17.2’W | 1.038 | 24 | 261 | 311 | 02m13.5s |
| 18:06 | 55°34.1’N 017°01.7’W | 55°04.7’N 022°01.5’W | 55°20.6’N 019°35.3’W | 1.038 | 23 | 263 | 313 | 02m12.5s |
| 18:08 | 54°33.7’N 016°17.7’W | 54°07.1’N 021°16.5’W | 54°21.7’N 018°50.8’W | 1.038 | 22 | 264 | 315 | 02m11.3s |
| 18:10 | 53°32.8’N 015°30.2’W | 53°09.1’N 020°29.1’W | 53°22.3’N 018°03.4’W | 1.037 | 22 | 266 | 316 | 02m10.0s |
| 18:12 | 52°31.2’N 014°38.8’W | 52°10.6’N 019°38.8’W | 52°22.3’N 017°12.7’W | 1.037 | 21 | 267 | 318 | 02m08.6s |
| 18:14 | 51°28.7’N 013°42.7’W | 51°11.6’N 018°45.3’W | 51°21.6’N 016°18.2’W | 1.037 | 20 | 269 | 319 | 02m07.0s |
| 18:16 | 50°25.0’N 012°41.1’W | 50°11.7’N 017°47.9’W | 50°20.0’N 015°19.0’W | 1.037 | 19 | 270 | 319 | 02m05.2s |
| 18:18 | 49°19.8’N 011°32.8’W | 49°10.9’N 016°45.9’W | 49°17.1’N 014°14.3’W | 1.036 | 18 | 272 | 319 | 02m03.3s |
| 18:20 | 48°12.5’N 010°16.0’W | 48°08.8’N 015°38.3’W | 48°12.7’N 013°02.9’W | 1.036 | 17 | 273 | 319 | 02m01.2s |
| 18:22 | 47°02.3’N 008°48.1’W | 47°05.0’N 014°23.8’W | 47°06.1’N 011°42.9’W | 1.035 | 16 | 275 | 318 | 01m58.8s |
| 18:24 | 45°48.1’N 007°04.6’W | 45°59.0’N 013°00.5’W | 45°56.6’N 010°11.4’W | 1.035 | 14 | 277 | 315 | 01m56.1s |
| 18:26 | 44°27.4’N 004°56.9’W | 44°49.9’N 011°25.2’W | 44°42.8’N 008°23.9’W | 1.034 | 13 | 278 | 311 | 01m53.0s |
| 18:28 | 42°54.5’N 002°05.1’W | 43°36.4’N 009°33.1’W | 43°22.3’N 006°11.3’W | 1.034 | 10 | 281 | 304 | 01m49.3s |
| 18:30 | 40°39.9’N 003°17.7’E | 42°15.8’N 007°14.2’W | 41°49.0’N 003°11.1’W | 1.033 | 8 | 283 | 294 | 01m44.6s |
| 18:32 | – | 40°41.0’N 004°02.4’W | 39°24.5’N 002°57.0’E | 1.031 | 2 | 288 | 270 | 01m35.8s |
| Limits | 39°42.5’N 006°20.4’E | 37°41.4’N 004°32.4’E | 38°40.8’N 005°24.9’E | 1.031 | 0 | – | 262 | 01m32.8s |
Tenete conto che all’orario va inserito il fuso per calcolare esatta ora in Spagna.
Ora si puo’ costruire un JSON della linea centrale per poi visualizzare la linea in una mappa.
{
"id": "2026-08-12-total",
"type": "total",
"date": "2026-08-12",
"central_line": [
{ "time_utc": "17:02", "lat": "82°16.5'N", "lon": "112°29.2'E", "duration": "01m45.8s" },
{ "time_utc": "17:04", "lat": "85°17.7'N", "lon": "104°12.9'E", "duration": "01m50.8s" },
{ "time_utc": "17:06", "lat": "87°16.7'N", "lon": "081°31.5'E", "duration": "01m54.6s" },
{ "time_utc": "17:08", "lat": "87°49.4'N", "lon": "033°00.0'E", "duration": "01m57.7s" },
{ "time_utc": "17:10", "lat": "86°50.1'N", "lon": "001°38.3'W", "duration": "02m00.4s" },
{ "time_utc": "17:12", "lat": "85°24.2'N", "lon": "015°10.9'W", "duration": "02m02.8s" },
{ "time_utc": "17:14", "lat": "83°55.9'N", "lon": "021°11.2'W", "duration": "02m04.9s" },
{ "time_utc": "17:16", "lat": "82°29.7'N", "lon": "024°16.3'W", "duration": "02m06.8s" },
{ "time_utc": "17:18", "lat": "81°06.6'N", "lon": "025°59.5'W", "duration": "02m08.5s" },
{ "time_utc": "17:20", "lat": "79°46.4'N", "lon": "026°58.9'W", "duration": "02m10.0s" },
{ "time_utc": "17:22", "lat": "78°29.0'N", "lon": "027°32.4'W", "duration": "02m11.4s" },
{ "time_utc": "17:24", "lat": "77°14.0'N", "lon": "027°49.5'W", "duration": "02m12.6s" },
{ "time_utc": "17:26", "lat": "76°01.1'N", "lon": "027°55.7'W", "duration": "02m13.7s" },
{ "time_utc": "17:28", "lat": "74°50.2'N", "lon": "027°54.3'W", "duration": "02m14.6s" },
{ "time_utc": "17:30", "lat": "73°41.0'N", "lon": "027°47.3'W", "duration": "02m15.4s" },
{ "time_utc": "17:32", "lat": "72°33.4'N", "lon": "027°36.2'W", "duration": "02m16.2s" },
{ "time_utc": "17:34", "lat": "71°27.0'N", "lon": "027°21.7'W", "duration": "02m16.8s" },
{ "time_utc": "17:36", "lat": "70°21.9'N", "lon": "027°04.7'W", "duration": "02m17.3s" },
{ "time_utc": "17:38", "lat": "69°17.9'N", "lon": "026°45.6'W", "duration": "02m17.7s" },
{ "time_utc": "17:40", "lat": "68°14.8'N", "lon": "026°24.6'W", "duration": "02m17.9s" },
{ "time_utc": "17:42", "lat": "67°12.6'N", "lon": "026°01.9'W", "duration": "02m18.1s" },
{ "time_utc": "17:44", "lat": "66°11.1'N", "lon": "025°37.8'W", "duration": "02m18.2s" },
{ "time_utc": "17:46", "lat": "65°10.3'N", "lon": "025°12.3'W", "duration": "02m18.2s" },
{ "time_utc": "17:48", "lat": "64°10.1'N", "lon": "024°45.4'W", "duration": "02m18.1s" },
{ "time_utc": "17:50", "lat": "63°10.3'N", "lon": "024°17.2'W", "duration": "02m17.9s" },
{ "time_utc": "17:52", "lat": "62°11.0'N", "lon": "023°47.6'W", "duration": "02m17.6s" },
{ "time_utc": "17:54", "lat": "61°12.0'N", "lon": "023°16.6'W", "duration": "02m17.1s" },
{ "time_utc": "17:56", "lat": "60°13.3'N", "lon": "022°44.2'W", "duration": "02m16.6s" },
{ "time_utc": "17:58", "lat": "59°14.7'N", "lon": "022°10.2'W", "duration": "02m16.0s" },
{ "time_utc": "18:00", "lat": "58°16.3'N", "lon": "021°34.4'W", "duration": "02m15.3s" },
{ "time_utc": "18:02", "lat": "57°17.8'N", "lon": "020°56.8'W", "duration": "02m14.5s" },
{ "time_utc": "18:04", "lat": "56°19.3'N", "lon": "020°17.2'W", "duration": "02m13.5s" },
{ "time_utc": "18:06", "lat": "55°20.6'N", "lon": "019°35.3'W", "duration": "02m12.5s" },
{ "time_utc": "18:08", "lat": "54°21.7'N", "lon": "018°50.8'W", "duration": "02m11.3s" },
{ "time_utc": "18:10", "lat": "53°22.3'N", "lon": "018°03.4'W", "duration": "02m10.0s" },
{ "time_utc": "18:12", "lat": "52°22.3'N", "lon": "017°12.7'W", "duration": "02m08.6s" },
{ "time_utc": "18:14", "lat": "51°21.6'N", "lon": "016°18.2'W", "duration": "02m07.0s" },
{ "time_utc": "18:16", "lat": "50°20.0'N", "lon": "015°19.0'W", "duration": "02m05.2s" },
{ "time_utc": "18:18", "lat": "49°17.1'N", "lon": "014°14.3'W", "duration": "02m03.3s" },
{ "time_utc": "18:20", "lat": "48°12.7'N", "lon": "013°02.9'W", "duration": "02m01.2s" },
{ "time_utc": "18:22", "lat": "47°06.1'N", "lon": "011°42.9'W", "duration": "01m58.8s" },
{ "time_utc": "18:24", "lat": "45°56.6'N", "lon": "010°11.4'W", "duration": "01m56.1s" },
{ "time_utc": "18:26", "lat": "44°42.8'N", "lon": "008°23.9'W", "duration": "01m53.0s" },
{ "time_utc": "18:28", "lat": "43°22.3'N", "lon": "006°11.3'W", "duration": "01m49.3s" },
{ "time_utc": "18:30", "lat": "41°49.0'N", "lon": "003°11.1'W", "duration": "01m44.6s" },
{ "time_utc": "18:32", "lat": "39°24.5'N", "lon": "002°57.0'E", "duration": "01m35.8s" }
]
}
Orario In Spagna
Per la Spagna l’orario cambia con il fuso di +2 ore:
Evento Ora UTC Ora Spagna (UTC+2) Nota Inizio totalità sulla Terra 17:02 19:02 L’ombra inizia a toccare la Terra, regioni artiche Totalità in zona Atlantico/Europa ~17:40–18:20 ~19:40–20:20 Tratto in cui la linea centrale scende verso Islanda/Atlantico e poi verso ovest Europa Fine totalità sulla Terra 18:32 20:32 L’ombra lascia la Terra, zona Mediterraneo/Est Europa
Un File HTML Dell’Evento Eclissi Totale
Qui di seguito generato da intelligenza artificiale il file HTML per visualizzare la traiettoria su di una mappa (salvalo come mappa.html):
<!DOCTYPE html>
<html lang="it">
<head>
<meta charset="UTF-8">
<title>Eclissi 12 agosto 2026 – Linea centrale</title>
<link rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>
<style>
body {
margin: 0;
padding: 0;
font-family: system-ui, sans-serif;
background: #020617;
color: #e5e7eb;
}
#title {
padding: 10px 15px;
font-size: 16px;
background: #020617;
border-bottom: 1px solid #1f2937;
}
#map {
width: 100vw;
height: calc(100vh - 42px);
}
</style>
</head>
<body>
<div id="title">
Eclissi totale 12 agosto 2026 – Linea centrale (punti + linea)
</div>
<div id="map"></div>
<script>
// -----------------------------
// JSON della linea centrale
// -----------------------------
const eclipseData = {
"id": "2026-08-12-total",
"type": "total",
"date": "2026-08-12",
"central_line": [
{ "time_utc": "17:02", "lat": "82°16.5'N", "lon": "112°29.2'E", "duration": "01m45.8s" },
{ "time_utc": "17:04", "lat": "85°17.7'N", "lon": "104°12.9'E", "duration": "01m50.8s" },
{ "time_utc": "17:06", "lat": "87°16.7'N", "lon": "081°31.5'E", "duration": "01m54.6s" },
{ "time_utc": "17:08", "lat": "87°49.4'N", "lon": "033°00.0'E", "duration": "01m57.7s" },
{ "time_utc": "17:10", "lat": "86°50.1'N", "lon": "001°38.3'W", "duration": "02m00.4s" },
{ "time_utc": "17:12", "lat": "85°24.2'N", "lon": "015°10.9'W", "duration": "02m02.8s" },
{ "time_utc": "17:14", "lat": "83°55.9'N", "lon": "021°11.2'W", "duration": "02m04.9s" },
{ "time_utc": "17:16", "lat": "82°29.7'N", "lon": "024°16.3'W", "duration": "02m06.8s" },
{ "time_utc": "17:18", "lat": "81°06.6'N", "lon": "025°59.5'W", "duration": "02m08.5s" },
{ "time_utc": "17:20", "lat": "79°46.4'N", "lon": "026°58.9'W", "duration": "02m10.0s" },
{ "time_utc": "17:22", "lat": "78°29.0'N", "lon": "027°32.4'W", "duration": "02m11.4s" },
{ "time_utc": "17:24", "lat": "77°14.0'N", "lon": "027°49.5'W", "duration": "02m12.6s" },
{ "time_utc": "17:26", "lat": "76°01.1'N", "lon": "027°55.7'W", "duration": "02m13.7s" },
{ "time_utc": "17:28", "lat": "74°50.2'N", "lon": "027°54.3'W", "duration": "02m14.6s" },
{ "time_utc": "17:30", "lat": "73°41.0'N", "lon": "027°47.3'W", "duration": "02m15.4s" },
{ "time_utc": "17:32", "lat": "72°33.4'N", "lon": "027°36.2'W", "duration": "02m16.2s" },
{ "time_utc": "17:34", "lat": "71°27.0'N", "lon": "027°21.7'W", "duration": "02m16.8s" },
{ "time_utc": "17:36", "lat": "70°21.9'N", "lon": "027°04.7'W", "duration": "02m17.3s" },
{ "time_utc": "17:38", "lat": "69°17.9'N", "lon": "026°45.6'W", "duration": "02m17.7s" },
{ "time_utc": "17:40", "lat": "68°14.8'N", "lon": "026°24.6'W", "duration": "02m17.9s" },
{ "time_utc": "17:42", "lat": "67°12.6'N", "lon": "026°01.9'W", "duration": "02m18.1s" },
{ "time_utc": "17:44", "lat": "66°11.1'N", "lon": "025°37.8'W", "duration": "02m18.2s" },
{ "time_utc": "17:46", "lat": "65°10.3'N", "lon": "025°12.3'W", "duration": "02m18.2s" },
{ "time_utc": "17:48", "lat": "64°10.1'N", "lon": "024°45.4'W", "duration": "02m18.1s" },
{ "time_utc": "17:50", "lat": "63°10.3'N", "lon": "024°17.2'W", "duration": "02m17.9s" },
{ "time_utc": "17:52", "lat": "62°11.0'N", "lon": "023°47.6'W", "duration": "02m17.6s" },
{ "time_utc": "17:54", "lat": "61°12.0'N", "lon": "023°16.6'W", "duration": "02m17.1s" },
{ "time_utc": "17:56", "lat": "60°13.3'N", "lon": "022°44.2'W", "duration": "02m16.6s" },
{ "time_utc": "17:58", "lat": "59°14.7'N", "lon": "022°10.2'W", "duration": "02m16.0s" },
{ "time_utc": "18:00", "lat": "58°16.3'N", "lon": "021°34.4'W", "duration": "02m15.3s" },
{ "time_utc": "18:02", "lat": "57°17.8'N", "lon": "020°56.8'W", "duration": "02m14.5s" },
{ "time_utc": "18:04", "lat": "56°19.3'N", "lon": "020°17.2'W", "duration": "02m13.5s" },
{ "time_utc": "18:06", "lat": "55°20.6'N", "lon": "019°35.3'W", "duration": "02m12.5s" },
{ "time_utc": "18:08", "lat": "54°21.7'N", "lon": "018°50.8'W", "duration": "02m11.3s" },
{ "time_utc": "18:10", "lat": "53°22.3'N", "lon": "018°03.4'W", "duration": "02m10.0s" },
{ "time_utc": "18:12", "lat": "52°22.3'N", "lon": "017°12.7'W", "duration": "02m08.6s" },
{ "time_utc": "18:14", "lat": "51°21.6'N", "lon": "016°18.2'W", "duration": "02m07.0s" },
{ "time_utc": "18:16", "lat": "50°20.0'N", "lon": "015°19.0'W", "duration": "02m05.2s" },
{ "time_utc": "18:18", "lat": "49°17.1'N", "lon": "014°14.3'W", "duration": "02m03.3s" },
{ "time_utc": "18:20", "lat": "48°12.7'N", "lon": "013°02.9'W", "duration": "02m01.2s" },
{ "time_utc": "18:22", "lat": "47°06.1'N", "lon": "011°42.9'W", "duration": "01m58.8s" },
{ "time_utc": "18:24", "lat": "45°56.6'N", "lon": "010°11.4'W", "duration": "01m56.1s" },
{ "time_utc": "18:26", "lat": "44°42.8'N", "lon": "008°23.9'W", "duration": "01m53.0s" },
{ "time_utc": "18:28", "lat": "43°22.3'N", "lon": "006°11.3'W", "duration": "01m49.3s" },
{ "time_utc": "18:30", "lat": "41°49.0'N", "lon": "003°11.1'W", "duration": "01m44.6s" },
{ "time_utc": "18:32", "lat": "39°24.5'N", "lon": "002°57.0'E", "duration": "01m35.8s" }
]
};
// -----------------------------
// Parser "XX°YY.Y'N/E/W" -> decimali
// -----------------------------
function dmsToDecimal(str) {
// Esempio: "82°16.5'N"
const regex = /(\d+)[°](\d+(?:\.\d+)?)'([NSEW])/;
const m = str.match(regex);
if (!m) return null;
const deg = parseFloat(m[1]);
const min = parseFloat(m[2]);
const hemi = m[3];
let dec = deg + min / 60;
if (hemi === 'S' || hemi === 'W') dec = -dec;
return dec;
}
// -----------------------------
// Inizializza mappa Leaflet
// -----------------------------
const map = L.map('map').setView([60, 0], 3);
L.tileLayer('https://tile.openstreetmap.org/{z}/{x}/{y}.png', {
maxZoom: 20,
attribution: '© OpenStreetMap'
}).addTo(map);
// -----------------------------
// Disegna puntini + linea
// -----------------------------
const centralPoints = [];
eclipseData.central_line.forEach(p => {
const lat = dmsToDecimal(p.lat);
const lon = dmsToDecimal(p.lon);
if (lat === null || lon === null) return;
centralPoints.push([lat, lon]);
L.circleMarker([lat, lon], {
radius: 3,
color: 'black',
fillColor: 'black',
fillOpacity: 1
})
.addTo(map)
.bindPopup(`UTC ${p.time_utc}<br>Durata: ${p.duration}`);
});
// Polilinea che unisce tutti i punti
L.polyline(centralPoints, {
color: 'black',
weight: 2
}).addTo(map);
// Adatta la vista alla linea
if (centralPoints.length > 0) {
map.fitBounds(centralPoints);
}
</script>
</body>
</html>

Spero davvero che questa Eclisse Totale possa rendere l’umanità un po’ meno cieca gli uni con gli altri.










Lascia un commento