1

尝试通过 esy-osm示例时出现以下错误:

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

我在 Windows 上使用 python 3.8,我使用的代码如下:

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_data\OSM_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']))

有谁知道我在哪里出错了?

4

1 回答 1

2

你没有找到 pbf 文件。

请查看您机器上的路径分隔符。对于 windows,它是 '\',对于 unix,它是 '/'。

您同时使用了两者:'Geospatial_data\OSM_raw/liechtenstein-latest.osm.pbf'

干杯,亚当

于 2020-12-03T13:48:32.500 回答