OSM编码问题
Issues with OSM encoding
我在 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 一起使用后,我仍然遇到同样的问题。西里尔字母不可读。
有什么办法可以解决这个问题吗?
好的,回答我自己的问题:
我在 linux 中 运行 上面的代码并理解问题出在 windows 区域设置上。我发现的解决方法是使用 iconv 并将 from 和 to 参数设置为 "UTF-8" .
iconv(osmData$nodes$tags[80:100,3][11], from="UTF-8", to="UTF-8")
这有效并且可以应用于所有列。
我在 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 一起使用后,我仍然遇到同样的问题。西里尔字母不可读。
有什么办法可以解决这个问题吗?
好的,回答我自己的问题:
我在 linux 中 运行 上面的代码并理解问题出在 windows 区域设置上。我发现的解决方法是使用 iconv 并将 from 和 to 参数设置为 "UTF-8" .
iconv(osmData$nodes$tags[80:100,3][11], from="UTF-8", to="UTF-8")
这有效并且可以应用于所有列。