The ONE使用笔记:获取wkt格式的地图

本文介绍如何从OpenStreetMap获取地图,并转换成符合The ONE仿真器使用的wkt格式。

1. 从OpenStreetMap获取地图

打开OpenStreetMap官网,相应操作如下图:

image

点击Export后,跳转到另一个页面,理论上是开始下载osm数据,但我试了几次,一直都没反应。没关系,把网址复制下来,用wget工具下载,如下(-O 后面是输出的文件名):

wget -O toulouse.osm "http://api.openstreetmap.org/api/0.6/map?bbox=1.3637,43.5464,1.5209,43.6366"

这样就得到osm数据了。

2. 转换成wkt格式

osm数据是xml格式,已有人写了一个工具叫osm2wkt,可以将osm转换成wkt格式。点击这里下载jar包,运行下面命令,即可完成转换:

java -jar ./osm2wkt.jar toulouse.osm

osm2wkt使用方法如下:

generate+cleanup from osm: >> java -jar ./osm2wkt.jar mapfile.osm
cleanup from wkt         : >> java -jar ./osm2wkt.jar mapfile.wkt
options: 
    -o outputfile - write output to given file
    -a - append to output file
    -t X Y - translate map by x=X and y=Y meters

PS:实际上,我没转换成功,osm2wkt先提示缺少</img>标记,加上去之后,还提示只处理osm格式而不能是html格式。

3. 讨论

OpenStreetMap相当于是地图的元数据,如果过滤出自已想要的数据,这才是难点。比如我想过滤出公共交通的行走路线,还有我如何将一个城市抽象成一个点?请指点!

赞赏

微信赞赏支付宝赞赏

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

23 thoughts on “The ONE使用笔记:获取wkt格式的地图

  • 2019年02月21日 星期四 at 10:24上午
    Permalink

    博主 您好= =,我想要导入连续移动的圆形轨迹,可是并不会写地图文件,请问one的包里有现成的么?

    Reply
    • 2019年06月29日 星期六 at 10:36上午
      Permalink

      提供另外一个思路,你将移动模拟成外部事件(时间,节点1与节点2相遇),导入到The ONE。

      Reply