分享
Scan me 分享到微信

电子地图DIY系列:概念和开源软件

记得当Google Maps刚推出的时候,我小试了一把它的Java Script API。当时感觉一个开放的街道GIS(地理信息系统)具有改变所有Web上地理信息表达的潜力,那就是 ,告别那些难看的,随便标注的地图图片,取而代之的是一个可以互动的数据接口。在随后的两年左右时间内,人们对Web上地图的概念发生了改变。你可以用Google Earth在地球上得到定位,或计算所有行进所需的距离。同时Google Maps被集成到各种网站,无论是你想在Blog上标注自己所在的位置,还是要低成本创建一个物流货品追踪网站,Google Maps都可以免费为这些服务提供所需的基础的架构:地理数据,以及交互界面。小熊在线www.beareyes.com.cn

泰伯网

遗憾的是Google至今没有推出国内的地图服务。代替它的是bendi.google.com的地图服务。这家类似Google Maps的AJAX街道GIS并没有免费的API,至少两年前没有,现在早已经失去兴趣再去调查,更重要的是根本没有必要了——因为我已经找到怎样通过个人的力量来构建自己的街道GIS的完整办法。这种希望来自于一个对GIS狂热还好的群体,他们已经合作完成了部分英国以及某些欧洲区域的数据采集,并且在http://www.openstreetmap.org/index.htm 提供类似于Google Maps的服务。尽管没有对于身居中国云南昆明的人来说,这些数据和服务毫无意义,但是这些相同的软件,以及相同的组织办法,同样能够打开我实现一个对自己有用的开放街道GIS的希望。小熊在线www.beareyes.com.cn

泰伯网

详细的操作步骤,对于一个与我同样狂热的人而言,也许是首要的写作目标。但是这些知识对于那些仅仅了解GPS或者GIS的人来说,毫无疑问。所以首先还是提供一些背景知识,同时让我有时间对所有需要实验的软件和步骤进行通透的研究,所以今天的文章将都停留在概念上。小熊在线www.beareyes.com.cn

泰伯网

制作电子地图,可以参考免费的卫星光栅图片,比如通过Google或者World Wind截图来搜集原始资料。但是这种方式受制于光栅图的精度。通过NASA的Landset7卫星可以获得免费的15米精度光栅图,这对于绘制街道帮助不大。而1米以下精度的图虽然可以通过Google Earth得到,但毕竟是部分城市,甚至是城市的部分才有。而且某些小巷无法在这些图片上被辨认。所以我们还需要从地球上来采集数据。小熊在线www.beareyes.com.cn

泰伯网

从地球上采集地理位置数据最简单的办法,当然是用GPS接收机采集在街道上行走时的位置了。GPS输出NMEA格式的信号,通过PDA或者笔记本提供的移动计算能力,可以将这些数据实时记录下来。有了这些由连续的点和线组成的数据,我们就可以开始参考光栅图绘制矢量街道路线了。这些装备和Wardriving相似(移动地搜索AP信号),不过可以省去探测Wi-Fi的部分。不过一举两得的东西未尝不可。小熊在线www.beareyes.com.cn

泰伯网

通常,专业人士会使用Autodesk Maps 3D或者MAPGIS一类的专业测绘软件来绘制矢量图。并且在这些软件所提供的编程构架上开发应用程序。但是这些软件价格昂贵,而且为了单纯爱好的目的来学习使用它们也许太耗神。幸运的是OpenStreetMap提供了相应的开源软件。这些软件可以打开和手工矢量化GPS所采集的路线,并且输出图形处理引擎所需要的文件。完成这种功能的软件有多个可供选择,分别使用不同的语言开发,比如Java和Ruby等。其核心是遵循OpenStreetMap所创建的XML Schema,也就是.OSM格式的矢量标注,来方便GIS用户界面的查询。小熊在线www.beareyes.com.cn

泰伯网

后面的部分就更复杂一些。从OSM转化为SVG或者PNG格式的图形输出,需要XSTL处理器和SVG处理器或者图形库的支持。如果你加入OpenStreetMap只是贡献你的GPS数据和你绘制的OSM地图,那么你没有必要像一个网络管理员那样了解具体的配置。当然我们需要完整的解决放案,才能摆脱没有开放街道GIS可用的困境。这些部分还有待研究……

泰伯网

    今天的有关街道GIS开发的进度到怎样处理数据的理论结束。我正在学习怎样编辑GPS数据,后面我们将实验从采集信号到地图输出的全过程,除非……老板要求我去写点正经点的稿子,呵呵。 (责编:echo)

 

参与评论

【登录后才能评论哦!点击

  • {{item.username}}

    {{item.content}}

    {{item.created_at}}
    {{item.support}}
    回复{{item.replynum}}
    {{child.username}} 回复 {{child.to_username}}:{{child.content}}

更多精选文章推荐

泰伯APP
感受不一样的阅读体验
立即打开