Ошибка Python — esy-OSMfilter при попытке работы с примером — OSM_raw_data не существует

#python #windows #openstreetmap #osm.pbf

#python #Windows #openstreetmap #osm.pbf

Вопрос:

Я получаю следующую ошибку при попытке просмотреть пример esy-osm:

 INFO:esy.osmfilter.pre_filter:OSM_raw_data does not exist
 

Я использую python 3.8 в Windows, и код, который я использую, приведен ниже:

 import os, sys
import configparser, contextlib
from esy.osmfilter import osm_colors as cc
from esy.osmfilter import run_filter
from esy.osmfilter import Node, Way, Relation

PBF_inputfile = os.path.join(os.getcwd(), 'Geospatial_dataOSM_raw/liechtenstein-latest.osm.pbf')
JSON_outputfile = os.path.join(os.getcwd(), 'Geospatial_data/OSM_filtered/liechtenstein.json')
prefilter = {Node: {}, Way: {"man_made":["pipeline",],}, Relation: {}}
whitefilter = []
blackfilter = []
[Data,_]=run_filter('noname',
                    PBF_inputfile,
                    JSON_outputfile,
                    prefilter,
                    whitefilter,
                    blackfilter,
                    NewPreFilterData=True,
                    CreateElements=False,
                    LoadElements=False,
                    verbose=True)

print(len(Data['Node']))
print(len(Data['Relation']))
print(len(Data['Way']))
 

Кто-нибудь знает, где я ошибаюсь в этом?

Ответ №1:

вы не нашли файл pbf.

Пожалуйста, посмотрите на разделитель путей на вашем компьютере. Для Windows это ‘’, а для unix это ‘/’.

Вы использовали оба одновременно: ‘Geospatial_data OSM_raw/liechtenstein-latest.osm.pbf’

Приветствую, Адам

Комментарии:

1. И, пожалуйста, добавьте if name == » main «: при запуске вашего скрипта, если вы используете Windows, чтобы вам не приходилось отключать многопроцессорную обработку, что значительно ускорит работу esy-osmfilter