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