Caixa delimitadora de GeoJSON
Obtenha a caixa delimitadora, o centro, a área e o comprimento de qualquer GeoJSON, nas duas ordens de coordenadas.
A Caixa delimitadora de GeoJSON funciona inteiramente no seu navegador. O GeoJSON colado é analisado no seu dispositivo e nunca é enviado.
Abrir o Visualizador de GeoJSON
Sobre Caixa delimitadora GeoJSON
Caixa delimitadora de GeoJSON lê qualquer GeoJSON — um Feature, um FeatureCollection, uma geometria solta, um GeometryCollection ou mesmo um array de coordenadas — e devolve os quatro números que o cercam. Esses números são emitidos duas vezes de propósito. A RFC 7946 define a ordem do bbox de GeoJSON como oeste, sul, leste, norte, com a longitude primeiro, enquanto o Leaflet e muitas APIs de mapas querem sul, oeste, norte, leste, com a latitude primeiro. Confundi-los é um dos jeitos mais comuns de acabar olhando o hemisfério errado. Área e comprimento são calculados na esfera e não no plano de latitude e longitude.
Recursos
- Lê Features, FeatureCollections, geometrias e arrays de coordenadas
- Emite o bbox nas ordens do GeoJSON e de latitude/longitude
- A caixa também sai como Feature de GeoJSON pronto para colar
- Ponto central da caixa em latitude e longitude
- Largura e altura da caixa como distâncias reais no terreno
- Área esférica de polígonos com os buracos descontados
Como usar Caixa delimitadora GeoJSON
- Cole seu GeoJSON, ou carregue o exemplo para ver o formato da saída
- Leia os limites oeste, sul, leste e norte
- Copie o bbox na ordem de coordenadas que sua biblioteca espera
- Use a saída de polígono se quiser desenhar a caixa em um mapa
Exemplo
Entrada
{"type":"Polygon","coordinates":[[[-0.1757,51.5073],[-0.1502,51.5073],[-0.1502,51.5122],[-0.1757,51.5122],[-0.1757,51.5073]]]}
Saída
[-0.1757, 51.5073, -0.1502, 51.5122]
A ordem do GeoJSON põe a longitude primeiro, o inverso da ordem usada por quase todas as bibliotecas de mapas.
Erros comuns e solução de problemas
- Um mapa desenha a caixa no lugar errado. — Quase certamente você usou a ordem de coordenadas errada. O fitBounds do Leaflet quer a latitude primeiro; a propriedade bbox do GeoJSON quer a longitude primeiro. Por isso as duas aparecem separadas aqui.
- A área é bem menor que a de um cálculo plano. — O número esférico é o correto. Um grau de longitude tem 111 km no equador mas só 78 em Londres, então tratar graus como grade uniforme infla a área em latitudes altas.
- O JSON é analisado mas nenhuma coordenada é encontrada. — A estrutura não tem nenhum array de coordenadas. Verifique se os features têm um objeto geometry e não apenas properties, o que acontece quando uma exportação perde a coluna geométrica.
Perguntas frequentes
- Qual ordem de coordenadas um bbox de GeoJSON usa?
- Oeste, sul, leste, norte: ou seja, longitude mínima, latitude mínima, longitude máxima, latitude máxima. GeoJSON põe a longitude antes da latitude no formato inteiro, o inverso da convenção falada.
- Por que minha biblioteca de mapas quer o bbox em outra ordem?
- Leaflet, Google Maps e várias outras usam a latitude primeiro porque é assim que coordenadas são ditas e escritas. O GeoJSON segue a convenção x-depois-y da geometria. Aqui as duas ordens são emitidas.
- Como a área do polígono é calculada?
- Com a fórmula do excesso esférico sobre uma esfera de raio terrestre médio, que considera os meridianos convergindo para os polos. Anéis internos são subtraídos, então um polígono com buracos informa a área líquida.
- Meu GeoJSON é enviado para ser medido?
- Não. O documento é analisado e medido no seu navegador, então dados de localização possivelmente sensíveis nunca cruzam a rede.
Ferramentas relacionadas
Todas as ferramentas de ArrayKit