ForHosting KIT · Voyages et géographie

Recherche de voisins geohash

Saisissez un geohash et obtenez les huit cellules qui l'entourent, du nord au nord-ouest : u4pruyd a u4pruyf au nord et u4pruye à l'est, toutes avec le même nombre de caractères. Gratuit dans votre navigateur.

  • Gratuit
  • Fonctionne dans votre navigateur
  • Sans inscription
  • Vos données restent sur votre appareil
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt
Si vous saisissez
Chaîne geohash
u4pruyd
Vous obtenez
Précision
7
N
u4pruyf
NE
u4pruyg
E
u4pruye

Un outil de recherche de voisins geohash transforme l'identifiant d'une cellule en les huit cellules qui partagent un bord ou un coin avec elle. Collez un geohash base32 — toute précision de un à douze caractères — et l'outil parcourt les classiques tables de voisins paires et impaires pour émettre nord, nord-est, est, sud-est, sud, sud-ouest, ouest et nord-ouest à la même longueur. Les index spatiaux, les caches de proximité et les tuiles de carte ont souvent besoin de ce voisinage de Moore sans décoder d'abord chaque cellule en latitude et longitude.

Ce que signifie l'adjacence geohash sur la grille

Un geohash encode un rectangle de latitude-longitude sous la forme d'une courte chaîne base32 en entrelacant les bits de longitude et de latitude et en les regroupant en caractères de cinq bits. Les cellules adjacentes à la même précision sont les huit rectangles du voisinage de Moore qui touchent la cellule centrale par un bord ou un coin.

Comme les bits alternent selon la parité, le caractère situé immédiatement au nord d'un dernier caractère donné ne relève pas de la même table selon que la longueur de la chaîne est paire ou impaire ; les parcours de voisins de qualité production conservent donc deux chaînes de recherche par direction, plus une table de bordures qui indique quand le dernier caractère impose un pas au niveau parent.

Les voisins est et ouest bouclent sur l'antiméridien, de sorte qu'une cellule au bord droit du globe a un voisin oriental cohérent au bord gauche. Le nord et le sud ne traversent pas les pôles : si une cellule se trouve déjà au bord nord ou sud de la grille mondiale, demander un pas supplémentaire dans cette direction est hors limites et cet outil le rejette.

La précision est conservée de bout en bout — si vous passez sept caractères, vous obtenez des voisins de sept caractères — ce qui permet de joindre le résultat directement à la même famille de compartiments d'index sans réencodage. Ce contrat est exactement ce dont les backends cartographiques, les extensions de rayon de livraison et les tests unitaires des bibliothèques geohash ont besoin lorsqu'ils étendent une cellule à son anneau de huit.

Conseils pratiques, limites et recherches associées

Gardez la précision dans la plage publiée de un à douze caractères ; les hachages plus longs sont rejetés afin que les parcours intermédiaires par le parent restent bornés et que les résultats restent interopérables avec les réglages par défaut des bibliothèques courantes. Pour construire un anneau k plus grand que les huit immédiats, appelez cet outil sur chaque cellule frontière et dédupliquez — la capacité ne renvoie que le premier anneau pour que le comportement reste simple et cacheable.

Cette page cible les personnes qui recherchent des voisins geohash, des cellules geohash adjacentes ou un outil geohash nord-sud-est-ouest ; ce n'est ni un encodeur latitude-longitude, ni un décodeur vers des boîtes englobantes, ni une recherche par rayon en kilomètres. Préférez cette capacité lorsque vous disposez déjà d'une chaîne geohash et n'avez besoin que des huit adjacents à la même précision ; si votre source est un couple de coordonnées, encodez d'abord avec un encodeur dédié puis étendez.

Les vérifications aller-retour sont faciles : prenez un exemple connu comme dqcjq, confirmez que les huit voisins correspondent à une bibliothèque de confiance, puis vérifiez qu'un caractère invalide comme la lettre a échoue toujours avec le code d'erreur documenté.

Étendre une cellule pour les requêtes de proximité

Les services backend qui indexent des points par geohash interrogent la cellule centrale plus ses huit voisins pour capter les points situés juste de l'autre côté d'une limite de cellule.

Anneaux de tuiles et de cartes de chaleur

Les pipelines de visualisation étendent un geohash sélectionné au voisinage de Moore pour surligner les tuiles adjacentes sans décoder d'abord chaque cellule en lat/lon.

Que renvoie cet outil de voisins geohash ?

Les huit cellules adjacentes à la même précision : nord, nord-est, est, sud-est, sud, sud-ouest, ouest et nord-ouest, plus un objet neighbors, une liste ordonnée et la précision.

Quels caractères sont valides dans un geohash ?

Les chiffres base32 0–9 et les lettres bcdfghjkmnpqrstuvwxyz.

Cet outil encode-t-il ou décode-t-il latitude et longitude ?

Non. Il étend seulement une chaîne geohash existante à ses huit cellules adjacentes à la même précision.

La recherche de voisins geohash est-elle gratuite ?

L'outil du navigateur est gratuit et s'exécute localement.

Pourquoi interroger les cellules voisines et pas un seul geohash ?

Deux points très proches peuvent se trouver de part et d'autre d'une bordure de cellule et recevoir des geohashes différents. En cherchant dans la cellule centrale et ses huit voisines, vous retrouvez ces points et la recherche de proximité n'oublie aucun résultat proche.

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.

POSThttps://api.kit.forhosting.com/geo/geohash-neighbors

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é.

curl -X POST https://api.kit.forhosting.com/geo/geohash-neighbors \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"geohash":"u4pruyd"}'
{
  "geohash": "u4pruyd"
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.geohash_neighbors",
  "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.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_precision12
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Les caractères hors alphabet, les chaînes vides, la précision excessive et les pas vers le nord ou le sud en bordure polaire renvoient une erreur invalid_input claire au lieu d'une cellule fausse silencieuse. Le calcul est une arithmétique de chaînes pure et déterministe — sans réseau, sans graines aléatoires, sans dépendance à l'horloge — donc l'exécuteur gratuit du navigateur et l'API prépayée renvoient le même JSON chaque fois que vous les appelez avec le même geohash.

Comment appeler l'API et ce qu'elle renvoie

Les espaces en début et en fin sont supprimés et les lettres sont mises en minuscules avant le traitement, afin qu'une saisie client à casse mixte ne crée pas deux hachages pour la même cellule. En cas de succès, la réponse renvoie le geohash normalisé et sa précision, fournit un objet neighbors avec les clés n, ne, e, se, s, sw, w et nw, répète ces huit chaînes en champs de premier niveau pour les consommateurs plats, propose list comme un tableau ordonné des mêmes huit valeurs, fixe count à huit et inclut un court message en anglais. Envoyez un corps JSON avec un seul champ chaîne obligatoire, geohash (alias hash et gh). La valeur doit comporter de un à douze caractères de l'alphabet base32 geohash : les chiffres de zéro à neuf et les lettres b c d e f g h j k m n p q r s t u v w x y z — les lettres a, i, l et o sont volontairement absentes et échouent à la validation. Une validation échouée — champ manquant, valeur non chaîne, vide après nettoyage, caractère illégal, précision supérieure à douze ou pas nord ou sud en bordure polaire — renvoie invalid_input et n'est jamais facturée. Le tarif est un forfait de $0.002 par requête réussie, avec un article unitaire et un prix unitaire marginal nul.

Conseils pratiques, limites et recherches associées

Préférez le nom de champ principal geohash dans les nouveaux clients ; les alias hash et gh existent pour les envois de formulaires courts et les anciens extraits de code. Les bordures polaires sont rares à la précision d'une ville, mais apparaissent sur les hachages d'un caractère et certains de deux près des pôles ; traitez-y invalid_input comme une limite stricte plutôt que d'inventer une cellule inversée. Les tâches échouées qui renvoient invalid_input ne consomment pas de solde prépayé, ce qui garde les scripts exploratoires bon marché lorsque vous testez volontairement des alphabets invalides.

Tests unitaires pour les bibliothèques geohash

Générez des cartes de voisins attendues et déterministes pour les précisions paires et impaires, plus les rejets d'alphabet invalide et de bordure polaire, pour les katas de code et les fichiers golden des bibliothèques.

L'est et l'ouest font-ils le tour du globe ?

Oui. La longitude boucle sur l'antiméridien. Le nord et le sud ne traversent pas les pôles ; les pas en bordure polaire renvoient invalid_input.

Consulter la documentation complète du KIT →