# -*- coding: utf-8 -*-
"""
Created on Thu Jun 14 18:44:06 2018
@author: dell
"""
import re
import pandas as pd
import numpy as np
from math import radians, cos, sin, asin, sqrt
#经纬度计算
def haversine(lon1, lat1, lon2, lat2): # 经度1,纬度1,经度2,纬度2 (十进制度数)
"""
Calculate the great circle distance between two points
on the earth (specified in decimal degrees)
"""
# 将十进制度数转化为弧度
lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
# haversine公式
dlon = lon2 - lon1
dlat = lat2 - lat1
a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
c = 2 * asin(sqrt(a))
r = 6371 # 地球平均半径,单位为公里
return c * r
#速度计算函数
def speedcal(lng1,lat1,lng2,lat2,time3):
distance=haversine(lng1,lat1,lng2,lat2)
speed=distance/time3*3600
return speed
#计算不同车辆在不同道路、不同时段的实际速度
def speednew(da1):
global final
#提取存在的路段id集
carid=da1['id'].drop_duplicates()
for i in car
计算道路等级
最新推荐文章于 2025-02-20 11:26:45 发布