Как да определим площта на многоъгълник в OpenLayers 3

Съдържание:

Как да определим площта на многоъгълник в OpenLayers 3
Как да определим площта на многоъгълник в OpenLayers 3

Видео: Как да определим площта на многоъгълник в OpenLayers 3

Видео: Как да определим площта на многоъгълник в OpenLayers 3
Видео: 20 Things You MUST DO After Installing Fedora 38 (RIGHT NOW!) 2024, Може
Anonim

Полигоните са чудесен начин да представите приблизителната площ на земята на карта и често е полезно да знаете площта на многоъгълника, който сте определили. Това е възможно в OpenLayers 3; мощен инструмент за картографиране на JavaScript.

Тази статия ще ви помогне да добавите многоъгълник, след което да изчислите площта с помощта на сфера.

Моля, обърнете внимание, че трябва да имате работеща карта на OpenLayers, инсталирана на уеб страница, за да следвате тази статия. Ако нямате такъв, Как да направите карта с помощта на OpenLayers 3.

Стъпки

7151572 1
7151572 1

Стъпка 1. Създайте функция на многоъгълник

Конструкторната функция Polygon се нуждае от масив от координатни масиви; първо определете този масив в променлива, за да можете да го използвате по -късно. Просто копирайте следния ред код във вашия

елемент:

var координати =

7151572 2
7151572 2

Стъпка 2. Добавете характеристиката към векторния слой

За да добавите многоъгълника към картата, трябва да го добавите към източник, който добавяте към векторен слой, който след това можете да добавите към картата:

var vector_layer = нов ol.layer. Vector ({източник: нов ol.source. Vector ({функции: [функция на многоъгълник]})}}) map.addLayer (вектор_слой);

7151572 3
7151572 3

Стъпка 3. Трансформирайте геометрията на функцията, за да използвате координати

var current_projection = new ol.proj. Projection ({код: "EPSG: 4326"}); var new_projection = tile_layer.getSource (). getProjection (); polygon_feature.getGeometry (). transform (current_projection, new_projection);

7151572 4
7151572 4

Стъпка 4. Създайте сфера, за да извършите изчислението

Сферата трябва да е с размерите на Земята (трябва да е с радиус 6,3 метра). Технически сферата има радиус, равен на полу-голямата ос на елипсоида WGS84.

var сфера = нов ol. Sphere (6378137);

7151572 5
7151572 5

Стъпка 5. Използвайте сферата, за да изчислите площта, използвайки метода geodesicArea ()

Тъй като методът осигурява стойност в квадратни метри, разделете на милион, за да получите квадратни километри.

var area_m = sphere.geodesicArea (координати); var area_km = area_m / 1000 /1000; console.log ('area:', area_km, 'km²'); // КОНЗОЛ: площ: 2317133.7166773956 км²

7151572 6
7151572 6

Стъпка 6. Проверете дали отговорът на областта има смисъл

Знаем, че е правилно, защото изглежда приблизително със същия размер като Алжир, който има площ от 2, 381, 741 km² (от Уикипедия).

Препоръчано: