- 手艺 tags:
- GIS
- gps
- OpenStreetMap published: true comments: true
简单介绍一下通过GPS采集道路数据并上传到OpenStreetMap的流程。
采集
首先你需要一个GPS数据记录器,或者叫做GPS Logger。这类产品在淘宝上可以找到很多,台湾的长天(HOLUX)是相对价廉物美的品牌。我的设备是HOLUX m1000c,下文以此为例。m1000c的使用非常简单。开机之后,指示GPS的黄灯点亮,设备开始搜索GPS卫星。根据你所出的位置、遮挡情况以及天气情况,搜星的时间略有不同。当GPS黄灯开始闪烁时Logger即开始记录数据,默认情况下m1000c每隔5秒记录一次数据。每次重启后,Logger都会新开一条记录。
导入
对Windows用户,将Logger通过USB线与电脑连接后,可以利用随机附带的软件将数据导入为GPX格式。对Linux用户,可以利用gpsbabel导入数据: gpsbabel -t -i m241 -f /dev/ttyACM0 -o gpx -F myfile.gpx其中:
- -t 表示数据为track类型
- -i m241 输入格式为HOLUX m241,m1000c使用的是这种格式
- -f /dev/ttyACM0 输入设备是/dev/ttyACM0
- -o gpx 输出格式是gpx
- -F 输出文件myfile.gpx
在一些发行版上,需要root权限访问/dev/ttyACM0,所以不要忘记将输出的文件chown给普通用户。
导入完成后可以利用下面的命令清空Logger gpsbabel -i m241,erase_only=1 -f /dev/ttyACM0
在Windows和Linux上都可以使用Viking查看导入的数据:
- 启动viking
- 添加一个OSM地图图层: Layers->New Map Layer
- 导入GPX数据: File->Append File...
- 下载OSM地图,右键点击左侧的Map图层,Download Missing Onscreen Maps
编辑
Windows和Linux用户都可以通过Merkaartor编辑OSM数据。启动Merkaartor,导入GPS数据: File->Import。
选择左侧的GPS图层,对需要导入的数据,右键点击Extract Drawing Layer将GPS转换为可编辑数据。
根据实际情况编辑道路数据的属性。对GPS转换的数据,选择菜单Feature->Force Upload,将其加入dirty set准备上传。点击Upload即可将数据上传到OpenStreetMap。