Allineare latitudine e longitudine a una griglia
Trasformi una coordinata geografica continua in un indirizzo di griglia stabile mediante un calcolo deterministico.
Esegui gratis nel browser
Indichi latitudine, longitudine e distanza fra i nodi in gradi decimali; se necessario, sposti la griglia scegliendo un’origine personalizzata. Il risultato comprende la coordinata allineata, gli indici interi della griglia e gli scostamenti con segno dal punto originale. In questo modo Lei può raggruppare, confrontare e memorizzare nella cache le coordinate, oppure usarle come celle spaziali compatte, senza dipendere da un servizio remoto di geocodifica o da un sistema informativo geografico complesso.
Scelga una griglia adatta al Suo indice
Una griglia geografica regolare suddivide latitudine e longitudine in intervalli ripetibili. Per iniziare, fornisca una coordinata e una spaziatura positiva in gradi decimali. Una spaziatura minore crea più nodi e conserva maggiori dettagli sulla posizione; una maggiore raggruppa un’area più ampia sotto la stessa coordinata allineata. La spaziatura viene applicata separatamente ai due assi, quindi il risultato è una griglia rettangolare in unità angolari. Questo approccio è utile per indicizzazione spaziale quantizzata, aggregazione, chiavi di cache, deduplicazione approssimativa e riduzione della precisione a tutela della riservatezza. Ricordi che i gradi sono unità angolari: la distanza al suolo rappresentata da un grado di longitudine diminuisce avvicinandosi ai poli. Se Le servono celle di dimensione quasi costante in metri su una regione vasta, proietti prima i dati in un sistema di coordinate piano adatto. Per insiemi locali o volutamente basati sui gradi, l’allineamento diretto è spesso la scelta più semplice e trasparente. Il calcolo non deduce la spaziatura e non cambia silenziosamente le unità, perciò ogni risultato rimane riproducibile dagli input dichiarati.
Controlli l’allineamento tramite l’origine
Per impostazione predefinita, la griglia è ancorata a zero gradi di latitudine e zero gradi di longitudine. Ogni nodo equivale all’origine più un multiplo intero della spaziatura scelta su ciascun asse. Lei può specificare origin_lat e origin_lon quando una tassellazione esistente usa un allineamento diverso. Ciò è importante perché due griglie con la stessa spaziatura ma origini differenti producono celle diverse. Gli indici restituiti indicano il numero con segno di passi dall’origine e costituiscono una pratica chiave composta quando viene conservata anche la definizione della griglia. Latitudine e longitudine sono allineate in modo indipendente. Se un punto si trova esattamente a metà, il pareggio viene risolto allontanandosi dall’indice zero, con un esito stabile per coordinate positive e negative. Ai limiti geografici, il calcolo sceglie il nodo più vicino appartenente alla griglia dichiarata che resti negli intervalli validi. Non restituisce mai una latitudine oltre 90 gradi o una longitudine oltre 180 gradi solo perché un nodo aritmetico non vincolato sarebbe più vicino.
Interpreti coordinate e scostamenti
La risposta restituisce come risultato principale la latitudine e la longitudine allineate, insieme a lat_index e lon_index. Riporta inoltre le variazioni con segno in gradi. Uno scostamento positivo della latitudine indica che il nodo si trova a nord del punto fornito; uno scostamento negativo della longitudine indica che si trova a ovest. Questi dati Le consentono di verificare la quantizzazione introdotta o di rifiutare record il cui spostamento superi una soglia stabilita dalla Sua applicazione. I risultati sono arrotondati a dodici cifre decimali per eliminare il rumore binario irrilevante senza perdere dettagli inferiori alla spaziatura minima accettata. L’operazione è deterministica, non usa la rete e non conserva stato; lo stesso input JSON produce quindi la stessa uscita nel browser e tramite API. Una richiesta elabora una coordinata e costa $0.002 tramite API. Nei flussi in batch, richiami la capacità per ogni elemento e conservi spaziatura e origine insieme agli indici, così chi consulterà i dati potrà ricostruire la definizione esatta della griglia senza dedurla dai valori allineati.
Casi d'uso
Creare chiavi di cache spaziali
Converta osservazioni vicine nella stessa coppia di indici interi prima di leggere o scrivere una cache.
Aggregare eventi di posizione
Raggruppi record puntuali in celle regolari basate sui gradi per conteggi, riepiloghi o preparazione di mappe.
Ridurre la precisione delle coordinate
Sostituisca coordinate dettagliate con nodi dichiarati quando l’applicazione richiede solo posizioni approssimative.
Domande frequenti
Quanto costa una richiesta?
Ogni richiesta API costa $0.002. La versione nel browser esegue localmente lo stesso calcolo deterministico.
La spaziatura è misurata in metri?
No. È espressa in gradi decimali e applicata separatamente a latitudine e longitudine.
Come vengono gestiti i pareggi esatti?
Una coordinata esattamente a metà tra due indici viene allineata allontanandosi dall’indice zero, su entrambi i lati dell’origine.
Posso allineare una griglia esistente?
Sì. Imposti origin_lat e origin_lon sull’ancora di quella griglia e mantenga la stessa spaziatura.
Il risultato può superare i limiti geografici?
No. Il nodo scelto resta sulla griglia dichiarata e negli intervalli validi di latitudine e longitudine.
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/snap-to-grid \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat":37.7749,"lon":-122.4194,"spacing_deg":0.01}'const res = await fetch("https://api.kit.forhosting.com/geo/snap-to-grid", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat": 37.7749,
"lon": -122.4194,
"spacing_deg": 0.01
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/snap-to-grid",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat": 37.7749,
"lon": -122.4194,
"spacing_deg": 0.01
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/snap-to-grid", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat":37.7749,"lon":-122.4194,"spacing_deg":0.01}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat":37.7749,"lon":-122.4194,"spacing_deg":0.01}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/snap-to-grid", 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
{
"lat": 37.7749,
"lon": -122.4194,
"spacing_deg": 0.01
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.snap_to_grid",
"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. |