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

本文涉及的产品
云原生数据库 PolarDB 分布式版,标准版 2核8GB
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS SQL Server,基础系列 2核4GB
简介:

标签

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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
7月前
|
canal 编解码 人工智能
Google Earth Engine(GEE)——OSM水图层 OpenStreetMap中的全球地表水数据集(90m分辨率)
Google Earth Engine(GEE)——OSM水图层 OpenStreetMap中的全球地表水数据集(90m分辨率)
119 0
|
2月前
|
数据可视化 定位技术 数据处理
MapboxGL可视化之千里江山图
本文记录了作者在Mapbox GL中实现山峰等值面效果的过程,灵感来源于百度地图的山峰展示方式。作者通过下载和处理DEM数据,使用QGIS生成等值面,并通过Mapbox GL的fill图层实现分段渲染,最终效果宛如“千里江山图”,美不胜收。
|
4月前
|
安全 定位技术 数据安全/隐私保护
GIS开发:国内互联网地图的坐标系
导航电子地图公开前需按《导航电子地图安全处理技术基本要求》进行空间位置技术处理,由官方指定机构统一实施。国内地图如高德、腾讯及谷歌中国采用GCJ02坐标系,百度则使用二次加密的BD09坐标系。这些坐标系基于WGS84(全球通用坐标系)进行了加密偏移以确保安全。设备获取的WGS84坐标需转换至相应坐标系以正确显示。开源工具如`coordtransform`可用于坐标转换,而天地图提供的在线切片未做偏移,可直接匹配WGS84坐标。
125 0
|
定位技术 图形学
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)
Unity3D——射击游戏(多地图,多人物,枪支切换,驾车,扔手雷等功能,堪比小型和平精英)
|
机器学习/深度学习 人工智能 编解码
登顶刊Cell:中国科学家领衔发布猕猴大脑皮层细胞三维「地图」
登顶刊Cell:中国科学家领衔发布猕猴大脑皮层细胞三维「地图」
103 0
|
BI 定位技术 API
GIS开发:国内行政区划数据
GIS开发:国内行政区划数据
615 0
|
存储 自动驾驶 物联网
明日14点开播!孪生全空间数据库Ganos V5.0解读
《数据库风向标》是一档聚焦数据库新趋势与新技术的视频栏目,节目每期会请到几位资深技术大咖,与大家共话数据库热点话题。
明日14点开播!孪生全空间数据库Ganos V5.0解读
|
前端开发 JavaScript 异构计算
分享cesium的风场开源网站
分享cesium的风场开源网站
801 0
|
机器学习/深度学习 编解码 人工智能
Google Earth Engine(GEE)——Sentinel-1 和 2 数据的融合,水稻范围识别和水稻种植季节区分地图绘制—马来西亚为例
Google Earth Engine(GEE)——Sentinel-1 和 2 数据的融合,水稻范围识别和水稻种植季节区分地图绘制—马来西亚为例
955 0
Google Earth Engine(GEE)——Sentinel-1 和 2 数据的融合,水稻范围识别和水稻种植季节区分地图绘制—马来西亚为例
|
编解码 ice
Google Earth Engine ——数据全解析专辑(世界第 4 版网格化人口 (GPWv4) 修订版30 弧秒1公里格网)世界无人区数据集
Google Earth Engine ——数据全解析专辑(世界第 4 版网格化人口 (GPWv4) 修订版30 弧秒1公里格网)世界无人区数据集
354 0
Google Earth Engine ——数据全解析专辑(世界第 4 版网格化人口 (GPWv4) 修订版30 弧秒1公里格网)世界无人区数据集