Đa giác là một cách tuyệt vời để thể hiện diện tích đất gần đúng trên bản đồ và thường hữu ích khi biết diện tích của đa giác mà bạn đã xác định. Điều này có thể thực hiện được trong OpenLayers 3; một công cụ lập bản đồ JavaScript mạnh mẽ.
Bài viết này sẽ hướng dẫn bạn thêm một đa giác, sau đó tính diện tích bằng hình cầu.
Xin lưu ý rằng bạn cần cài đặt bản đồ OpenLayers đang hoạt động trong trang web để theo dõi bài viết này. Nếu bạn chưa có, hãy làm thế nào để tạo bản đồ bằng OpenLayers 3.
Các bước
Bước 1. Tạo một đối tượng đa giác
Hàm tạo Polygon cần một mảng các mảng tọa độ; xác định mảng này trong một biến trước để bạn có thể sử dụng nó sau này. Chỉ cần sao chép dòng mã sau vào
yếu tố:
var tọa độ =
Bước 2. Thêm đối tượng vào một lớp vectơ
Để thêm đa giác vào bản đồ, bạn cần thêm nó vào nguồn, nguồn mà bạn thêm vào lớp vectơ, sau đó bạn có thể thêm vào bản đồ:
var vector_layer = new ol.layer. Vector ({source: new ol.source. Vector ({features: [polygon_feature]})}) map.addLayer (vector_layer);
Bước 3. Biến đổi hình học của đối tượng địa lý để sử dụng tọa độ
var current_projection = new ol.proj. Projection ({code: "EPSG: 4326"}); var new_projection = tile_layer.getSource (). getProjection (); polygon_feature.getGeometry (). biến đổi (hiện_trình, chiếu_mới);
Bước 4. Tạo hình cầu để thực hiện phép tính
Hình cầu phải có kích thước bằng Trái đất (bán kính 6,3m mét). Về mặt kỹ thuật, hình cầu có bán kính bằng bán trục chính của ellipsoid WGS84.
var bridge = new ol. Sphere (6378137);
Bước 5. Sử dụng hình cầu để tính diện tích bằng phương pháp geodesicArea ()
Bởi vì phương pháp này cung cấp một giá trị tính bằng mét vuông, hãy chia cho một triệu để được km vuông.
var area_m = bridge.geodesicArea (tọa độ); var area_km = area_m / 1000/1000; console.log ('area:', area_km, 'km²'); // CONSOLE: diện tích: 2317133.7166773956 km²
Bước 6. Kiểm tra xem câu trả lời khu vực có hợp lý không
Chúng tôi biết điều đó là chính xác vì nó có vẻ như có kích thước xấp xỉ với Algeria, có diện tích là 2, 381, 741 km² (theo Wikipedia).