Monikulmion alueen määrittäminen OpenLayersissa 3

Sisällysluettelo:

Monikulmion alueen määrittäminen OpenLayersissa 3
Monikulmion alueen määrittäminen OpenLayersissa 3

Video: Monikulmion alueen määrittäminen OpenLayersissa 3

Video: Monikulmion alueen määrittäminen OpenLayersissa 3
Video: Как сделать стяжку с шумоизоляцией в квартире. #18 2024, Saattaa
Anonim

Monikulmiot ovat loistava tapa esittää kartalla arvioitu maa -alue, ja usein on hyödyllistä tietää määrittämäsi monikulmion alue. Tämä on mahdollista OpenLayers 3: ssa; tehokas JavaScript -karttatyökalu.

Tämä artikkeli opastaa monikulmion lisäämisessä ja sitten alueen laskemisessa pallon avulla.

Huomaa, että sinun on asennettava toimiva OpenLayers -kartta verkkosivulle, jotta voit seurata tätä artikkelia. Jos sinulla ei ole sitä, Kuinka tehdä kartta OpenLayersin avulla 3.

Askeleet

7151572 1
7151572 1

Vaihe 1. Luo monikulmio -ominaisuus

Monikulmiorakentajatoiminto tarvitsee koordinaattitaulukon; määritä tämä taulukko ensin muuttujassa, jotta voit käyttää sitä myöhemmin. Kopioi vain seuraava koodirivi omaan

elementti:

var -koordinaatit =

7151572 2
7151572 2

Vaihe 2. Lisää ominaisuus vektorikerrokseen

Jos haluat lisätä monikulmion kartalle, sinun on lisättävä se lähteeseen, jonka lisäät vektorikerrokseen, jonka voit sitten lisätä karttaan:

var vector_layer = new ol.layer. Vector ({lähde: new ol.source. Vector ({ominaisuudet: [polygon_feature]})}}) map.addLayer (vector_layer);

7151572 3
7151572 3

Vaihe 3. Muuta ominaisuuden geometriaa koordinaattien käyttämiseksi

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

7151572 4
7151572 4

Vaihe 4. Luo pallo laskennan suorittamiseksi

Pallon tulisi olla Maan kokoinen (sen säteen tulisi olla 6,3 metriä). Teknisesti pallon säde on yhtä suuri kuin WGS84-ellipsoidin puolisuuri akseli.

var sphere = uusi ol. pallo (6378137);

7151572 5
7151572 5

Vaihe 5. Laske alue pallon avulla geodesicArea () -menetelmällä

Koska menetelmä antaa arvon neliömetreinä, jaa miljoonalla saadaksesi neliökilometrit.

var area_m = pallo.geodesicArea (koordinaatit); var alue_km = alue_m / 1000 /1000; console.log ('area:', area_km, 'km²'); // KONSOLI: alue: 2317133.7166773956 km²

7151572 6
7151572 6

Vaihe 6. Tarkista, että aluevastaus on järkevä

Tiedämme, että se on oikein, koska se näyttää suunnilleen samankokoiselta kuin Algeria, jonka pinta -ala on 2, 381, 741 km² (Wikipediasta).

Suositeltava: