gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
阅读:3203回复:0

OpenStreetMap框架介绍

楼主#
更多 发布于:2015-09-12 19:53







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

功能

OpenRoute-Service

YOURS

CycleStreets

Routino

BBBike World

MapQuest

数据范围

欧洲

全球

英国

应该

选定的城市

全球

驾车(最快)

√

√

 

√

 

√

驾车(路程最短)

√

√

 

√

 

√

自行车(路程最短)

√

√

√

√

√

 

自行车(最快)

√

√

√

√

√

√

自行车(最安全)

√

 

 

√

√

 

自行车(最安静)

√

√

√

√

 

 

步行

√

√

 

√

 

√

拐点限制

 

√

 

√

√

√

汽车限制(高度、载重等)

 

 

 

√

 

 

中间路段禁止通行

√

√

√

√

√

√

为路段手动设置行驶速度

 

 

√

√

√

 

选定区域禁止通行

√

 

 

 

 

 

选定的桥梁或隧道禁止通行

 

 

 

√

 

√

选定的道路类型禁止通行(如高速)

√

 

√

√

√

√

实时交通

√

 

 

 

 

 

对外开放API

√

√

√

 

√

√

是否开源

仅导航引擎

√

部分

√

√

 

表2

功能

OSRM

TripGo

BRouter

OpenTrip-Planner
 

HoofMarker

GraphHopper

数据范围

全球

选定城市

全球

选定城市

德国

全球

驾车(最快)

√

√

 

 

 

√

驾车(路程最短)

 

√

 

 

 

 

自行车(路程最短)

 

√

√

√

 

 

自行车(最快)

 

√

√

√

 

√

自行车(最安全)

 

 

√

√

 

 

自行车(最安静)

√

 

√

 

 

 

步行

 

√

路程最短

√

√

√

拐点限制

√

√

 

√

 

 

汽车限制(高度、载重等)

 

 

 

 

 

 

中间路段禁止通行

√

√

√

√

√

 

为路段手动设置行驶速度

 

√

 

 

 

 

选定区域禁止通行

 

 

√

 

 

 

选定的桥梁或隧道禁止通行

 

 

√

 

√

 

选定的道路类型禁止通行(如高速)

 

√

√

 

√

 

实时交通

 

 

 

 

 

 

对外开放API

√

√

√

√

 

√

是否开源

√

 

√

√

√

√
二、离线导航服务
1.Geosmore
2.Traveling Salesman
3.Navit
4.RoadMap
5.VGPS
6.We-Travel
7.GpsMid
8.True Maps
9.MoNav
10.CartoType
不同软件功能矩阵:
表3

功能

Geosmore

Traveling Salesman

Navit

RoadMap
 

VGPS

We-Travel

GpsMid

True Map

MoNav

CartoType

导航算法

 

Multiple

Dijkstra

 

A*

Dijkstra/A*

Dijkstra/A*

Dijkstra/A*

Contraction  Hierarchies

A*/ contraction hierarchy

地址搜索

限制

√

√

√

√

√

√

√

√

√

拐点限制

√

√

 

 

 

 

√

√

 

√

支持平台

所有

所有

Windows,Mac,Linux

Linux,Unix

 

 

 

 

Windows,Mac,Linux

Windows,Mac,Linux,FreeBSD

支持手持设备

Windows mobile

 

Nokia,WinCE,Android,Angstrom

Windows CE, iPhone,ipod

Java Mobile,Android Mobile

 

 

 

 

 


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
喜欢0 评分0
GIS麦田守望者,期待与您交流。
游客

返回顶部