在公司内网上创建自己的 OSM.Planet 街道级别地图服务器及其客户端程序

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: 转自我的BLOG http://blog.csdn.net/goldenhawking/article/details/6402775  最近经过陛下点拨,涉猎了“OpenStreetMap”,做了不少业余研究,把成果给大家分享一下,特别是提供搭建好的客户端-服务器框架,以及中国国内的OSM开放地图范例。

转自我的BLOG http://blog.csdn.net/goldenhawking/article/details/6402775
 最近经过陛下点拨,涉猎了“OpenStreetMap”,做了不少业余研究,把成果给大家分享一下,特别是提供搭建好的客户端-服务器框架,以及中国国内的OSM开放地图范例。

 

为什么只有中国的??

 

  原因很简单,  由于导入世界范围数据要耗费 100GB以上的磁盘。经过我亲自测试,如果需要导入世界数据的话,在拥有4GB存储器、1TB磁盘阵列的HP 8核服务器上需要近1周的时间(PostgreSQL Shared-Mem 128MB, Work Mem 512MB, Maintain 512MB),且虚拟机与 PostgreSQL服务器并不在同一机器。(数据库服务器要求专用,才能发挥最好效果) 。

    尽管提供的仅是导入中国国内数据的范例服务器, 但是您可以从网站下载完整镜像(2011年4月的约16GB),而后导入本范例的服务器,即可立刻拥有世界范围的数据访问。在导入之前请详细阅读光盘中的文档,特别是 
 1、确保PostgreSQL 的资源充分
 2、确保导入期间PostgreSQL 的"autovacuum" 已经关闭。
 3、确保不要断电

 

我创建的完整范例镜像链接(尽量保持开机上传,请大家有耐心!虚拟机所有口令全部是 1234567, 包括开机和数据库管理员。数据库渲染用户osmrender,口令osmrender):


ed2k://|file|Planet.OSM_Server_and_Client_by_goldenhawking(OSM%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%8A%E8%8C%83%E4%BE%8B%E5%AE%A2%E6%88%B7%E7%AB%AF).iso|4132896768|F6F5774B8E2FD4032F997523FB7BC097|h=PNZKU5WEIGMUUCOQSLFE2EOWMZCXORAL|/

 

说明和截图:

ed2k://|file|Planet.OSM_Server_and_Client_by_goldenhawking(OSM%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%8A%E8%8C%83%E4%BE%8B%E5%AE%A2%E6%88%B7%E7%AB%AF).iso.%E8%AF%B4%E6%98%8E%E5%92%8C%E6%88%AA%E5%9B%BE.rar|619839|32DD6E70287DFEE35E77F77DACF23EEB|h=QBAQ6QZNPOBDP4KL2ZGMD2L5ST5C44LP|/ 

 

    Planet.OSM( Open Street Map) 计划是开放源代码的GIS应用,目前经过全世界热心同仁的更新,其底层数据的质量明显提升,精度、数据量均不是小打小敲的商业地图应用可比拟的(比GoogleMap等还是要朴素)。其地图通过网址 http://www.openstreetmap.org 可以直观访问。不仅如此,如果能够接入Internet, 可以方便的使用其API,支持包括移动设备在内的多种服务。
    http://wiki.openstreetmap.org/wiki/Planet.osm 介绍了她的详细情况。这次,我们要讨论的是在公司内部的专用网路上,如何搭建像模像样的 OSM 服务器。适用的范围:
    1、公司内部网络限制了上网,但又需要GIS应用的地方
    2、需要订制 GIS 应用的地方
    3、需要携带到边远地区的便携式计算机上的情况。

    由于是轻量级的应用,我不实现完整的API, 只是注重显示、运用地图本身作为底图。

 

1、osm 体系一分钟介绍
    在开始之前,有必要介绍一下OSM的体系。(看过英文资料 http://wiki.openstreetmap.org/wiki/Planet.osm的可以略过)。OSMGIS 的底层数据由点、线、面等基本图元构成,这些含有属性(地名等)的几何元素以 XML 格式定期在网站发布:  
   ftp://ftp.spline.de/pub/openstreetmap/
   这些XML格式的图元来自工具"osmosis"导出PostgreSQL数据库的镜像, 这个工具的说明见:
   http://wiki.openstreetmap.org/wiki/Osmosis
   PostgreSQL数据库中的图元对象在 PostGIS的支持下形成供世界各地用户不断完善的数据集。然而,数据本身都是字符串格式的,无法直接进行显示。为此,有不少中间件(渲染引擎)被设计出来,用于把数据库中的字符图元变成可以浏览的图像,其中最著名的就是 Mapnik。 本次,我们采用Ubuntu上的Mapnik作为渲染引擎。 Mapnik 本身是一个C++库,通过绑定在Python上,提供了简便的接口,只要给出生成图像的比例尺、范围,即可生成png,jpg,gif等格式的图像。

 

 

2、投影系
   OSM 与 Google-Map 同样采用摩卡托(http://en.wikipedia.org/wiki/Mercator_projection)投影系,这种投影是保角投影,南北极附近是奇异点,无法显示,也算是他的一大缺陷了。第0级比例尺全世界地图被承载在 256 * 256 大小的图片上,第1级比例尺为 512*512, 分为 两行、两列256*256的图片。第2级比例尺为 1024*1024,即4*4=16个256*256的图片...以此类推, 每一级拥有 2^n 行, 2^n 列个瓦片组成,左上角编号为0,0,右下角为  2^n-1,2^n-1. 具体编号参见更多资料。

 

3、详细搭建方法
   老外已经写得不能再详细了,见http://weait.com/content/build-your-own-openstreetmap-server, 直接按照他说的做,准OK!

 

4、网页服务与客户端程序
   客户端有很多实现方法,这里给出的是 Windows 下的  VC++ 2008/2010的工程。原理很简单,通过读取特定比例尺下的瓦片,在屏幕上拼接显示。对没有渲染的瓦片,登记入数据库,由渲染程序生成。范例中演示的比较简单,希望起到抛砖引玉的效果!

 

注意: 所有口令都是1234567,确保VMWare 共享文件夹可用!光盘中附带了VM软件!界面:




http://bbs.csdn.net/topics/370157384

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
弹性计算 JavaScript 前端开发
|
算法 定位技术 图形学
UNITY地图寻路及服务器解决方案
多边形寻路算法简单介绍 http://liweizhaolili.lofter.com/post/1cc70144_86a939e   UNITY3D MMO服务器寻路 http://www.pathengine.
|
23小时前
|
存储 弹性计算 安全
阿里云8核64G云服务器多少钱?阿里云8核64G云服务器报价及性能测评
阿里云8核64G云服务器的价格因配置和促销活动而异。目前,内存型r5和内存型r6实例的8核64G配置云服务器有优惠,优惠后最低购买价格为1454.76元/3个月起。该配置支持购买3个月、6个月和1年,带宽为1~10M可选。此外,阿里云还提供了其他规格的8核64G云服务器,如内存型r7、AMD内存型r7a、高主频内存型hfr7、内存平衡增强型r6e、高主频内存型hfr6、AMD内存型r6a、安全增强内存型r7t、存储增强内存型r7se等。不同规格的云服务器CPU性能也不同,价格也有所差异。
15 2
|
1天前
|
弹性计算 安全 数据安全/隐私保护
幻兽帕鲁服务器怎么搭建:2024年阿里云帕鲁联机服务器搭建详细教程
想要搭建一个稳定、流畅的服务器,与全球的玩家们一同探索帕鲁世界吗?下面,就为大家带来一份详细的服务器搭建教程!
17 3
|
1天前
|
存储 弹性计算 ice
阿里云ECS云服务器怎么样?2024年阿里云ECS云服务器配置价格表
阿里云云服务器ECS的价格表因不同的配置、实例类型、地域和促销活动等因素而有所不同。以下是一些常见的阿里云云服务器ECS价格表信息: 1. 按量付费:按量付费是一种灵活的计费方式,您可以根据实际需求选择实例规格、操作系统、存储和带宽等配置,并按照实际使用情况进行计费。按量付费的价格通常比预付费要高一些,但灵活性更高,适合短期或临时使用云服务器的用户。
|
1天前
|
弹性计算 数据安全/隐私保护
2024年阿里云部署幻兽帕鲁(Palworld)新手教程:从零开始创建帕鲁服务器!
对于《幻兽帕鲁》的狂热粉丝来说,与好友联机畅玩无疑是加倍的快乐。但如何轻松搭建一个稳定的服务器,让游戏体验更加顺畅呢?今天,就为大家揭秘这一绝招——利用阿里云一键搭建《幻兽帕鲁》专属云服务器。
|
1天前
|
弹性计算 大数据 测试技术
阿里云4核8G云服务器多少钱?阿里云4核8G配置云服务器不同实例收费标准价格及选择指南
阿里云4核8G配置的云服务器为多种应用场景提供了强大的计算能力。根据实例规格的不同,其价格也有所差异。目前,经济型e实例是收费标准最低的,每月仅需216元。然而,通过阿里云官网的促销活动购买,用户可以享受到更为优惠的价格。当前有经济型e、通用算力型u1、计算型c7和计算型c8y实例可选。其中,最低价格可达1684.68元/年。用户可以根据自己的应用需求、预算以及对性能的要求来选择适合的实例规格。
|
1天前
|
弹性计算 大数据 测试技术
阿里云服务器多少钱_阿里云服务器租用价格表,2024年月付及年付租用优惠价格表
2024年阿里云服务器租用价格现已公布!用户现在可以通过官方活动选择租用云服务器,月付选项涵盖1个月到9个月,而年付则可选择1年到3年或1年到5年的租期。对于云服务器ECS,我们提供经济型e实例和u1实例,其中2核2G配置、搭配3M固定带宽的e实例仅需99元一年。而u1实例则提供2核4G配置、5M固定带宽和80G ESSD Entry盘,优惠价格仅为199元一年。对于轻量应用服务器,我们提供多种配置选择。2核2G配置、3M带宽的轻量服务器一年仅需61元。如果您需要更高的性能,2核4G配置、4M带宽的轻量服务器一年只需165元。此外,我们还提供2核4G配置的服务器,用户可以享受3个月仅需30元
|
1天前
|
机器学习/深度学习 存储 弹性计算
阿里云GPU服务器价格多少钱?2024年阿里云GPU服务器价格配置及性能测评
2024年阿里云GPU服务器是一款高性能的计算服务器,基于GPU应用的计算服务,多适用于视频解码、图形渲染、深度学习、科学计算等应用场景。阿里云GPU服务器具有超强的计算能力、网络性能出色、购买方式灵活、高性能实例存储等特点。 阿里云提供了多种配置的GPU服务器,包括gn6v、gn6i、vgn6i-vws和gn6e等,这些服务器配备了不同型号的GPU计算卡、不同规格的内存和存储空间,可以满足不同用户的计算需求。同时,阿里云还为新用户提供了特惠价格,包年购买更是低至3折起,使得用户可以更加经济地购买到高性能的GPU服务器。
22 0

热门文章

最新文章