百度谷歌离线地图解决方案(离线地图下载)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

离线地图解决方案,除了买地图数据,使用专业的ArcGIS来做外,也可以使用GMap.Net来做。

关于GMap的开发教程,可以看我以前的文章:基于GMap.Net的地图解决方案

使用了GMap一年了,也有了一些积累,开发了一个可以下载ArcGIS、百度、谷歌、高德、腾讯SOSO、天地图、Here等地图的地图下载器。

百度和google地图加载显示如下:

百度普通地图:

百度混合地图:

谷歌普通地图:

谷歌混合地图:

从目前的情况来看,百度的普通的地图数据是更新最快的,但是有些小地方没有卫星地图,而谷歌几乎所有的地方都有卫星地图,但是谷歌中国的地图更新太慢,比如说南京已经有3号线和10号线了,谷歌地图上就没有。

只要地图能加载显示,就可以下载到本地,开发的地图下载器支持SQLite、MySQL、MsSQL、PostgreSQL等数据库保存,也可以以固定目录组织保存到本地磁盘上,支持ArcGIS的WMS切片服务的图源使用。

下载到本地磁盘的地图:

支持的地图下载方式:

(1)选择一个矩形区域下载。

(2)选择某个省、市进行下载。

下载到MySQL的地图数据:

自己扩展的.Net地图控件主要功能:

1)下载百度、谷歌、高德、腾讯、Here、天地图的地图,按区域下载或是省市边界下载。

2)各类画图工具:矩形、圆形、多边形、线段、折线段。可以作为电子围栏、地图圈选工具、地图画图工具使用。

3)各种图标:图片、图片+文字说明、gif动态图片、带旋转角度的箭头、闪动的报警图标

    

 

4)类似百度地图的“测距”功能:两点之间的距离,或者根据某个距离在地图上展示线段或者多边形。

5)发布离线地图服务:这里的离线地图只是地图显示服务,将下载的离线地图数据作为Http服务发布在局域网内使用。

这样的离线地图客户端仍然可以使用GMap.Net,而Web端可以使用Openlayers或者是Leaflet等js库做。

更多关于离线web GIS方面的资料,请参考《Web GIS离线解决方案》

如下是用leaflet js做的简单的demo,用的是google的地图:

6)GPX数据的读取与展示。

7)KML数据的保存与读取展示。

8)POI数据查询展示:

通过省市名称和关键字查询POI数据,图示如下:

9)地址定位:输入地址关键字定位到某些点。

输入一个确定的地址定位到地图上的点。

10)地址逆解析:点击地图上某点,查询该点的位置。

11)路径导航:通过“起点”和“终点”,查询路径显示路径规划。

配置使用:MapDownloader.exe.config配置文件

复制代码
  <appSettings>
    <!--Mysql Server的IP和Port-->
    <add key="MySQLServerIP" value="127.0.0.1"></add>
    <add key="MySQLServerPort" value="3306"></add>
    <!--Mysql Server的数据库名、用户名、密码-->
    <add key="Database" value="mapcache"></add>
    <add key="UserID" value="root"></add>
    <add key="Password" value="admin"></add>
    <!--地图中心点坐标:-->
    <!--南京:118.773,32.043-->
    <add key="MapCenter" value="118.773,32.043"></add>
    <!--本地存储切片的路径-->
    <add key="TilePath" value="D:\\GisMap"></add>
    <!--下载失败时重试的最大次数,网络状态不好时候可修改为一个大的整数值,比如10-->
    <add key="Retry" value="3"></add>
  </appSettings>
复制代码

一些功能说明:

推荐下载范围:

         世界:1--5级。中国:5--9级。省:9--12级。市:12--18级。级数超过16后数据会比较大。

1)下载方式:

        (1)在“画图工具”中选择“矩形”(按着左键拖动鼠标,放开左键完成画图)或者“多边形”(点击左键)画图,双击所画的多边形,进入下载配置,选择所需下载的级别即可。

        (2)在“区域下载”下点击某个省、市、区(县),双击区域多边形,进入下载配置,选择所需下载的级别即可。

2)下载速度:

        已经改进为多线程下载,显示整个切片的下载速度。选择某个市的前15级下载还是比较快的,16级以后由于图片数量巨大,下载需要等待较长时间。

3)下载储存方式:

        默认是在MapCache下SQLite数据库里(\MapCache\TileDBv5\en\Data.gmdb),下载后可使用相应工具打开数据库查看。

        如果要保存到MySQL里,需要修改对应MapDownloader.exe.config配置文件里的配置项,数据库”mapcache“要先手动建好,表会自动创建。

        如果选择“本地磁盘”,则以切片形式保存到配置文件“TilePath”对应的路径目录里(默认是D:\GisMap)。

4)测试下载的地图是否可用:

        在“地图访问”中选择“本地缓存”,则地图自动切换到离线模式,使用本地下载的缓存来访问地图。

5)“拼接图”测试:

        在“画图工具”中选择“矩形”画图,画要拼接的范围,填入要拼接的Zoom,点击“拼接图”,会自动在程序运行目录下生成一张拼接大图。这个拼接图没有集成地理信息,个人觉得拼接图没有太大意义,在实际应用中,要先下载各个zoom下的切片,根据坐标信息拼接成一个大图,再在类似ArcGIS或GeoServer中切片发布成服务,这样做太麻烦,不如直接按ArcGIS或GeoServer的切片组织规则下载命名切片,再加上对应的配置就可以直接发布服务使用。

6)离线切片导出,作为ArcGIS或GeoServer中服务使用的切片:

        把下载到数据库中的切片按ArcGIS或GeoServer的切片组织规则导出到本地作为服务的数据使用。

7)离线Web服务:

        勾选“离线Web服务”,可以将下载的地图切片发布为地图底图服务(先下载谷歌地图,用作地图服务的切片),可用于局域网下的Web项目,仅仅用于测试。

8)POI查询导出:

        联网使用服务查询POI数据,导出到Excel或者数据库中。高德和腾讯的POI可以和地图无偏差显示,百度的不行。

9)地址解析与地址逆解析:

        联网使用一些服务获得地址信息。

10)路径导航:

        联网使用一些服务查询路径并显示。

 

下载地址:http://pan.baidu.com/s/1miMF9nM  (更新于2017-7)

本软件仅供个人学习与科研使用,所下载的数据版权归各个地图服务商所有,任何组织或个人因数据使用不当造成的问题,软件作者不负责任。

联系方式:站内信,QQ:599965176

 

参考:

http://www.cnblogs.com/luxiaoxun/p/3802559.html

http://www.cnblogs.com/luxiaoxun/category/513908.html

 


    本文转自阿凡卢博客园博客,原文链接:http://www.cnblogs.com/luxiaoxun/p/4454880.html,如需转载请自行联系原作者


相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
3月前
|
JavaScript 搜索推荐 Android开发
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
99 8
【01】仿站技术之python技术,看完学会再也不用去购买收费工具了-用python扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-客户的麻将软件需要下载落地页并且要做搜索引擎推广-本文用python语言快速开发爬取落地页下载-优雅草卓伊凡
|
11月前
|
JSON 前端开发 API
程序技术好文:百度网盘真实地址解析(告别下载百度网盘)
程序技术好文:百度网盘真实地址解析(告别下载百度网盘)
832 0
|
存储 缓存 开发框架
geoserver+全能下载器 发布离线地图
geoserver+全能下载器 发布离线地图
|
监控 开发者 iOS开发
iOS开发:腾讯bugly符号表文件上传
腾讯bugly确实是一个好东西,它实现了面向移动开发者提供专业的 Crash 监控、崩溃分析等质量跟踪服务。能帮助移动互联网开发者更及时地发现掌控异常,更全面的了解定位异常,更高效的修复解决异常
395 0
iOS开发:腾讯bugly符号表文件上传
|
Java Shell iOS开发
iOS开发:腾讯bugly符号表文件自动上传
在进行集成腾讯bugly的时候,有一个步骤就是符号表文件的上传,其上传方式有两种:一种是自动上传,另外一种是手动上传。
864 0
iOS开发:腾讯bugly符号表文件自动上传
|
自然语言处理 API UED
谷歌、百度、有道做不到的,统统交给这5款翻译工具!
提到翻译工具,我们首先想到的就是谷歌、有道、百度、必应。这些工具虽然知名,且经过多年的考验和优化。但是,尺有所短、寸有所长,这些主流的翻译工具也有很多明显的不足。
谷歌、百度、有道做不到的,统统交给这5款翻译工具!
|
Web App开发 Kubernetes JavaScript
真爱!微软宣布新开源网站,由 Jekyll 一键生成,代码所见即所得
近日,微软上线了一个新的开源网站。这不是微软唯一的开源网站,但却代表了新的起点。网友表示:这次真的拥抱开源了!从「恨」到「爱」,微软与开源有着一段长达30年的故事。
186 0
真爱!微软宣布新开源网站,由 Jekyll 一键生成,代码所见即所得