Ako určiť plochu mnohouholníka v otvorených vrstvách 3?
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ý JavaScript mapovať nástroj.
Tento článok vás prevedie pridaním mnohouholníka a potom vypočítaním plochy pomocou gule.
Prosím na vedomie, že musíte mať pracovné OpenLayers máp nainštalovaný na webovej stránke sledovať tento článok. Ak ho nemáte, Ako vytvoriť mapu pomocou OpenLayers 3.
- 1Vytvorte 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
<script></script> element:
.var súradnice = [[10, 20], [20, 30], [30, 20], [20, 10]]; var polygon_feature = new ol.Feature ({geometry: new ol.geom.Polygon ([coordinates])});
- 2Pridajte 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 ({source: new ol.source.Vector ({features: [polygon_feature]}))} map.addLayer (vector_layer);
- 3Transformujte 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);
- 4Na výpočet vytvorte guľu. Guľa by mala mať veľkosť Zeme (mala by mať polomer 6,3 m). Technicky má guľa polomer rovný polovici hlavnej osi elipsoidu WGS84.
var sféra = nová ol.Sphere (6378137);
- 5Pomocou gule vypočítajte plochu pomocou metódy geodesicarea (). Pretože metóda poskytuje hodnotu v metroch štvorcových, vydelte ju miliónom a získajte 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²
- 6Skontrolujte, či odpoveď v danej 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 2381 741 km² (z Wikipédie).
- Nebojte sa používať dokumentáciu API OpenLayers 3: Aj keď je to spočiatku zdrvujúce, je nevyhnutné naučiť sa, ako s OpenLayers robiť nové veci.
Prečítajte si tiež: Ako nainštalovať Kubernetes na Ubuntu?