Rettangolo delimitatore minimo per punti 2D
Questo calcolatore trova il più piccolo rettangolo allineato agli assi che contiene tutti i punti bidimensionali forniti.
Esegui gratis nel browser
Restituisce le coordinate dei quattro vertici insieme a larghezza, altezza e area. Il risultato offre un'estensione spaziale compatta per grafici, indicizzazione, controlli di collisione, scelta dell'inquadratura o convalida dei dati. Lei può utilizzare coordinate negative, positive, intere o decimali; il risultato resta definito anche per un solo punto o per punti disposti su una linea orizzontale o verticale.
Significato del rettangolo delimitatore allineato agli assi
Il rettangolo delimitatore minimo allineato agli assi è il più piccolo rettangolo che contiene un insieme di punti mantenendo i lati paralleli agli assi x e y. Lo determinano quattro estremi: il valore minimo e massimo di x e il valore minimo e massimo di y. Questi diventano i confini anche se appartengono a quattro punti diversi. Il risultato descrive quindi l'intera estensione spaziale senza presumere che i punti siano ordinati, formino un poligono o traccino una figura chiusa. I vertici sono restituiti come inferiore sinistro, inferiore destro, superiore destro e superiore sinistro. La larghezza è x massima meno x minima, l'altezza è y massima meno y minima e l'area è il loro prodotto. A differenza di un riquadro orientato, questo rettangolo non ruota per seguire la direzione apparente dei dati. Rimane così prevedibile e compatibile con grafici cartesiani, coordinate canvas e numerose strutture di indicizzazione spaziale.
Come preparare e interpretare i punti
Fornisca almeno un punto come oggetto con campi numerici finiti x e y. Le coordinate possono essere negative o frazionarie e i duplicati sono ammessi, perché non modificano gli estremi. Mantenga tutte le coordinate nello stesso sistema e nella stessa unità: mescolare metri e piedi, oppure coordinate proiettate con latitudine e longitudine, produce un rettangolo privo di significato fisico coerente. Il calcolo interpreta i valori come cartesiani; non gestisce l'antimeridiano, non proietta il globo e non deduce unità cartografiche. Un solo punto genera quattro vertici identici con larghezza, altezza e area pari a zero. Una linea verticale produce larghezza zero, mentre una linea orizzontale produce altezza zero. Inferiore indica y minima e superiore y massima. Se lo schermo aumenta y verso il basso, trasformi la visualizzazione senza cambiare il calcolo.
Uso del risultato nei flussi di lavoro spaziali
Il rettangolo restituito è un riepilogo iniziale compatto per molti processi geometrici. Un grafico può usare le coordinate estreme per scegliere l'inquadratura e aggiungere un margine. Una ricerca spaziale può confrontare i rettangoli prima di eseguire verifiche più costose su punti, segmenti o poligoni, scartando rapidamente gli oggetti le cui estensioni non possono sovrapporsi. Le pipeline di importazione possono registrare larghezza, altezza e area come indicatori di qualità, individuando punti troppo lontani o dimensioni collassate. L'algoritmo esamina l'elenco una volta sola, quindi il tempo cresce linearmente e non richiede ordinamento o modifica dei dati. La risposta è deterministica. La sovrapposizione dei rettangoli è però soltanto un test approssimativo: non descrive vuoti, concavità, densità o rotazione. Usi l'estensione come filtro e applichi poi un'operazione geometrica precisa se la decisione dipende dalla forma reale.
Casi d'uso
Adattare l'inquadratura di un grafico
Ricavi l'estensione esatta di un diagramma a dispersione prima di aggiungere margini e scegliere le scale.
Creare un filtro spaziale preliminare
Confronti limiti allineati agli assi prima di calcoli dettagliati di intersezione o prossimità.
Convalidare coordinate importate
Segnali insiemi con larghezza, altezza o area improbabili prima dell'ingresso in una pipeline cartografica o analitica.
Domande frequenti
Quanto costa una richiesta?
Ogni richiesta API costa $0.002. Il calcolo usa un algoritmo locale deterministico senza servizi esterni.
È un rettangolo delimitatore minimo orientato?
No. I lati restano paralleli agli assi x e y e il rettangolo non ruota per ridurre l'area.
Che cosa accade con un solo punto?
I quattro vertici coincidono con il punto; larghezza, altezza e area sono pari a zero.
Sono ammesse coordinate negative o decimali?
Sì. Lei può fornire qualsiasi valore numerico finito per x e y, inclusi negativi e decimali.
Posso usare latitudine e longitudine?
Sì, per una semplice estensione numerica; il calcolo cartesiano non gestisce però l'antimeridiano o la geometria sferica.
Per sviluppatori — accesso via API
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.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo 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)Esempio di richiesta
{
"points": [
{
"x": -2,
"y": 3
},
{
"x": 4,
"y": -1
},
{
"x": 1,
"y": 5
}
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.min_bounding_rectangle",
"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.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_points | 100000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |