Cum se determină aria unui poligon în OpenLayers 3

Cuprins:

Cum se determină aria unui poligon în OpenLayers 3
Cum se determină aria unui poligon în OpenLayers 3

Video: Cum se determină aria unui poligon în OpenLayers 3

Video: Cum se determină aria unui poligon în OpenLayers 3
Video: Fedora "Everything": Installation Guide (Ultimate Freedom) 2024, Mai
Anonim

Poligoanele sunt o modalitate excelentă de a reprezenta suprafața aproximativă a terenului pe o hartă și este adesea util să cunoașteți zona poligonului pe care l-ați definit. Acest lucru este posibil în OpenLayers 3; un puternic instrument de cartografiere JavaScript.

Acest articol vă va ghida să adăugați un poligon, apoi să calculați aria folosind o sferă.

Vă rugăm să rețineți că trebuie să aveți instalată o hartă OpenLayers funcțională într-o pagină web pentru a urma acest articol. Dacă nu aveți una, Cum să creați o hartă folosind OpenLayers 3.

Pași

7151572 1
7151572 1

Pasul 1. Creați o caracteristică poligon

Funcția constructor poligon necesită o serie de matrice de coordonate; definiți mai întâi această matrice într-o variabilă, astfel încât să o puteți utiliza mai târziu. Pur și simplu copiați următoarea linie de cod în

element:

coordonate var =

7151572 2
7151572 2

Pasul 2. Adăugați caracteristica la un strat vector

Pentru a adăuga poligonul pe hartă, trebuie să-l adăugați la o sursă, pe care o adăugați la un strat vector, pe care îl puteți adăuga apoi pe hartă:

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

7151572 3
7151572 3

Pasul 3. Transformați geometria caracteristicii pentru a utiliza coordonatele

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

7151572 4
7151572 4

Pasul 4. Creați o sferă pentru a efectua calculul

Sfera ar trebui să aibă dimensiunea Pământului (ar trebui să aibă o rază de 6,3 m metri). Din punct de vedere tehnic, sfera are o rază egală cu axa semi-majoră a elipsoidului WGS84.

var sfera = new ol. Sphere (6378137);

7151572 5
7151572 5

Pasul 5. Folosiți sfera pentru a calcula aria folosind metoda geodesicArea ()

Deoarece metoda oferă o valoare în metri pătrați, împărțiți la un milion pentru a obține kilometri pătrați.

var area_m = sfera.geodezică (coordonate); var area_km = area_m / 1000/1000; console.log ('area:', area_km, 'km²'); // CONSOLĂ: suprafață: 2317133.7166773956 km²

7151572 6
7151572 6

Pasul 6. Verificați dacă răspunsul la zonă are sens

Știm că este corect, deoarece pare a avea aproximativ aceeași dimensiune ca Algeria, care are o suprafață de 2, 381, 741 km² (din Wikipedia).

Recomandat: