瓦片地图

PIE SDK加载自定义服务数据

扶醉桌前 提交于 2020-01-20 04:41:12
1.功能简介   自定义服务数据,将符合要求的矢量数据和栅格数据集等数据以服务的方式发布,将数据存储在某服务器中,在有网络的情况下可以根据URL就可以访问,比较常见的服务数据类型的有ArcGIS Server,天地图在线地图,百度在线地图,高德在线地图等,如果没有他们大型的服务器可以发布就可以自己自定义发布并调用。 2. 功能实现说明 2.1. 实现思路及原理说明 第一步 设置自定义服务URL(即服务链接地址) 第二步 根据URL得到自定义图层tiledLayer 第三步 设置瓦片信息并设置为自定义图层tiledLayer的瓦片信息 第四步 将tiledLayer添加到地图控件中并设置显示范围 2.2 . 核心接口与方法 接口/类 方法 说明 PIE.Carto.CustomerOnlineTiledLayer SetTileInfo 设置瓦片信息 Name 图层名称 PIE.Carto.TileInfo Format 瓦片图像格式 DPI 每英寸点数 CompressionQuality 压缩的质量 LODInfos LOD信息 SpatialReference 空间参考 InitialExtent 初始化范围 FullExtent 全图范围 TileWidth 瓦片宽度 TileHeight 瓦片高度 PIE.Carto.LODInfo Level 瓦片级别

arcgis server瓦片行列号计算

生来就可爱ヽ(ⅴ<●) 提交于 2020-01-09 23:54:08
2013-08-01 arcgis server切图时会设置一个原点坐标,如果是经纬度坐标一般默认(x0,y0)=(-400,400)作为切图的起始点,即从这开始算行列号。假设切图的地图某点坐标为x,y,切图的瓦片大小为256,其瓦片的级别分辨率为resolution,则计算该地图点的行列号计算如下: col = floor((x0 - x)/(256*resolution)); row = floor((y0 - y)/(256*resolution)); 注:resolution根据设置的比例大小会自动计算,在切图时设置的参数会自动保存在layers目录下的conf.xml文件中,resolution在该文件中可以找到。 切图的瓦片相关命名规则: 每级一个文件夹,文件夹以L开头,如第一级为L00,一次类推L01....; 每级里每行一个文件夹,行文件夹以R开头,由16进制的8位数组成,不够的以0补充,如R0000ef11; 每个行文件夹里的列命名与行类似,由16进制的8位数组成,不够的以0补充,不过是以C开头,如C00000de1。 来源: https://www.cnblogs.com/lanzi/p/3231322.html

Vue实现百度离线地图(v2.0)

允我心安 提交于 2019-12-28 18:44:56
本人一名小小Java开发工程师,公司前端程序员不够,让我去写前端代码,这个项目某个功能需要实现离线地图,我绞尽脑汁,在网上查阅多篇博客,研究了下百度在线地图的js源码,终于搞成了,离线地图可托拉拽、放大缩小。所以我来写一篇关于Vue项目使用BMap v2.0。 第一步:打开 百度地图在线示例v2.0 版本,打开调试模式( F12 ),选择 Network ,打开下图选中js,另存为map.js 第二步:修改map.js(参考其他人博客的) 1.添加调用外部资源直接返回代码 2.把js加载修改成本地加载的方式 3.修改map.js依赖的模块为本地模块 4.修改瓦片加载路径(瓦片也就是地图位置不同、级别不同的图片(png或jpg),让后将所有瓦片拼接的成完整地图) 第四步:下载map.js依赖js和你相应需要实现的功能模块依赖的js(需要就下载),找到map.js的Rb值,选中相应的值填入mod中,(地址: http://api0.map.bdimg.com/getmodules?v=2.0&mod=key_ value) ,下载的js命名模式为为 key_ value.js 第四步:下载瓦片资源,因为之前修改map.js的时候是加载png瓦片,所以我们要下载png格式的瓦片。目前来说,网上下载百度地图离线瓦片的工具都是收费,不是收费的就是带有水印的或者下载深度不能很大的

Web地图呈现原理

丶灬走出姿态 提交于 2019-12-25 10:58:43
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 以下内容转载自木的树的文章《Web地图呈现原理》 作者: 木的树 链接: https://www.cnblogs.com/dojo-lzz/p/9250637.html 来源:博客园 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 本篇内容为大家揭开地图呈现原理,大家可通过 腾讯位置服务 官网了解地图并体验! 地图投影 对于接触互联网地图的同学来说,最开始接触的恐怕就是坐标转换的过程了。由于地球是个近似椭球的形状,有各种各样的椭球模型来模拟地球,最著名的也就是GPS系统使用的WGS84椭球了。但是这些椭球体的坐标使用的是经纬度,单位是角度。目前我们的地图大多是二维平面上展示,使用角度为基础来计算多有不便,所以有众多数学家提出各种不同的转换方式来将经纬度表示的位置转换成平面坐标,这个转换过程地图学上成为投影。投影的方式多种多样,对我们做互联网地图的来说,最重要的就是墨卡托投影的变体——Web墨卡托投影。我们先来看一下墨卡托投影的转换过程 (以赤道本初子午线为原点) 投影完毕后的结果就是: 先不要头疼数学公式,已经有很多类库做好了代码实现,比如leaflet: L.Projection.Mercator = { R: 6378137, R_MINOR: 6356752.314245179,

高德离线地图瓦片坐标偏移纠偏

﹥>﹥吖頭↗ 提交于 2019-12-16 13:48:07
对于地图坐标偏移,以leaflet为例,有如下解决办法 方法1、修改leaflet源码,解决地图坐标偏移问题 方法2、将点位真实的经纬度经过偏移算法,添加到加密的地图上 方法3、直接对离线地图瓦片进行纠偏 方法1需要修改源码 方法2有缺陷,地图依然是偏移的,如果把地图经纬度显示出来,经纬度也是不对的 我使用的是方法3,原理是:虽然偏移不是线性的,我也不知道纠偏算法,但是在市级或者县级区域,偏移近似线性的,所以对于市级或县级地图应用,可以对地图瓦片进行简单的纠编,优点是得到的地图瓦片可以认为是没有偏移的。 我用C#写了一个高德地图瓦片纠偏程序,代码如下: 1、配置文件 <?xml version="1.0" encoding="utf-8" ?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> </startup> <appSettings> <add key="inputPath" value="D:\_临时文件\GISMap\1818940751"/> <add key="outputPath" value="D:\_临时文件\GISMapOutput\1818940751"/> <add key="deltaPixcelX" value=

重庆市谷歌卫星地图下载

不羁岁月 提交于 2019-12-06 20:00:26
一、概述 重庆地处中国内陆西南部,东邻湖北、湖南,南靠贵州,西接四川,北连陕西。总面积8.24万平方千米,辖38个区县(自治县),有“中国火锅之都”、“中国会展名城”、“世界温泉之都”之称。 重庆是中国西南地区融贯东西,汇通南北的综合交通枢纽。其江北国际机场是中国内陆重要的空港,果园港是长江内河重要的港区。重庆地处盆地东部,地形由南北向长江河谷倾斜,地貌以丘陵、山地为主,其山地占76%;气候冬暖春早,夏热秋凉,长江横贯境内,流程679公里。 距今200万年前的旧石器时代早期,在今重庆巫山县已经出现了中国最早的人类--巫山人。 距今两万年至三万年的旧石器时代晚期,出现了“铜梁文化”(今重庆铜梁区)。 夏商时期,三峡地区是中国主要岩盐产区,由于盐是古代重要的硬通货之一,由此在巫山地区催生了早期的巴国文明。 先秦时期,诸侯国巴国先后在枳(今重庆涪陵区)、江州(今重庆渝中区)、垫江(今重庆合川区)建都。周庄王八年(前689年),巴国与楚国激战于那处(今湖北省荆门市东南),双方相持数月,巴人不敌而归。巴楚之战时断时续,几乎贯穿整个巴史。 周慎靓王五年,秦惠文王更元九年(前316年),张仪带兵灭巴之后,屯兵江州,筑巴郡城(江州城),城址在今渝中区长江、嘉陵江汇合处朝天门附近。是为史载重庆建城之始。秦朝分天下为三十六郡,巴郡为其一。 汉朝时候巴郡称江州,为益州刺史部所管辖。汉光武帝建武十一年

初识openlayers

萝らか妹 提交于 2019-12-06 16:22:59
openlayer:   overview--- 创建动态地图(put a dynamic map in any web pag) map tiles:地图块(瓦片)   vector data and markers:openlayer支持从任何源加载矢量数据和标记 feature--- feature 是要素的意思,简单要素,就是点线面等组成gis(Geographic Information System或 Geo-Information system,GIS)图形信息的基本要素 openlayers起航: 1、初始化地图 /** *地图初始化 * 1、创建瓦片图层 * 2、定义视角 */ initMap() { let mapObj = new Map({ target: 'map', layers: [ new TileLayer({ source: new OSM({ url: url //瓦片地址 }) }) , new TileLayer({ source: new TileArcGISRest({ url: url //地理位置名称信息 }) }) , ] }) } 来源: https://www.cnblogs.com/blog-note/p/11993845.html

Leaflet 调用百度瓦片地图服务

时光总嘲笑我的痴心妄想 提交于 2019-12-04 20:05:34
在使用 leaflet 调用第三方瓦片地图服务的项目,主要谷歌地图、高德地图、百度地图和 OSM 地图,与其他三种地图对比,百度地图的瓦片组织方式是不同的。百度从中心点经纬度(0,0)度开始计算瓦片,而谷歌地图是从左上角经纬度(-180,90)度开始计算瓦片;如果直接使用百度瓦片地图服务会请求不到瓦片,因此需要转换一下。借助 leaflet-tileLayer-baidu 这个插件: //需要引入 proj4.js 和 proj4leaflet.js 插件,使用script标签引入的方式 L.CRS.Baidu = new L.Proj.CRS('EPSG:900913', '+proj=merc +a=6378206 +b=6356584.314245179 +lat_ts=0.0 +lon_0=0.0 +x_0=0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs', { resolutions: function () { level = 19 var res = []; res[0] = Math.pow(2, 18); for (var i = 1; i < level; i++) { res[i] = Math.pow(2, (18 - i)) } return res; }(), origin: [0, 0

湖南省怀化市谷歌高清卫星地图下载

十年热恋 提交于 2019-12-03 18:42:13
一、概述   怀化,别称鹤城,古称鹤州、五溪。湖南省辖地级市,全国性综合交通枢纽城市,武陵山经济协作区中心城市和节点城市。 自古以来就有“黔滇门户”、“全楚咽喉”之称,是中国中东部地区通往大西南的“桥头堡”。宋代以“怀柔归化”之意设怀化砦,怀化之名由此得来。   怀化生态环境优良。地处湘中丘陵向云贵高原的过渡地带,全市森林覆盖率达到70.97% ,居全省第一位,是全国9大生态良好区域之一,被誉为一座“会呼吸的城市”。怀化是国家环保部正式命名的湖南省首个市级“国家生态示范区”。怀化区位较为优越,是湘、鄂、渝、黔、桂五省(市)边区中心城市以及全国重要的综合交通枢纽。铁路交通发达,有“火车拖来的城市”之称。   怀化市行政区划谷歌卫星地图,如下图所示。   唐代以辰州为据点,经营今怀化市,有州6个:辰州卢溪郡、锦州卢阳郡、叙州潭阳郡、奖州龙溪郡、晃州、诚徽州。宋属荆湖路,有辰州、叙州、晃州、鹤州、锦州等30余州。元设中书省,省下设路、府、州、县,怀化境内设辰州路、沅州路、靖州路,隶属湖广行省。    二、怀化市谷歌高清卫星地图离线包如何下载?   怀化市现辖12个县(市、区)和一个管委会,包括鹤城区、中方县、洪江市、沅陵县、辰溪县、溆浦县、会同县、麻阳苗族自治县、新晃侗族自治县、芷江侗族自治县、靖州苗族侗族自治县、通道侗族自治县和洪江区管委会。   怀化市局部18级谷歌高清卫星影像示例图

Leaflet+heatmap实现离线地图加载和热力图应用

为君一笑 提交于 2019-12-01 20:47:07
本人博客主页:http://www.cnblogs.com/webbest/ 2017年春节已经过完,新一年的奋斗也刚刚开始。今年要经历的挑战也是大大的。。。不扯了。 年底前软件项目相对较多,恰巧在年底进入一家新公司,项目自然一个接一个,没有丝毫停歇。年底之前的电信运营商春节保障项目时节前做的最后一个项目,时间紧,任务中。主要还是涉及到以前没有用过,并且公司也没人实践过的离线地图瓦片加载热力图效果的应用。 接到这个任务也是摸不着头脑,产品经理让先看看openstreetmap,了解一下其中的一些API接口。经过了解才知道这只是一大个地图包,并没有提供现实的离线地图的方案。带我的师傅说可以了解一下openlayers,使用openlayers也加载了一个离线地图瓦片进来。团队中的大神建议使用leaflet来做离线地图瓦片的加载,因为相对简单,不需要像openlayers那样加载太多依赖。 先上代码: 先加载:leaflet.js和leaflet.css,以及heatmap.js和heatmap-leaflet.js文件。 <! DOCTYPE html > < html > < head lang ="en" > < meta charset ="UTF-8" > < meta name ="viewport" content ="width=device-width,