retrofit 解析百度地图api 返回数据_新版百度地图建筑数据含高度解析

本文介绍了百度地图从二维到三维的转变,涉及WebGL技术,矢量瓦片和三维模型渲染。通过分析JavaScript和WebGL工作原理,揭示了百度地图如何利用WebGL进行三维建筑渲染,以及数据获取和解密的过程。同时讨论了如何通过Web Worker进行异步处理,提高性能。文章最后提到了解密和获取建筑轮廓数据的可能途径。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注:本文中所述内容仅作为研究用途,不包括任何技术细节,不提供数据爬取、非法攻击的咨询和支持。另:百度建筑轮廓数据中存在明显签名式错误,下载使用容易被追求侵权。

矢量瓦片:爬取百度地图必须要了解矢量瓦片。矢量瓦片是二进制数据。技术以maxbox为标准。详情可以参考矢量地理数据如何切片?

WebGL:OpenGL的一个javascript绑定。WebGL可以为HTML5 Canvas提供硬件3D加速渲染,Web开发人员可以借助系统显卡来在浏览器里更流畅地展示3D场景和模型wonder-yyc:分享收集的Web 3D学习资源

矢量瓦片技术需要 部署java web。也可以通过本地部署 java web服务器(tomcat)调试js。

百度地图更新后三维模型更加精细了。因为模型是提前建好的,然后将三维模型保存为顶点缓冲和索引,最后直接通过WebGL的方式显示到画布上。(高德还是采用建筑轮廓,并通过高度进行拉伸得到的三维模型)

说白了,百度地图的模型就像是(我们在建模软件里面建完的模型一样)。模型通过计算机图形学(webgl)渲染到屏幕上。

所以建筑高度没有了。

取而代之的是模型渲染信息(顶点缓冲和索引)

投机取巧的童鞋可以洗洗睡了。但是在gis工作者眼中还是小儿科。

技术前提:了解javascript,了解webgl(three.js,重点!!)或者opengl。了解浏览器调试技巧,断点调试。了解地图架构与java web服务器交互(此片文章不牵扯太深刻,不懂的同学也可以通过这篇文章改变你对百度地图的看法)

之前一直有人说百度地图更新后数据加密了,其实这是不完全正确的。百度地图之前采用的是栅格瓦片,不支持三维建筑高度。升级后采用的是webgl与矢量瓦片。矢量瓦片返回的就是二进制数据,所以返回数据没有加密,仅仅是在对其矢量瓦片的请求url进行了封装,,请求的url同样可以通过js跟踪调试解密。然后把二进制数据经过解析(可以调试出json数据)后交给浏览器webgl渲染。

原来的栅格瓦片虽然比较好爬取,直接加载图片在体验上效果非常差,地图缩放会有明显的层级感,不支持3D模型等问题,随着webgl技术越来越成熟,电脑性能强大,大部分地图都支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值