Cómo determinar el área de un polígono en OpenLayers 3

Tabla de contenido:

Cómo determinar el área de un polígono en OpenLayers 3
Cómo determinar el área de un polígono en OpenLayers 3

Video: Cómo determinar el área de un polígono en OpenLayers 3

Video: Cómo determinar el área de un polígono en OpenLayers 3
Video: Instalación de FEDORA 37 | Paso a paso 2024, Mayo
Anonim

Los polígonos son una excelente manera de representar el área aproximada de tierra en un mapa y, a menudo, es útil conocer el área del polígono que ha definido. Esto es posible en OpenLayers 3; una poderosa herramienta de mapeo de JavaScript.

Este artículo lo guiará para agregar un polígono y luego calcular el área usando una esfera.

Tenga en cuenta que debe tener instalado un mapa de OpenLayers que funcione en una página web para seguir este artículo. Si no tiene uno, Cómo hacer un mapa usando OpenLayers 3.

Pasos

7151572 1
7151572 1

Paso 1. Cree una entidad poligonal

La función constructora Polygon necesita una matriz de matrices de coordenadas; primero defina esta matriz en una variable para que pueda usarla más tarde. Simplemente copie la siguiente línea de código en su

elemento:

coordenadas var =

7151572 2
7151572 2

Paso 2. Agregue la característica a una capa vectorial

Para agregar el polígono al mapa, debe agregarlo a una fuente, que agrega a una capa vectorial, que luego puede agregar al mapa:

var vector_layer = new ol.layer. Vector ({fuente: new ol.source. Vector ({características: [polygon_feature]})}) map.addLayer (vector_layer);

7151572 3
7151572 3

Paso 3. Transforma la geometría de la entidad 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 (proyección_actual, nueva_proyección);

7151572 4
7151572 4

Paso 4. Cree una esfera para realizar el cálculo

La esfera debe ser del tamaño de la Tierra (debe tener un radio de 6,3 metros). Técnicamente, la esfera tiene un radio igual al semieje mayor del elipsoide WGS84.

var esfera = nueva esfera ol (6378137);

7151572 5
7151572 5

Paso 5. Usa la esfera para calcular el área usando el método geodesicArea ()

Debido a que el método proporciona un valor en metros cuadrados, divida por un millón para obtener kilómetros cuadrados.

var area_m = esfera.geodesicArea (coordenadas); var area_km = area_m / 1000/1000; console.log ('área:', area_km, 'km²'); // CONSOLA: área: 2317133.7166773956 km²

7151572 6
7151572 6

Paso 6. Verifica que la respuesta del área tenga sentido

Sabemos que es correcto porque parece tener aproximadamente el mismo tamaño que Argelia, que tiene un área de 2, 381, 741 km² (de Wikipedia).

Recomendado: