Cara Menentukan Kawasan Poligon di OpenLayers 3

Isi kandungan:

Cara Menentukan Kawasan Poligon di OpenLayers 3
Cara Menentukan Kawasan Poligon di OpenLayers 3

Video: Cara Menentukan Kawasan Poligon di OpenLayers 3

Video: Cara Menentukan Kawasan Poligon di OpenLayers 3
Video: Fedora 35 Review | Fedora Indonesia | Cara Install Fedora Linux Terbaru | Fedora 35 Install 2024, Mungkin
Anonim

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

7151572 1
7151572 1

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 =

7151572 2
7151572 2

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);

7151572 3
7151572 3

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);

7151572 4
7151572 4

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);

7151572 5
7151572 5

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²

7151572 6
7151572 6

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).

Disyorkan: