Kā noteikt daudzstūra laukumu OpenLayers 3

Satura rādītājs:

Kā noteikt daudzstūra laukumu OpenLayers 3
Kā noteikt daudzstūra laukumu OpenLayers 3

Video: Kā noteikt daudzstūra laukumu OpenLayers 3

Video: Kā noteikt daudzstūra laukumu OpenLayers 3
Video: Fedora "Everything": Installation Guide (Ultimate Freedom) 2024, Maijs
Anonim

Daudzstūri ir lielisks veids, kā kartē attēlot aptuveno zemes platību, un bieži vien ir noderīgi zināt jūsu definētā daudzstūra laukumu. Tas ir iespējams OpenLayers 3; spēcīgs JavaScript kartēšanas rīks.

Šis raksts palīdzēs jums pievienot daudzstūri un pēc tam aprēķināt laukumu, izmantojot sfēru.

Lūdzu, ņemiet vērā, ka, lai izpildītu šo rakstu, tīmekļa lapā ir jābūt instalētai strādājošai OpenLayers kartei. Ja jums tādas nav, kā izveidot karti, izmantojot OpenLayers 3.

Soļi

7151572 1
7151572 1

1. solis. Izveidojiet daudzstūra līdzekli

Daudzstūra konstruktora funkcijai nepieciešams koordinātu masīvu masīvs; vispirms definējiet šo masīvu mainīgā, lai to varētu izmantot vēlāk. Vienkārši nokopējiet šādu koda rindiņu savā

elements:

var koordinātas =

7151572 2
7151572 2

2. solis. Pievienojiet līdzekli vektoru slānim

Lai kartē pievienotu daudzstūri, tas jāpievieno avotam, ko pievienojat vektoru slānim, kuru pēc tam varat pievienot kartei:

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

7151572 3
7151572 3

3. solis. Pārveidojiet objekta ģeometriju, lai izmantotu koordinātas

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

7151572 4
7151572 4

4. solis. Izveidojiet sfēru, lai veiktu aprēķinu

Sfērai jābūt Zemes izmēram (rādiusam jābūt 6,3 m). Tehniski sfēras rādiuss ir vienāds ar WGS84 elipsoīda daļēji galveno asi.

var sfēra = jauns ol. Sfēra (6378137);

7151572 5
7151572 5

5. solis. Izmantojiet sfēru, lai aprēķinātu laukumu, izmantojot metodi geodesicArea ()

Tā kā metode sniedz vērtību kvadrātmetros, daliet to ar miljonu, lai iegūtu kvadrātkilometrus.

var area_m = sphere.geodesicArea (koordinātas); var area_km = area_m / 1000 /1000; console.log ('area:', area_km, 'km²'); // KONSOLE: platība: 2317133.7166773956 km²

7151572 6
7151572 6

6. solis. Pārbaudiet, vai apgabala atbildei ir jēga

Mēs zinām, ka tas ir pareizi, jo šķiet, ka tas ir aptuveni tāds pats kā Alžīrija, kuras platība ir 2, 381, 741 km² (no Vikipēdijas).

Ieteicams: