我遇到了osm数据编码的麻烦。 这是一个使用osmar包的可重现的例子:
osmData <- osmar::get_osm(osmar::center_bbox(23.334360, 42.693180, 100, 100))
osmData$nodes$tags[80:100, ] #the output is not UTF-8
我还从https://download.geofabrik.de/europe/
下载了一个行星文件解压缩并将其与osmar :: get_osm一起使用后,我仍然遇到同样的问题。西里尔字母不可读。
任何想法如何解决这个问题?
答案 0 :(得分:1)
好的,回答我自己的问题:
我在linux上运行上面的代码,并了解问题出在windows locale上。我找到的解决方法是使用iconv,从和到参数设置为&#34; UTF-8&#34; 。
iconv(osmData$nodes$tags[80:100,3][11], from="UTF-8", to="UTF-8")
这适用于所有列。