Rectangle englobant d'un geohash
Le geohash 9q8yy correspond à une cellule de 37,749023438 à 37,79296875 de latitude et de -122,431640625 à -122,387695312 de longitude, centrée sur 37,770996094 ; -122,4096679685. Collez un geohash de 1 à 12 caractères pour obtenir le rectangle, les coins et le centre. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Chaîne geohash
- 9q8yy
- Précision
- 5
Un geohash condense un point géographique en une courte chaîne en base 32 en imbriquant les bits de longitude et de latitude et en découpant la carte du monde en rectangles gigognes. Chaque caractère supplémentaire affine la cellule jusqu'à ce que la chaîne représente un rectangle englobant précis plutôt qu'une simple coordonnée. Cette capacité décode tout geohash valide de Gustavo Niemeyer en ce rectangle : latitudes et longitudes minimales et maximales, points de coin nommés et un centre adapté aux marqueurs de carte et aux requêtes spatiales. Les caractères invalides hors de l'alphabet geohash échouent avec une erreur d'entrée invalide claire et ne sont pas facturés.
Ce qu'est le rectangle englobant d'un geohash et comment fournir la chaîne
Un geohash est un index spatial hiérarchique inventé pour la recherche de proximité et le tuilage de cartes. L'alphabet utilise dix chiffres et vingt-deux lettres, en omettant a, i, l et o pour que les chaînes restent lisibles et évitent toute confusion avec les chiffres. Le décodage part du rectangle mondial WGS84 complet, de la longitude moins cent quatre-vingts à plus cent quatre-vingts et de la latitude moins quatre-vingt-dix à plus quatre-vingt-dix.
Chaque caractère apporte cinq bits ; les bits alternent longitude puis latitude, et chaque bit choisit la moitié inférieure ou supérieure de l'intervalle courant. Une fois tous les caractères consommés, l'intervalle restant est la cellule que le geohash identifie de façon unique. La casse est ignorée et la réponse renvoie une valeur normalisée en minuscules.
La longueur peut aller de un à douze caractères : les hashs courts couvrent de grandes régions, utiles pour des filtres grossiers, tandis que les hashs longs resserrent le rectangle jusqu'à des cellules à l'échelle de la rue.
Lecture des champs bbox, des coins, du centre et de la précision
Les coins de commodité sw, ne, nw et se reformulent les mêmes étendues en paires de latitude et longitude pour les bibliothèques cartographiques qui attendent des marqueurs sud-ouest et nord-est ou des sommets de polygone. Le champ center est le milieu arithmétique des intervalles de latitude et de longitude, l'emplacement habituel de l'épingle lorsque vous n'avez besoin que d'un point dans la cellule.
Utilisez bbox seul pour construire des filtres SQL BETWEEN ou des requêtes R-tree ; utilisez les coins pour dessiner un rectangle en surimpression ; utilisez center pour déposer un marqueur unique pour une position hachée issue d'une colonne de base de données. La précision indique la grossièreté de la cellule : un caractère couvre une immense tranche continentale, tandis que huit caractères ou plus se situent souvent à l'échelle du quartier selon la latitude.
Les échecs de validation n'inventent jamais de coordonnées ; ils échouent en mode fermé pour que les jointures spatiales ne s'élargissent pas silencieusement.
Cas d’usage
Filtres spatiaux en base de données
Transformez les clés geohash stockées en plages minimales et maximales de latitude et longitude pour les clauses BETWEEN, les chargements de tuiles et les ensembles grossiers de candidats avant une vérification précise de distance.
Débogage cartographique et enseignement
Collez un geohash issu de journaux ou de devoirs et voyez aussitôt le rectangle de la cellule, ses coins et son centre sans installer de suite SIG de bureau.
Questions fréquentes
Comment obtenir un rectangle englobant à partir d'un geohash ?
La réponse comprend bbox avec les latitudes et longitudes minimales et maximales, plus les points de coin et le centre.
Quels caractères sont autorisés dans un geohash ?
Les chiffres 0-9 et les lettres bcdfghjkmnpqrstuvwxyz (sans tenir compte de la casse). Les lettres a, i, l et o ne sont pas utilisées.
Cette capacité encode-t-elle des coordonnées en geohash ?
Non. Elle ne fait que décoder un geohash existant en son rectangle englobant WGS84. L'encodage de lat/lon relève d'un produit distinct.
Le calculateur de rectangle englobant de geohash est-il gratuit ?
L'outil du navigateur fonctionne gratuitement sur votre appareil.
Quelles longueurs de précision sont prises en charge ?
Des chaînes geohash de 1 à 12 caractères. Les chaînes longues affinent la cellule ; la precision de la réponse égale le nombre de caractères après normalisation.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/geo/geohash-bbox \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"geohash":"9q8yy"}'const res = await fetch("https://api.kit.forhosting.com/geo/geohash-bbox", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"geohash": "9q8yy"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/geohash-bbox",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"geohash": "9q8yy"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/geohash-bbox", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"geohash":"9q8yy"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"geohash":"9q8yy"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/geohash-bbox", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"geohash": "9q8yy"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.geohash_bbox",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
L'algorithme est une bissection purement déterministe, sans appel réseau, de sorte que les backends cartographiques, les outils logistiques et les pipelines SIG peuvent figer le JSON dans leurs tests.
Ce qu'est le rectangle englobant d'un geohash et comment fournir la chaîne
Envoyez le champ obligatoire geohash sous forme de chaîne JSON ; les alias hash et gh sont acceptés lorsque votre client utilise déjà ces noms. Les chaînes vides, les champs manquants, les longueurs hors limites et tout caractère hors de l'alphabet en base trente-deux déclenchent invalid_input avec un message qui nomme le caractère fautif et sa position lorsque c'est possible. Le traitement étant de la pure arithmétique, des geohashs identiques produisent toujours un JSON identique, sans horloge, graine aléatoire ni géocodeur externe.
Lecture des champs bbox, des coins, du centre et de la précision
En cas de succès, la réponse comprend geohash, precision égal à la longueur en caractères et un objet bbox avec min_lat, min_lon, max_lat et max_lon en degrés décimaux. Ces quatre nombres constituent l'étendue fermée WGS84 de la cellule après bissection des bits, arrondis à un nombre de chiffres stable qui croît doucement avec la précision afin que les valeurs restent compatibles JSON sans bruit de fausse précision. L'étiquette method vaut toujours geohash_base32_bisection, afin que le code en aval puisse vérifier l'algorithme sans renifler les structures.
Utilisation de l'API, tarifs, flux cartographiques et limites pratiques
Envoyez un corps JSON avec la chaîne geohash obligatoire et utilisez l'outil gratuit dans le navigateur de rectangle englobant de geohash pour enseigner, déboguer des hashs stockés et effectuer des vérifications visuelles rapides sans installer de bibliothèques géospatiales. Utilisez l'API prépayée lorsqu'une plateforme logistique, un routeur de livraison, un cache de tuiles ou un pipeline d'analyse exige un contrat stable avec solde KIT à $0.002 par élément réussi ; les échecs de validation ne consomment jamais de solde après le rejet de la requête par le moteur. Associez ce endpoint à des étapes de géocodage inverse ou de récupération de tuiles dans votre propre pile lorsque vous avez besoin de noms de lieux ou d'images : ce produit ne fait que développer la géométrie du hash. La longueur est plafonnée à douze caractères pour couvrir les précisions cartographiques pratiques tout en bornant le travail de l'isolate du Worker. Les auteurs qui publient des SDK peuvent mapper min_lat et max_lon directement dans les constructeurs LatLngBounds de Leaflet, MapLibre ou Google Maps : le même rectangle que calcule toute bibliothèque geohash standard lorsqu'elle expose une API de rectangle englobant.
Cas d'intégration
Pipelines logistiques et IoT
Des appareils ou systèmes d'entrepôt émettent des geohashs ; les backends les développent en rectangles englobants pour les contrôles de zone, les cartes de chaleur et les enveloppes d'itinéraire via une API prépayée stable.