Distanza con la legge sferica del coseno
Il calcolatore della legge sferica del coseno determina il percorso più breve su una Terra sferica tra due punti definiti da latitudine e longitudine.
Esegui gratis nel browser
Inserisca entrambe le coppie in gradi decimali per ottenere l’angolo al centro e la distanza in chilometri, miglia e metri. È un’alternativa compatta alla formula di haversine, adatta a calcoli, fogli elettronici, lezioni e implementazioni. I risultati adottano un raggio terrestre medio fisso, quindi ogni richiesta è deterministica e facilmente riproducibile.
Inserisca e interpreti le coppie di coordinate
Indichi latitudine e longitudine del punto iniziale come lat1 e lng1, quindi quelle della destinazione come lat2 e lng2. Usi gradi decimali: la latitudine va da -90 a 90 e la longitudine da -180 a 180. I valori negativi identificano l’emisfero australe o posizioni a ovest di Greenwich. La risposta comprende l’angolo al centro e la distanza in chilometri, miglia e metri. Misura l’arco minore sulla sfera, non una linea attraverso la Terra. Invertire i punti non cambia la distanza. Controlli attentamente l’ordine, perché scambiare latitudine e longitudine può indicare un luogo diverso pur usando numeri validi. Conservi cifre decimali sufficienti per la precisione geografica richiesta.
Come opera la legge sferica del coseno
Il metodo converte in radianti le latitudini e la differenza di longitudine. Calcola poi il coseno dell’angolo al centro sommando il prodotto dei seni delle latitudini al prodotto dei loro coseni per il coseno della differenza longitudinale. L’arcocoseno fornisce la separazione angolare al centro terrestre. Moltiplicandola per il raggio medio fisso di 6,371 chilometri si ottiene la distanza superficiale, convertita anche in metri e miglia terrestri. Vicino a punti coincidenti o antipodali, gli errori in virgola mobile possono superare di poco l’intervallo da -1 a 1; il valore viene quindi limitato prima dell’arcocoseno per evitare NaN. L’arrotondamento stabile rende ripetibili i confronti. Il modello considera la Terra sferica, non ellissoidale.
Scelga il metodo per la precisione necessaria
Usi questa formula per didattica, confronti geografici rapidi, riepiloghi cartografici, stime logistiche e verifiche di dati quando basta un’approssimazione sferica. L’identità trigonometrica compatta è semplice da controllare. Per separazioni piccolissime, l’arcocoseno può perdere precisione perché il coseno è molto vicino a uno; in tali casi haversine è in genere preferibile. Per rilievi, confini legali o navigazione di alta precisione, scelga un metodo ellissoidale come Vincenty o una moderna libreria geodetica. Il risultato ignora inoltre terreno, strade, edifici, aree vietate e procedure di volo: misura una separazione ideale, non un itinerario. Nel confronto con altri strumenti, verifichi il raggio adottato, poiché raggi sferici differenti producono lievi scarti legittimi.
Casi d'uso
Verificare dati geografici
Calcoli una separazione sferica riproducibile per validare posizioni o individuare corrispondenze insolitamente lontane.
Insegnare la geometria ortodromica
Mostri il rapporto tra latitudine, differenza longitudinale, angolo al centro e lunghezza dell’arco con un’identità compatta.
Stimare la distanza tra punti
Ottenga rapidamente una distanza approssimativa per mappe, pannelli, filtri logistici o confronti senza geometria del percorso.
Domande frequenti
Quanto costa il calcolo?
Il prezzo dell’API è $0.002 per richiesta. Il calcolatore nel browser è gratuito in questa pagina.
Quale raggio terrestre viene utilizzato?
Viene adottato un raggio terrestre medio fisso di 6,371 chilometri per risultati sferici deterministici.
È uguale alla formula di haversine?
No. Entrambe stimano la distanza ortodromica su una sfera, ma usano forme trigonometriche diverse. Haversine si comporta meglio su separazioni minime.
Il risultato segue strade o rotte aeree?
No. Rappresenta l’arco ideale più breve sulla sfera e non considera vincoli, terreno o deviazioni operative.
Perché un altro calcolatore può dare un valore diverso?
Potrebbe usare un altro raggio, un modello ellissoidale, un arrotondamento differente o un percorso reale anziché l’arco ortodromico.
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/geo/law-of-cosines-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat1":40.7128,"lng1":-74.006,"lat2":51.5074,"lng2":-0.1278}'const res = await fetch("https://api.kit.forhosting.com/geo/law-of-cosines-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat1": 40.7128,
"lng1": -74.006,
"lat2": 51.5074,
"lng2": -0.1278
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/law-of-cosines-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat1": 40.7128,
"lng1": -74.006,
"lat2": 51.5074,
"lng2": -0.1278
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/law-of-cosines-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat1":40.7128,"lng1":-74.006,"lat2":51.5074,"lng2":-0.1278}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat1":40.7128,"lng1":-74.006,"lat2":51.5074,"lng2":-0.1278}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/law-of-cosines-distance", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"lat1": 40.7128,
"lng1": -74.006,
"lat2": 51.5074,
"lng2": -0.1278
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.law_of_cosines_distance",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |