Hulknurgad on suurepärane võimalus kaardil ligikaudse maa -ala kujutamiseks ja sageli on kasulik teada teie määratud hulknurga pindala. See on võimalik OpenLayers 3 -s; võimas JavaScripti kaardistamise tööriist.
See artikkel juhendab teid hulknurga lisamisel ja seejärel kera abil pindala arvutamisel.
Pange tähele, et selle artikli järgimiseks peab veebisaidile olema installitud töötav OpenLayersi kaart. Kui teil seda pole, siis kuidas teha kaarti OpenLayersi abil 3.
Sammud
Samm 1. Looge hulknurga funktsioon
Funktsioon Polygon konstruktor vajab koordinaatmassiivide massiivi; määratlege see massiiv kõigepealt muutujaga, et saaksite seda hiljem kasutada. Kopeerige lihtsalt järgmine koodirida oma
element:
var koordinaadid =
Samm 2. Lisage funktsioon vektorkihile
Hulknurga lisamiseks kaardile peate selle lisama allikale, mille lisate vektorkihile, mille saate seejärel kaardile lisada:
var vector_layer = new ol.layer. Vector ({allikas: new ol.source. Vector ({features: [polygon_feature]})}}) map.addLayer (vector_layer);
Samm 3. Muutke objekti geomeetria koordinaatide kasutamiseks
var current_projection = uus ol.proj. Projection ({code: "EPSG: 4326"}); var new_projection = tile_layer.getSource (). getProjection (); polygon_feature.getGeometry (). transform (current_projection, new_projection);
Samm 4. Loo arvutamiseks sfäär
Kera peaks olema Maa suurune (raadiusega 6,3 meetrit). Tehniliselt on kera raadius võrdne WGS84 ellipsoidi poolpealse teljega.
var sfäär = uus ol. Sfäär (6378137);
Samm 5. Kasutage sfääri pindala arvutamiseks geodesicArea () meetodi abil
Kuna meetod annab väärtuse ruutmeetrites, jagage ruutkilomeetrite saamiseks miljoniga.
var area_m = kera.geodesicArea (koordinaadid); var area_km = pindala_m / 1000 /1000; console.log ('area:', area_km, 'km²'); // KONSOL: ala: 2317133.7166773956 km²
Samm 6. Kontrollige, kas piirkonna vastus on mõttekas
Me teame, et see on õige, sest tundub, et see on umbes sama suur kui Alžeeria, mille pindala on 2, 381, 741 km² (Vikipeediast).