Poligon adalah kaedah terbaik untuk mewakili kawasan daratan di peta, dan selalunya berguna untuk mengetahui luas poligon yang telah anda tentukan. Ini mungkin berlaku di OpenLayers 3; alat pemetaan JavaScript yang kuat.
Artikel ini akan membimbing anda dalam menambahkan poligon, kemudian menghitung luasnya dengan menggunakan sfera.
Harap maklum bahawa anda perlu memasang peta OpenLayers yang berfungsi di halaman web untuk mengikuti artikel ini. Sekiranya anda tidak memilikinya, Cara Membuat Peta Menggunakan OpenLayers 3.
Langkah-langkah
Langkah 1. Buat ciri poligon
Fungsi konstruktor poligon memerlukan pelbagai susunan koordinat; tentukan array ini dalam pemboleh ubah terlebih dahulu supaya anda dapat menggunakannya kemudian. Cukup salin baris kod berikut ke dalam
unsur:
koordinat var =
Langkah 2. Tambahkan ciri ke lapisan vektor
Untuk menambahkan poligon ke peta, anda perlu menambahkannya ke sumber, yang anda tambahkan ke lapisan vektor, yang kemudian anda boleh tambahkan ke peta:
var vector_layer = new ol.layer. Vector ({sumber: new ol.source. Vector ({features: [polygon_feature]})}}) map.addLayer (vector_layer);
Langkah 3. Ubah geometri ciri 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 sfera untuk melakukan pengiraan
Sfera hendaklah berukuran Bumi (harus mempunyai radius 6.3m meter). Secara teknikal, sfera mempunyai jejari sama dengan paksi separa utama ellipsoid WGS84.
var sphere = ol. Sphere baru (6378137);
Langkah 5. Gunakan sfera untuk mengira luas menggunakan kaedah geodesicArea ()
Kerana kaedah ini memberikan nilai dalam meter persegi, bahagi dengan satu juta untuk mendapatkan kilometer persegi.
var area_m = sphere.geodesicArea (koordinat); var area_km = area_m / 1000/1000; console.log ('area:', area_km, 'km²'); // KONSOL: kawasan: 2317133.7166773956 km²
Langkah 6. Pastikan jawapan kawasan masuk akal
Kami tahu bahawa ia betul kerana ukurannya hampir sama dengan Algeria, yang memiliki luas 2, 381, 741 km² (dari Wikipedia).