Sådan bestemmes arealet af en polygon i OpenLayers 3

Indholdsfortegnelse:

Sådan bestemmes arealet af en polygon i OpenLayers 3
Sådan bestemmes arealet af en polygon i OpenLayers 3

Video: Sådan bestemmes arealet af en polygon i OpenLayers 3

Video: Sådan bestemmes arealet af en polygon i OpenLayers 3
Video: как установить федору 2024, April
Anonim

Polygoner er en fantastisk måde at repræsentere det omtrentlige areal på et kort, og det er ofte nyttigt at kende området for den polygon, du har defineret. Dette er muligt i OpenLayers 3; et kraftfuldt JavaScript -kortlægningsværktøj.

Denne artikel vil guide dig til at tilføje en polygon og derefter beregne arealet ved hjælp af en kugle.

Bemærk, at du skal have et fungerende OpenLayers -kort installeret på en webside for at følge denne artikel. Hvis du ikke har en, Sådan laver du et kort ved hjælp af OpenLayers 3.

Trin

7151572 1
7151572 1

Trin 1. Opret en polygonfunktion

Polygon -konstruktorfunktionen har brug for en række koordinatarrays; definér først denne matrix i en variabel, så du kan bruge den senere. Du skal blot kopiere følgende kodelinje til din

element:

var -koordinater =

7151572 2
7151572 2

Trin 2. Føj funktionen til et vektorlag

For at tilføje polygonen til kortet skal du føje den til en kilde, som du tilføjer til et vektorlag, som du derefter kan føje til kortet:

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

7151572 3
7151572 3

Trin 3. Transform funktionens geometri for at bruge koordinater

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

7151572 4
7151572 4

Trin 4. Opret en kugle til at udføre beregningen

Kuglen skal være på størrelse med jorden (skal have en radius på 6,3 m meter). Teknisk set har kuglen en radius, der er lig med halv-hovedaksen for WGS84-ellipsoiden.

var sfære = ny ol. Sphere (6378137);

7151572 5
7151572 5

Trin 5. Brug kuglen til at beregne arealet ved hjælp af metoden geodesicArea ()

Fordi metoden giver en værdi i kvadratmeter, divideres med en million for at få kvadratkilometer.

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

7151572 6
7151572 6

Trin 6. Kontroller, at områdesvaret giver mening

Vi ved, at det er korrekt, fordi det ser ud til at være omtrent samme størrelse som Algeriet, som har et areal på 2, 381, 741 km² (fra Wikipedia).

Anbefalede: