阅读:2879回复:0
OpenStreetMap框架介绍1.OSM平台开发 OpenStreetMap(简称OSM)是一个网上地图协作计划,目标是创造一个内容自由且能让所有人编辑的世界地图。 OSM的地图由用户根据手提GPS装置、航空摄影照片、其他自由内容甚至单靠地方智慧绘制。网站里的地图图像及向量数据皆以共享创意姓名标示-相同方式分享2.0授权。 OSM网站的灵感来自维基百科等网站。这可从该网地图页的“编辑”按钮及其完整修订历史获知。经注册的用户可上载GPS路径及使用内置的编辑程式编辑数据。目前包括苹果和微软在内都在使用OpenStreetMap. OSM架构如下图所示: OSM的功能是由相互独立的组件共同完成的。OSM的地图数据是通过PosGIS存储在PostgresSQL数据库中,通过Mapnik渲染成地图切片,通过Leaflet提供用户交互的接口。 2.基于OSM进行开发: 2.1部署自己的地图: 1. OpenLayers:OpenLayers 是一个专为WebGIS 客户端开发提供的JavaScript类库包,用于实现标准格式发布的地图数据访问。从OpenLayers2.2版本以后,OpenLayers已经将所用到的Prototype.js组件整合到了自身当中,并不断在Prototype.js的基础上完善面向对象的开发,Rico用到地方不多,只是在OpenLayers.Popup.AnchoredBubble类中圆角化DIV。地址:http://openlayers.org/ 2. Leaflet:一个现代、开源的Javascript库,用于提供友好交互的地图。可以用于桌面和移动平台,Leaflet设计坚持简便、高性能和可用性好的思想,在所有主要桌面和移动平台能高效运作,在现代浏览器上会利用HTML5和CSS3的优势,同时也支持旧的浏览器访问。支持插件扩展,有一个友好、易于使用的API文档和一个简单的、可读的源代码。 使用leaflet的软件有:Flickr,foursquare,Pinterest,craigslist,Data.gov,IGN,Wikimedia,OSM,Meetup,WSJ,Mapbox,CartoDB,GISCloud等。地址:http://leafletjs.com/ 3. Mapstraction:地址: http://wiki.openstreetmap.org/wiki/Deploying_your_own_Slippy_Map 4. YCanvas:地址:https://github.com/jozefchutka/YCanvas 5. Khtmlib地址:http://maplib.khtml.org/ 6. Ka-Map 7. Openscales,用ActionScript3和Flex编写的开源地图框架,开发者基于OpenScales可以构建富互联网应用,可用于网页和移动端(Android,ios)。地址:http://openscales.org/ 8. Modest Maps.轻量的、可扩展的开源库。设计者和开发者可以用于设计交互的地图。提供了Actionscript3、python、Javascript、PHP、Processing、Cinder等语言的实现。地址:http://modestmaps.com/ 9. Modestmaps-js.ModestMaps库的一种轻量级javascript实现。地址:https://github.com/stamen/modestmaps-js/wiki 10. BruTile.基于C#语言实现的可以提供地图切片服务的库。地址:http://brutile.codeplex.com/ 11. Polymaps.利用SVG技术提供图片和矢量切片地图服务的javascript库。地址:http://polymaps.org/ 2.2渲染地图: 2.2.1 地图切片 创建地图切片: 1.Mapnik + generate_tiles.py 2. Mapnik + mod_tile 3. Mapnik + Mysql/Ruby/Python 4. Mapnik + tilecache 表达地图切片: 1.Openlayers 2. Maperitive 2.2.2 3D地图 基于OSM数据的3D地图项目有: 1.OSM-3D 2.Glosm 3.OSM2World 4.World2XPlane 5.osm2xp 6. OSM in 3D using XML3D 7.Kendzi3d 8.VTP VTBuilder 9. WikiMiniAtlas 10. OSM in 3D using XML3D 11.HaptoRender 12.F4 Map 2.3地图服务: 2.3.1路径导航服务 一、在线导航服务 1.OpenRoute-Service 2.YOURS 3.CycleStreets 4.Routino 5.BBBike World 6.MapQuest 7.OSRM 8.TripGo 9.BRouter 10.OpenTrip-Planner 11.HoofMarker 12.GraphHopper 不同软件的功能矩阵: 表1
表2
1.Geosmore 2.Traveling Salesman 3.Navit 4.RoadMap 5.VGPS 6.We-Travel 7.GpsMid 8.True Maps 9.MoNav 10.CartoType 不同软件功能矩阵: 表3
2.3.2搜索服务 1.Nominatim:按名称和地址来搜索OSM中的数据,并生成OSM点的合成地址的工具。Nominatim是基于PostgreSQL的导入实用程序osm2pgsql使用替代地名输出选项。索引和搜索是使用的C、PLPGSQL和PHP相结合进行。地址:https://github.com/twain47/Nominatim 2.3.3地理编码服务 1.Nominatim 2.MapQuest 3.OpenCage 4.Yacy 5.OSMLucener 6.OSMonto 7.Gisgraphy 8.Photon |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|