Riquadro di delimitazione di un poligono
Il riquadro di delimitazione di un poligono è il più piccolo rettangolo allineato agli assi di latitudine e longitudine che contiene tutti i vertici forniti.
Esegui gratis nel browser
Questo calcolatore scorre le coordinate e restituisce l’angolo minimo, assimilabile a quello sud-occidentale, e l’angolo massimo, assimilabile a quello nord-orientale, senza interrogare servizi cartografici. È utile per inquadrare mappe, filtrare dati spaziali, creare indici, convalidare geometrie e sintetizzare estensioni geografiche. Il calcolo è deterministico, accetta normali coordinate in gradi decimali e usa la stessa logica nel browser e tramite API.
Prepari i vertici del poligono
Fornisca almeno tre vertici, ognuno rappresentato dai numeri lat e lon in gradi decimali. La latitudine deve essere compresa tra -90 e 90 e la longitudine tra -180 e 180. I punti possono descrivere un poligono convesso o concavo; è inoltre possibile ripetere il primo punto alla fine per chiudere l’anello. Diversamente dal calcolo dell’area o del centroide, il riquadro non dipende dal verso di percorrenza e non richiede vertici in senso orario o antiorario. Ogni punto contribuisce separatamente agli estremi. Restano necessari tre punti perché l’input rappresenta un poligono, non una raccolta arbitraria. Usi numeri invece di stringhe con simboli dei gradi, suffissi cardinali o coordinate separate da virgole. Record non validi, coordinate mancanti, valori non finiti e numeri fuori intervallo vengono rifiutati con chiarezza. Ogni richiesta può includere fino a 10,000 vertici, così l’esecuzione resta prevedibile anche per confini dettagliati.
Interpreti gli angoli restituiti
Il risultato contiene min_corner e max_corner. L’angolo minimo combina la latitudine più bassa dell’elenco con la longitudine più bassa; quello massimo combina i due valori più alti. Insieme descrivono un rettangolo allineato agli assi nel piano latitudine-longitudine. Non devono necessariamente coincidere con vertici reali, perché i due minimi possono trovarsi in punti diversi. Non vengono applicati margini, proiezioni, arrotondamenti o espansioni geodetiche, quindi la risposta conserva gli estremi numerici ricevuti. La longitudine è trattata letteralmente nell’intervallo convenzionale da -180 a 180. Di conseguenza, un poligono che attraversa l’antimeridiano può produrre un riquadro numericamente ampio, per esempio da -179 a 179 gradi. È un comportamento intenzionale: riporta minimi e massimi ordinari invece di scegliere una vista cartografica avvolta. Se l’applicazione gestisce longitudini cicliche, potrà confrontare in seguito estensioni alternative.
Usi i limiti in mappe e pipeline di dati
I riquadri di delimitazione sono sintesi compatte e si inseriscono bene all’inizio di numerosi flussi spaziali. Un’interfaccia cartografica può usare i due angoli per scegliere l’inquadratura iniziale. Durante un’importazione, un database può memorizzare i quattro estremi accanto al poligono e usarli per un rapido filtro di sovrapposizione prima di eseguire una verifica più costosa di appartenenza o intersezione. Il codice di convalida può confrontare aree operative previste con le forme ricevute, mentre le analisi possono raggruppare confini per estensione generale. Ricordi che il rettangolo contiene il poligono ma non ne riproduce la forma: punti interni al riquadro possono essere esterni a un poligono concavo, e riquadri sovrapposti non provano l’intersezione dei poligoni. Il calcolo usa latitudine e longitudine, non un sistema proiettato; le larghezze in gradi non sono distanze fisiche costanti. Può usarlo gratis nel browser o automatizzare l’API per $0.002 per elemento.
Casi d'uso
Inquadrare una mappa
Converta i vertici negli angoli minimo e massimo per mostrare l’intero confine nel client cartografico.
Prefiltrare record spaziali
Memorizzi estremi semplici per selezionare candidati prima dei test esatti di intersezione.
Convalidare la copertura geografica
Confronti l’estensione di un confine ricevuto con gli intervalli ammessi durante un’importazione.
Domande frequenti
Quanto costa il calcolo?
Il prezzo dell’API è $0.002 per elemento; il calcolatore nel browser è gratuito in questa pagina.
L’ordine dei vertici è importante?
No. Il calcolo trova indipendentemente latitudini e longitudini minime e massime.
Devo ripetere il primo vertice alla fine?
No. Elenchi aperti e chiusi producono gli stessi limiti quando gli estremi coincidono.
Come vengono gestiti i poligoni oltre l’antimeridiano?
La longitudine usa estremi letterali da -180 a 180, quindi il riquadro può risultare ampio e non avvolto.
È un test esatto di contenimento nel poligono?
No. Il rettangolo contiene i vertici, ma un punto al suo interno può comunque essere esterno al poligono.
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/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)Esempio di richiesta
{
"vertices": [
{
"lat": 40.7128,
"lon": -74.006
},
{
"lat": 34.0522,
"lon": -118.2437
},
{
"lat": 41.8781,
"lon": -87.6298
}
]
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.polygon_bounding_box",
"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_items | 10000 |
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. |