开放地图OpenStreetMap与PostGIS的三生三世十里桃花

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介:

标签

PostgreSQL , PostGIS , pgrouting , OSM , OpenStreetMap , 开放地图


背景

喜欢自由吗?喜欢自由的使用全球地图吗?喜欢自由的贡献、开发全球地图吗?那你一定要来了解一下风靡全球的OpenStreetMap。谷歌最强劲的对手。

openstreetmap全球统计报告

http://wiki.openstreetmap.org/wiki/Stats#Registered_users_statistics_reports

pic

pic

什么是OpenStreeMap

http://wiki.openstreetmap.org/wiki/Zh-hans:%E5%85%B3%E4%BA%8E

OpenStreetMap是一个全人类都可以编辑及自由使用的全球地图。其中的大部分内容都由志愿者从无到有地构建起来,并以开放授权发布。

OpenStreetMap版权协定允许自由且免费使用我们的地图图像与地图数据,而且本项目鼓励把数据用于有趣崭新的用途。欲知道为什么我们要开放的地图,请参考 Why OpenStreetMap? ,哪里你亦可找到我们最常见的问题:“为什么不使用谷歌(Google)地图?”

地图

浏览我们的地图十分容易。随便翻看一下地图,感受该图的覆盖区域和详细程度。数年来我们取得了丰硕的成果,达成了许多里程碑事件。众多个人、政府和企业已经利用了这些地图数据。在很多国家,OpenStreetMap 已经成为其他地图供应商在诸多应用中的可行替代品。然而地图尚未完成,世界依旧广袤,你生活的地方周边 OSM 看起来怎样呢?

绘图

这并不是普通的在线项目。我们并不只是在电脑屏前默默绘图;我们会外出测量大小城镇及乡郊。这是一项社群地图绘制成果。我们使用 wiki 式的协作编辑软件去实现,因此我们的地图将不断扩大、优化。如果你有全球定位系统(GPS)设备,你可以向本项目贡献自己录制的轨迹。我们也可以使用必应航空影像或其他制图手段。你可以直接用在线编辑器iD,更可以下载JOSM桌面应用程序。各适其式,款款出色。

开发

大量的软件开发工作正将本项目带向诸多不同的方向。正如前章所述,我们设计了各种地图编辑工具。事实上,从前端的瓦片地图界面到后台的数据存取 API (读写地图数据的网络服务接口),正是这些开源软件驱动了 OpenStreetMap 。运用我们的数据开展的子项目有着良好的机遇,但是我们的核心组件的漏洞修复和功能增加也需要人来帮助。
我们始终欢迎开发者和翻译员!

OSM 基金会

OpenStreetMap 基金会是一家募集资金的机构。购买和维护用于 OpenStreetMap 项目的服务器是一项巨大的开支。基金会支持本项目,但并不控制本项目或“拥有” OSM 数据。基金会致力于激励自由地理空间数据的增长、发展、分发,从而提供任何人可使用和分享的地理空间数据。

OSM应用

web类应用、教学、科研等。

Web applications

Developers that want to use OpenStreetMap in their web applications can see the list of JavaScript libraries. There are additional libraries in other programming languages. Deploying your own Slippy Map lists corresponding JavaScript libraries and Content Management Systems supporting OpenStreetMap. Maybe you need WMS and TMS, or to create your own tiles.

Education

OpenStreetMap has created a unique curriculum that is focused on introducing the topics that OSM addresses: mapping, open source technologies, crowd sourcing and community efforts. It is geared towards university level students. Further, OpenStreetMap has several open problems which would make good student projects. These are items that need researching and "longer-term" issues which could be worked on by students as a project separate from the core open source development progress happening within the community.

Research

At the conference SotM-EU 2011, Muki Haklay gave a talk with advice to academics interested in OSM and the video is available online. See our Research page for details of academic research work.

《OSM在极低GIS中对应用》

如何贡献(制作)OSM地图

分为5个步骤

1. 收集数据

最常见的收集GPS数据的方法,一部带有GPS功能的手机,轨迹记录软件。

收集数据,OSM可以用到信息很多:

从最常见的“路名”到停车场、邮箱、邮编、港口。通常,由于使用的交通工具不同,不同的人对地图细节的要求也不同。例如,司机希望地图上标明高速公路、高架道路的匝口,两车道还是四车道,单行还是双向行驶;行人想了解公交车站,过街天桥或地道;户外旅行不仅希望知道路线,多半也想了解海拔高度。简单地说,把你认为可能有用的信息都标上。

OSM图友往往从基本开始,逐渐增加地图的细节。所以主干道、重要的道路是个不错的开始,人行道、邮箱之类多半最后才加上去。当然,各人有各自的方式,你完全可以自由发挥。

2. 上传数据

首先,将数据保存为GPX格式。GPS的手册或软件使用指南来确定如何将轨迹保存成GPX格式。

将GPX文件上传到OSM。

上传过程

2.1 打开 OSM 主页.

2.2 登录 (你需要在 这里 先注册一个 OSM 账号 ).

2.3 点击顶部的 “GPS traces” 标签.

2.4 点击 "See just your traces, or upload a trace".

2.5 如下操作3个编辑框:

2.5.1 选定你要上传的文件.

2.5.2 命名这个文件.

2.5.3 添加有助于找到它的标签,如 “英国伦敦” (每个单词都是一个标签, 所以 Isle of Wight 应该写成 "IOW" 或 "Isle-of-wight").

2.6 如果你希望和其它人分享你的数据 (我们鼓励这样做), 选中 "Public" .

2.7 点击 "Upload".

2.8 数据过一会儿就会加入到OSM中. 不过, 你可以在上传数据后立刻使用它。

2.9 完成后你可以用 JOSM 下载包括你的数据在内的这个区域内的所有数据。或者你可以在 Potlatch 中使用它. 方法是点击轨迹右侧的 'edit' 链接(不是顶上的'edit').

3. 创建和编辑OSM数据

OSM数据由以下元素组成和表示方法:

详见

http://wiki.openstreetmap.org/wiki/Elements

节点(Nodes): 最基本的要素,是其它要素的组成部分.

路线(Ways): 有方向性的节点序列, 在编辑器里显示成连接起来的线段.

闭合路线(Closed Ways): 闭合路线是完全闭合的路线. 一般用来表示区域如公园,湖泊,岛屿等.

所有这些元素都有标签,以描述地名,道路类型等信息。你可以用各种编辑器来创建元素和标签。

使用potlatch , josm , merkaartor 等软件,可以编辑OSM数据,例如将GPS轨迹点,串成道路。

4. 标示数据和新增资料

当完成了一条路线时,你需要给它加上标签来确定它在地图上渲染的效果.标签有很多,其中一些是很常用的.在 JOSM 中,通过在Properties/Memberships 添加键值对来添加标签.

当你完成了编辑后, 你需要 将你的修改上传到 OSM.

5. 渲染并试用地图

5.1 客户端渲染

Kosmos : Kosmos 是为了让OSM使用者在自己的计算机上渲染地图而设计的轻量级的OSM地图渲染平台. 大概是三种工具中最容易使用的.

Osmarender: 一个基于可扩展样式表语言转换 (XSLT) 的渲染器,能够创建可缩放矢量图形(SVG), SVG可以用浏览器观看或转换成位图.

Mapnik: 一个用C++写的非常快的渲染器,可以生成位图(png, jpeg)和矢量图形(pdf, svg, postscript)。

5.2 openstreetmap网站渲染

让数据显示在 OpenStreetMap 的主页 的 slippy map 上. 在主页的右上方有一个 '+' . 点击 '+' 后会出现一个包括 'Mapnik' 和 'Osmarender' 的基础层的选项. 分别显示对应的渲染器生成的地图.

如何下载地图OSM数据

OSM网站中全部都是来自用户上传的GPX数据,登陆openstreetmap网站后,用户可以输入经纬度的区间,构成一个矩阵区间,那么这部分的数据会被下载。

如何将地图数据导入PostgreSQL GIS库

http://wiki.openstreetmap.org/wiki/PostgreSQL

http://wiki.openstreetmap.org/wiki/Converting_map_data_between_formats

The PostGIS extension for PostgreSQL is often used for geographic data. PostGIS adds geospatial functions and two metadata tables. Again we do not use this for our core database, however we do use all of these things on the tile server database as required by the Mapnik rendering engine.

以下工具,可以将OSM数据导入PostgreSQL

Osmosis can be used to populate a more general PostgreSQL/PostGIS database from a Planet.osm OSM data dump file.

osm2postgresql is powered by Osmosis and does much more (but works only on GNU/Linux)

osm2pgsql handles transformation of the planet data into the expected format.

OSM2PostGIS pretty new

OSM in a box has a own converter

Imposm PostGIS importer that supports custom DB schemas. Can import planet files with low memory.

osm2pgrouting imports to PostgreSQL/PostGIS database for routing purpose. (以路由为目的)

OpenStreeMap与PostgreSQL的渊源

http://wiki.openstreetmap.org/wiki/Using_OpenStreetMap

PostGIS是一个历史非常悠久的GIS库,除了能够处理GIS数据,由于框架是通用的,所以还可以处理复杂的向量数据、多维数据等。

与PostGIS与PostgreSQL 是OpenStreetMap软件开发组件中的必要组件。

pic

PostGIS与pointcloudlib结合,可以落地到非常广泛的场景中。比如精密加工、测绘、3D打印等。

http://pointclouds.org/documentation/tutorials/

pic

参考

http://wiki.openstreetmap.org/wiki/Zh-hans:%E5%85%B3%E4%BA%8E

《OSM在极低GIS中对应用》

http://planet.postgis.net/

http://wiki.openstreetmap.org/wiki/Using_OpenStreetMap

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
关系型数据库 定位技术 数据库
|
定位技术 图形学
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)
|
8月前
|
机器学习/深度学习 人工智能 编解码
登顶刊Cell:中国科学家领衔发布猕猴大脑皮层细胞三维「地图」
登顶刊Cell:中国科学家领衔发布猕猴大脑皮层细胞三维「地图」
|
12月前
|
前端开发 JavaScript 异构计算
分享cesium的风场开源网站
分享cesium的风场开源网站
576 0
|
编解码
产品分享:Qt+OSG教育学科工具之地理三维星球
产品分享:Qt+OSG教育学科工具之地理三维星球
产品分享:Qt+OSG教育学科工具之地理三维星球
|
机器人 atlas 定位技术
飞奔跳跃!波士顿动力人形机器人Atlas学会跑酷
今年 5 月份,大家熟知的机器人公司波士顿动力在 YouTube 上放出两段视频,展示了 Atlas 和 SpotMini 机器人的最新进展。这两段视频没有展示多少新鲜的东西,但让我们看到了这些机器人的活动是多么自然。今日,波士顿动力机器人再次吸引了大家的注意:会跑酷的 Atlas。
180 0
飞奔跳跃!波士顿动力人形机器人Atlas学会跑酷
|
机器学习/深度学习 存储 算法
码农也来玩奥运开幕式“超级变变变”!相机动捕,实时转换赛事图标,项目开源可试玩
码农也来玩奥运开幕式“超级变变变”!相机动捕,实时转换赛事图标,项目开源可试玩
201 0
|
存储 传感器 关系型数据库
【重新发现PostgreSQL之美】- 21 探访宇航员的食物
大家好,这里是重新发现PostgreSQL之美 - 21 探访宇航员的食物
|
机器学习/深度学习 图形学 计算机视觉
一边动,一边画,自己就变二次元!华人小哥参与的黑科技:实时交互式视频风格化
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 动画,动画,就是你动你的,我画我的。 就像下面这张GIF,左边是张静态图片,随着画者一点一点为其勾勒色彩,右边的动图也在实时地变换颜色。
一边动,一边画,自己就变二次元!华人小哥参与的黑科技:实时交互式视频风格化