Celdas hijas geohash
El geohash u4pruyd se divide en 32 hijas, de u4pruyd0 a u4pruydz, cada una con un carácter más y entre todas cubriendo la celda madre completa. Pegue un geohash y obtenga todas las hijas en el mismo orden fijo, listas para indexar o para mapas. Gratis en su navegador.
- Gratis
- Funciona en su navegador
- Sin registro
- Sus datos no salen de su equipo
Ejecutar — gratis
Ejemplo resuelto
- Geohash
- u4pruyd
- Precisión
- 7
- Precisión del hijo
- 8
- Cantidad
- 32
La herramienta de celdas hijas geohash toma un geohash existente y subdivide su área rectangular en las treinta y dos celdas del siguiente nivel de precisión. Devuelve cada hija añadiendo los caracteres del alfabeto base32 geohash canónico en un orden estable, de modo que el resultado queda listo para indexación, cartografía, pruebas o recorridos recursivos. La entrada se normaliza a minúsculas; los caracteres no válidos y las longitudes no admitidas generan un error de entrada claro. El cálculo es determinista y no depende de la red, valores aleatorios ni la hora.
Cómo funciona la subdivisión geohash
Un geohash representa una celda geográfica rectangular mediante una secuencia entrelazada de bits de longitud y latitud. Cada carácter aporta cinco bits más, por lo que añadir un carácter divide la celda padre en treinta y dos rectángulos menores. Esos rectángulos son exactamente sus hijas inmediatas: no hace falta decodificar coordenadas, redondear ni efectuar una búsqueda espacial para nombrarlos.
Esta capacidad añade al padre normalizado cada carácter del alfabeto geohash canónico, <code>0123456789bcdefghjkmnpqrstuvwxyz</code>. Si el padre es <code>u4pruyd</code>, las primeras hijas son <code>u4pruyd0</code>, <code>u4pruyd1</code> y así sucesivamente, mientras que la última es <code>u4pruydz</code>. Todas las cadenas conservan el prefijo del padre y tienen exactamente un carácter más.
Juntas cubren toda la celda padre sin huecos ni solapamientos a esa precisión. El orden sigue el valor de los caracteres, no una lectura geográfica. Utilice esta operación cuando necesite el nivel siguiente completo de una jerarquía geohash, no las celdas vecinas situadas junto al padre con la misma precisión.
Uso de celdas hijas en sistemas espaciales
La generación de hijas resulta útil cuando una aplicación espacial almacena o explora ubicaciones como un árbol de prefijos. Un servicio cartográfico puede comenzar con una celda amplia, solicitar sus hijas y seguir subdividiendo solo las ramas que contengan suficientes datos. Un proceso de mantenimiento puede ampliar un depósito grueso en claves más finas antes de redistribuir registros.
Las pruebas también pueden utilizar la salida ordenada para comprobar que un codificador, índice de prefijos o recorrido recursivo admite todos los sufijos legales y nunca acepta caracteres base32 prohibidos. Recuerde que esta operación nombra celdas: no calcula sus límites de latitud y longitud, no comprueba qué hijas contienen datos ni devuelve los ocho vecinos adyacentes. Use un decodificador geohash para obtener coordenadas o cajas delimitadoras, y un buscador de vecinos para localizar celdas contiguas con igual precisión.
Para subdividir de forma recursiva, vuelva a enviar cualquier hija hasta alcanzar la precisión deseada, respetando el límite de entrada en cada llamada. Como cada nivel multiplica las hojas por treinta y dos, controle la recursión en su aplicación y evite materializar árboles innecesariamente grandes.
Qué puede hacer con ella
Construir un árbol de prefijos geohash
Amplíe los depósitos espaciales seleccionados nivel a nivel y conserve cada clave generada en un orden canónico reproducible.
Refinar celdas de agregación cartográfica
Sustituya una región amplia por el conjunto completo de celdas de la siguiente precisión antes de calcular estadísticas detalladas.
Preguntas frecuentes
¿Cuántas celdas hijas tiene un geohash?
Exactamente 32 hijas inmediatas, porque un carácter geohash añadido aporta cinco bits y representa 32 valores posibles.
¿Las hijas aparecen en orden geográfico?
No. Se devuelven según el orden canónico de caracteres base32, que es estable pero no recorre el mapa de norte a sur ni de oeste a este.
¿La subdivisión cambia el área cubierta?
Las 32 hijas cubren juntas la misma área que el padre. Cada hija individual abarca una subdivisión en la precisión siguiente.
¿Qué caracteres son válidos?
Son válidos 0–9 y bcdefghjkmnpqrstuvwxyz. Las letras a, i, l y o no forman parte del alfabeto geohash.
¿Cómo bajo más de un nivel?
Vuelva a introducir cualquier hija y divídala de nuevo, repitiendo hasta llegar a la precisión que necesite, dentro del límite de 12 caracteres. Cada nivel multiplica las celdas por 32, así que expanda solo las ramas que le interesen.
Herramientas relacionadas
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"geohash": "u4pruyd"
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.geohash_children",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_precision | 12 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |
Notas técnicas
Validación de entrada y campos de respuesta
Antes de validar se eliminan los espacios exteriores y las mayúsculas pasan a minúsculas. Un valor válido contiene entre uno y doce caracteres del alfabeto base32 de geohash. También se rechazan valores ausentes, valores que no sean cadenas, cadenas vacías tras recortarlas y entradas que superen el límite publicado. No hay campos opcionales nulos. Envíe un objeto JSON con la cadena obligatoria <code>geohash</code>. También se aceptan los alias breves <code>hash</code> y <code>gh</code> por compatibilidad, aunque las integraciones nuevas deberían usar el nombre canónico. Este alfabeto omite deliberadamente a, i, l y o para reducir ambigüedades visuales; cualquiera de esas letras produce una respuesta <code>invalid_input</code>. Una respuesta correcta incluye <code>geohash</code>, el padre normalizado; <code>precision</code>, su longitud; <code>child_precision</code>, una unidad mayor; <code>children</code>, el array ordenado de treinta y dos hijas; y <code>count</code>, siempre treinta y dos. Cada solicitud API correcta cuesta $0.002, mientras que la herramienta del navegador ejecuta localmente el mismo cálculo puro.
Casos de integración
Probar bibliotecas geohash
Genere todos los sufijos legales para fixtures que verifiquen recorridos de prefijos, validación e invariantes de cantidad.
Preguntas técnicas
¿Cuánto cuesta una solicitud API?
Cada solicitud API correcta cuesta $0.002. La versión del navegador ejecuta gratis el mismo cálculo determinista de forma local.