使用leaflet画椭圆,弧线,根据起点经纬度,速度,时间,方向,计算终点经纬度。

源码地址:https://github.com/jimoruyan/leetcode/tree/master/demo

算法背景:公司需要一个模型,求污染扩散的面积,给出起始的经纬度坐标,风速,风向,时间,根据这四个参数画出一个椭圆扩散的图形,起点到中间位置为重污染红色,中间位置到3/4位置为中污染黄色,3/4位置到终点为轻污染绿色。

效果图:

使用leaflet画椭圆,弧线,根据起点经纬度,速度,时间,方向,计算终点经纬度。_第1张图片

方法一

  • destinationVincenty()方法计算终点位置

  • 依次画出起点到终点,起点到3/4点,起点到中点的线段

  • calcCoorArr()方法画出起点到各点的弧线,一共六条





    Leaflet Quick Start Guide Example
    
    
    
    




    

方法一

  • destinationVincenty()方法计算二分终点(起点到终点的一半)位置

  • 以二分终点为圆心,使用循环找椭圆的点,没旋转一度,则增加一点半径的长度

  • 将所有的点连起来,成为一个椭圆





    Leaflet Quick Start Guide Example
    
    
    
    




    

 

你可能感兴趣的:(JavaScript,leaflet,javascript,leaflet)