Kako določiti površino poligona v OpenLayers 3

Kazalo:

Kako določiti površino poligona v OpenLayers 3
Kako določiti površino poligona v OpenLayers 3
Anonim

Poligoni so odličen način za predstavitev približne površine zemlje na zemljevidu, zato je pogosto koristno poznati območje poligona, ki ste ga določili. To je mogoče v OpenLayers 3; zmogljivo orodje za preslikavo JavaScript.

Ta članek vas bo vodil pri dodajanju poligona in nato izračunali površino s pomočjo krogle.

Upoštevajte, da morate za spremljanje tega članka imeti delujoč zemljevid OpenLayers na spletni strani. Če ga nimate, Kako narediti zemljevid z uporabo OpenLayers 3.

Koraki

7151572 1
7151572 1

Korak 1. Ustvarite funkcijo poligona

Konstruktorska funkcija Polygon potrebuje niz koordinatnih nizov; najprej določite to matriko v spremenljivki, da jo boste lahko kasneje uporabili. Preprosto kopirajte naslednjo vrstico kode v svojo

element:

var koordinate =

7151572 2
7151572 2

Korak 2. Dodajte funkcijo v vektorsko plast

Če želite poligon dodati na zemljevid, ga morate dodati viru, ki ga dodate vektorski plasti, ki jo lahko nato dodate na zemljevid:

var vector_layer = nov ol.layer. Vector ({vir: nov ol.source. Vector ({funkcije: [značilnost_ poligona]})}}}) map.addLayer (vektorski_sloj);

7151572 3
7151572 3

Korak 3. Preoblikujte geometrijo funkcije, da uporabite koordinate

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

7151572 4
7151572 4

Korak 4. Ustvarite kroglo za izvedbo izračuna

Krogla naj bo velikosti Zemlje (mora imeti polmer 6,3 m metrov). Tehnično je polmer krogle enak pol glavni osi elipsoida WGS84.

var sfera = nova ol. Sphere (6378137);

7151572 5
7151572 5

Korak 5. S kroglo izračunajte površino z metodo geodesicArea ()

Ker metoda daje vrednost v kvadratnih metrih, delite z milijonom, da dobite kvadratne kilometre.

var area_m = sphere.geodesicArea (koordinate); var area_km = area_m / 1000 /1000; console.log ('area:', area_km, 'km²'); // KONZOLA: površina: 2317133.7166773956 km²

7151572 6
7151572 6

Korak 6. Preverite, ali je odgovor na področje smiseln

Vemo, da je pravilen, ker se zdi približno enake velikosti kot Alžirija, ki ima površino 2, 381, 741 km² (iz Wikipedije).

Priporočena: