GPS数据采集与OpenStreetMap编辑

Wed 05 October 2011
  • 手艺 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

Screenshot at 2011-10-05 09:45:20

编辑

Windows和Linux用户都可以通过Merkaartor编辑OSM数据。

启动Merkaartor,导入GPS数据: File->Import。
选择左侧的GPS图层,对需要导入的数据,右键点击Extract Drawing Layer将GPS转换为可编辑数据。 Screenshot at 2011-10-05 10:57:17

根据实际情况编辑道路数据的属性。对GPS转换的数据,选择菜单Feature->Force Upload,将其加入dirty set准备上传。点击Upload即可将数据上传到OpenStreetMap。