目前,我正在学习如何使用OpenStreetMaps。我刚刚下载了最新的魁北克OSM。我想提取街道名称,每条街道都有lat/long和城市。我见过一些关于使用osmconvert和osmfilter的文档,但老实说,我无法理解它。
我不介意它输出的格式,无论是XML、CSV还是JSON (JSON首选)。执行任务最好的方法是什么?任何帮助都是非常感谢的!
发布于 2013-10-04 10:31:40
我建议使用您提到的标准工具和渗透,这将方便地从您的出口中选择街道。
为了将XML后处理为CSV或其他什么,有不同的路由。不久前,我写了一篇文章,希望它很小,也很难理解:将发布名称和lat/lon从OSM文件中提取为CSV文件的简单XSLT转换。它做的正是你想要的,除了它没有确定城市的每一个点。
如果您查看链接在其中的XSLT文件,您会发现有一些硬编码的发布相关的东西,如
<xsl:when test="tag[@k='amenity'][@v='pub']">把它们换成你想要的东西。
<xsl:when test="tag[@k='highway'][@v='secondary']">您将能够使用如下命令提取数据:
xsltproc osm_streets_csv.xslt quebec.xml > quebec_streets.csv为了找到任何给定的lat/lon的城市,您可以使用MapIt全球服务。
https://stackoverflow.com/questions/19172460
复制相似问题