Grille depuis une boîte englobante
Transformez une boîte englobante géographique en un maillage régulier complet sans installer de logiciel SIG ni programmer de boucles de coordonnées.
Lancer gratuitement
Indiquez les limites ouest, sud, est et nord en degrés décimaux, ainsi que la taille des cellules carrées. Le résultat fournit les dimensions de la grille, puis la ligne, la colonne et les limites exactes de chaque cellule. Les cellules partent du coin sud-ouest, suivent un ordre prévisible et sont découpées sur les bords opposés afin de couvrir exactement la boîte demandée.
Définissez la boîte et la taille des cellules
Commencez par une boîte classique en longitude et latitude. Ouest et est désignent des longitudes comprises entre -180 et 180, tandis que sud et nord désignent des latitudes comprises entre -90 et 90. Est doit être supérieur à ouest, et nord supérieur à sud. Cette capacité n'interprète pas une valeur ouest supérieure à est comme un franchissement de l'antiméridien, car ce traitement rendrait l'ordre des colonnes et le découpage des bords moins explicites. Définissez cell_size en degrés décimaux. Une même valeur régit la largeur et la hauteur : les cellules sont donc des carrés angulaires, et non des surfaces physiques égales. Un degré de longitude couvre une distance plus courte près des pôles. Cette grille convient ainsi au partitionnement géographique transparent, au pavage, à l'échantillonnage et à la préparation d'affichages fondés sur des limites angulaires. Si des distances ou des surfaces égales sont nécessaires, projetez d'abord l'étendue dans un système plan approprié. Choisissez une taille suffisamment détaillée sans produire de sortie superflue. Toute demande dépassant 10,000 cellules est refusée avant allocation, afin de maîtriser le navigateur, l'API et le traitement JSON en aval.
Comprenez la couverture, le découpage et l'ordre
Le maillage est ancré précisément au coin sud-ouest fourni, et non sur une origine mondiale cachée. La ligne zéro commence au sud et la colonne zéro à l'ouest. Chaque cellule normale avance de cell_size vers le nord et l'est. Lorsque la largeur ou la hauteur de la boîte n'est pas un multiple exact de cette taille, les cellules de la dernière colonne ou ligne sont raccourcies et découpées sur est ou nord. Aucune cellule ne dépasse de la boîte et aucun vide ne subsiste à l'intérieur. La réponse fournit rows, columns et cell_count afin que vous puissiez contrôler le volume attendu sans recompter le tableau cells. Les cellules suivent l'ordre des lignes : toutes les colonnes de la ligne la plus méridionale apparaissent d'abord, puis les lignes progressent vers le nord. Chaque enregistrement contient une ligne et une colonne à base zéro, ainsi que quatre limites numériques nommées west, south, east et north. Les coordonnées sont normalisées à douze décimales pour supprimer les artefacts tels que 0.30000000000000004 issus d'additions répétées en virgule flottante. Utilisez directement ces limites pour tracer des rectangles, former des polygones, nommer des tuiles ou diviser un autre jeu de données.
Intégrez un maillage déterministe à vos flux de données
Un maillage généré est pratique lorsqu'une zone d'étude continue doit devenir un ensemble d'unités rectangulaires reproductibles. Une application cartographique peut convertir chaque jeu de limites en anneau polygonal. Un processus d'échantillonnage peut affecter une tâche à chaque ligne et colonne. Une chaîne analytique peut tester des points dans les cellules, agréger des enregistrements par tuile ou scinder une grande requête en demandes géographiques plus petites. Puisque l'origine correspond à la boîte fournie, deux appels ne donnent les mêmes identifiants que si west, south, east, north et cell_size sont identiques ; conservez ces entrées avec chaque ligne et colonne enregistrée. L'opération est déterministe et n'utilise aucun fournisseur de cartes, réseau, germe aléatoire, horloge ou état partagé. Une même entrée JSON produit donc la même géométrie et le même ordre. La capacité renvoie des limites plutôt que du GeoJSON afin de rester compacte et indépendante des formats SIG. Elle ne calcule ni centroïdes, surfaces, voisins, appartenance de points, intersections, ni transformations de coordonnées. Ces étapes peuvent être effectuées ensuite à partir des limites explicites. L'exécution interactive dans le navigateur est gratuite ; chaque demande API réussie applique le tarif de base publié de $0.002.
Cas d’usage
Partitionnez une étendue cartographique
Créez des tuiles stables par ligne et colonne pour regrouper des requêtes spatiales ou répartir un traitement géographique.
Préparez des unités d'échantillonnage
Générez des unités rectangulaires complètes sur une zone d'étude avant de sélectionner ou d'affecter des relevés de terrain.
Dessinez un maillage superposé
Convertissez chaque jeu de limites en rectangle ou polygone pour une couche SIG ou une carte web.
Questions fréquentes
Quel est le prix d'une demande API ?
Chaque demande API réussie coûte $0.002. Vous pouvez aussi exécuter gratuitement le même calcul déterministe dans le navigateur.
Quelle unité utilise cell_size ?
Des degrés décimaux. La valeur régit la largeur en longitude et la hauteur en latitude ; les cellules sont des carrés angulaires, pas des surfaces terrestres égales.
Que se passe-t-il si la boîte n'est pas divisible par la taille ?
La dernière ligne et la dernière colonne sont découpées aux limites nord et est, sans lacune ni dépassement.
La boîte peut-elle franchir l'antiméridien ?
Non. Est doit être supérieur à ouest. Divisez une étendue traversant l'antiméridien en deux boîtes classiques.
Dans quel ordre les cellules sont-elles renvoyées ?
Elles suivent l'ordre des lignes : départ au sud-ouest, progression vers l'est, puis passage à la ligne située au nord.
Pourquoi la limite est-elle fixée à 10,000 cellules ?
Elle borne le calcul et la taille de la réponse. Augmentez cell_size ou divisez la boîte si la demande dépasse ce seuil.
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/grid-from-bbox \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"west":-2,"south":50,"east":0.5,"north":52,"cell_size":1}'const res = await fetch("https://api.kit.forhosting.com/geo/grid-from-bbox", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"west": -2,
"south": 50,
"east": 0.5,
"north": 52,
"cell_size": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/grid-from-bbox",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"west": -2,
"south": 50,
"east": 0.5,
"north": 52,
"cell_size": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/grid-from-bbox", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"west":-2,"south":50,"east":0.5,"north":52,"cell_size":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"west":-2,"south":50,"east":0.5,"north":52,"cell_size":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/grid-from-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
{
"west": -2,
"south": 50,
"east": 0.5,
"north": 52,
"cell_size": 1
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.grid_from_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.
Limites
max_cells | 10000 |
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. |