Polygóny sú skvelým spôsobom, ako znázorniť približnú plochu zeme na mape, a často je užitočné poznať oblasť mnohouholníka, ktorý ste definovali. To je možné v OpenLayers 3; výkonný mapovací nástroj JavaScript.
Tento článok vás prevedie pridaním mnohouholníka a potom vypočítaním plochy pomocou gule.
Podľa tohto článku musíte mať na webovej stránke nainštalovanú funkčnú mapu OpenLayers. Ak ho nemáte, Ako vytvoriť mapu pomocou OpenLayers 3.
Kroky
Krok 1. Vytvorte funkciu mnohouholníka
Funkcia polygónového konštruktora potrebuje rad súradnicových polí; najskôr definujte toto pole v premennej, aby ste ho mohli použiť neskôr. Jednoducho skopírujte nasledujúci riadok kódu do svojho
element:
var súradnice =
Krok 2. Pridajte funkciu do vektorovej vrstvy
Ak chcete pridať polygón na mapu, musíte ho pridať do zdroja, ktorý pridáte do vektorovej vrstvy, ktorú potom môžete pridať na mapu:
var vector_layer = new ol.layer. Vector ({zdroj: new ol.source. Vector ({features: [polygon_feature]}))} map.addLayer (vector_layer);
Krok 3. Transformujte geometriu objektu tak, aby používal súradnice
var current_projection = new ol.proj. Projection ({code: "EPSG: 4326"}); var new_projection = tile_layer.getSource (). getProjection (); polygon_feature.getGeometry (). transform (current_projection, new_projection);
Krok 4. Vytvorte guľu na výpočet
Guľa by mala mať veľkosť Zeme (mala by mať polomer 6,3 m). Technicky má guľa polomer rovný polovičnej osi elipsoidu WGS84.
var sphere = new ol. Sphere (6378137);
Krok 5. Pomocou gule vypočítajte plochu pomocou metódy geodesicArea ()
Pretože metóda poskytuje hodnotu v metroch štvorcových, vydelením miliónom získate kilometre štvorcové.
var area_m = sphere.geodesicArea (súradnice); var area_km = area_m / 1000 /1000; console.log ('area:', area_km, 'km²'); // KONZOLA: rozloha: 2317133.7166773956 km²
Krok 6. Skontrolujte, či odpoveď v oblasti dáva zmysel
Vieme, že je to správne, pretože sa zdá, že má približne rovnakú veľkosť ako Alžírsko, ktoré má rozlohu 2 381 741 km² (z Wikipédie).