Get A Transportation Network From OSMFile

Posted 汤姆啾

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Get A Transportation Network From OSMFile相关的知识,希望对你有一定的参考价值。

# 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

  

以上是关于Get A Transportation Network From OSMFile的主要内容,如果未能解决你的问题,请参考以下文章

poj 1797 Heavy Transportation

POJ 1797 Heavy Transportation

poj1040 Transportation

abc270_f Transportation 题解

hdu 4940 Destroy Transportation system( 无源汇上下界网络流的可行流推断 )

A. New Year Transportation 1000 / 水题