Como determinar a área de um polígono no OpenLayers 3

Índice:

Como determinar a área de um polígono no OpenLayers 3
Como determinar a área de um polígono no OpenLayers 3

Vídeo: Como determinar a área de um polígono no OpenLayers 3

Vídeo: Como determinar a área de um polígono no OpenLayers 3
Vídeo: Como Baixar E Instalar O Linux Fedora 2024, Maio
Anonim

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

7151572 1
7151572 1

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 =

7151572 2
7151572 2

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);

7151572 3
7151572 3

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);

7151572 4
7151572 4

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);

7151572 5
7151572 5

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²

7151572 6
7151572 6

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).

Recomendado: