js加载本地shp数据到地图上_数据分享及地图匹配千万量级出租车轨迹数据

js加载本地shp数据到地图上_数据分享及地图匹配千万量级出租车轨迹数据_第1张图片 10f4f501c3bdaf34abc1b62af6b3393e.png 06188c43a8332996c05edda713827a0c.png

时空轨迹数据是带有时间和空间信息的序列数据,数据获取成本低,覆盖范围广,且拥有时态特性,既可以进行微观个体活动模式的研究,也可以进行宏观活动系统的城市空间结构的研究。今天将分享一套出租车轨迹数据,该数据包含北京市2008年一周内10000+辆出租车、10分钟采样频率、1千万条以上的轨迹。

0 1时空轨迹数据的研究点

时空轨迹数据可进行城市动态景观分析,城市公共空间组织与规划,城市人口分布,城市交通可达性、土地利用与交通需求的依赖关系、城市路网脆弱性等研究。同时,利用配有GPS的浮动车数据(Floating Car Data)不仅能够动态追踪移动车辆的连续轨迹,而且由于浮动车辆的运动受限于路网,也能够动态感知城市道路的路网交通状态、拥堵状况、十字路口等重要交通节点的车流量状况,分析出租车轨迹的时空规律等。

例如,轨迹数据可用于提取人流、信息流的方向与强度,对于区域空间结构研究提供了新的视角。轨迹数据也可提取人口分布空间集聚动态规律,有助于交通问题的发现与解决,促进交通分析的精确化、科学化。

0 2数据样例
1,2008-02-02 15:36:08,116.51172,39.921231,2008-02-02 15:46:08,116.51135,39.938831,2008-02-02 15:46:08,116.51135,39.938831,2008-02-02 15:56:08,116.51627,39.910341,2008-02-02 16:06:08,116.47186,39.91248

主要包含车辆ID,时间戳,经纬度等信息。

0 3数据展示

路网及轨迹点展示:

js加载本地shp数据到地图上_数据分享及地图匹配千万量级出租车轨迹数据_第2张图片

一天的某量车辆轨迹动态展示:

某辆出租车多天轨迹2D平面展示:

js加载本地shp数据到地图上_数据分享及地图匹配千万量级出租车轨迹数据_第3张图片

某辆出租车多天轨迹3维展示:

js加载本地shp数据到地图上_数据分享及地图匹配千万量级出租车轨迹数据_第4张图片

0 4地图匹配

选择部分轨迹序列,由于GPS的误差,出租车轨迹点通常不在路网中;然而,由于出租车是受路网约束的,因此需要进行地图匹配,即将在路网外的GPS点移动到路网上。

原始轨迹数据是不在路网上的:

js加载本地shp数据到地图上_数据分享及地图匹配千万量级出租车轨迹数据_第5张图片

匹配后的点一定是在路网上的。GPS点将在考虑前后轨迹点的同时,找到一个路段上最优的的一个候选点进行匹配:

js加载本地shp数据到地图上_数据分享及地图匹配千万量级出租车轨迹数据_第6张图片

地图匹配进行轨迹还原:

js加载本地shp数据到地图上_数据分享及地图匹配千万量级出租车轨迹数据_第7张图片

0 4地图匹配实现

进行时空轨迹数据分析时,地图匹配是一项数据预处理部分重要的工作。此处地图匹配的算法可参考:如何把车辆轨迹数据匹配到路网?此匹配方法适用低频、高频轨迹数据地图匹配,并给出Python实现。

# -*- coding: utf-8 -*-# @Author: 武辛# @Email: [email protected]# @Note: 如有疑问,可加微信"wxid-3ccc"def main():  trajectory_data_rootdir = "轨迹数据根路径"  network_path = "BJRoadNet/Beijing_Polyline.shp" # 路网shp文件路径  bufferDis = 50 # 缓冲距离  taix_id = 1 # 出租车辆id  prex = "point_taxi_gps_20xx_by_id" # 保存文件的前缀  # 加载轨迹数据以及基础数据  datas = readTrajectory(trajectory_data_rootdir + "taxi_log_20xx_by_id/%s.txt" % (str(taix_id)))  network = Network.loadNetwork("Beijing_NetworkLink", "NetworkLink")  ArcPy_Util.bindFeatureLayer(network, network_path)  isStop(datas, network_path, bufferDis) # 判断为静止的时段,就不考虑该轨迹点  datas = datas[datas["Day"] == 2]  datas.reset_index(drop = True)  # 匹配部分代码  candinate_points = match(network, datas, bufferDis)  # 匹配结果整理,获取轨迹线、点信息  print("Start to get the matched info...")  route_polylines, route_points = getPolyline_Point_Info(candinate_points, network)  # 匹配前结果存为shp文件  points = [ArcPy_Util.lnglatToXY(coords["LNG"], coords["LAT"], ArcPy_Util.get_spatial_reference(network_path)) for index, coords in datas.iterrows() if not coords["Is_Stop"]]  ArcPy_Util.save_points(points, ArcPy_Util.get_spatial_reference(network_path), "Matched_Taxi_Data/%s_%s.shp" % (prex, str(taix_id)))  # 匹配后结果存为shp文件  ArcPy_Util.save_points(route_points, ArcPy_Util.get_spatial_reference(network_path), "Matched_Taxi_Data/Mathched_%s_%s.shp" % (prex, str(taix_id)))  ArcPy_Util.save_polylines(route_polylines, "Matched_Taxi_Data/%s_%s.shp" % ("polyline", str(taix_id)))

js加载本地shp数据到地图上_数据分享及地图匹配千万量级出租车轨迹数据_第8张图片

如需数据,请后台回复 "出租车轨迹"。如需进行地图匹配,可后台留言。

809762722c0ffd2146f3176ee474169a.png

说说线性规划

双向Dijkstra算法

EndNote引文编排

泰勒图的MATLAB实现

利用GN算法进行社区发现

深度学习--卷积神经网络基础

Python爬取高德地图--瓦片图

全球植被年内逐月动态变化GIF

ArcPy批量定义投影和批量投影转换

机器人局部规划算法--DWA算法原理

ArcGIS时间滑块实现车辆轨迹动态展示

GPS数据处理---在野外采样寻点中的应用

数据分享GIMMS NDVI 3gv1(1982-2015)

Python散点图矩阵示例--以空气质量数据为例

a6cfc58fcee346a8ed1086863792446b.png

968d1c85dd5af672874a68b5d21f440c.gif

▼ 更多精彩推荐,敬请关注我们 ▼ 32bd0667675c06587842db858f99f8e9.png js加载本地shp数据到地图上_数据分享及地图匹配千万量级出租车轨迹数据_第9张图片 fb0c37acc0fe7e0d5d4a806799e8c125.png

你可能感兴趣的:(js加载本地shp数据到地图上,双向最大匹配算法python,地图,显示,动态轨迹,百度地图加载shp)