ForHosting KIT · Strumenti per sviluppatori

Calcolo del perimetro dell’inviluppo convesso

Questo calcolatore individua il più piccolo contorno convesso che racchiude un insieme di punti cartesiani e somma in ordine la lunghezza euclidea di ogni lato.

● BetaGratis · nel tuo browser
Usalo da WebAPIEmailTelegramApp presto

Restituisce sia il perimetro sia i vertici dell’inviluppo, affinché Lei possa controllare, disegnare o riutilizzare il risultato. I punti duplicati e quelli interni non aumentano la misura. Il calcolo è deterministico, non usa la rete e accetta fino a 100,000 punti per richiesta.

Fornisca punti cartesiani in un sistema coerente

Invii i punti come record contenenti coordinate numeriche finite x e y. Tutti devono appartenere allo stesso sistema cartesiano e utilizzare la medesima unità. Se le coordinate sono espresse in metri, il perimetro sarà in metri; se sono in pixel, il risultato sarà in pixel. Il calcolatore non proietta latitudine e longitudine e non considera la curvatura terrestre. Per ottenere una distanza fisica, converta prima i dati geografici in un sistema proiettato adeguato. L’ordine di inserimento è irrilevante, poiché l’algoritmo ordina le coordinate prima di costruire il contorno. Le coordinate ripetute sono accettate e rimosse ai fini geometrici, mentre la risposta riporta sia il numero originale sia quello dei punti unici. È richiesto almeno un punto e il limite dichiarato è di 100,000 record. Conservare la precisione originale evita arrotondamenti prematuri. L’inviluppo parte dal punto di confine lessicograficamente minore e procede in senso antiorario, offrendo una rappresentazione stabile e riproducibile.

Comprenda come vengono calcolati contorno e perimetro

Il calcolatore utilizza il metodo della catena monotona di Andrew. Dopo aver ordinato ed eliminato i duplicati, costruisce una catena inferiore e una superiore. Un test di orientamento basato sul prodotto vettoriale rimuove il punto centrale quando tre candidati consecutivi non formano una svolta antioraria. In questo modo vengono esclusi i punti strettamente interni e quelli intermedi disposti su un lato rettilineo, lasciando solo gli estremi necessari a descriverlo. Le due catene vengono unite senza ripetere le estremità. Il perimetro si ottiene poi sommando la distanza euclidea tra ogni vertice e il successivo, compreso il lato di chiusura dall’ultimo al primo. L’ordinamento domina il tempo di esecuzione e determina una complessità O(n log n), mentre la costruzione successiva è lineare. Con un solo punto distinto il perimetro è zero. Con due punti distinti, oppure con un insieme interamente collineare, l’inviluppo contiene i due estremi e la convenzione del contorno chiuso conta il segmento in entrambe le direzioni, producendo il doppio della loro distanza.

Legga il risultato e lo utilizzi correttamente

Il campo perimeter indica la lunghezza totale del contorno nella stessa unità delle coordinate. L’array hull elenca i vertici mantenuti nell’ordine di percorrenza senza ripetere il primo alla fine. La risposta comprende inoltre input_points, unique_points e hull_points, utili per capire perché i punti interni, ripetuti o collineari non figurino sul contorno. Per disegnare il poligono, colleghi i vertici adiacenti e chiuda esplicitamente l’ultimo sul primo. Poiché si usa l’aritmetica in virgola mobile di JavaScript, le distanze irrazionali possono presentare una piccola approssimazione binaria; applichi l’arrotondamento solo in fase di visualizzazione. Lo strumento è adatto a planimetrie, coordinate di immagini, griglie ingegneristiche locali e dati cartografici proiettati. Non calcola un perimetro geodetico sferico o ellissoidale, non corregge sistemi di riferimento errati e non conserva punti collineari soltanto per mostrarli. Ogni richiesta API costa $0.002; l’esecuzione nel browser usa la stessa logica pura per assicurare risultati coerenti.

Misurare il confine di un sito

Trovi il perimetro che racchiude punti di rilievo dopo averli convertiti in una proiezione locale adeguata.

Stimare una recinzione protettiva

Calcoli la più corta recinzione o fasciatura convessa che contiene ogni posizione di un insieme planare.

Riassumere un’impronta spaziale

Ottenga un profilo ordinato e la sua lunghezza per gruppi, elementi di immagini, particelle simulate o coordinate CAD.

Quanto costa una richiesta?

Ogni richiesta API costa $0.002. La capacità funziona anche localmente nel browser.

Latitudine e longitudine sono supportate direttamente?

Possono essere inserite come numeri, ma il risultato sarebbe in gradi e non una distanza fisica affidabile. Proietti i dati prima del calcolo planare.

Che cosa accade ai punti duplicati e interni?

I duplicati vengono rimossi e i punti interni esclusi. La risposta conta separatamente punti originali, unici e di contorno.

Come vengono gestiti i punti collineari?

Restano soltanto i due estremi. Il segmento viene contato due volte perché il contorno degenere percorre andata e ritorno.

Il primo vertice viene ripetuto alla fine?

No. L’array dell’inviluppo contiene ogni vertice una sola volta; il lato di chiusura verso il primo è implicito e incluso nel perimetro.

Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.

POSThttps://api.kit.forhosting.com/geo/convex-hull-perimeter

Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.

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 è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.

per richiesta$0.002

Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.

max_items100000
HTTPCodiceSignificato
401unauthorizedChiave API mancante o non valida: controlla l'header Authorization.
402insufficient_balanceCredito esaurito: ricarica per continuare a eseguire attività.
404unknown_typeTipo di attività sconosciuto: controlla il campo type della richiesta.
429rate_limitedTroppe richieste in poco tempo: rallenta e riprova tra qualche secondo.

Leggi la documentazione completa del KIT →