Boîte englobante d’un polygone
La boîte englobante d’un polygone est le plus petit rectangle aligné sur les axes de latitude et de longitude qui contient tous les sommets fournis.
Lancer gratuitement
Ce calculateur parcourt vos coordonnées et renvoie le coin minimal, comparable au sud-ouest, ainsi que le coin maximal, comparable au nord-est, sans interroger de service cartographique. Il convient au cadrage d’une carte, au filtrage spatial, à l’indexation, à la validation et aux résumés géographiques. Le calcul est déterministe, accepte les degrés décimaux courants et applique la même logique dans le navigateur et par API.
Préparez les sommets du polygone
Fournissez au moins trois sommets, chacun représenté par des nombres lat et lon en degrés décimaux. La latitude doit être comprise entre -90 et 90, et la longitude entre -180 et 180. Les points peuvent décrire un polygone convexe ou concave, et le premier point peut être répété à la fin pour fermer l’anneau. Contrairement au calcul d’une aire ou d’un centroïde, celui de la boîte englobante ne dépend pas du sens de parcours et n’exige pas un ordre horaire ou antihoraire. Chaque point contribue séparément aux valeurs extrêmes. Trois points restent nécessaires, car l’entrée représente un polygone et non un simple nuage de points. Utilisez des nombres plutôt que des chaînes avec symboles de degré, indications cardinales ou coordonnées séparées par des virgules. Les enregistrements incorrects, coordonnées absentes, valeurs non finies et coordonnées hors plage sont explicitement refusés. Une requête accepte jusqu’à 10,000 sommets afin de conserver une exécution prévisible.
Interprétez les coins renvoyés
Le résultat contient min_corner et max_corner. Le coin minimal associe la plus petite latitude de la liste à la plus petite longitude ; le coin maximal associe la plus grande latitude à la plus grande longitude. Ces deux coins décrivent un rectangle aligné sur les axes du plan latitude-longitude. Ils ne correspondent pas nécessairement à des sommets réels, car les deux minima peuvent provenir de points distincts. Aucun remplissage, aucune projection, aucun arrondi et aucune extension géodésique ne sont appliqués : la réponse conserve donc les extrêmes numériques reçus. La longitude est interprétée littéralement dans la plage conventionnelle de -180 à 180. Un polygone qui traverse l’antiméridien peut ainsi produire une boîte numériquement large, par exemple de -179 à 179 degrés. Ce résultat est volontaire : il indique les minima et maxima ordinaires au lieu de choisir une fenêtre cartographique avec retour à la ligne. Votre application peut ensuite comparer des étendues cycliques adaptées.
Exploitez les limites dans vos cartes et traitements
Les boîtes englobantes sont des résumés compacts qui s’intègrent naturellement au début de nombreux traitements spatiaux. Une interface cartographique peut employer les deux coins pour définir son cadrage initial. Lors d’un import, une base peut enregistrer les quatre extrêmes avec le polygone et effectuer un premier test de chevauchement peu coûteux avant une recherche exacte d’appartenance ou d’intersection. Un contrôle peut comparer des zones de service prévues aux formes reçues, tandis qu’une analyse peut regrouper des limites selon leur étendue générale. Gardez à l’esprit que la boîte contient le polygone sans en reproduire la forme : un point situé dans le rectangle peut rester extérieur à un polygone concave, et le chevauchement de deux boîtes ne prouve pas celui des polygones. Le calcul emploie directement latitude et longitude, pas un système projeté ; une largeur en degrés n’est donc pas une distance physique constante. Utilisez gratuitement le navigateur ou automatisez l’API pour $0.002 par élément.
Cas d’usage
Cadrer une carte
Transformez les sommets en coins minimal et maximal afin d’afficher l’intégralité de la limite.
Préfiltrer des données spatiales
Enregistrez des extrêmes simples pour sélectionner des candidats avant les tests exacts d’intersection.
Valider une couverture géographique
Comparez l’étendue d’une limite reçue aux plages autorisées pendant un processus d’import.
Questions fréquentes
Quel est le coût du calcul ?
Le tarif de l’API est de $0.002 par élément ; le calculateur du navigateur est gratuit sur cette page.
L’ordre des sommets est-il important ?
Non. Le calcul recherche indépendamment les latitudes et longitudes minimales et maximales.
Faut-il répéter le premier sommet à la fin ?
Non. Les listes ouvertes et fermées donnent les mêmes limites si leurs extrêmes sont identiques.
Comment l’antiméridien est-il traité ?
La longitude utilise les extrêmes littéraux de -180 à 180 ; la boîte peut donc être large plutôt que cyclique.
S’agit-il d’un test exact d’inclusion ?
Non. Le rectangle contient tous les sommets, mais un point intérieur au rectangle peut rester hors du polygone.
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/polygon-bounding-box \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"vertices":[{"lat":40.7128,"lon":-74.006},{"lat":34.0522,"lon":-118.2437},{"lat":41.8781,"lon":-87.6298}]}'const res = await fetch("https://api.kit.forhosting.com/geo/polygon-bounding-box", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"vertices": [
{
"lat": 40.7128,
"lon": -74.006
},
{
"lat": 34.0522,
"lon": -118.2437
},
{
"lat": 41.8781,
"lon": -87.6298
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/polygon-bounding-box",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"vertices": [
{
"lat": 40.7128,
"lon": -74.006
},
{
"lat": 34.0522,
"lon": -118.2437
},
{
"lat": 41.8781,
"lon": -87.6298
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/polygon-bounding-box", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"vertices":[{"lat":40.7128,"lon":-74.006},{"lat":34.0522,"lon":-118.2437},{"lat":41.8781,"lon":-87.6298}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"vertices":[{"lat":40.7128,"lon":-74.006},{"lat":34.0522,"lon":-118.2437},{"lat":41.8781,"lon":-87.6298}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/polygon-bounding-box", 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
{
"vertices": [
{
"lat": 40.7128,
"lon": -74.006
},
{
"lat": 34.0522,
"lon": -118.2437
},
{
"lat": 41.8781,
"lon": -87.6298
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.polygon_bounding_box",
"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_items | 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. |