Distanza equirettangolare pitagorica
Ottenga subito la distanza tra due punti vicini trattando la mappa come un piano locale: due coordinate di Manhattan distano poco più di 5 km. Vede anche i tratti nord-sud ed est-ovest in metri. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Lat.1
- 40,7128
- Lon.1
- -74,006
- Lat.2
- 40,758
- Lon.2
- -73,9855
- Distanza m
- 5314,523521
- Distanza km
- 5,314523521
- Δ latitudine (m)
- 5026,010684
- Δ longitudine (m)
- 1727,245453
Questa capacità stima quanto distano tra loro due punti sulla Terra trattando la mappa come un piano piatto locale. Converte la differenza di latitudine e longitudine in metri usando una scala basata sul coseno della latitudine media, poi applica il teorema di Pitagora a questi scarti est-ovest e nord-sud. Il risultato è una distanza a terra approssimata in metri e chilometri, più i delta proiettati per poter verificare i passaggi intermedi. L'algoritmo è del tutto deterministico: nessuna chiamata di rete, nessun campionamento casuale e nessun orologio. La usi quando le serve una distanza rapida ed economica per punti vicini, il ranking in batch o l'insegnamento della proiezione equirettangolare senza il costo di una formula ortodromica completa.
Come funziona la formula equirettangolare pitagorica
Su una sfera, i veri percorsi più brevi sono cerchi massimi, ma per molte attività di prodotto e analisi basta un'approssimazione piatta locale. Questo strumento usa la classica proiezione equirettangolare: converte latitudini e longitudini in radianti, prende la differenza di latitudine come arco nord-sud su una sfera di raggio medio fisso, e scala la differenza di longitudine per il coseno della latitudine media, così che i metri est-ovest si restringano vicino ai poli. Questi due scarti in metri diventano i cateti di un triangolo rettangolo.
L'ipotenusa è la distanza a terra riportata. Usiamo un raggio terrestre medio di sei milioni trecentosettantunmila metri, la stessa costante che molti manuali didattici e GIS impiegano per questo metodo.
Coordinate accettate e valori rifiutati
Invii gradi decimali sul globo WGS84. Latitudini o longitudini fuori intervallo falliscono allo stesso modo con un messaggio che nomina il campo incriminato. Preferisca numeri decimali stabili anziché testo in gradi-primi-secondi o riferimenti di griglia; converta quei formati prima di chiamare.
L'esempio dei parametri usa una breve coppia a Manhattan perché la sonda e la documentazione restino realistiche. Per punti identici la distanza è zero. Attraversare l'antimeridiano con differenze grezze di longitudine può gonfiare il risultato; per percorsi che scavalcano la linea del cambiamento di data, normalizzi prima le longitudini oppure usi un metodo ortodromico.
Quando usare questa approssimazione anziché una formula sferica
Scelga la distanza equirettangolare pitagorica quando i punti sono relativamente vicini, quando le serve la massima velocità più che la massima accuratezza, o quando insegna o esegue il debug di proiezioni cartografiche e vuole i delta intermedi in metri. Controlli di raggio di consegna dentro una città, clustering di sensori vicini, euristiche approssimative di tempo di viaggio e tooltip dell'interfaccia si adattano bene.
Per rotte intercontinentali, percorsi polari o navigazione dove conta un errore di pochi punti percentuali, preferisca una distanza ortodromica in stile haversine o Vincenty: quei metodi tengono conto della curvatura terrestre con più cura. L'errore cresce con la separazione e agli estremi di latitudine, perché la proiezione piatta ignora la convergenza dei meridiani oltre il fattore di scala della latitudine media. Documenti sempre il metodo quando memorizza i risultati, così che gli audit successivi sappiano che ha usato un'approssimazione.
Gli input non validi non consumano mai saldo, così può validare le coordinate con rigore prima dei processi batch.
Casi d'uso
Ranking di prossimità su scala urbana
Ordini negozi, sensori o punti di ritiro per metri a terra approssimati da un utente senza caricare una pesante libreria geospaziale.
Insegnare le proiezioni cartografiche
Mostri agli studenti come i delta di lat/lon diventano metri est-ovest e nord-sud, poi un'ipotenusa pitagorica, con numeri dal vivo.
Domande frequenti
Quanto è accurato il metodo equirettangolare pitagorico?
È un'approssimazione piatta locale. L'accuratezza è buona per distanze brevi e medie e peggiora al crescere della separazione o vicino ai poli. Per lunghe rotte ortodromiche usi invece una formula sferica.
Quanto costa?
Lo strumento sulla pagina è gratuito nel browser. Gli input non validi non vengono addebitati.
Come si calcola la distanza tra due coordinate vicine?
Inserisca latitudine e longitudine dei due punti in gradi decimali. Ottiene la distanza in metri e chilometri, insieme agli scarti nord-sud ed est-ovest che formano i due cateti del triangolo rettangolo.
Perché i metri est-ovest si riducono vicino ai poli?
Perché i meridiani convergono man mano che ci si allontana dall'equatore. La differenza di longitudine viene moltiplicata per il coseno della latitudine media, quindi lo stesso scarto in gradi vale meno metri alle alte latitudini.
Cosa succede se i due punti stanno ai lati opposti del meridiano 180°?
La differenza grezza di longitudine copre quasi tutto il globo e la distanza risulta molto gonfiata. Normalizzi prima le longitudini oppure usi un metodo a cerchio massimo per i percorsi che attraversano la linea del cambiamento di data.
Strumenti correlati
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/pythagorean-geo-distance \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat1":40.7128,"lon1":-74.006,"lat2":40.758,"lon2":-73.9855}'const res = await fetch("https://api.kit.forhosting.com/geo/pythagorean-geo-distance", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat1": 40.7128,
"lon1": -74.006,
"lat2": 40.758,
"lon2": -73.9855
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/pythagorean-geo-distance",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat1": 40.7128,
"lon1": -74.006,
"lat2": 40.758,
"lon2": -73.9855
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/pythagorean-geo-distance", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat1":40.7128,"lon1":-74.006,"lat2":40.758,"lon2":-73.9855}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat1":40.7128,"lon1":-74.006,"lat2":40.758,"lon2":-73.9855}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/pythagorean-geo-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,
"lon1": -74.006,
"lat2": 40.758,
"lon2": -73.9855
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.pythagorean_geo_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. |
Note tecniche
Come funziona la formula equirettangolare pitagorica
La risposta ripete le quattro coordinate inviate, la distanza in metri e chilometri, le componenti con segno delta_lat_m e delta_lon_m, il nome del metodo e la costante del raggio, così che il codice a valle possa registrare la provenienza senza dedurre a ritroso la formula.
Intervalli di input, alias e quando la chiamata fallisce
I campi di latitudine lat1 e lat2 devono stare tra meno novanta e novanta inclusi. I campi di longitudine lon1 e lon2 devono stare tra meno centottanta e centottanta inclusi. Sono accettati alias comuni: latitude1, from_lat, longitude1, from_lon, from_lng, latitude2, to_lat, longitude2, to_lon e to_lng corrispondono agli stessi quattro numeri richiesti. I valori possono arrivare come numeri JSON o come stringhe numeriche; valori non finiti, stringhe vuote e campi richiesti mancanti falliscono con invalid_input e non vengono addebitati.
Quando usare questa approssimazione anziché una formula sferica
Esegua lo strumento gratuito nel browser per ispezionare una singola coppia, o chiami l'API quando l'automazione ha bisogno dello stesso risultato deterministico a $0.002 per richiesta riuscita.
Casi di integrazione
Feature di distanza in pipeline batch
Aggiunga una colonna distance_m economica e deterministica a CSV o flussi di eventi per analisi e feature ML su brevi distanze.
Domande tecniche
Che cosa restituisce questo calcolatore?
Restituisce i due punti, la distanza in metri e chilometri, i delta proiettati di latitudine e longitudine in metri, l'etichetta del metodo pythagorean_equirectangular e la costante del raggio terrestre usata.
Quando fallisce la chiamata?
Fallisce con invalid_input quando una coordinata richiesta manca o non è finita, o quando la latitudine è fuori da −90…90 o la longitudine è fuori da −180…180.
Il risultato nel browser è lo stesso dell'API?
Sì. Entrambi eseguono la stessa solve() pura in lib.js, quindi input identici producono distanze e delta identici.