ForHosting KIT · Outils pour développeurs

Calculateur du périmètre de l’enveloppe convexe

Ce calculateur détermine le plus petit contour convexe qui renferme un ensemble de points cartésiens, puis additionne la longueur euclidienne de ses arêtes dans l’ordre.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Il renvoie le périmètre et les sommets de l’enveloppe afin que vous puissiez contrôler, tracer ou réutiliser le résultat. Les doublons et les points intérieurs ne gonflent pas la mesure. Le calcul est déterministe, ne requiert aucun accès réseau et accepte jusqu’à 100,000 points par requête.

Fournissez des points cartésiens dans un référentiel cohérent

Transmettez les points sous forme d’enregistrements comportant des coordonnées numériques finies x et y. Tous les points doivent partager le même référentiel cartésien et la même unité. Si les coordonnées sont en mètres, le périmètre est exprimé en mètres ; si elles sont en pixels, il est exprimé en pixels. Le calculateur ne projette pas la latitude et la longitude et ne tient pas compte de la courbure terrestre. Convertissez donc d’abord les données géographiques vers une projection adaptée si vous recherchez une distance physique. L’ordre de saisie est sans incidence, car l’algorithme trie les coordonnées avant de construire le contour. Les coordonnées répétées sont acceptées puis éliminées pour le calcul géométrique, tandis que la réponse indique le nombre initial et le nombre de points uniques. Un point au minimum est obligatoire, dans la limite de 100,000 enregistrements. Conserver la précision d’origine évite un arrondi prématuré. L’enveloppe part du plus petit point frontalier dans l’ordre lexicographique et progresse dans le sens antihoraire, ce qui garantit une représentation stable et reproductible.

Comprenez le calcul du contour et du périmètre

Le calculateur applique la méthode de la chaîne monotone d’Andrew. Après le tri et la suppression des doublons, il construit une chaîne inférieure et une chaîne supérieure. Un test d’orientation fondé sur le produit vectoriel retire le point central lorsque trois candidats consécutifs ne décrivent pas un virage antihoraire. Les points strictement intérieurs et les points intermédiaires placés sur une arête droite sont ainsi écartés ; seuls demeurent les points extrêmes nécessaires pour décrire cette arête. Les deux chaînes sont assemblées sans répéter leurs extrémités. Le périmètre correspond ensuite à la somme des distances euclidiennes entre chaque sommet et le suivant, y compris l’arête qui relie le dernier au premier. Le tri domine le temps de calcul et donne une complexité O(n log n), tandis que la construction qui suit est linéaire. Avec un seul point distinct, le périmètre vaut zéro. Avec deux points distincts, ou un ensemble entièrement colinéaire, l’enveloppe conserve les deux extrémités et la convention du contour fermé compte le segment dans les deux sens, soit deux fois leur distance.

Interprétez et exploitez le résultat correctement

Le champ perimeter indique la longueur totale du contour dans la même unité que les coordonnées. Le tableau hull répertorie les sommets retenus dans l’ordre de parcours sans répéter le premier à la fin. La réponse contient également input_points, unique_points et hull_points, afin d’expliquer l’absence des points intérieurs, répétés ou colinéaires. Pour dessiner le polygone, reliez les sommets voisins et fermez explicitement le dernier sur le premier. Le calcul reposant sur l’arithmétique flottante de JavaScript, les distances irrationnelles peuvent présenter une légère approximation binaire ; n’arrondissez que lors de l’affichage. Cet outil convient aux plans, coordonnées d’image, grilles d’ingénierie locales et données cartographiques projetées. Il ne calcule pas de périmètre géodésique sphérique ou ellipsoïdal, ne corrige pas un référentiel erroné et ne conserve pas les points colinéaires à des fins purement visuelles. Une requête API coûte $0.002 ; l’exécution dans le navigateur emploie la même logique pure pour assurer des résultats cohérents.

Mesurer la limite d’un terrain

Déterminez le périmètre englobant de points de relevé après leur conversion dans une projection locale appropriée.

Estimer une enceinte protectrice

Calculez la clôture ou l’enveloppe convexe la plus courte contenant toutes les positions d’un ensemble plan.

Résumer une emprise spatiale

Obtenez un contour ordonné et sa longueur pour des groupes, éléments d’image, particules simulées ou coordonnées CAD.

Quel est le prix d’une requête ?

Chaque requête API coûte $0.002. La capacité s’exécute également localement dans le navigateur.

Peut-on utiliser directement latitude et longitude ?

Vous pouvez les saisir comme nombres, mais le résultat serait en degrés et non en distance physique fiable. Projetez les données avant le calcul plan.

Que deviennent les doublons et les points intérieurs ?

Les doublons sont supprimés et les points intérieurs exclus. La réponse compte séparément les points reçus, uniques et frontaliers.

Comment les points colinéaires sont-ils traités ?

Seules les deux extrémités subsistent. Le segment est compté deux fois, car le contour dégénéré effectue un aller-retour.

Le premier sommet est-il répété à la fin ?

Non. Le tableau de l’enveloppe contient chaque sommet une fois ; l’arête de fermeture vers le premier est implicite et comprise dans le périmètre.

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/convex-hull-perimeter

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/convex-hull-perimeter \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"points":[{"x":0,"y":0},{"x":4,"y":0},{"x":4,"y":3},{"x":0,"y":3},{"x":2,"y":1}]}'
{
  "points": [
    {
      "x": 0,
      "y": 0
    },
    {
      "x": 4,
      "y": 0
    },
    {
      "x": 4,
      "y": 3
    },
    {
      "x": 0,
      "y": 3
    },
    {
      "x": 2,
      "y": 1
    }
  ]
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "geo.convex_hull_perimeter",
  "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_items100000
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.

Consulter la documentation complète du KIT →