一丶学习视频
B站简介
源码地址:
https://github.com/asu-trans-ai-lab/Ocean
二丶效果展示
原地图数据图
这是处理完成后的道路效果图(不是很理想,有待提高)当然是可拉伸的,并且有某些选项
三丶操作流程
比较详细的参考: 跳转地址 --》
(1) 到 openstreetMap 下载需要的地图资源(首先要注册才能使用)
找到自己需要的地区的地图资源信息(例如:我选择的是石家庄的一个区)
选择手动选择不同区域, 点击导出数据
选择路径后会生成一个map.osm 文件
(2)使用 osm2gmns 工具把 map.som 转换为node.csv 和link.csv 等 文件。
实现代码:(参考网上示例)
import osm2gmns as og def main(): net = og.getNetFromOSMFile('../data/map_shijiazhuang.osm', strict_mode=False, # 设置是否删除框选区域范围外的数据,默认为True min_nodes=1, # 设置删除子网络的条件节点数,默认为1 combine=True, # 设置短路是否合并,设置为True的话会生成segment.csv,默认为False default_lanes=True, # 设置默认车道数,默认为False default_speed=True, # 设置默认车速,默认为False network_type=('walk',), # 设置不同类型的路网,auto, bike, walk, railway, aeroway. POIs=True, # 设置是否生成POI点,True的话会生成poi.csv ) #og.consolidateComplexIntersections(net) # 是否简化交叉口 #og.connectPOIWithNet(net) # 是将POI和路网中的最近点连接起来 og.outputNetToCSV(net, output_folder='../result/shijiazhuang/') # 输出结果到csv if __name__ == '__main__': main()
我的目录如下:
运行完成会出现如下数据包:
(3)到github下载源码 (Ocean 当中是可运行的代码)把Ocean 代码导入到编译器当中即可(注意不要整个项目导入,如果整体项目导入,会出现一点小问题,下载的安装包名称为:net2cell-master ,不符合命名规则 )
导入项目之后需要创建一个名为 consolidated 的文件夹, 把第二步生成的 csv 文件放入其中
如图所示:
运行完成之后 会生成三个文件夹(marcronet 宏观 mesonet 中观 mircronet 微观)保存处理后的数据:
(4)使用NEXTA 工具查看路网图
NEXTA下载地址 (由于网络原因可能无法打开,可以通过gitee 加速下载或其他方法加速下载即可)
找到NEXTA 的运行程序
如下:
通过软件查看数据(点击 File,第一个选项,找到输出的csv 文件地址 并打开 )
选择node.csv 文件
双击打开效果: