当前位置: 首页 > news >正文

做内贸的网站淘宝网建设网站意义

做内贸的网站,淘宝网建设网站意义,百度关键词搜索引擎,比较好的网页网站设计目录 前言道路栅格化轨迹聚类参考资料 前言 很多针对道路轨迹的挖掘项目前期都需要对道路进行一段一段的分割成路段,然后对每一个路段来单独进行考察,如设定路段限速标识,超速概率等,如何对道路进行划分,其实是一个很…

目录

  • 前言
  • 道路栅格化
  • 轨迹聚类
  • 参考资料

前言

很多针对道路轨迹的挖掘项目前期都需要对道路进行一段一段的分割成路段,然后对每一个路段来单独进行考察,如设定路段限速标识,超速概率等,如何对道路进行划分,其实是一个很有技巧性的活,最直白的有以下2种策略

  • 道路栅格化

  • 轨迹点聚类

下面分别对两种策略进行简单讲解。

道路栅格化

栅格化

道路栅格化,简言之就是用一张纵横交错的网去尽可能覆盖道路所在的范围,这样,整个区域就被划分成一块一块的小矩形,形成栅格化,可以给每一个栅格编号,形成编号序列,而且可以判断出哪些栅格有轨迹点落入,哪些是没有轨迹点落入的,有轨迹点的栅格相对稀疏一些,此方法关键要考虑道路的经纬度最大范围和网眼大小,下面是道路栅格化处理主函数。

def roadRaster(road_data, unit_gap): #轨迹栅格化min_lng, max_lng = np.min(road_data['lng']), np.max(road_data['lng']) #经度范围min_lat, max_lat = np.min(road_data['lat']), np.max(road_data['lat']) #纬度范围lng_gap = max_lng - min_lng  lat_gap = max_lat - min_latm = int(lng_gap/unit_gap)n = int(lat_gap/unit_gap)print(fleet_id,  min_lng, max_lng, min_lat, max_lat, m, n, (m-1)*(n-1))slice_lng = np.linspace(min_lng, max_lng, m)  #对经度等间距划分slice_lat = np.linspace(min_lat, max_lat, n) #对纬度等间距划分idx = 0for i in range(len(slice_lng)-1):for j in range(len(slice_lat)-1):raster_a_lng = slice_lng[i]raster_a_lat = slice_lat[j]raster_b_lng = slice_lng[i+1]raster_b_lat = slice_lat[j+1]idx +=1

代码解读,首先,找出道路轨迹点经纬度最大最小值,然后对经纬度跨度进行等间距划分,然后对经纬度循环,不断生成栅格左下角点的经纬度对和右上角的经纬度对,由这样对顶角的点对就可以刻画出栅格,其中,unit_gap很关键,直接决定网眼大小,按下面经纬度小数点对应精度来粗略估计

小数点后位数精度
第1位10000米
第2位1000米
第3位100米
第4位10米
第5位1米
第6位0.1米
第7位0.01米
第8位0.001米

轨迹聚类

轨迹聚类,就是根据历史行驶轨迹点的稠密程度来进行聚合成一簇一簇的轨迹点集合,其中同一簇的轨迹点尽可能靠在一起,不同一簇的轨迹点尽可能分散开来,然后把一簇的轨迹点范围提炼出来,如提取其四至,这样便把整个道路进行的切分。具体可以利用DBSCAN算法实现,DBACAN是一种基于密度的聚类算法,可以用于对道路轨迹点进行聚类。具体步骤如下:

  • 初始化:将所有轨迹点标记为未访问状态,并设置一个固定的邻域半径r和最小聚类数量minPts。

  • 随机选择一个未访问的点p,以p为中心,搜索其邻域内所有未访问点,并将这些点标记为已访问状态。

  • 如果邻域内访问点的数量小于minPts,则将p标记为噪声点,否则创建一个新的聚类,并将p加入该聚类中。

  • 遍历邻域内所有访问点的邻域,将其未访问的邻域点添加到聚类中,并将其标记为已访问状态。

  • 重复2-4步,直到所有点都被访问过。

  • 最后,将所有噪声点从聚类中去除。

需要注意的是,选择合适的邻域半径r和最小聚类数量minPts非常重要,这会影响到聚类结果的质量。可以通过试验不同的参数来获得最佳结果,下面是利用DBSCAN算法实现轨迹点聚类的主函数。

def roadCluster(trajectory): # 使用DBSCAN聚类算法进行路段划分sample_num = int(0.6*len(trajectory))print(sample_num)trajectory_sample =  trajectory.sample(sample_num) #随机抽样60%样本点 locations = np.array(trajectory_sample[['lat','lng']]) #位置数据param_grid = {"eps":[0.0005, 0.001, 0.003,  0.005, 0.006, 0.01],"min_samples":[6,  9, 15, 20, 30, 50, 70]} # epsilon控制聚类的距离阈值,min_samples控制形成簇的最小样本数dbscan = DBSCAN()grid_search = GridSearchCV(estimator= dbscan, param_grid=param_grid, scoring=myScore)grid_search.fit(locations)print("best parameters:{}".format(grid_search.best_params_))print("label:{}".format(grid_search.best_estimator_.labels_))labels = grid_search.best_estimator_.labels_  #-1表示离群点score = silhouette_score(locations, labels, metric='euclidean') #轮廓系数total_cluster = labels.max() - labels.min()print("一共聚了{}类, 轮廓系数为{}".format(total_cluster, score))road_label = pd.DataFrame({"road_label": labels})trajectory_sample.reset_index(drop=True, inplace=True)road_label.reset_index(drop=True, inplace=True)cluster_data = pd.concat([trajectory_sample, road_label], axis = 1, ignore_index=True) #带标签的行驶记录cluster_data.columns= ['lng', 'lat', 'speed', 'road_label']cluster_data['road_label'] = [str(i) for i in cluster_data['road_label']]print(cluster_data)return cluster_data

代码解读,聚类的对象locations由经纬度组成的2维数组,通过grid_search 来寻找最佳的超参数epsilon和min_samples,最后把标签类和原先的轨迹拼接起来,相当于给原先的每一个轨迹点打一个类别标签,聚类后,可以只提炼出每一类的经纬度中位数进行可视化,即用一个点来代表这一簇,效果会显得更加稀疏明显

聚类簇

参考资料

1,经纬度坐标小数位与精度的对应关系
https://blog.csdn.net/lang_niu/article/details/123550453

2,基于DBSCAN算法的营运车辆超速点聚类分析
https://max.book118.com/html/2018/0407/160435287.shtm

http://www.lakalapos1.cn/news/597/

相关文章:

  • 河南专业网站建设公司哪家好如何在建设教育协会网站注册考试
  • 进网站后台加什么个人网站用备案吗
  • 做网站分几种电商网站设计周志
  • 裕华建设集团网站小企业门户网站建设
  • 网站描述样本h5页面制作软件教程
  • 建销售网站需要多少钱网站建设首页模板
  • 百度建网站多少钱公司公众网站微信平台建设方案
  • 酒店网站设计模板教人怎么做网页的网站
  • 为什么网站只能显示ip地址_不能显示域名 wordpress4399小游戏网页在线玩
  • 有关网站建设的app个人网页设计首页
  • 保世基官方网站建设万界随机购物系统
  • ps制作个性字网站手工制作盲盒
  • 福建漳州网站建设价格wordpress postline
  • 网站优化网络品牌网站建设小蝌蚪
  • 长春科技网站建设网站建设商城模板下载
  • 视频网站做短视频什么网站可以找人做系统
  • iis搭建网站怎么做前端公司辞退员工补偿标准2023
  • 黄冈网站建设收费linode wordpress
  • 海口企业免费建站网站改版不换域名
  • 响应式网站开发有哪些框架郑州搜狗网站建设
  • 400选号网站源码黄骅市职教中心
  • 株洲做网站优化有专门做网站的公司吗
  • 成品软件源码网站手机网站自动跳转
  • 网站建设营销的技巧招商加盟网
  • 武安市精品网站开发wordpress 代码 格式
  • 网址模板建站wordpress forget主题
  • 青岛手机网站建设电话深圳龙岗高端网站建设
  • 西安市网站建设公司备案网站可以做卡盟么
  • 哪些网站是用wordpress搭建的网站域名注册流程
  • 网站建站报价单网站建设开发上线流程