最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Openlayers實(shí)現(xiàn)面積測(cè)量的方法

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

概述

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

如果還不清楚如何在 Openlayers 中計(jì)算長(zhǎng)度,可以參考Openlayers實(shí)現(xiàn)長(zhǎng)度測(cè)量

實(shí)踐

效果

代碼分析

同長(zhǎng)度測(cè)量一樣,監(jiān)聽draw類的實(shí)例對(duì)象的drawstart方法,然后監(jiān)聽當(dāng)前繪制的幾何對(duì)象的change事件,在這個(gè)監(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方法用于計(jì)算地球表面上幾何形狀的面積,并且考慮了球體的曲率,這意味著它并不是計(jì)算平面上的面積,而是計(jì)算球面上閉合路徑所圍成的面積。

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

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

返回值

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

ol/sphere實(shí)用 API 介紹

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

getClosestPoint
計(jì)算一點(diǎn)到球面上某幾何形狀的最近點(diǎn)。

Sphere.getClosestPoint(geometry, point);

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

Sphere.containsCoordinate(geometry, point);

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

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

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

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

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

Sphere.isFlat(geometry);

isValid
判斷一個(gè)幾何對(duì)象是否有效。這對(duì)于確保幾何對(duì)象在球面坐標(biāo)系中是有效的非常有用。

Sphere.isValid(geometry);

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

Sphere.getEnvelope(geometry);

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

相關(guān)文章

  • p5.js實(shí)現(xiàn)斐波那契螺旋的示例代碼

    p5.js實(shí)現(xiàn)斐波那契螺旋的示例代碼

    本篇文章主要介紹了p5.js實(shí)現(xiàn)斐波那契螺旋的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • 教你用Uniapp實(shí)現(xiàn)微信小程序的GPS定位打卡

    教你用Uniapp實(shí)現(xiàn)微信小程序的GPS定位打卡

    地圖組件用于展示地圖,而定位API只是獲取坐標(biāo),請(qǐng)勿混淆兩者,下面這篇文章主要給大家介紹了關(guān)于如何使用Uniapp實(shí)現(xiàn)微信小程序的GPS定位打卡的相關(guān)資料,需要的朋友可以參考下
    2022-11-11
  • JS中‘hello’與new String(‘hello’)引出的問題詳解

    JS中‘hello’與new String(‘hello’)引出的問題詳解

    這篇文章主要給大家介紹了關(guān)于JS中'hello'與new String('hello')引出的問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-08-08
  • js 實(shí)現(xiàn)瀏覽歷史記錄示例

    js 實(shí)現(xiàn)瀏覽歷史記錄示例

    這篇文章主要介紹了如何使用js實(shí)現(xiàn)瀏覽歷史記錄,需要的朋友可以參考下
    2014-04-04
  • 使用原生javascript開發(fā)計(jì)算器實(shí)例代碼

    使用原生javascript開發(fā)計(jì)算器實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于如何使用原生javascript開發(fā)計(jì)算器的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 點(diǎn)擊button獲取text內(nèi)容并改變樣式的js實(shí)現(xiàn)

    點(diǎn)擊button獲取text內(nèi)容并改變樣式的js實(shí)現(xiàn)

    這篇文章主要介紹了點(diǎn)擊button獲取text內(nèi)容并改變樣式的js實(shí)現(xiàn),經(jīng)測(cè)試非常實(shí)用,需要的朋友可以參考下
    2014-09-09
  • js動(dòng)態(tài)切換圖片的方法

    js動(dòng)態(tài)切換圖片的方法

    這篇文章主要介紹了js動(dòng)態(tài)切換圖片的方法,包含完整的css文件與js文件實(shí)現(xiàn)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-01-01
  • JavaScript實(shí)現(xiàn)簡(jiǎn)單進(jìn)度條效果

    JavaScript實(shí)現(xiàn)簡(jiǎn)單進(jìn)度條效果

    這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡(jiǎn)單進(jìn)度條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-03-03
  • Bootstrap基本樣式學(xué)習(xí)筆記之標(biāo)簽(5)

    Bootstrap基本樣式學(xué)習(xí)筆記之標(biāo)簽(5)

    這篇文章主要介紹了Bootstrap學(xué)習(xí)筆記之標(biāo)簽基本樣式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • uniapp時(shí)間格式化處理實(shí)現(xiàn)

    uniapp時(shí)間格式化處理實(shí)現(xiàn)

    本文主要介紹了uniapp時(shí)間格式化處理實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08

最新評(píng)論

永川市| 中山市| 华容县| 垣曲县| 陆川县| 尼木县| 赤水市| 旌德县| 密云县| 滨州市| 铜山县| 新源县| 六盘水市| 太仆寺旗| 湄潭县| 浦江县| 凤阳县| 桦川县| 潼关县| 柳河县| 嘉祥县| 九龙坡区| 营口市| 元朗区| 河源市| 进贤县| 平安县| 张家口市| 五家渠市| 报价| 卓资县| 胶州市| 水富县| 彭阳县| 鲁山县| 临桂县| 绥滨县| 丰宁| 内黄县| 昌图县| 镇巴县|