Celle figlie geohash
Il geohash u4pruyd si divide in 32 figlie, da u4pruyd0 a u4pruydz, ognuna con un carattere in più e tutte insieme a coprire l'intera cella madre. Incolli un geohash per ottenere tutte le figlie nello stesso ordine fisso, pronte per indicizzazione o mappe. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Geohash
- u4pruyd
- Precisione
- 7
- Precisione del figlio
- 8
- Quantità
- 32
Lo strumento per le celle figlie geohash prende un geohash esistente e suddivide la sua area rettangolare nelle trentadue celle del livello di precisione successivo. Restituisce ogni figlia aggiungendo i caratteri dell’alfabeto base32 geohash canonico in ordine stabile, così il risultato è pronto per indicizzazione, cartografia, test o percorsi ricorsivi. L’input viene normalizzato in minuscolo; caratteri non validi e lunghezze non supportate producono un errore chiaro. Il calcolo è deterministico e non usa rete, valori casuali o informazioni temporali.
Come funziona la suddivisione geohash
Un geohash rappresenta una cella geografica rettangolare mediante una sequenza intrecciata di bit di longitudine e latitudine. Ogni carattere aggiunge cinque bit, quindi aggiungerne uno divide la cella genitore in trentadue rettangoli più piccoli. Questi rettangoli sono esattamente le figlie immediate: per assegnare loro un nome non servono decodifica delle coordinate, arrotondamenti o ricerche spaziali.
La capacità aggiunge al genitore normalizzato ogni carattere dell’alfabeto geohash canonico, <code>0123456789bcdefghjkmnpqrstuvwxyz</code>. Se il genitore è <code>u4pruyd</code>, le prime figlie sono <code>u4pruyd0</code>, <code>u4pruyd1</code> e così via, mentre l’ultima è <code>u4pruydz</code>. Ogni stringa mantiene il prefisso del genitore e contiene esattamente un carattere in più.
Nel loro insieme, le trentadue celle coprono l’intero genitore senza vuoti o sovrapposizioni a quella precisione. L’ordine segue il valore dei caratteri, non una scansione geografica. Usi questa operazione quando Le occorre l’intero livello successivo di una gerarchia geohash, non le celle adiacenti al genitore alla stessa precisione.
Impiego delle celle figlie nei sistemi spaziali
La generazione delle figlie è utile quando un’applicazione spaziale archivia o esplora posizioni come un albero di prefissi. Un servizio cartografico può partire da una cella ampia, richiederne le figlie e continuare a suddividere solo i rami con dati sufficienti. Un processo di manutenzione può trasformare un contenitore grossolano in chiavi più fini prima di ridistribuire i record.
I test possono usare l’output ordinato per verificare che un codificatore, un indice di prefissi o un percorso ricorsivo accetti ogni suffisso legale senza introdurre caratteri base32 vietati. Questa operazione assegna nomi alle celle: non calcola i limiti di latitudine e longitudine, non rileva quali figlie contengono dati e non restituisce gli otto vicini. Usi un decodificatore per coordinate o bounding box e uno strumento per i vicini quando servono celle adiacenti alla stessa precisione.
Per la suddivisione ricorsiva, invii nuovamente una figlia fino alla precisione desiderata, rispettando il limite. Ogni livello moltiplica le foglie per trentadue, quindi controlli la ricorsione nell’applicazione ed eviti alberi inutilmente grandi.
Casi d'uso
Creare un albero di prefissi geohash
Espanda i contenitori spaziali scelti un livello alla volta, mantenendo ogni chiave generata in ordine canonico riproducibile.
Raffinare le celle di aggregazione della mappa
Sostituisca una regione ampia con tutte le celle della precisione successiva prima di calcolare statistiche più dettagliate.
Domande frequenti
Quante celle figlie possiede un geohash?
Esattamente 32 figlie immediate, perché un carattere geohash aggiunto fornisce cinque bit e rappresenta 32 valori possibili.
Le figlie sono restituite in ordine geografico?
No. Seguono l’ordine canonico dei caratteri base32, stabile ma diverso da una scansione nord-sud oppure ovest-est.
La suddivisione cambia l’area coperta?
Le 32 figlie coprono insieme la stessa area del genitore. Ogni figlia copre una suddivisione alla precisione successiva.
Quali caratteri sono validi?
Sono validi 0–9 e bcdefghjkmnpqrstuvwxyz. Le lettere a, i, l e o non appartengono all’alfabeto geohash.
Come si scende di più di un livello?
Reinserisca una qualsiasi figlia e la suddivida di nuovo, ripetendo fino alla precisione che le serve, entro il limite di 12 caratteri. Ogni livello moltiplica le celle per 32, quindi espanda solo i rami utili.
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/geohash-children \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"geohash":"u4pruyd"}'const res = await fetch("https://api.kit.forhosting.com/geo/geohash-children", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"geohash": "u4pruyd"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/geohash-children",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"geohash": "u4pruyd"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/geohash-children", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"geohash":"u4pruyd"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"geohash":"u4pruyd"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/geohash-children", 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
{
"geohash": "u4pruyd"
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.geohash_children",
"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.
Limiti
max_precision | 12 |
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
Convalida dell’input e campi della risposta
Prima della convalida vengono rimossi gli spazi esterni e le maiuscole sono convertite in minuscolo. Un valore valido contiene da uno a dodici caratteri dell’alfabeto base32 geohash. Sono rifiutati anche valori mancanti, tipi diversi da stringa, stringhe vuote dopo il ritaglio e input oltre il limite. Non vengono restituiti campi opzionali nulli. Invii un oggetto JSON contenente la stringa obbligatoria <code>geohash</code>. Gli alias brevi <code>hash</code> e <code>gh</code> sono accettati per compatibilità, anche se le nuove integrazioni dovrebbero usare il nome canonico. Tale alfabeto omette intenzionalmente a, i, l e o per ridurre l’ambiguità visiva; ognuna di queste lettere produce <code>invalid_input</code>. Una risposta valida include <code>geohash</code>, il genitore normalizzato; <code>precision</code>, la sua lunghezza; <code>child_precision</code>, superiore di uno; <code>children</code>, l’array ordinato delle trentadue figlie; e <code>count</code>, sempre trentadue. Ogni richiesta API riuscita costa $0.002; lo strumento nel browser esegue gratuitamente in locale lo stesso calcolo puro.
Casi di integrazione
Verificare le librerie geohash
Generi tutti i suffissi legali per fixture che controllino percorsi dei prefissi, convalida e invarianti del conteggio.
Domande tecniche
Quanto costa una richiesta API?
Ogni richiesta API riuscita costa $0.002. La versione nel browser esegue gratuitamente lo stesso calcolo deterministico in locale.