OpenLayersте көп бурчтуктун аянтын кантип аныктаса болот 3

Мазмуну:

OpenLayersте көп бурчтуктун аянтын кантип аныктаса болот 3
OpenLayersте көп бурчтуктун аянтын кантип аныктаса болот 3

Video: OpenLayersте көп бурчтуктун аянтын кантип аныктаса болот 3

Video: OpenLayersте көп бурчтуктун аянтын кантип аныктаса болот 3
Video: ☣️ Kaiju Paradise Update V3.1 Part 1.5: Gotta Catch 'Em All Part 5 2024, Апрель
Anonim

Полигондор - жердин болжолдуу аянтын картада көрсөтүүнүн эң сонун жолу, жана сиз аныктаган полигондун аянтын билүү көп учурда пайдалуу. Бул OpenLayers 3те мүмкүн; күчтүү JavaScript карта куралы.

Бул макала сизге көп бурчтукту кошууга, андан кийин шарды колдонуп эсептелген аянтты алууга жардам берет.

Бул макаланы ээрчүү үчүн веб -баракчада OpenLayers жумушчу картасы орнотулушу керек экенин эске алыңыз. Эгерде сизде жок болсо, OpenLayersти колдонуу менен картаны кантип түзүү керек 3.

Кадамдар

7151572 1
7151572 1

Кадам 1. Көп бурчтукту түзүү

Polygon конструктору функциясы координат массивдеринин массивине муктаж; бул массивди адегенде өзгөрмөлүү кылып аныктаңыз, кийин аны колдоно аласыз. Төмөнкү кодду өзүңүзгө көчүрүңүз

элемент:

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

7151572 2
7151572 2

Кадам 2. Функцияны вектордук катмарга кошуңуз

Көп бурчтукту картага кошуу үчүн, аны булакка кошуу керек, аны вектордук катмарга кошуп, анан картка кошо аласыз:

var vector_layer = new ol.layer. Vector ({булак: new ol.source. Vector ({өзгөчөлүктөр: [polygon_feature]})})) map.addLayer (vector_layer);

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 = kür.geodesicArea (координаттар); var area_km = area_m / 1000/1000; console.log ('аймак:', аймак_км, 'км²'); // КОНСОЛ: аянты: 2317133.7166773956 км²

7151572 6
7151572 6

Кадам 6. Аймактык жооптун мааниси бар экенин текшериңиз

Биз бул туура экенин билебиз, анткени ал болжол менен 2, 381, 741 км² аянты бар Алжирге окшош (Википедиядан).

Сунушталууда: