Hvordan bestemme arealet til en polygon i OpenLayers 3

Innholdsfortegnelse:

Hvordan bestemme arealet til en polygon i OpenLayers 3
Hvordan bestemme arealet til en polygon i OpenLayers 3

Video: Hvordan bestemme arealet til en polygon i OpenLayers 3

Video: Hvordan bestemme arealet til en polygon i OpenLayers 3
Video: как установить федору 2024, Kan
Anonim

Polygoner er en fin måte å representere det omtrentlige landområdet på et kart, og det er ofte nyttig å kjenne området til polygonen du har definert. Dette er mulig i OpenLayers 3; et kraftig JavaScript -kartleggingsverktøy.

Denne artikkelen vil veilede deg i å legge til en polygon, og deretter beregne området ved hjelp av en kule.

Vær oppmerksom på at du må ha et fungerende OpenLayers -kart installert på en webside for å følge denne artikkelen. Hvis du ikke har en, Hvordan lage et kart ved hjelp av OpenLayers 3.

Trinn

7151572 1
7151572 1

Trinn 1. Lag en polygon -funksjon

Polygon -konstruktorfunksjonen trenger en rekke koordinatarrayer; definere denne matrisen i en variabel først slik at du kan bruke den senere. Bare kopier følgende kodelinje til din

element:

var -koordinater =

7151572 2
7151572 2

Trinn 2. Legg funksjonen til et vektorsjikt

For å legge til polygonen på kartet, må du legge den til en kilde, som du legger til i et vektorsjikt, som du deretter kan legge til på kartet:

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

7151572 3
7151572 3

Trinn 3. Transform funksjonens geometri for å bruke 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

Trinn 4. Lag en kule for å utføre beregningen

Sfæren skal være på størrelse med jorden (bør ha en radius på 6,3 meter). Teknisk sett har sfæren en radius lik den halvstore aksen til WGS84-ellipsoiden.

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

7151572 5
7151572 5

Trinn 5. Bruk sfæren til å beregne området ved hjelp av metoden geodesicArea ()

Fordi metoden gir en verdi i kvadratmeter, deler du med en million for å 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

Trinn 6. Kontroller at områdesvaret gir mening

Vi vet at det er riktig fordi det ser ut til å ha omtrent samme størrelse som Algerie, som har et område på 2, 381, 741 km² (fra Wikipedia).

Anbefalt: