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

基于openlayers實現(xiàn)角度測量功能

 更新時間:2020年09月28日 09:45:22   作者:GISer_飄逸的夢  
這篇文章主要為大家詳細介紹了基于openlayers實現(xiàn)角度測量功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下

基于openlayers的測量功能,官網(wǎng)提供了長度測量和角度測量,但是沒有角度測量,在此寫一下基于openlayers的角度測量功能,主要方法如下:

var formatAngle = function (line) {
  var coordinates = line.getCoordinates();
  var angle=0;
  var sourceProj = map.getView().getProjection();
  for (var i =0, ii = coordinates.length - 1; i < ii; ++i) {
    var c1 = ol.proj.transform(coordinates[i], sourceProj, 'EPSG:4326');
    var c2 = ol.proj.transform(coordinates[i + 1], sourceProj, 'EPSG:4326');
    var c3=0
    //當繪制兩個及以上點的時候,將c1的值傳給C3,C2的值傳給C1
    if(i>=1){
      c3=ol.proj.transform(coordinates[i-1], sourceProj, 'EPSG:4326');
      var disa=wgs84Sphere.haversineDistance(c3, c1);
      var disb=wgs84Sphere.haversineDistance(c1, c2);
      var disc=wgs84Sphere.haversineDistance(c2, c3);
      //由于繪制結(jié)束的時候雙擊會導(dǎo)致c1=c2,從而disb=0,而分母不能為零,導(dǎo)致angle=NAN值,所以需要取雙擊的前一次值。
      //當有三個以上的點的時候,形成了角度,需要對角度進行測量輸出。
      if(disb===0&&i>=2){
        c1 = ol.proj.transform(coordinates[i-1], sourceProj, 'EPSG:4326');
        c2 = ol.proj.transform(coordinates[i], sourceProj, 'EPSG:4326');
        c3 = ol.proj.transform(coordinates[i-2], sourceProj, 'EPSG:4326');
        disa=wgs84Sphere.haversineDistance(c3, c1);
        disb=wgs84Sphere.haversineDistance(c1, c2);
        disc=wgs84Sphere.haversineDistance(c2, c3);
      }
      var cos=(disa*disa+disb*disb-disc*disc)/(2*disa*disb);  //利用余弦定理公式計算cos值
      angle=Math.acos(cos)*180/Math.PI;  //求反余弦值,得到弧度制,并將弧度值轉(zhuǎn)角度值
      angle=angle.toFixed(2)+"度";  //對計算完成的角度,保留兩位小數(shù)
      //由于繪制結(jié)束的時候雙擊會導(dǎo)致c1=c2,從而disb=0,而分母不能為零,導(dǎo)致angle=NAN值,所以需要取雙擊的前一次值。
      //當只有兩個點的時候,只是一條線,并不形成角度,需要提示繼續(xù)繪制。
      if(disb===0&&i<2){
        angle="請繼續(xù)繪制形成角度";
      }
    }
    //當只是繪制一個點的時候,提示繼續(xù)繪制。
    else{
      angle="請繼續(xù)繪制形成角度";
    }
  }
  var output;
  output=angle;
  return output;//返回
};

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論