首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带UnicodeEncodeError包的esy.osmfilter

带UnicodeEncodeError包的esy.osmfilter
EN

Stack Overflow用户
提问于 2020-08-20 14:17:51
回答 2查看 111关注 0票数 0

当我使用UnicodeEncodeError: 'charmap' codec can't encode characters in position 1-4: character maps to <undefined>包(版本1.0.7)过滤OSM pbf文件并使用以下代码将其保存到*.json文件时,我得到了一个pbf

代码语言:javascript
复制
import os

from esy.osmfilter import Node, Way, Relation
from esy.osmfilter import run_filter

PBF_inputfile = os.path.join(os.getcwd(), 'liechtenstein-latest.osm.pbf')
JSON_outputfile = os.path.join(os.getcwd(), 'liechtenstein-latest_river.json')

prefilter = {Node: {}, Way: {'waterway': ['river', ], }, 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']))

我遵循教程并在prefilter中使用了{'waterway': ['stream', ], }{'waterway': ['canal', ], }{'waterway': ['dam', ], }等标记,它们都是没有错误的。然后,我发现标记{'waterway': ['river', ], }将导致上述错误。与我使用柏林数据时所收到的情况相同。然后我尝试使用特拉华州数据,这是没有错误的。所以我想这可能和德语这个词有关?我的默认编码是'utf-8'

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-26 11:00:03

此错误由1.0.11版本修正。

票数 1
EN

Stack Overflow用户

发布于 2020-08-24 21:39:23

我相信这个bug是一个纯粹的Windows bug。请暂时在linux机器上使用esy-osmfilter。此错误来自外部库,但我将在今后几天内修复此错误。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63507093

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档