pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

<legend id='8BUJK'><style id='8BUJK'><dir id='8BUJK'><q id='8BUJK'></q></dir></style></legend>
  • <small id='8BUJK'></small><noframes id='8BUJK'>

    <tfoot id='8BUJK'></tfoot>

    <i id='8BUJK'><tr id='8BUJK'><dt id='8BUJK'><q id='8BUJK'><span id='8BUJK'><b id='8BUJK'><form id='8BUJK'><ins id='8BUJK'></ins><ul id='8BUJK'></ul><sub id='8BUJK'></sub></form><legend id='8BUJK'></legend><bdo id='8BUJK'><pre id='8BUJK'><center id='8BUJK'></center></pre></bdo></b><th id='8BUJK'></th></span></q></dt></tr></i><div class="9xbvzdp" id='8BUJK'><tfoot id='8BUJK'></tfoot><dl id='8BUJK'><fieldset id='8BUJK'></fieldset></dl></div>
    • <bdo id='8BUJK'></bdo><ul id='8BUJK'></ul>

      1. 沿兩點之間的直線獲取緯度和經度點,按百分比

        Get latitude and longitude points along a line between two points, by percentage(沿兩點之間的直線獲取緯度和經度點,按百分比)

        <small id='PkXD6'></small><noframes id='PkXD6'>

            <tfoot id='PkXD6'></tfoot>
              <tbody id='PkXD6'></tbody>

                <bdo id='PkXD6'></bdo><ul id='PkXD6'></ul>
              • <legend id='PkXD6'><style id='PkXD6'><dir id='PkXD6'><q id='PkXD6'></q></dir></style></legend>

                <i id='PkXD6'><tr id='PkXD6'><dt id='PkXD6'><q id='PkXD6'><span id='PkXD6'><b id='PkXD6'><form id='PkXD6'><ins id='PkXD6'></ins><ul id='PkXD6'></ul><sub id='PkXD6'></sub></form><legend id='PkXD6'></legend><bdo id='PkXD6'><pre id='PkXD6'><center id='PkXD6'></center></pre></bdo></b><th id='PkXD6'></th></span></q></dt></tr></i><div class="fjfjhl7" id='PkXD6'><tfoot id='PkXD6'></tfoot><dl id='PkXD6'><fieldset id='PkXD6'></fieldset></dl></div>
                  本文介紹了沿兩點之間的直線獲取緯度和經度點,按百分比的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                  問題描述

                  在下圖中,您可以看到從一個點(黑色圓圈)到它的三個相關點()繪制了 3 條線.

                  圖片

                  問題

                  如何計算沿每條線的點之間的經緯度點,使用兩點之間距離的百分比?

                  例如,如果我想讓位置能夠沿著每條線繪制額外的圓,相差 20%?

                  我現在有什么代碼

                  var 數據 = [{坐標":[53.409045,-2.985406]},{坐標":[53.408747,-2.982862]},{坐標":[53.407630,-2.984136]},{坐標":[53.407142,-2.986931]}];var pointA = new L.LatLng(53.409045, -2.985406);變量點B;data.forEach(函數(d){pointB = new L.LatLng(d.coords[0], d.coords[1]);L.polyline([pointA, pointB]).addTo(map);L.circle([d.coords[0], d.coords[1]], 10).addTo(map);});

                  上面的代碼唯一要做的就是為每個點畫一個圓,并從主圓(pointA)到其他圓(pointB)畫一條線

                  我非常需要知道如何按距離百分比計算 pointA 與其相關點之間的多個坐標.

                  我需要確保所有綠色圓圈與中心圓圈的距離相同

                  要測試的代碼

                  解決方案

                  警告:這適用于線性坐標.正如 Ollie Jones 所提到的,雖然這對于短距離(或在某些情況下取決于您的投影)是一個合理的近似值,但對于長距離或如果您想要一個非常準確的百分比點,這將不起作用

                  您要查找的函數是 pointAtPercent.紅色是起點(你的中心圓圈),綠色是終點(你的終點圓圈)

                  var ctx = document.getElementById("myChart").getContext("2d");函數drawPoint(顏色,點){ctx.fillStyle = 顏色;ctx.beginPath();ctx.arc(point.x, point.y, 5, 0, 2 * Math.PI, false);ctx.fill();}函數畫線(點1,點2){ctx.strokeStyle = '灰色';ctx.setLineDash([5, 5]);ctx.beginPath();ctx.moveTo(point1.x, point1.y);ctx.lineTo(point2.x, point2.y);ctx.stroke();}功能點AtPercent(p0,p1,百分比){drawPoint('紅色', p0);drawPoint('綠色', p1);畫線(p0,p1);變量 x;如果 (p0.x !== p1.x)x = p0.x + 百分比 * (p1.x - p0.x);別的x = p0.x;各不相同;如果 (p0.y !== p1.y)y = p0.y + 百分比 * (p1.y - p0.y);別的y = p0.y;變種 p = {x: x,是的:是的};drawPoint('藍色', p);返回 p;}pointAtPercent({ x: 50, y: 25 }, { x: 200, y: 300 }, 0.2)pointAtPercent({ x: 150, y: 25 }, { x: 300, y: 100 }, 0.6)pointAtPercent({ x: 650, y: 300 }, { x: 100, y: 400 }, 0.4)

                  <小時>

                  小提琴 - https://jsfiddle.net/goev47aL/

                  In the image below, you can see that there 3 lines drawn from one point (the black circle) to its 3 related points ().

                  IMAGE

                  QUESTION

                  How to calculate latitude and longitude point between points along each line, using a percentage of the distance between the two points?

                  For example, if I wanted to get the position to be able to draw additional circles along each line with a 20% difference?

                  WHAT CODE I HAVE NOW

                  var data = [
                    { "coords" : [ 53.409045, -2.985406 ]},
                    { "coords" : [ 53.408747, -2.982862 ]},
                    { "coords" : [ 53.407630, -2.984136 ]},
                    { "coords" : [ 53.407142, -2.986931 ]}
                  ];
                  
                  
                  var pointA = new L.LatLng(53.409045, -2.985406);
                  var pointB; 
                  
                  data.forEach(function(d) {
                    pointB = new L.LatLng(d.coords[0], d.coords[1]);
                    L.polyline([pointA, pointB]).addTo(map);
                    L.circle([d.coords[0], d.coords[1]], 10).addTo(map);
                  });
                  

                  The only things the code above is doing is drawing a circle for each point and a line from the main circle (pointA) to the other circles (pointB)

                  I pretty much need to know how to calculate multiple coordinates, by percentage of distance, between the pointA and and its related points.

                  I need to make sure all green circle are the same distance from the center circle

                  CODEPEN TO TEST WITH

                  Codepen Link

                  EDIT - IMAGES OF WHAT i HAVE SO FAR USING THE CORRECT ANSWER BELOW

                  解決方案

                  Warning : this works on a linear coordinates. As Ollie Jones mentioned, while this is a reasonable approximation for short distances (or for certain cases depending on your projection), this won't work for long distance or if you want a very accurate point at percent

                  The function you are looking for is pointAtPercent. Red is the start point (your center circle) and green the end point (your end circles)

                  var ctx = document.getElementById("myChart").getContext("2d");
                  
                  function drawPoint(color, point) {
                      ctx.fillStyle = color;
                      ctx.beginPath();
                      ctx.arc(point.x, point.y, 5, 0, 2 * Math.PI, false);
                      ctx.fill();
                  }
                  
                  function drawLine(point1, point2) {
                      ctx.strokeStyle = 'gray';
                      ctx.setLineDash([5, 5]);    
                      ctx.beginPath();
                      ctx.moveTo(point1.x, point1.y);
                      ctx.lineTo(point2.x, point2.y);
                      ctx.stroke();    
                  }
                  
                  
                  function pointAtPercent(p0, p1, percent) {
                      drawPoint('red', p0);
                      drawPoint('green', p1);
                      drawLine(p0, p1);
                  
                      var x;
                      if (p0.x !== p1.x)
                          x = p0.x + percent * (p1.x - p0.x);
                      else
                          x = p0.x;
                  
                      var y;
                      if (p0.y !== p1.y)
                          y = p0.y + percent * (p1.y - p0.y);
                      else
                          y = p0.y;
                  
                      var p = {
                          x: x,
                          y: y
                      };
                      drawPoint('blue', p);
                  
                      return p;
                  }
                  
                  
                  pointAtPercent({ x: 50, y: 25 }, { x: 200, y: 300 }, 0.2)
                  pointAtPercent({ x: 150, y: 25 }, { x: 300, y: 100 }, 0.6)
                  pointAtPercent({ x: 650, y: 300 }, { x: 100, y: 400 }, 0.4)
                  


                  Fiddle - https://jsfiddle.net/goev47aL/

                  這篇關于沿兩點之間的直線獲取緯度和經度點,按百分比的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                  【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                  相關文檔推薦

                  Check if a polygon point is inside another in leaflet(檢查一個多邊形點是否在傳單中的另一個內部)
                  Changing leaflet markercluster icon color, inheriting the rest of the default CSS properties(更改傳單標記群集圖標顏色,繼承其余默認 CSS 屬性)
                  Trigger click on leaflet marker(觸發點擊傳單標記)
                  How can I change the default loading tile color in LeafletJS?(如何更改 LeafletJS 中的默認加載磁貼顏色?)
                  Add external geojson to leaflet layer(將外部geojson添加到傳單層)
                  Adding Leaflet layer control to sidebar(將 Leaflet 圖層控件添加到側邊欄)

                      <small id='y0bPT'></small><noframes id='y0bPT'>

                          <bdo id='y0bPT'></bdo><ul id='y0bPT'></ul>
                        • <legend id='y0bPT'><style id='y0bPT'><dir id='y0bPT'><q id='y0bPT'></q></dir></style></legend>

                          <i id='y0bPT'><tr id='y0bPT'><dt id='y0bPT'><q id='y0bPT'><span id='y0bPT'><b id='y0bPT'><form id='y0bPT'><ins id='y0bPT'></ins><ul id='y0bPT'></ul><sub id='y0bPT'></sub></form><legend id='y0bPT'></legend><bdo id='y0bPT'><pre id='y0bPT'><center id='y0bPT'></center></pre></bdo></b><th id='y0bPT'></th></span></q></dt></tr></i><div class="nj5trhr" id='y0bPT'><tfoot id='y0bPT'></tfoot><dl id='y0bPT'><fieldset id='y0bPT'></fieldset></dl></div>
                              <tbody id='y0bPT'></tbody>
                            <tfoot id='y0bPT'></tfoot>
                            主站蜘蛛池模板: 中天寰创-内蒙古钢结构厂家|门式刚架|钢结构桁架|钢结构框架|包头钢结构煤棚 | 微波萃取合成仪-电热消解器价格-北京安合美诚科学仪器有限公司 | 手板_手板模型制作_cnc手板加工厂-东莞天泓 | 标准品网_标准品信息网_【中检计量】 | TPE_TPE热塑性弹性体_TPE原料价格_TPE材料厂家-惠州市中塑王塑胶制品公司- 中塑王塑胶制品有限公司 | 体视显微镜_荧光生物显微镜_显微镜报价-微仪光电生命科学显微镜有限公司 | 翰墨AI智能写作助手官网_人工智能问答在线AI写作免费一键生成 | 双工位钻铣攻牙机-转换工作台钻攻中心-钻铣攻牙机一体机-浙江利硕自动化设备有限公司 | 钢制暖气片散热器_天津钢制暖气片_卡麦罗散热器厂家 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | bng防爆挠性连接管-定做金属防爆挠性管-依客思防爆科技 | 打造全球沸石生态圈 - 国投盛世 锂电混合机-新能源混合机-正极材料混料机-高镍,三元材料混料机-负极,包覆混合机-贝尔专业混合混料搅拌机械系统设备厂家 | 太空舱_民宿太空舱厂家_移动房屋太空舱价格-豪品建筑 | 翻斗式矿车|固定式矿车|曲轨侧卸式矿车|梭式矿车|矿车配件-山东卓力矿车生产厂家 | 订做不锈钢_不锈钢定做加工厂_不锈钢非标定制-重庆侨峰金属加工厂 | 洛阳防爆合格证办理-洛阳防爆认证机构-洛阳申请国家防爆合格证-洛阳本安防爆认证代办-洛阳沪南抚防爆电气技术服务有限公司 | 高压包-点火器-高压发生器-点火变压器-江苏天网 | 阳光模拟试验箱_高低温试验箱_高低温冲击试验箱_快速温变试验箱|东莞市赛思检测设备有限公司 | 干粉砂浆设备_干混砂浆生产线_腻子粉加工设备_石膏抹灰砂浆生产成套设备厂家_干粉混合设备_砂子烘干机--郑州铭将机械设备有限公司 | 深圳市万色印象美业有限公司| 工业废水处理|污水处理厂|废水治理设备工程技术公司-苏州瑞美迪 今日娱乐圈——影视剧集_八卦娱乐_明星八卦_最新娱乐八卦新闻 | 非标压力容器_碳钢储罐_不锈钢_搪玻璃反应釜厂家-山东首丰智能环保装备有限公司 | 根系分析仪,大米外观品质检测仪,考种仪,藻类鉴定计数仪,叶面积仪,菌落计数仪,抑菌圈测量仪,抗生素效价测定仪,植物表型仪,冠层分析仪-杭州万深检测仪器网 | 江西自考网-江西自学考试网 | 中视电广_短视频拍摄_短视频推广_短视频代运营_宣传片拍摄_影视广告制作_中视电广 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | 脉冲布袋除尘器_除尘布袋-泊头市净化除尘设备生产厂家 | 莱州网络公司|莱州网站建设|莱州网站优化|莱州阿里巴巴-莱州唯佳网络科技有限公司 | 游戏版号转让_游戏资质出售_游戏公司转让-【八九买卖网】 | 偏心半球阀-电动偏心半球阀-调流调压阀-旋球阀-上欧阀门有限公司 | LED灯杆屏_LED广告机_户外LED广告机_智慧灯杆_智慧路灯-太龙智显科技(深圳)有限公司 | 上海刑事律师|刑事辩护律师|专业刑事犯罪辩护律师免费咨询-[尤辰荣]金牌上海刑事律师团队 | 辐射仪|辐射检测仪|辐射巡测仪|个人剂量报警仪|表面污染检测仪|辐射报警仪|辐射防护网 | 网优资讯-为循环资源、大宗商品、工业服务提供资讯与行情分析的数据服务平台 | 北京模型公司-军事模型-工业模型制作-北京百艺模型沙盘公司 | 机械立体车库租赁_立体停车设备出租_智能停车场厂家_春华起重 | 浙江建筑资质代办_二级房建_市政_电力_安许_劳务资质办理公司 | 校园文化空间设计-数字化|中医文化空间设计-党建|法治廉政主题文化空间施工-山东锐尚文化传播公司 | T恤衫定做,企业文化衫制作订做,广告T恤POLO衫定制厂家[源头工厂]-【汉诚T恤定制网】 | 无锡门窗-系统门窗-阳光房-封阳台-断桥铝门窗厂[窗致美] | CXB船用变压器-JCZ系列制动器-HH101船用铜质开关-上海永上船舶电器厂 |