Os polígonos são uma ótima maneira de representar a área aproximada do terreno em um mapa e geralmente é útil saber a área do polígono que você definiu. Isso é possível no OpenLayers 3; uma poderosa ferramenta de mapeamento de JavaScript.
Este artigo irá guiá-lo na adição de um polígono e, em seguida, obter a área calculada usando uma esfera.
Observe que você precisa ter um mapa funcional do OpenLayers instalado em uma página da web para seguir este artigo. Se você não tiver um, como fazer um mapa usando OpenLayers 3.
Passos
Etapa 1. Crie um recurso de polígono
A função construtora Polygon precisa de uma matriz de matrizes de coordenadas; defina este array em uma variável primeiro para que você possa usá-lo mais tarde. Simplesmente copie a seguinte linha de código em seu
elemento:
coordenadas var =
Etapa 2. Adicionar o recurso a uma camada vetorial
Para adicionar o polígono ao mapa, você precisa adicioná-lo a uma fonte, que você adiciona a uma camada vetorial, que pode então adicionar ao mapa:
var vector_layer = new ol.layer. Vector ({fonte: new ol.source. Vector ({features: [polygon_feature]})}) map.addLayer (vector_layer);
Etapa 3. Transforme a geometria do recurso para usar coordenadas
var current_projection = new ol.proj. Projection ({código: "EPSG: 4326"}); var new_projection = tile_layer.getSource (). getProjection (); polygon_feature.getGeometry (). transform (current_projection, new_projection);
Etapa 4. Crie uma esfera para realizar o cálculo
A esfera deve ser do tamanho da Terra (deve ter um raio de 6,3 metros). Tecnicamente, a esfera tem um raio igual ao semi-eixo maior do elipsóide WGS84.
var sphere = novo ol. Sphere (6378137);
Etapa 5. Use a esfera para calcular a área usando o método geodesicArea ()
Como o método fornece um valor em metros quadrados, divida por um milhão para obter os quilômetros quadrados.
var area_m = sphere.geodesicArea (coordenadas); var area_km = area_m / 1000/1000; console.log ('área:', área_km, 'km²'); // CONSOLE: área: 2317133.7166773956 km²
Etapa 6. Verifique se a resposta da área faz sentido
Sabemos que está correto porque parece ter aproximadamente o mesmo tamanho da Argélia, que tem uma área de 2.381, 741 km² (da Wikipedia).