Caixa delimitadora ponto-raio
Um raio de 5000 m em torno de 40,7128, −74,006 vira os mínimos e máximos de coordenadas de uma caixa que envolve todo o círculo, pronta para um filtro por faixas antes da conferência da distância exata. Grátis no seu navegador.
- Grátis
- Funciona no seu navegador
- Sem cadastro
- Seus dados não saem do seu aparelho
Executar grátis
Exemplo resolvido
- Latitude
- 40,7128
- Longitude
- -74,006
- Raio
- 5.000
- Raio m
- 5.000
- Raio da Terra m
- 6.371.000
- Delta lat (°)
- 0,0449660803
- Lat. mín.
- 40,6678339197
Tiles de mapa, consultas Overpass, pré-filtros espaciais de bancos de dados e pré-visualizações de cerca geográfica móvel precisam desse mesmo envelope min/max antes de refinar com uma checagem real de distância de círculo máximo.
Do círculo de busca ao retângulo de coordenadas
Muitos sistemas guardam e consultam lugares por faixas de latitude e longitude, e não por distância circular. Quando você só tem um centro e um raio, como o raio de entrega de uma loja ou a área de busca de um evento, precisa do retângulo que envolve esse círculo. A conta usa uma Terra esférica de raio médio 6371000 m: o raio angular é o raio em metros dividido por essa constante, e a meia altura em latitude é esse ângulo em graus. A meia largura em longitude é o mesmo ângulo dividido pelo cosseno da latitude central, para que os metros fiquem parecidos no sentido leste-oeste.
Quando usar e cuidados comuns
Use a caixa como pré-filtro rápido numa consulta por faixas e depois confira a distância real só na lista curta, porque os cantos do retângulo ficam fora do círculo. Perto dos polos a largura cresce muito; se o círculo chega a um polo, a caixa cobre todas as longitudes. Quando a borda passa pelo meridiano de 180°, os valores são normalizados e um indicador avisa que a borda oeste pode ser maior que a leste. Um raio negativo é recusado, em vez de virar um valor absoluto que esconderia um erro no seu sistema, e o raio zero é aceito.
Casos de uso
Pré-filtros de localizador de lojas e raio de entrega
Converta o centro de uma loja e o raio de entrega em metros em min/max lat/lon para cláusulas SQL BETWEEN, depois refine com uma checagem real de distância na lista curta.
Janela de visualização de mapa e pré-carga de tiles
Dado um pino e uma distância de buffer, calcule a caixa delimitadora usada para pedir tiles de mapa, marcadores ou features Overpass sem subcobrir o círculo.
Perguntas frequentes
Em que unidades está o raio?
Em metros. Converta quilômetros multiplicando por 1000 (por exemplo 5 km → 5000).
A caixa delimitadora é a mesma coisa que o círculo?
Não. A caixa encerra por completo o círculo em um modelo esférico da Terra; pontos nos cantos do retângulo podem ficar fora do raio. Use a caixa como pré-filtro e depois aplique um teste de distância se precisar de um corte circular duro.
Qual modelo da Terra é usado?
É o padrão comum em GIS para envelopes rápidos; não é um buffer geodésico completo do elipsoide WGS84.
A calculadora de caixa delimitadora ponto-raio é gratuita?
A ferramenta do navegador é gratuita e roda localmente.
Por que a caixa fica bem mais larga perto dos polos?
Porque os meridianos convergem. A meia largura leste-oeste é a meia altura em latitude dividida pelo cosseno da latitude central, então ela cresce rumo aos polos. Se o círculo alcança um polo, a caixa cobre todas as longitudes, de −180 a 180.
Ferramentas relacionadas
Para desenvolvedores — acesso via API
Tudo nesta página está disponível via API. Esta seção é para equipes que querem integrar a ferramenta aos próprios sistemas; quem não precisa disso pode simplesmente usar a ferramenta acima.
Endpoint
Autenticação por token Bearer. Um único POST coloca a tarefa na fila; o resultado chega por webhook ou link assinado.
Chame do seu código
curl -X POST https://api.kit.forhosting.com/geo/bounding-box \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"lat":40.7128,"lon":-74.006,"radius":5000}'const res = await fetch("https://api.kit.forhosting.com/geo/bounding-box", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"lat": 40.7128,
"lon": -74.006,
"radius": 5000
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/geo/bounding-box",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"lat": 40.7128,
"lon": -74.006,
"radius": 5000
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/geo/bounding-box", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"lat":40.7128,"lon":-74.006,"radius":5000}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"lat":40.7128,"lon":-74.006,"radius":5000}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/geo/bounding-box", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemplo de requisição
{
"lat": 40.7128,
"lon": -74.006,
"radius": 5000
}Exemplo de resposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "geo.bounding_box",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}A API é assíncrona: cada chamada devolve um task_id na hora. Se preferir polling, consulte o status a até 1 requisição por segundo.
Preço
Preço publicado, sem tokens nem créditos escondidos. Tarefa que falha não é cobrada.
Limites
min_lat | -90 |
max_lat | 90 |
min_lon | -180 |
max_lon | 180 |
max_radius_m | 20037508.342789244 |
Erros
| HTTP | Código | O que significa |
|---|---|---|
401 | unauthorized | Token ausente ou inválido. Confira o header Authorization. |
402 | insufficient_balance | Saldo insuficiente para esta tarefa. Faça uma recarga e tente de novo. |
404 | unknown_type | Esse tipo de tarefa não existe. Confira o campo type no catálogo. |
429 | rate_limited | Muitas requisições em pouco tempo. Espere um instante e tente de novo. |
Notas técnicas
Uma calculadora de caixa delimitadora ponto-raio transforma um centro geográfico e uma distância no menor retângulo alinhado aos eixos em latitude e longitude que encerra por completo a área de busca circular. Informe latitude e longitude em graus decimais do centro, mais um raio não negativo em metros; a ferramenta devolve min_lat, max_lat, min_lon, max_lon, um array bbox no estilo GeoJSON [west, south, east, north], o deslocamento angular de latitude e notas passo a passo do modelo esférico de raio médio da Terra. Raios negativos são rejeitados com invalid_input para que chamadores não enviem uma janela de busca invertida ou sem sentido. O caminho é aritmética determinística pura — sem rede, sem sementes aleatórias, sem dependência de relógio — de modo que o executor gratuito do navegador e a API pré-paga devolvem o mesmo JSON após o arredondamento decimal fixo toda vez que você chama.
O que é uma caixa delimitadora ponto-raio e quando você precisa dela
Perto dos polos o cosseno encolhe e os trechos de longitude se alargam; se o círculo atinge um polo ou a semi-largura de longitude atinge ou excede cento e oitenta graus, esta ferramenta reporta um trecho de longitude completo de menos cento e oitenta a mais cento e oitenta para que a caixa nunca subcubra o círculo. Professores, estudantes de GIS e engenheiros de backend se importam que um raio negativo seja erro duro: uma distância com sinal não é raio de busca, e tomar o valor absoluto em silêncio esconderia bugs do cliente. Raio zero é permitido e produz uma caixa degenerada igual ao centro, útil para testes unitários e para chamadores que limitam buffers vazios. Uma caixa delimitadora geográfica é o retângulo definido por uma latitude sul, uma latitude norte, uma longitude oeste e uma longitude leste. Quando a única especificação que você tem é um ponto central e um raio — raio de localizador de lojas, alcance de entrega, busca de eventos ou buffer de coleira de fauna — ainda precisa desse retângulo para sistemas que indexam ou consultam por intervalos de latitude e longitude em vez de por distância circular. A conversão usa uma Terra esférica de raio médio 6,371,000 metros: o raio angular é o raio físico dividido por essa constante; a semi-largura de latitude é esse ângulo em graus; a semi-largura de longitude é o mesmo ângulo dividido pelo cosseno da latitude do centro para que os metros permaneçam aproximadamente iguais na extensão leste-oeste. Quando a borda oeste ou leste bruta cruza o antimeridiano, as longitudes são normalizadas no intervalo fechado de menos cento e oitenta a mais cento e oitenta e um sinal marca que min_lon pode ser maior que max_lon após o wrap — o caso clássico do antimeridiano que bibliotecas de mapa já tratam.
Como chamar a API e o que volta
Latitude e longitude absolutas fora desses intervalos fechados falham na validação antes de qualquer trig. Envie um corpo JSON com três números finitos obrigatórios: lat (aliases latitude e center_lat) em graus de menos noventa a noventa, lon (aliases longitude, lng e center_lon) em graus de menos cento e oitenta a cento e oitenta, e radius (aliases radius_m e r) em metros, não negativo e não maior que metade da circunferência da Terra. Em sucesso a resposta ecoa lat, lon e radius_m arredondados; define earth_radius_m na constante 6371000; define delta_lat_deg na semi-largura de latitude em graus; define min_lat, max_lat, min_lon e max_lon da caixa envolvente; define bbox na quádrupla min_lon, min_lat, max_lon, max_lat na ordem oeste-sul-leste-norte; define os booleanos full_longitude e crosses_antimeridian; define message em um resumo curto; e define steps em um array ordenado de linhas de derivação que você pode mostrar em logs ou UI. Validação falha — campos ausentes, números não finitos, latitude ou longitude fora do intervalo, raio negativo ou raio excessivo — retorna invalid_input e nunca é cobrada. O preço é um flat US$ 0,002 por pedido bem-sucedido com unidade item e preço unitário marginal zero.
Dicas práticas, limites e buscas relacionadas
Prefira metros para o raio para que clientes não misturem quilômetros e milhas estatutárias; converta quilômetros multiplicando por mil antes da chamada. Lembre-se de que uma caixa de graus alinhada aos eixos é um pré-filtro: pontos nos cantos do retângulo podem estar mais longe que o raio do centro, então refine com haversine ou distância geodésica se precisar de um corte circular duro. Esta página mira quem busca caixa delimitadora ponto raio, min max lat lon a partir de raio ou calculadora de envelope de cerca geográfica; não é ferramenta de distância de círculo máximo, nem codificador geohash, nem buffer de polígono. Prefira esta capacidade quando já tem um centro e metros e só precisa do envelope retangular; se sua fonte é um polígono ou conjunto multiponto, calcule um bbox multiponto verdadeiro. Mantenha o centro dentro dos intervalos publicados de latitude e longitude; não envie coordenadas web-mercator ou projetadas. Perto dos polos espere full_longitude true para raios modestos porque graus de longitude encolhem a zero metros. Para consultas centradas no Pacífico perto do antimeridiano, verifique crosses_antimeridian e divida a consulta em dois intervalos de longitude quando seu banco de dados não puder expressar um intervalo envolvido. Exemplos emparelhados: Nova York perto de latitude 40.71 e longitude menos 74.01 com raio de cinco quilômetros para busca de lojas em escala urbana; uma chamada de raio zero que devolve min e max iguais ao centro; e um raio deliberadamente negativo que demonstra o caminho duro invalid_input. Tarefas falhas que retornam invalid_input não consomem saldo pré-pago, o que mantém scripts exploratórios baratos quando aprendizes enviam raios negativos de propósito. Checagens de ida e volta são fáceis: em latitudes médias recalcule o delta de latitude como raio sobre R vezes cento e oitenta sobre pi e confirme que min_lat e max_lat batem dentro do arredondamento publicado de doze decimais.
Casos de integração
Testes unitários para cercas geográficas e APIs espaciais
Gere casos determinísticos positivos, de raio zero, polares e de raio negativo para fixtures golden em código de cerca geográfica móvel e de backend.
Perguntas técnicas
O que acontece perto dos polos ou do antimeridiano?
Se o círculo atinge um polo ou a semi-largura de longitude é pelo menos 180°, full_longitude é true e as longitudes abrangem −180 a 180. Se a caixa envolve o antimeridiano, crosses_antimeridian é true e min_lon pode ser maior que max_lon após a normalização.