OpenStreetMap框架简介

1.OSM平台开发

OpenStreetMap(缩写OSM)地图是一个合作项目,我们的目标是创建一个免费的内容,让所有的人都可以编辑的世界地图。

OSM在地图上由一个用户的基础上的手GPS装置、航空摄影照片、其它自由内容甚至单靠地方智慧绘制。站点里的地图图像及向量数据皆以共享创意姓名标示-同样方式分享2.0授权。

OSM站点的灵感来自维基百科等站点。

这可从该网地图页的“编辑”button及其完整修订历史获知。

经注冊的用户可上载GPS路径及使用内置的编辑程式编辑数据。眼下包含苹果和微软在内都在使用OpenStreetMap.

OSM架构例如以下图所看到的:

OSM的功能是由相互独立的组件共同完毕的。OSM的地图数据是通过PosGIS存储在PostgresSQL数据库中。通过Mapnik渲染成地图切片,通过Leaflet提供用户交互的接口。

2.基于OSM进行开发:

2.1部署自己的地图:

1.      OpenLayers:OpenLayers 是一个专为WebGIS client开发提供的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

版权声明:本文博客原创文章,博客,未经同意,不得转载。

OpenStreetMap架构的更多相关文章

  1. [原]使用node-mapnik和openstreetmap数据初步搭建瓦片服务

    最近依然还是有点小忙,只能挤点时间来学习点,先解决有没有的问题,再解决好不好的问题:) 本文将承接上文<使用node-mapnik生成openstreetmap-carto风格的瓦片>的内 ...

  2. OpenStreetMap数据清洗(SQL&MonogoDB版本)

    目标:通过网上下载的OpenStreetMap.xml数据格式,将该文件的格式进行统计,清洗,并导出成CSV格式的文件,最后倒入到SQLite中 本案例中所需的包 import csv import ...

  3. 利用OpenStreetMap(OSM)数据搭建一个地图服务

     http://www.cnblogs.com/LBSer/p/4451471.html 图 利用OSM数据简单发布的北京地图服务   一.OSM是什么 开放街道图(OpenStreetMap,简称O ...

  4. Qt 插件综合编程-基于插件的OpenStreetMap瓦片查看器client(1)-墨卡托投影与坐标控制

    (相关的代码能够从https://github.com/goldenhawking/mercator.qtviewer.git直接克隆) 我们如今是准备做一个C/S架构的地图显示控件.就必定牵扯到坐标 ...

  5. MySQL高级知识- MySQL的架构介绍

    [TOC] 1.MySQL 简介 概述 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司. MySQL是一种关联数据库管理系统,将数据保存在不同的表中,而 ...

  6. node服务的监控预警系统架构

    需求背景 目前node端的服务逐渐成熟,在不少公司内部也开始承担业务处理或者视图渲染工作.不同于个人开发的简单服务器,企业级的node服务要求更为苛刻: 高稳定性.高可靠性.鲁棒性以及直观的监控和报警 ...

  7. 如何一步一步用DDD设计一个电商网站(二)—— 项目架构

    阅读目录 前言 六边形架构 终于开始建项目了 DDD中的3个臭皮匠 CQRS(Command Query Responsibility Segregation) 结语 一.前言 上一篇我们讲了DDD的 ...

  8. 浅谈 jQuery 核心架构设计

    jQuery对于大家而言并不陌生,因此关于它是什么以及它的作用,在这里我就不多言了,而本篇文章的目的是想通过对源码简单的分析来讨论 jQuery 的核心架构设计,以及jQuery 是如何利用javas ...

  9. 【深入浅出jQuery】源码浅析--整体架构

    最近一直在研读 jQuery 源码,初看源码一头雾水毫无头绪,真正静下心来细看写的真是精妙,让你感叹代码之美. 其结构明晰,高内聚.低耦合,兼具优秀的性能与便利的扩展性,在浏览器的兼容性(功能缺陷.渐 ...

随机推荐

  1. VOJ 1067 Warcraft III 守望者的烦恼 (矩阵高速功率+dp)

    主题链接 明显的 dp[n] = dp[n-k] + dp[n-k+1] + ... +dp[n-1]; 然后要用矩阵来优化后面的状态转移. 也就是矩阵 0 1 0 0    a     b 0 0 ...

  2. WPF学习(6)路由事件

    做过.net开发的朋友对于事件应该都不陌生.追溯历史,事件(Event)首先应用在Com和VB上,它是对在MFC中使用的烦琐的消息机制的一个封装,然后.net又继承了这种事件驱动机制,这种事件也叫.n ...

  3. hadoop-mapreduce在maptask执行分析

    MapTask执行通过执行.run方法: 1.生成TaskAttemptContextImpl实例,此实例中的Configuration就是job本身. 2.得到用户定义的Mapper实现类,也就是m ...

  4. Simditor图片上传

    上一篇文章(Simditor用法)仅仅是简单的默认配置,我们可自己定义工具栏button使其更丰富和实现上传图片功能 初始化编辑器 <script type="text/javascr ...

  5. shell脚本操作数据库

    #!/bin/bash HOST_NAME="localhost" PORT=3306 USERNAME="root" PASSWORD="root& ...

  6. ASP.NET MVC流程解说

    开始想这个标题时,,很忧郁什么标题将得到更好的叫什么,最后确定的解释,虽然稍0基金会,但是,这个概念是非常.我想出了一个相当的价格值的. ,開始. 1.MVC的基本开发流程   2.webform和M ...

  7. 为代码减负之&lt;二&gt;存储过程(SQL)

    在上篇博客中介绍到了触发器的使用,而且当中也提到了触发器是个特殊的存储过程,那么什么是存储过程呢?他们 两个又究竟有什么差别呢? 事实上最基本的差别就是,触发器是当满足条件时系统自己主动运行的,而存储 ...

  8. 高速建成Android开发环境ADT-Bundle和Hello World

    ----下载JDK(Java Dev Kit) 官方下载:http://www.oracle.com/technetwork/java/javase/downloads/index.html 兴许步骤 ...

  9. NSOJ 畅通工程(并查集)

    某省调查城镇交通状况,得到现有城镇道路统计表,表中列出了每条道路直接连通的城镇.省政府“畅通工程”的目标是使全省任何两个城镇间都可以实现交通(但不一定有直接的道路相连,只要互相间接通过道路可达即可). ...

  10. 【Android界面实现】可旋转的汽车3D模型效果的实现

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 今天要给大家介绍的是怎样实现可旋转的汽车3D模型. 先看实现效果 这仅仅是静态图,实际上,这个模型是能够依据 ...