Els polígons són una manera excel·lent de representar l’àrea aproximada de la terra en un mapa i, sovint, és útil conèixer l’àrea del polígon que heu definit. Això és possible a OpenLayers 3; una potent eina de mapatge de JavaScript.
Aquest article us guiarà a afegir un polígon i després calcular l'àrea mitjançant una esfera.
Tingueu en compte que heu de tenir instal·lat un mapa OpenLayers que funcioni en una pàgina web per seguir aquest article. Si no en teniu, Com fer un mapa amb OpenLayers 3.
Passos
Pas 1. Creeu una característica de polígon
La funció constructor de polígons necessita una matriu de matrius de coordenades; primer definiu aquesta matriu en una variable perquè pugueu utilitzar-la més tard. Simplement copieu la següent línia de codi al vostre
element:
coordenades var =
Pas 2. Afegiu la característica a una capa vectorial
Per afegir el polígon al mapa, cal afegir-lo a una font, que afegiu a una capa vectorial, que podeu afegir al mapa:
var vector_layer = new ol.layer. Vector ({source: new ol.source. Vector ({features: [polygon_feature]})}) map.addLayer (vector_layer);
Pas 3. Transformeu la geometria de la característica per utilitzar coordenades
var current_projection = new ol.proj. Projection ({codi: "EPSG: 4326"}); var new_projection = tile_layer.getSource (). getProjection (); polygon_feature.getGeometry (). transform (projecció_actual, nova_projecció);
Pas 4. Creeu una esfera per realitzar el càlcul
L’esfera hauria de tenir la mida de la Terra (hauria de tenir un radi de 6,3 m de metres). Tècnicament, l’esfera té un radi igual al semieix major de l’el·lipsoide WGS84.
var esfera = new ol. Sphere (6378137);
Pas 5. Utilitzeu l'esfera per calcular l'àrea mitjançant el mètode geodesicArea ()
Com que el mètode proporciona un valor en metres quadrats, dividiu-lo per un milió per obtenir quilòmetres quadrats.
var area_m = area.geodesicArea (coordenades); var area_km = area_m / 1000/1000; console.log ('area:', area_km, 'km²'); // CONSOLA: àrea: 2317133.7166773956 km²
Pas 6. Comproveu que la resposta de l'àrea tingui sentit
Sabem que és correcte perquè sembla que té aproximadament la mateixa mida que Algèria, que té una superfície de 2, 381, 741 km² (de Wikipedia).