注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Mr.7

我将骄傲的活在这个大唐盛世

 
 
 

日志

 
 

终于把自定义瓦片无偏差的叠加到高德地图上了  

2014-05-18 22:50:45|  分类: 一道鸡丝 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

终于把高德变形后的数据,自己切图,最后无偏差的定位到高德地图上去了。接下来的事就将一马平川了。这里的高德地图是AMAP。

最后的结果其实很简单:

<%
String sx = request.getParameter("x");
String sy = request.getParameter("y");
String sz = request.getParameter("z");

long x = Long.parseLong(sx);
long y = Long.parseLong(sy);
long z = Long.parseLong(sz);

y = (long)Math.pow(2,z)-y-1;
long shift = z / 2;
long half = 2 << shift;
int digits = 1;
if (half > 10)
{
digits = (int) (Math.log10(half)) + 1;
}

long halfx = x / half;
long halfy = y / half;

String template = String.format("http://localhost:8080/gwcimgroot/test_BJ5W/EPSG_900913_%%02d/%%0%dd_%%0%dd/%%0%dd_%%0%dd.%%s", digits,digits,2*digits,2*digits);

String url = String.format(template, z, halfx, halfy, x, y, "png");
response.sendRedirect(url);
%>

但是中间却有血的教训。一个最为关键的地方是:AMAP的地图是EPSG:900913;而不是EPSG:4326。EPSG:900913也就是所谓的Web 墨卡托投影。

最开始犯的错误是切图以EPSG:4326进行,然后以切图后的缓存瓦片目录规则与AMAP自定义图层规则进行映射。结果中间总结的结果总不能完美的使用;而且还带来的一个非常严重的错误的观点:以为高德的地图层级与GeoWebCache的不一致。

中间系统的了解了下所有的投影概念,研究了OpenLayer的例子,看了各类地图的瓦片概念,最后做了个AMAP自定义图层的瓦片定位索引才搞明白。

终于把自定义瓦片无偏差的叠加到高德地图上了 - Mr.7 - Mr.7
  评论这张
 
阅读(4106)| 评论(1)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018