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
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 =
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);
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);
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);
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²
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).