Hur man bestämmer området för en polygon i OpenLayers 3

Innehållsförteckning:

Hur man bestämmer området för en polygon i OpenLayers 3
Hur man bestämmer området för en polygon i OpenLayers 3

Video: Hur man bestämmer området för en polygon i OpenLayers 3

Video: Hur man bestämmer området för en polygon i OpenLayers 3
Video: Fedora 36 - Installation Guide for PC 2022 2024, Maj
Anonim

Polygoner är ett bra sätt att representera det ungefärliga landområdet på en karta, och det är ofta bra att känna till området för polygonen du har definierat. Detta är möjligt i OpenLayers 3; ett kraftfullt JavaScript -kartläggningsverktyg.

Den här artikeln hjälper dig att lägga till en polygon och beräknar sedan ytan med en sfär.

Observera att du måste ha en fungerande OpenLayers -karta installerad på en webbsida för att följa den här artikeln. Om du inte har en, Hur man gör en karta med OpenLayers 3.

Steg

7151572 1
7151572 1

Steg 1. Skapa en polygonfunktion

Polygonkonstruktorfunktionen behöver en rad koordinatarrayer; definiera den här matrisen i en variabel först så att du kan använda den senare. Kopiera bara följande kodrad till din

element:

var -koordinater =

7151572 2
7151572 2

Steg 2. Lägg till funktionen i ett vektorgikt

För att lägga till polygonen på kartan måste du lägga till den i en källa, som du lägger till i ett vektorgikt, som du sedan kan lägga till på kartan:

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

7151572 3
7151572 3

Steg 3. Transformera funktionens geometri för att använda koordinater

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

7151572 4
7151572 4

Steg 4. Skapa en sfär för att utföra beräkningen

Sfären ska vara lika stor som jorden (bör ha en radie på 6,3 m meter). Tekniskt sett har sfären en radie som är lika med den halvstora axeln för WGS84-ellipsoiden.

var sfär = ny ol. Sphere (6378137);

7151572 5
7151572 5

Steg 5. Använd sfären för att beräkna ytan med hjälp av metoden geodesicArea ()

Eftersom metoden ger ett värde i kvadratmeter, dela med en miljon för att få kvadratkilometer.

var area_m = sphere.geodesicArea (koordinater); var area_km = area_m / 1000 /1000; console.log ('area:', area_km, 'km²'); // KONSOL: område: 2317133.7166773956 km²

7151572 6
7151572 6

Steg 6. Kontrollera att områdesvaret är vettigt

Vi vet att det är korrekt eftersom det verkar vara ungefär lika stort som Algeriet, som har en yta på 2, 381, 741 km² (från Wikipedia).

Rekommenderad: