分享

香港高清三维模型数据分享,数据量将近500G

 常思卿图书馆 2021-02-06
当前,智慧技术在城市规划领域已广泛投入使用,其中数字孪生城市技术是极为重要的研究热点(。>︿<)_θ。数字孪生城市涉及复制现实世界中的所有地点资产(包括道路、建筑物、标志牌、绿地等),通过访问其数据库,可进行现实世界的模拟分析、存量清点以及高精度测量(可达毫米级)等,并可以自动优化许多城市管理和城市规划任务。

图1数字孪生城市模型

在数字孪生城市技术中,城市三维模型发挥着基础作用,香港自2015年底开始制作港岛及九龙半岛等地的三维城市模型,涵盖港岛约2万幢大厦、九龙约2.5万幢大厦,模型已于2019年内分阶段对社会完全公开并定期更新,数据量达320GB(为什么我网盘里有434G呢?)。Σ(っ °Д °;)っ

先看看数据效果。

01
数据来源及介绍

1. 数据来源

本次数据有两个来源,不同来源的数据覆盖的地区不同。
来源
制作时间
覆盖区域
香港规划署
2017年3月及2018年3月
香港岛(部分)及九龙半岛(部分)
地址
https://www./pland_sc/info_serv/3D_models/download.htm
香港地政总署
最后更新-2018年初
九龙半岛、青衣、屯门、元朗、大埔等
地址
https:///gs/view-dataset?uuid=ccf4ac4c-6b79-49d1-8bce-74bf0243a544&sidx=0
表1|数据来源

不同来源的数据具体覆盖范围如下图所示:

图2香港规划署制作的城市三维模型覆盖区

图3香港地政总署制作的城市三维模型覆盖区
2. 数据介绍

本次数据采用的是航空摄影测量技术,利用激光雷达打点建立白膜,结合拍摄的立面完成建模。ˋ( ° ▽、° ) 

图4用于执行任务的直升机及设备

数据的坐标为HK1980坐标(地方坐标系),可能是出于保密或者别的考虑,对于后边的分析多少有点不便。HK1980坐标系的参数介绍的pdf可在后台回复关键字“三维模型”获取哟?(′▽`)

数据的格式方面,来源于规划署的数据可以下载OSGB、OBJ、Cesium 3D Tiles等三种格式,具体的详细介绍件规划署数据简介.pdf同样可以在微信公众号后台回复关键字“三维模型”获取ヾ(·ω·`)o,同时附上3种格式对应的csv格式的数据列表。香港地政总署的数据可以下载OSGB以及OBJ两种格式,并可以在网页查到网格对应的地区。

图5规划署数据下载页面

图6地政总署数据下载页面

02
数据下载
打开下载页面就可以发现,三维模型已经按照格网进行分块,每个分块都是一个zip压缩文件。因为数据来源于不同网站,所以下载方法也有所不同。>﹏<
规划署的数据比较简单( ·? ω ·? )?,三种格式的csv中各个格网的下载链接都已经处理好了,全选复制,扔进迅雷里面直接下载就好了,剩下的就是网速问题了(lll¬ω¬)。。。如果有哪几个分块下载失败,那就重新下载好了。那时候不知道为啥脑袋抽筋,偏要写python代码批量下载,花了时间不止,不少分块下了一部分,有一部分没下完整,还得回头检查(菌菌注:这就是大佬的思维吗难道(?*?ω?)?)。。。所以,凡事从简,诚不欺我
地政总署的数据下载比较复杂,如果时间充足,可以手动下载。由于没有一个完成的list可以直接批量下载,所以本部分数据的下载方法大概可分为:观察下载链接的组成部分——索取需要的部分——批量下载
首先,需要观察下载链接的组成部分。此处以OSGB格式的某个网格的下载链接为例,https://www./3ddata/download/OSGB/3-SW-24C/data/3-SW-24C-1/3-SW-24C-1.zip,可知“3-SW-24C”唯一需要所取的,这应该就是该网格的行列号组成的唯一编号。
然后,就是如何获取行列编号的问题了,当然可以用枚举法,一个一个试,但是效率比较低,访问次数多了,不知道会不会被封ip。此处选择的方法是模拟点击的方法,进入网站后,在浏览器打开开发者模式(F12),点击某个网格,打开带有“identity”的链接,如下图所示:

图7开发者模式截图

观察到Request URL各部分组成为:
https://www./arcgis2/rest/services/mbameshtile__d00/MapServer/identify?f=json&tolerance=3&returnGeometry=true&imageDisplay=878%2C900%2C96&geometry=%7B%22x%22%3A835631.9310723272%2C%22y%22%3A833970.3834004729%7D&geometryType=esriGeometryPoint&sr=2326&mapExtent=829860.9354368041%2C831954.3567794542%2C841288.2711654226%2C835948.1915073491&layers=undefined%3A6%2C7%2C8&callback=dojo.io.script.jsonp_dojoIoScript30._jsonpCallback

点击网格多次,发现有些参数是变化的,有些不变,变化的参数如下:

“imageDisplay”:数字可能每一次打开都不一样,但不是关键参数;

“geometry”:模拟点击的坐标点(x,y)#(经度,纬度),可以去掉小数点;

“mapExtent”:由坐标点生成的一个范围,后面以模拟点击点作为中点,生成一个矩形,边长为150,左下点为(x-75,y-75),右上点为(x+75,y+75);

“callback”:jsonp_dojoIoScript后面的数字是变化的,但不是关键参数;
搞懂了行列编号之后,就需要切割图上的网格了,比如下图这部分,虽然可以整片网格进行查询,但是右边一大片是空的,效率也不高。所以我就大概将网格按片分割,如下图的红框,就是一个查询片区,每个片区选择两个模拟点,一个在左下角,一个在右上角,当然红框只是示意,实际不用那么小,可以框大一些。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多