博文转载自:http://aswang.iteye.com/blog/1742505 感谢博主:aswang
OSM全称为OpenStreetMap,中文维基页面:http://zh.wikipedia.org/wiki/OpenStreetMap,其在线地图网址:http://www.openstreetmap.org/。
OpenStreetMap是在2004年7月由史蒂夫·克斯特始创。2006年4月,OpenStreetMap基金会成立,鼓励自由地理数据的增长,发展和分布,并向所有人提供地理数据以供使用及分享。目前采用开放数据库授权(Open Database License,ODbL)。
OpenStreetMap目前包含的地图数据相对于google或者百度地图而言,还缺失很多,特别是国内的地图数据,很不完整,但是OpenStreetMap允许任何人对地图进行编辑,为其提供数据,所以它的数据也是在不断的完善中。
对于开发者而言,一个好消息是,基于OpenStreetMap,我们可以搭建自己的地图服务器,包括地图编辑服务,然后嵌入在自己的网站中,或者对外提供服务,供移动设备使用等。
关于搭建OSM服务器,可以参考以下这几篇文章。http://switch2osm.org/serving-tiles/ 这个文章是官方提供的,最开始搭建服务器就是参考这篇文章跑起来的。它里面提供了三种方式:
Build a tile server using packages :使用现成的软件包来搭建一个瓦片服务器。
Build a tile server from source :从源代码自行编译构建瓦片服务器。
Use an all-in-one solution:使用一个完整的解决方案。
如果项目对osm使用要求很高,建议还是选择从源代码自行编译来构建tiles服务器,这样你会熟悉整个构建过程,如果发现问题,也很容易定位错误。
上面的服务器搭建,是基于Ubuntu 操作系统,主要使用的软件包括:
postgreSQL数据库,用来存放地图原始数据
osm2pgsql 用来将osm地图数据导入到postgreSQL
renderd 后台tiles渲染服务,用于将地图数据渲染为图片(即瓦片)
apache服务器,对外提供访问tile地图的服务
osm地图数据是对外公开的,可以在这个地址下载到:http://planet.openstreetmap.org/ 或者http://download.geofabrik.de/openstreetmap/。数据提供有多种格式,可根据需要下载,一般选择pbf这种压缩格式,数据容量相对较小。另外,地图数据也可根据国家或者区域来下载,当然也可以下载全球的地图数据,如果仅仅是支持国内的地图,可以下载china.osm.pbf就可以了。
如果有希望了解更多信息,可以访问文章最后的参考文章,里面有几篇很完整的讲解如何搭建osm服务器的文章。
参考文章: http://zh.wikipedia.org/wiki/OpenStreetMap
http://switch2osm.org/serving-tiles/
http://www.myexception.cn/operating-system/717041.html
http://blog.csdn.net/scy411082514/article/details/7471499