folium路径绘图练习

folium基础知识:

https://www.cnblogs.com/traditional/p/12386907.html

folium路径绘图:

from folium import plugins
import folium
import math
import os

def  print_trace():
    m = folium.Map([32.04,118.78], zoom_start=15)  #中心区域的确定
    location = citys  #输入坐标点(注意)folium包要求坐标形式以纬度在前,经度在后

    #定义一个空列表将
    use_location=[]

    for i in range(len(location)):
        
        position_atitu = [location[i][0], location[i][1]]
        
        use_location.append([location[i][0], location[i][1]])
        
        if i < len(location) - 1:
            
            dx = location[i + 1][0] - location[i][0]  # dx
            
            dy = location[i + 1][1] - location[i][1]  # dy

            angle1 = math.atan2(dx, dy)

            angle2 = -int(angle1 * 180 / math.pi)

            mid_location = [location[i][0]+dx/2,location[i][1]+dy/2]


            #三角形图形指示方向,由于rotation的角度是顺时针旋转,
            folium.Marker(position_atitu, popup='<i>维度:</i>'+str(location[i][0])+'<br><i>经度:</i>'+str(location[i][1])+'<br><i>city_name:</i>'+location[i][2]).add_to(m)
            
            folium.RegularPolygonMarker(mid_location, fill_color='black', number_of_sides=3, radius=5,
                                    rotation=angle2).add_to(m)
        else:
            folium.Marker(position_atitu, popup='<i>维度:</i>'+str(location[i][0])+'<br><i>经度:</i>'+str(location[i][1])+'<br><i>city_name:</i>'+location[i][2]).add_to(m)



    #polyline方法为将坐标用线段形式连接起来
    route = folium.PolyLine(
        
        use_location,    #将坐标点连接起来
        
        weight=3,  #线的大小为3
        
        color='blue',  #线的颜色为橙色
        
        opacity=0.5,    #线的透明度
    ).add_to(m)    #将这条线添加到刚才的区域m内

    m.save(os.path.join(r'C:\Users\hello\python\位置数据源分析','city3.html'))
    
print_trace()

其中,citys为数组:

citys = [[46.653186, 131.16534199999998, '双鸭山市'],
       [45.7763, 131.01154499999998, '七台河市'],
       [45.300872, 130.975619, '鸡西市'],
       [46.805690000000006, 130.327359, '佳木斯市'],
       [47.356056, 130.30443300000002, '鹤岗市'],
       [44.6, 129.58, '牡丹江市'],
       [42.915743, 129.477376, '延边朝鲜族自治州'],
       [47.733318, 128.847546, '伊春市'],
       [50.251272, 127.53549, '黑河市'],
       [46.660032, 126.975357, '绥化市'],
       [45.75, 126.63, '哈尔滨市'],
       [43.87, 126.57, '吉林市'],
       [41.939627, 126.42963, '白山市'],
       [41.733816, 125.946606, '通化市'],
       [43.88, 125.35, '长春市'],
       [42.894055, 125.150425, '辽源市'],
       [46.58, 125.03, '大庆市'],
       [45.147403999999995, 124.83148200000001, '松原市'],    
        ...
       ]

效果如下:

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值