Rectangle englobant minimal de points 2D
Ce calculateur détermine le plus petit rectangle aligné sur les axes qui contient tous les points bidimensionnels fournis.
Lancer gratuitement
Il renvoie les coordonnées des quatre sommets, ainsi que la largeur, la hauteur et l'aire. Ce résultat constitue une emprise spatiale compacte pour le tracé, l'indexation, les contrôles de collision, le choix d'une vue ou la validation de données. Vous pouvez utiliser des coordonnées négatives, positives, entières ou décimales, même pour un point unique ou des points placés sur une ligne horizontale ou verticale.
Comprendre le rectangle englobant aligné sur les axes
Le rectangle englobant minimal aligné sur les axes est le plus petit rectangle contenant un ensemble de points dont les côtés restent parallèles aux axes x et y. Quatre extrêmes le définissent : les valeurs minimale et maximale de x, puis celles de y. Ces valeurs deviennent les limites, même si elles proviennent de quatre points différents. Le résultat décrit donc toute l'emprise spatiale sans supposer que les points sont ordonnés, constituent un polygone ou dessinent une forme fermée. Les sommets sont renvoyés dans l'ordre inférieur gauche, inférieur droit, supérieur droit et supérieur gauche. La largeur vaut x maximal moins x minimal, la hauteur vaut y maximal moins y minimal et l'aire est leur produit. Contrairement à une boîte orientée, ce rectangle ne tourne jamais pour suivre la direction apparente des données. Il reste ainsi prévisible et directement exploitable dans les graphiques cartésiens, les canevas et de nombreuses structures d'index spatial.
Préparer et interpréter les points
Fournissez au moins un point sous forme d'objet contenant des champs numériques finis x et y. Les coordonnées peuvent être négatives ou fractionnaires, et les doublons sont admis puisqu'ils ne modifient pas les extrêmes. Conservez le même repère et la même unité pour toutes les coordonnées : mélanger des mètres et des pieds, ou des coordonnées projetées avec des latitudes et longitudes, crée un rectangle sans signification physique cohérente. Le calcul traite les valeurs comme cartésiennes ; il ne gère pas le passage de l'antiméridien, ne projette pas le globe et ne déduit aucune unité cartographique. Un point unique produit quatre sommets identiques, avec une largeur, une hauteur et une aire nulles. Une ligne verticale donne une largeur nulle et une ligne horizontale une hauteur nulle. Ici, inférieur désigne y minimal et supérieur y maximal. Si votre écran fait croître y vers le bas, transformez l'affichage plutôt que le calcul.
Exploiter le résultat dans un traitement spatial
Le rectangle obtenu fournit un résumé initial compact pour de nombreux traitements géométriques. Un graphique peut employer ses coordonnées extrêmes afin de choisir une vue et d'ajouter une marge. Une recherche spatiale peut comparer des rectangles avant de lancer des tests plus coûteux sur des points, segments ou polygones, et éliminer rapidement les objets dont les emprises ne peuvent pas se chevaucher. Les chaînes d'importation peuvent enregistrer la largeur, la hauteur et l'aire comme indicateurs de qualité afin de repérer des points anormalement éloignés ou des dimensions écrasées. L'algorithme parcourt la liste une seule fois : son temps augmente linéairement, sans tri ni modification. La réponse est déterministe. Le chevauchement des rectangles reste toutefois un test approximatif et ne décrit ni les vides, ni la concavité, ni la densité, ni la rotation. Utilisez cette emprise comme filtre, puis une opération géométrique précise si la décision dépend de la forme réelle.
Cas d’usage
Ajuster la vue d'un graphique
Déterminez l'emprise exacte d'un nuage de points avant d'ajouter des marges et de choisir les échelles.
Créer un filtre spatial préliminaire
Comparez des limites peu coûteuses avant les calculs détaillés d'intersection ou de proximité.
Valider des coordonnées importées
Repérez les ensembles dont la largeur, la hauteur ou l'aire paraît invraisemblable avant leur intégration.
Questions fréquentes
Combien coûte une requête ?
Chaque requête API coûte $0.002. Le calcul repose sur un algorithme local déterministe, sans service externe.
S'agit-il d'un rectangle englobant minimal orienté ?
Non. Ses côtés restent parallèles aux axes x et y ; aucune rotation ne réduit son aire.
Que se passe-t-il avec un seul point ?
Les quatre sommets coïncident avec ce point ; la largeur, la hauteur et l'aire sont nulles.
Les coordonnées négatives ou décimales sont-elles admises ?
Oui. Vous pouvez fournir toute valeur numérique finie pour x et y, y compris négative ou décimale.
Puis-je utiliser une latitude et une longitude ?
Oui pour une simple emprise numérique, mais le calcul cartésien ne gère ni l'antiméridien ni la géométrie sphérique.
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/min-bounding-rectangle \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"points":[{"x":-2,"y":3},{"x":4,"y":-1},{"x":1,"y":5}]}'const res = await fetch("https://api.kit.forhosting.com/geo/min-bounding-rectangle", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"points": [
{
"x": -2,
"y": 3
},
{
"x": 4,
"y": -1
},
{
"x": 1,
"y": 5
}
]
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/min-bounding-rectangle",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"points": [
{
"x": -2,
"y": 3
},
{
"x": 4,
"y": -1
},
{
"x": 1,
"y": 5
}
]
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/min-bounding-rectangle", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"points":[{"x":-2,"y":3},{"x":4,"y":-1},{"x":1,"y":5}]}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"points":[{"x":-2,"y":3},{"x":4,"y":-1},{"x":1,"y":5}]}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/min-bounding-rectangle", 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
{
"points": [
{
"x": -2,
"y": 3
},
{
"x": 4,
"y": -1
},
{
"x": 1,
"y": 5
}
]
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.min_bounding_rectangle",
"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_points | 100000 |
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. |