Cuadrícula desde caja delimitadora
Convierta una caja delimitadora geográfica en una malla completa y regular sin instalar software SIG ni programar bucles de coordenadas.
Ejecutar — gratis
Indique los bordes oeste, sur, este y norte en grados decimales, junto con el tamaño de celda cuadrada. El resultado muestra las dimensiones de la cuadrícula y la fila, la columna y los límites exactos de cada celda. Las celdas parten de la esquina suroeste, siguen un orden previsible y se recortan en los bordes opuestos para cubrir la caja solicitada con exactitud.
Defina la caja delimitadora y el tamaño de celda
Comience con una caja convencional de longitud y latitud. Oeste y este representan longitudes entre -180 y 180, mientras que sur y norte representan latitudes entre -90 y 90. Este debe ser mayor que oeste, y norte debe ser mayor que sur. La capacidad no interpreta un valor oeste mayor que este como un cruce del antimeridiano, porque ese ajuste volvería menos claros el orden de las columnas y el recorte de los bordes. Defina cell_size en grados decimales. El mismo valor controla la anchura y la altura, por lo que se crean cuadrados angulares, no cuadrados de igual superficie física. Un grado de longitud abarca una distancia menor cerca de los polos. Esta cuadrícula resulta adecuada para particiones geográficas transparentes, teselas, muestreos y preparación de visualizaciones basadas en límites angulares. Si necesita distancias o áreas equivalentes, proyecte primero la extensión a un sistema plano apropiado. Elija un tamaño que ofrezca el detalle necesario sin generar una salida excesiva. La solicitud se rechaza antes de asignar memoria si supera las 10,000 celdas, lo que mantiene previsibles el navegador, la API y el tratamiento posterior de JSON.
Comprenda la cobertura, el recorte y el orden
La malla se ancla exactamente en la esquina suroeste indicada; no se alinea con un origen global oculto. La fila cero comienza en sur y la columna cero en oeste. Cada celda normal avanza cell_size hacia el norte y el este. Cuando la anchura o la altura de la caja no es múltiplo exacto de ese tamaño, las celdas de la última columna o fila se acortan y recortan en este o norte. Ninguna celda sobresale de la caja solicitada y no queda ningún hueco interior. La respuesta incluye rows, columns y cell_count para que pueda validar el volumen previsto sin volver a contar el array cells. Las celdas aparecen por filas: primero todas las columnas de la fila más meridional y después cada fila hacia el norte. Cada registro contiene una fila y columna de base cero, además de cuatro límites numéricos llamados west, south, east y north. Las coordenadas se normalizan a doce decimales para eliminar artefactos como 0.30000000000000004, causados por la suma reiterada en coma flotante. Utilice directamente los límites devueltos al dibujar rectángulos, crear polígonos, etiquetar teselas o dividir otro conjunto de datos.
Use una malla determinista en sus flujos de datos
Una malla generada sirve cuando un área de estudio continua debe convertirse en unidades rectangulares repetibles. Una aplicación cartográfica puede transformar cada registro de límites en un anillo poligonal. Un flujo de muestreo puede asignar una tarea a cada fila y columna. Una canalización analítica puede comprobar puntos contra las celdas, agregar registros por tesela o dividir una consulta grande en peticiones geográficas menores. Como el origen es la caja suministrada, dos llamadas solo producen identificadores coincidentes cuando west, south, east, north y cell_size son idénticos; conserve esos datos junto con las filas y columnas almacenadas. La operación es determinista y no utiliza proveedores cartográficos, red, semillas aleatorias, reloj ni estado compartido. Una entrada JSON idéntica produce la misma geometría y orden. Esta capacidad devuelve límites, no GeoJSON, para mantener una respuesta compacta e independiente del formato SIG. No calcula centroides, áreas, vecinos, pertenencia de puntos, intersecciones ni transformaciones de coordenadas. Esos pasos pueden realizarse después a partir de los límites explícitos. La ejecución interactiva en el navegador es gratuita; cada solicitud correcta de API aplica el precio base publicado de $0.002.
Qué puede hacer con ella
Particione una extensión cartográfica
Cree teselas estables por fila y columna para agrupar consultas espaciales o distribuir tareas geográficas.
Prepare unidades de muestreo
Genere unidades rectangulares completas sobre una zona de estudio antes de seleccionar o asignar muestras de campo.
Dibuje una malla superpuesta
Convierta cada registro de límites en un rectángulo o polígono para una capa SIG o de mapa web.
Preguntas frecuentes
¿Cuánto cuesta una solicitud de API?
Cada solicitud correcta de API cuesta $0.002. También puede ejecutar gratuitamente el mismo cálculo determinista en el navegador.
¿Qué unidad utiliza cell_size?
Grados decimales. Controla tanto la anchura longitudinal como la altura latitudinal; las celdas son cuadrados angulares, no superficies terrestres iguales.
¿Qué ocurre si la caja no es divisible por el tamaño de celda?
La última fila y columna se recortan en los límites norte y este, con cobertura completa y sin extenderse fuera de la caja.
¿Puede la caja cruzar el antimeridiano?
No. Este debe ser mayor que oeste. Divida una extensión que cruce el antimeridiano en dos cajas convencionales.
¿En qué orden se devuelven las celdas?
Se ordenan por filas: comienzan en la celda suroeste, avanzan hacia el este y después continúan hacia el norte.
¿Por qué existe un límite de 10,000 celdas?
Limita el cálculo y el tamaño de la respuesta. Aumente cell_size o divida la caja si una solicitud supera ese máximo.
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/grid-from-bbox \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"west":-2,"south":50,"east":0.5,"north":52,"cell_size":1}'const res = await fetch("https://api.kit.forhosting.com/geo/grid-from-bbox", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"west": -2,
"south": 50,
"east": 0.5,
"north": 52,
"cell_size": 1
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/grid-from-bbox",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"west": -2,
"south": 50,
"east": 0.5,
"north": 52,
"cell_size": 1
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/grid-from-bbox", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"west":-2,"south":50,"east":0.5,"north":52,"cell_size":1}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"west":-2,"south":50,"east":0.5,"north":52,"cell_size":1}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/grid-from-bbox", 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
{
"west": -2,
"south": 50,
"east": 0.5,
"north": 52,
"cell_size": 1
}Ejemplo de respuesta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.grid_from_bbox",
"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_cells | 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. |