欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Openlayers實現(xiàn)面積測量的方法

 更新時間:2024年11月07日 11:37:41   作者:Jinuss  
在Openlayers中,長度和面積的測量均依賴ol/sphere模塊,長度通過getLength方法計算,面積則通過getArea方法,面積測量不是計算平面面積,而是基于球面,適用于多邊形和多多邊形集合,感興趣的朋友一起看看吧

概述

在 Openlayers 中面積的量測和長度的測量大同小異,都需要借助于ol/sphere模塊,不同的是長度計算是調(diào)用ol/sphere模塊的getLength方法,而面積則需要調(diào)用getArea方法。

如果還不清楚如何在 Openlayers 中計算長度,可以參考Openlayers實現(xiàn)長度測量

實踐

效果

代碼分析

同長度測量一樣,監(jiān)聽draw類的實例對象的drawstart方法,然后監(jiān)聽當前繪制的幾何對象的change事件,在這個監(jiān)聽回調(diào)函數(shù)中調(diào)用ol/spheregetArea方法獲取經(jīng)緯度

this.draw.on("drawstart", ({ feature }) => {
  this.listener = feature.getGeometry().on("change", (evt) => {
    const geom = evt.target;
    const area = getArea(geom);
  });
});

ol/sphere的getArea方法

getArea方法用于計算地球表面上幾何形狀的面積,并且考慮了球體的曲率,這意味著它并不是計算平面上的面積,而是計算球面上閉合路徑所圍成的面積。

參數(shù)
geometry (ol/geom/Polygon | ol/geom/MultiPolygon):

  • geometry 是一個幾何對象,通常是 Polygon(多邊形)或者 MultiPolygon(多個多邊形的集合)。
  • 對于 Polygon,它表示一個閉合的區(qū)域,getArea 計算的是該區(qū)域的球面面積。
  • 對于 MultiPolygon,計算的是多個多邊形的總球面面積。

返回值

getArea方法返回的是一個數(shù)值,其單位是平方米。

ol/sphere實用 API 介紹

除了已經(jīng)提到的getLength、getArea和getDistance方法外,ol/sphere模塊還提供了許多其它實用的 API 方法。如下介紹:

getClosestPoint
計算一點到球面上某幾何形狀的最近點。

Sphere.getClosestPoint(geometry, point);

containsCoordinate
判斷一個點是否在球面上某幾何形狀內(nèi)。

Sphere.containsCoordinate(geometry, point);

getBearing
計算從一個點到另一個點的方位角(即從第一個點到第二個點的航向角)。方位角是指沿著大圓航線,連接這兩個點的方向。

Sphere.getBearing([lon1, lat1], [lon2, lat2]);

getIntersection
計算兩條大圓?。ㄇ蛎嫔系膬蓷l最短路徑)之間的交點。如果相交,則返回交點,否則返回null

Sphere.getIntersection(
  [lon1, lat1],
  [lon2, lat2],
  [lon3, lat3],
  [lon4, lat4]
);

isFlat
判斷一個幾何對象是否為平面(即判斷其是否位于球面的某個平面上)。如果幾何對象包含任何曲率,isFlat 返回 false;如果對象的坐標位于平面上,返回 true。

Sphere.isFlat(geometry);

isValid
判斷一個幾何對象是否有效。這對于確保幾何對象在球面坐標系中是有效的非常有用。

Sphere.isValid(geometry);

getEnvelope
獲取幾何對象的包圍盒(Bounding Box),即可以包圍該幾何對象的最小矩形框。對于球面幾何,返回的是一個近似的矩形包圍盒。返回幾何對象的包圍盒,表示為最小的經(jīng)緯度矩形。

Sphere.getEnvelope(geometry);

到此這篇關(guān)于Openlayers實現(xiàn)面積測量的文章就介紹到這了,更多相關(guān)Openlayers面積測量內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論