Comment déterminer l'aire d'un polygone dans OpenLayers 3

Table des matières:

Comment déterminer l'aire d'un polygone dans OpenLayers 3
Comment déterminer l'aire d'un polygone dans OpenLayers 3

Vidéo: Comment déterminer l'aire d'un polygone dans OpenLayers 3

Vidéo: Comment déterminer l'aire d'un polygone dans OpenLayers 3
Vidéo: Comment télécharger une image ISO de Linux (Centos, Fedora, Ubuntu) 2024, Peut
Anonim

Les polygones sont un excellent moyen de représenter la superficie approximative du terrain sur une carte, et il est souvent utile de connaître la superficie du polygone que vous avez défini. C'est possible dans OpenLayers 3; un puissant outil de cartographie JavaScript.

Cet article vous guidera dans l'ajout d'un polygone, puis dans l'obtention de la surface calculée à l'aide d'une sphère.

Veuillez noter que vous devez avoir une carte OpenLayers fonctionnelle installée dans une page Web pour suivre cet article. Si vous n'en avez pas, Comment faire une carte avec OpenLayers 3.

Pas

7151572 1
7151572 1

Étape 1. Créez une entité surfacique

La fonction constructeur Polygon a besoin d'un tableau de tableaux de coordonnées; définissez d'abord ce tableau dans une variable afin de pouvoir l'utiliser plus tard. Copiez simplement la ligne de code suivante dans votre

élément:

coordonnées var =

7151572 2
7151572 2

Étape 2. Ajoutez l'entité à une couche vectorielle

Pour ajouter le polygone à la carte, vous devez l'ajouter à une source, que vous ajoutez à une couche vectorielle, que vous pouvez ensuite ajouter à la carte:

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

7151572 3
7151572 3

Étape 3. Transformez la géométrie de l'entité pour utiliser les coordonnées

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

7151572 4
7151572 4

Étape 4. Créez une sphère pour effectuer le calcul

La sphère doit être de la taille de la Terre (doit avoir un rayon de 6,3 m mètres). Techniquement, la sphère a un rayon égal au demi-grand axe de l'ellipsoïde WGS84.

var sphere = new ol. Sphere(6378137);

7151572 5
7151572 5

Étape 5. Utilisez la sphère pour calculer la surface à l'aide de la méthode geodesicArea()

Étant donné que la méthode fournit une valeur en mètres carrés, divisez par un million pour obtenir des kilomètres carrés.

var area_m = sphere.geodesicArea(coordinates); var aire_km = aire_m / 1000 / 1000; console.log('zone: ', zone_km, 'km²'); // CONSOLE: superficie: 2317133.7166773956 km²

7151572 6
7151572 6

Étape 6. Vérifiez que la réponse de la zone a du sens

Nous savons que c'est correct car il semble avoir à peu près la même taille que l'Algérie, qui a une superficie de 2 381 741 km² (d'après Wikipédia).

Conseillé: