大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
离线地图解决方案,除了买地图数据,使用专业的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)在“画图工具”中选择“矩形”画图(按着左键拖动鼠标,放开左键完成画图),右边输入要下载的Zoom,点击下载即可。
(2)在“区域下载”下点击某个省、市,右边输入要下载的Zoom,点击下载即可。
2)下载速度:
下载采用了单线程,一张一张图片进行下载的,没有采用多线程,有待改进。选择某个市的前15级下载还是比较快的,16级以后由于图片数量巨大,下载需要等待较长时间。
3)下载储存方式:
默认是在MapCache下SQLite数据库里(\MapCache\TileDBv5\en\Data.gmdb),下载后可使用相应工具打开数据库查看。
如果要保存到MySQL里,需要修改对应MapDownloader.exe.config配置文件里的配置项,数据库”mapcache“要先手动建好,表会自动创建。
如果选择“本地磁盘”,则以切片形式保存到配置文件“TilePath”对应的路径目录里。
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/1hqvQr7e
本软件仅供个人学习与科研使用,所下载的数据版权归各个地图服务商所有,任何组织或个人因数据使用不当造成的问题,软件作者不负责任。
联系方式:站内信,QQ:599965176
参考:
http://www.cnblogs.com/luxiaoxun/p/3802559.html
http://www.cnblogs.com/luxiaoxun/category/513908.html
后续小编的主要精力放到GIS理论开发知识的大众化的道路了,通过浅显易懂的语言,结合多年行业应用开发,通过微信订阅号传播(每周更新三篇文章及相关GIS编码知识),为GIS的发展尽微博之力。终极目标是让GIS不再专业,让GIS更加大众,使得GIS深入各行业应用,让每位GISER都有一股自豪感!以下是我的微信订阅号二维码,感兴趣的可以交流沟通!
作者:阿凡卢
出处:http://www.cnblogs.com/luxiaoxun/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/191421.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...