ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Get A Transportation Network From OSMFile

2021-06-05 22:04:00  阅读:197  来源: 互联网

标签:None False Network OSMFile og default osm Transportation net


# Obtain a transportation network from an osm file.
# get  osm file 方式1:OpenStreetMap Homepage
# .osm.pbf下载地址 方式2:http://download.openstreetmap.fr/extracts/asia/china/
# get  osm file 方式3:Geofabrik  https://download.geofabrik.de/
# get  osm file 方式4: BBBike(可支持多边形范围) https://extract.bbbike.org/

import osm2gmns as og
import osm2gmns.settings as defaultsettings
# pip install -i http://mirrors.aliyun.com/pypi/simple/ osm2gmns --trusted-host mirrors.aliyun.com

# FromOSMFile
# net = og.getNetFromOSMFile(r'D:/DataWorkspace/data/beijing.osm',
#                       network_type=('auto',), link_type='all',
#                       POIs=False, POI_sampling_ratio=1.0,
#                       strict_mode=True,
#                       offset='no',
#                       min_nodes=1,
#                       combine=False,
#                       int_buffer=defaultsettings.default_int_buffer,
#                       bbox=None,
#                       default_lanes=False,
#                       default_speed=False)

# FromPBFFile
net = og.getNetFromPBFFile(r'D:/DataWorkspace/data/beijing.osm.pbf',
                           network_type=('auto',), link_type='all',
                           POIs=False, POI_sampling_ratio=1.0,
                           strict_mode=True,
                           offset='no',
                           min_nodes=1,
                           combine=False,
                           int_buffer=defaultsettings.default_int_buffer,
                           bbox=None,
                           default_lanes=False,
                           default_speed=False)
# Recommend using getNetFromPBFFile() for large networks
# net = og.getNetFromPBFFile('***.osm.pbf')

default_lanes_dict = {'motorway': 4, 'trunk': 3, 'primary': 3, 'secondary': 2, 'tertiary': 2,
                      'residential': 1, 'service': 1, 'cycleway':1, 'footway':1, 'track':1,
                      'unclassified': 1, 'connector': 2}
default_speed_dict = {'motorway': 59, 'trunk': 39, 'primary': 39, 'secondary': 39, 'tertiary': 29,
                      'residential': 29, 'service': 29, 'cycleway':9, 'footway':4, 'track':29,
                      'unclassified': 29, 'connector':59}

# 保存成CSV Output Networks to CSV
og.outputNetToCSV(net, output_folder='netcsv', projection=False, enconding=None)

# 合并交叉路口 Consolidate Intersections
og.consolidateComplexIntersections(net)
og.outputNetToCSV(net, output_folder='netcsv_csd', projection=False, enconding=None)

# # 也可以先保存成csv,然后人工编辑,最后再合并
# net = og.getNetFromPBFFile(r'D:/DataWorkspace/data/beijing.osm.pbf')
# og.outputNetToCSV(net, output_folder='', projection=False, enconding=None)
# # check the main_node_id column in node.csv
# net = og.getNetFromCSV(folder='', enconding=None)
# og.consolidateComplexIntersections(net)
# og.outputNetToCSV(net, output_folder='consolidated', projection=False, enconding=None)

# # 连接POI
# # Network with POIs
# net = og.getNetFromPBFFile(r'D:/DataWorkspace/data/beijing.osm.pbf',
#                            network_type=('auto',), link_type='all',
#                            POIs=True, POI_sampling_ratio=1.0,
#                            strict_mode=True,
#                            offset='no',
#                            min_nodes=1,
#                            combine=False,
#                            int_buffer=defaultsettings.default_int_buffer,
#                            bbox=None,
#                            default_lanes=False,
#                            default_speed=False)
# # Connect POIs with network
# og.connectPOIWithNet(net)

# Visualization
# You can visualize generated networks using NeXTA or QGis.
# NeXTA:https://github.com/xzhou99/NeXTA-GMNS

  

标签:None,False,Network,OSMFile,og,default,osm,Transportation,net
来源: https://www.cnblogs.com/jeshy/p/14853969.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有