Hogyan határozzuk meg a sokszög területét OpenLayers 3 -ban

Tartalomjegyzék:

Hogyan határozzuk meg a sokszög területét OpenLayers 3 -ban
Hogyan határozzuk meg a sokszög területét OpenLayers 3 -ban

Videó: Hogyan határozzuk meg a sokszög területét OpenLayers 3 -ban

Videó: Hogyan határozzuk meg a sokszög területét OpenLayers 3 -ban
Videó: An Installation And First Look Of Fedora 35 2024, Lehet
Anonim

A sokszögek nagyszerű módja annak, hogy a térképen megjelenítsék a hozzávetőleges földterületet, és gyakran hasznos tudni az Ön által meghatározott sokszög területét. Ez az OpenLayers 3 -ban lehetséges; egy hatékony JavaScript leképező eszköz.

Ez a cikk útmutatást ad a sokszög hozzáadásához, majd a terület gömb segítségével történő kiszámításához.

Felhívjuk figyelmét, hogy a cikk követéséhez működő OpenLayers térképet kell telepítenie egy weboldalra. Ha még nincs ilyen, Térkép készítése az OpenLayers használatával 3.

Lépések

7151572 1
7151572 1

1. lépés Hozzon létre egy sokszög funkciót

A Sokszög konstruktor függvényhez koordináta tömbökre van szükség; először határozza meg ezt a tömböt egy változóban, hogy később használhassa. Egyszerűen másolja be az alábbi kódsort a saját kódjába

elem:

var koordináták =

7151572 2
7151572 2

2. lépés. Adja hozzá a funkciót egy vektorréteghez

Ha hozzá szeretné adni a sokszöget a térképhez, hozzá kell adnia egy forráshoz, amelyet hozzáadhat egy vektorréteghez, amelyet aztán hozzáadhat a térképhez:

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

7151572 3
7151572 3

3. lépés Alakítsa át a szolgáltatás geometriáját a koordináták használatához

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

4. lépés: Hozzon létre egy gömböt a számítás végrehajtásához

A gömbnek akkoranak kell lennie, mint a Földnek (sugárának 6,3 m méternek kell lennie). Technikailag a gömb sugara megegyezik a WGS84 ellipszoid fél-főtengelyével.

var gömb = új ol. Gömb (6378137);

7151572 5
7151572 5

5. lépés: A gömb segítségével számolja ki a területet a geodesicArea () módszerrel

Mivel a módszer négyzetméter értéket ad meg, ossza el egymillióval, hogy négyzetkilométert kapjon.

var area_m = sphere.geodesicArea (koordináták); var area_km = area_m / 1000 /1000; console.log ('terület:', terület_km, 'km²'); // KONZOL: terület: 2317133.7166773956 km²

7151572 6
7151572 6

6. lépés: Ellenőrizze, hogy a terület válaszának van -e értelme

Tudjuk, hogy ez helyes, mert úgy tűnik, hogy körülbelül akkora, mint Algéria, amelynek területe 2, 381, 741 km² (a Wikipédiából).

Ajánlott: