Osmnx: создание графика из шейп-файла / XML

Я учусь проводить сетевой анализ для дорожных сетей стран. У меня уже есть шейп-файлы. Я безуспешно пытался преобразовать их в networkx, поэтому я пытаюсь использовать для этого функцию ox.graph_from_file. Получение данных в масштабе страны из osm требует времени / памяти и слишком детализировано для того, что я хочу сделать.

Я преобразовал свой шейп-файл в файл .xml с помощью mapshaper, но ox.graph_from_file не работает. Я просто так называю это:

ox.graph_from_file('/Users/macbookair/Downloads/road_rmms_v10_3.xml')
---------------------------------------------------------------------------
EmptyOverpassResponse                     Traceback (most recent call last)
<ipython-input-4-5f835eba75d0> in <module>()
----> 1 ox.graph_from_file('/Users/macbookair/Downloads/road_rmms_v10_3.xml')

/anaconda3/lib/python3.6/site-packages/osmnx/core.py in graph_from_file(filename, network_type, simplify, retain_all, name)
1898     # create graph using this response JSON
1899     G = create_graph(response_jsons, network_type=network_type,
-> 1900                      retain_all=retain_all, name=name)
1901 
1902     # simplify the graph topology as the last step.

/anaconda3/lib/python3.6/site-packages/osmnx/core.py in create_graph(response_jsons, name, retain_all, network_type)
1327         elements.extend(response_json['elements'])
1328     if len(elements) < 1:
-> 1329         raise EmptyOverpassResponse('There are no data elements in the  response JSON objects')
1330 
1331     # create the graph as a MultiDiGraph and set the original CRS to   default_crs

EmptyOverpassResponse: There are no data elements in the response JSON objects

Я не уверен, неправильно ли я называю это или у меня плохой формат файла.


person himabhima    schedule 16.10.2018    source источник
comment
Я преобразовал свой шейп-файл в файл .xml. Почему вы вообще используете шейп-файл? Данные OSM обычно хранятся в формате PBF или XML. Преобразование из XML - ›Shapefile -› XML, безусловно, потеряет информацию. В первую очередь попробуйте OSM XML, загрузив XML напрямую или конвертировав PBF в XML.   -  person scai    schedule 17.10.2018
comment
У меня уже есть шейп-файлы, которые я должен использовать для этой задачи: в них есть только национальные дороги и автомагистрали некоторых стран. Импорт данных о стране из OSM (с использованием osmnx для создания графиков) вообще неэффективен, это занимает часы.   -  person himabhima    schedule 18.10.2018


Ответы (1)


У вас неправильный формат файла. Вы не можете преобразовать любую файловую структуру в XML, а затем прочитать ее. Вместо этого загрузите отрывок данных OSM непосредственно в виде файла .osm в формате XML. Затем загрузите его с помощью OSMnx.

person gboeing    schedule 31.10.2018