Poligon adalah cara yang bagus untuk merepresentasikan perkiraan luas tanah pada peta, dan mengetahui luas poligon yang telah Anda tentukan seringkali membantu. Ini dimungkinkan di OpenLayers 3; alat pemetaan JavaScript yang kuat.
Artikel ini akan memandu Anda dalam menambahkan poligon, kemudian menghitung luas menggunakan bola.
Harap dicatat bahwa Anda harus memiliki peta OpenLayers yang berfungsi terpasang di halaman web untuk mengikuti artikel ini. Jika Anda belum memilikinya, Cara Membuat Peta Menggunakan OpenLayers 3.
Langkah
Langkah 1. Buat fitur poligon
Fungsi konstruktor Polygon membutuhkan larik larik koordinat; tentukan array ini dalam variabel terlebih dahulu sehingga Anda dapat menggunakannya nanti. Cukup salin baris kode berikut ke dalam Anda
elemen:
koordinat var =
Langkah 2. Tambahkan fitur ke layer vektor
Untuk menambahkan poligon ke peta, Anda perlu menambahkannya ke sumber, yang Anda tambahkan ke lapisan vektor, yang kemudian dapat Anda tambahkan ke peta:
var vector_layer = new ol.layer. Vector({ source: new ol.source. Vector({ features: [polygon_feature] }) }) map.addLayer(vector_layer);
Langkah 3. Ubah geometri fitur untuk menggunakan koordinat
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);
Langkah 4. Buat bola untuk melakukan perhitungan
Bola harus seukuran Bumi (harus memiliki radius 6,3 m meter). Secara teknis, bola memiliki radius yang sama dengan sumbu semi-mayor dari ellipsoid WGS84.
var sphere = new ol. Sphere(6378137);
Langkah 5. Gunakan bola untuk menghitung luas menggunakan metode geodesicArea()
Karena metode ini memberikan nilai dalam meter persegi, bagi dengan satu juta untuk mendapatkan kilometer persegi.
var area_m = sphere.geodesicArea(koordinat); var area_km = area_m / 1000 / 1000; console.log('luas: ', luas_km, 'km²'); // KONSOL: luas: 2317133.7166773956 km²
Langkah 6. Periksa apakah jawaban area masuk akal
Kita tahu bahwa itu benar karena tampaknya ukurannya kurang lebih sama dengan Aljazair, yang memiliki luas 2.381, 741 km² (dari Wikipedia).