OpenLayers -da ko'pburchakning maydonini qanday aniqlash mumkin 3

Mundarija:

OpenLayers -da ko'pburchakning maydonini qanday aniqlash mumkin 3
OpenLayers -da ko'pburchakning maydonini qanday aniqlash mumkin 3

Video: OpenLayers -da ko'pburchakning maydonini qanday aniqlash mumkin 3

Video: OpenLayers -da ko'pburchakning maydonini qanday aniqlash mumkin 3
Video: Ubuntu ustanovka qilish dual boot (windows va ubuntu) 2024, May
Anonim

Ko'pburchaklar - bu erning taxminiy maydonini xaritada aks ettirishning ajoyib usuli va ko'pincha siz aniqlagan ko'pburchakning maydonini bilish foydali bo'ladi. Bu OpenLayers 3 da mumkin; kuchli JavaScript xaritalash vositasi.

Ushbu maqola sizga ko'pburchak qo'shishga, so'ngra shar yordamida hisoblangan maydonni olishga yordam beradi.

E'tibor bering, ushbu maqolaga amal qilish uchun veb -sahifada OpenLayers ishchi xaritasi o'rnatilgan bo'lishi kerak. Agar sizda yo'q bo'lsa, OpenLayers yordamida xaritani qanday qilish kerak 3.

Qadamlar

7151572 1
7151572 1

Qadam 1. Ko'pburchak xususiyatini yarating

Polygon konstruktor funksiyasi koordinatali massivlar massiviga muhtoj; bu qatorni avval o'zgaruvchida aniqlang, shunda siz undan keyin foydalanishingiz mumkin. Quyidagi kod qatorini o'zingizga nusxa ko'chiring

element:

var koordinatalari =

7151572 2
7151572 2

Qadam 2. Xususiyatni vektor qatlamiga qo'shing

Ko'pburchakni xaritaga qo'shish uchun siz uni manbaga qo'shishingiz kerak, uni vektor qatlamiga qo'shasiz va uni xaritaga qo'shishingiz mumkin:

var vector_layer = yangi ol.layer. Vector ({manba: new ol.source. Vector ({xususiyatlari: [polygon_feature]})})) map.addLayer (vektor_layer);

7151572 3
7151572 3

Qadam 3. Xususiyat geometriyasini koordinatalarni ishlatish uchun o'zgartiring

var current_projection = new ol.proj. Projection ({kod: "EPSG: 4326"}); var new_projection = tile_layer.getSource (). getProjection (); polygon_feature.getGeometry (). aylantirish (joriy_projeksiyon, yangi_projeksiyon);

7151572 4
7151572 4

Qadam 4. Hisoblashni amalga oshirish uchun sfera yarating

Sfera Yerning o'lchamiga teng bo'lishi kerak (radiusi 6,3 metr). Texnik jihatdan, shar radiusi WGS84 ellipsoidining yarim katta o'qiga teng.

var sfera = yangi ol. Sphere (6378137);

7151572 5
7151572 5

Qadam 5. GeodesicArea () usuli yordamida maydonni hisoblash uchun sferadan foydalaning

Chunki usul kvadrat metrda qiymat beradi, kvadrat kilometrni olish uchun millionga bo'ling.

var maydon_m = sfera.geodezik maydon (koordinatalar); var maydoni_km = maydon_m / 1000/1000; console.log ('maydon:', maydon_km, 'km²'); // KONSOL: maydoni: 2317133.7166773956 km²

7151572 6
7151572 6

Qadam 6. Mintaqaviy javob mantiqiy ekanligini tekshiring

Biz bu to'g'ri ekanligini bilamiz, chunki u 2, 381, 741 km² maydonga ega bo'lgan Jazoir bilan bir xil o'lchamda ko'rinadi (Vikipediyadan).

Tavsiya: