Caja delimitadora de un polígono
La caja delimitadora de un polígono es el rectángulo más pequeño, alineado con los ejes de latitud y longitud, que contiene todos los vértices proporcionados.
Ejecutar — gratis
Esta calculadora examina las coordenadas y devuelve la esquina mínima, equivalente al suroeste, y la máxima, equivalente al noreste, sin consultar servicios cartográficos. Resulta útil para ajustar mapas, filtrar datos espaciales, crear índices, validar geometrías y resumir rápidamente una extensión geográfica. El cálculo es determinista, acepta coordenadas decimales comunes y emplea la misma lógica en el navegador y en la API.
Prepare los vértices del polígono
Proporcione al menos tres vértices, cada uno representado mediante valores numéricos lat y lon en grados decimales. La latitud debe estar entre -90 y 90, y la longitud entre -180 y 180. Los puntos pueden describir un polígono convexo o cóncavo, y se admite que el primer punto se repita al final para cerrar el anillo. A diferencia del cálculo de un área o centroide, la caja delimitadora no depende del sentido del recorrido ni exige que los vértices estén ordenados en sentido horario o antihorario. Cada punto contribuye de forma independiente a los extremos. Se requieren tres puntos porque la entrada representa un polígono y no una colección arbitraria. Utilice números, no textos con símbolos de grados, orientaciones cardinales ni coordenadas separadas por comas. Los registros inválidos, valores ausentes o no finitos y coordenadas fuera de rango se rechazan claramente. Se aceptan hasta 10,000 vértices por solicitud.
Interprete las esquinas devueltas
El resultado contiene min_corner y max_corner. La esquina mínima combina la menor latitud de toda la lista con la menor longitud; la máxima combina la mayor latitud con la mayor longitud. Juntas describen un rectángulo alineado con los ejes del plano de latitud y longitud. No tienen por qué ser vértices reales del polígono, pues la latitud mínima y la longitud mínima pueden aparecer en puntos diferentes. No se aplican margen, proyección, redondeo ni expansión geodésica, de modo que la respuesta conserva los extremos numéricos enviados. La longitud se interpreta literalmente en el intervalo convencional de -180 a 180. Por ello, un polígono que cruce el antimeridiano puede producir una caja numéricamente ancha, por ejemplo de -179 a 179 grados. Es un comportamiento deliberado: informa mínimos y máximos ordinarios en vez de elegir una vista cartográfica envolvente. Si su aplicación admite longitudes cíclicas, puede comparar después extensiones alternativas.
Aplique los límites en mapas y procesos de datos
Las cajas delimitadoras son resúmenes compactos y encajan al principio de muchos procesos espaciales. Una interfaz cartográfica puede usar ambas esquinas para establecer la vista inicial. Durante una importación, una base de datos puede guardar los cuatro extremos junto al polígono y utilizarlos como filtro rápido antes de ejecutar una prueba más costosa de pertenencia o intersección. El código de validación puede contrastar regiones de servicio con figuras recibidas, mientras que un análisis puede agrupar límites por extensión general. Recuerde que la caja contiene el polígono, pero no reproduce su forma: un punto situado dentro del rectángulo puede quedar fuera de un polígono cóncavo, y dos cajas superpuestas no demuestran que sus polígonos se corten. El cálculo trabaja en latitud y longitud, no en una proyección; por tanto, los anchos en grados no representan una distancia física constante. Puede usarlo gratis en el navegador o automatizar solicitudes por $0.002 por elemento mediante la API.
Qué puede hacer con ella
Ajustar la vista de un mapa
Convierta los vértices en esquinas mínima y máxima para que el mapa encuadre todo el límite.
Prefiltrar registros espaciales
Guarde extremos sencillos para seleccionar candidatos antes de realizar intersecciones exactas de polígonos.
Validar cobertura geográfica
Compare la extensión de un límite recibido con los intervalos permitidos en un proceso de importación.
Preguntas frecuentes
¿Cuánto cuesta el cálculo?
La API cuesta $0.002 por elemento y la calculadora del navegador es gratuita en esta página.
¿Importa el orden de los vértices?
No. El cálculo busca de forma independiente la latitud y la longitud mínimas y máximas.
¿Debo repetir el primer vértice al final?
No. Las listas abiertas y cerradas producen los mismos límites si sus extremos coinciden.
¿Cómo se tratan los polígonos que cruzan el antimeridiano?
Se usan extremos numéricos literales de -180 a 180, por lo que la caja puede ser ancha y no envolvente.
¿Es una prueba exacta de pertenencia al polígono?
No. El rectángulo contiene todos los vértices, pero un punto dentro de él aún puede quedar fuera del polígono.
Para desarrolladores — acceso por API
Todo lo de esta página está disponible por programación. Esta sección es para equipos que quieren integrarlo en sus sistemas; el resto puede usar la herramienta de arriba sin más.
Endpoint de API
¿Prefiere automatizarlo? Un POST autenticado crea la tarea; el resultado llega por webhook o enlace firmado. La misma capacidad también se ejecuta aquí en la web, por email y desde Telegram — y pronto también desde nuestra app.
Llámela desde su 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)Ejemplo de solicitud
{
"vertices": [
{
"lat": 40.7128,
"lon": -74.006
},
{
"lat": 34.0522,
"lon": -118.2437
},
{
"lat": 41.8781,
"lon": -87.6298
}
]
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.polygon_bounding_box",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}La API es asíncrona: la llamada devuelve un task_id al instante y el resultado llega por webhook. El polling está limitado a 1 req/s por tarea.
Precio
Precio publicado — sin tokens ni créditos inventados. Una tarea fallida no se cobra.
Límites
max_items | 10000 |
Errores
| HTTP | Código | Significado |
|---|---|---|
401 | unauthorized | API key ausente o inválida. |
402 | insufficient_balance | El saldo no cubre el precio de la tarea. |
404 | unknown_type | El tipo de tarea no existe. |
429 | rate_limited | Demasiadas peticiones. Use el webhook en vez de sondear. |