Part2.下载和预处理建筑足迹数据集——《通过深度学习了解建筑年代和风格》

2023-11-24 17:02:12 浏览数 (1)

本文为《通过深度学习了解建筑年代和风格》论文复现的第二篇——下载和预处理建筑足迹数据集,主要是下载研究区域的建筑风格和建筑年代数据,然后提取163210条阿姆斯特丹的建筑足迹数据,用于后续获取街景图像。

目录:

  • 1.数据说明
  • 2.数据描述
    • 2.1 查看数据库(*Geopackage*)
  • 3.提取阿姆斯特丹地区的建筑足迹
    • 3.1 提取阿姆斯特丹的边界
    • 3.2 提取阿姆斯特丹的建筑
    • 3.3 制作建筑足迹图

一、获取建筑年代数据

1.数据说明

荷兰市政当局将有关建筑物和地址的基本信息记录为一个名为 Basisregistraties Adressen en Gebouwen[1] (简称为BAG,地址和建筑物的基本登记数据) 的公开数据集。它包含与建筑物中每个地址相关的建造年份、当前使用情况和注册状态。并且BAG 数据集每月更新一次。本文使用2020年5月30日编译的数据。

我们获得了预处理的3D BAG数据[2],下载BAG (EPSG:28992) Geopackage[3]包,具体见下表,其中的包括阿姆斯特丹大都市区的 182,737 个地址。每个地址都与建筑物占地面积几何形状相关联,其中 173,863 个地址包含有效的施工年份。表 1 显示了建筑年龄数据的样本,包括原始建造年份、文件日期、几何形状和唯一识别号。

BAG (EPSG:28992) Geopackage信息

数据字段

说明

Updated

01-10-2023

Map area

50.71447164,2.35417303,55.66948102,7.5553525

Projection

EPSG:28992 - Amersfoort / RD New

Filetype

应用程序/数据包 sqlite3

Filesize

6.97 Gb

Download Link

https://service.pdok.nl/lv/bag/atom/downloads/bag-light.gpkg

2.数据描述

2.1 查看数据库(Geopackage

数据量有7G大小,建议用ArcGIS Pro打开并进行后续处理。我们可以先用软件进行操作,后续再通过Python的arcpy库整合进工作流,进行批量处理。如果你想学习arcpy的,可以看我的文章:ArcGIS Python系列[4]

当用Pythongeopandas包去读取时,即使是只读取单个图层,也很难将数据一次性加载进内存中。虽然可以通过循环或者多线程来进行后续处理,但是依旧很麻烦。

gpkg总共有五个图层,在ArcGIS Pro中也称为要素,右键将 pand(荷兰语pand是建筑物的意思)添加到地图。

bag-light.gpkg的文件树

我们会使用woonplaats的城市区域(注意是Polygon)和 pand的建筑底面。

数据库有五种类型的数据:

  1. woonplaats:直译为“居住地”或“住所”。在BAG的上下文中,它指的是一个城市、村庄或其他类型的居住区。
  2. pand:直译为“建筑”或“房屋”。在BAG的上下文中,它指的是一个物理建筑,无论其大小或用途如何。一个“pand”可以是一个房子、办公楼、商店或任何其他类型的建筑。
  3. ligplaats:这个词直译为“泊位”或“停泊地点”。在BAG的上下文中,它通常指的是水上房屋或船只的固定位置。
  4. standplaats:直译为“站位”或“立足点”。在BAG的上下文中,它指的是没有固定建筑物的地块,但被指定为可放置移动住宅、拖车或类似的住所。
  5. verblijfsobject:直译为“居住对象”或“住宿对象”。在BAG的上下文中,它指的是一个可以居住或工作的空间或多个空间。这可以是一个房子、办公室、商店等。

bag-light.gpkg的main.pand图层

查看建筑足迹要素的属性表:

建筑足迹数据字段

以上字段翻译为:

代码语言:javascript复制
rdf_seealso:rdf参考(这可能是一个关于RDF的参考链接或相关信息)
identificatie:标识
bouwjaar:建造年份
status:状态
gebruiksdoel:使用目的
oppervlakte_min:最小面积
oppervlakte_max:最大面积
aantal_verblijfsobjecten:住宅对象数量
geometry:几何

目前我们不需要去更改字段名,本此研究会使用到identificatie、bouwjaar、geometry。除了这些字段,其他字段也可以用来进行深入研究,但是本文不考虑。

3.提取阿姆斯特丹地区的建筑足迹

3.1 提取阿姆斯特丹的边界

上图我们定位到了研究区域——阿姆斯特丹,我们现在只对阿姆斯特丹进行研究,需要从阿姆斯特丹大都市区的BAG数据中提取出研究区域的数据,并且保存为要素类。为了提取建筑物数据需要一个边界,从woonplaats中我们可以选出阿姆斯特丹的边界,参考论文的边界我们仅选出最主要的部分。

bag-light.gpkg的woonplaats图层

使用编辑菜单栏中的拆分[5]工具,将其导出并拆分为两个部件,然后如下图所示:

拆分为两个部件

删除其中一个:

Amsterdam_boundary_Line

最后进行面转线[6],将导出的线要素命名为Amsterdam_boundary_PL

Amsterdam_boundary_PL

3.2 提取阿姆斯特丹的建筑

使用成对裁剪工具[7]将建筑提取出来,命名为Amsterdam_buildings

成对裁剪

注意,在使用ArcGIS Pro进行裁剪操作时,会在边界处对建筑物进行分割,如图:

对建筑进行切割

我们采用空间查询方法去除掉这些被切割的建筑物:使用按位置查询工具[8]来确定那些与裁剪边界相交的建筑物。然后,将这些建筑删除。总共还剩163210行数据。

位置查询

3.3 制作建筑足迹图

Fig. 2. Building footprints in the study area—Amsterdam.

调整符号系统之后,新建布局,加载地图框指南针比例尺,调整大小之后的建筑足迹地图:

footprint of buildings in Amsterdam

最后导出布局

Arcgis Pro制作的 footprint of buildings

上一篇:

Part1.论文解读:如何利用最近很火的深度学习来识别建筑年代和风格?

下一篇:Part3.获取高质量的阿姆斯特丹建筑立面图像(上)——《通过深度学习了解建筑年代和风格》[10]

额外阅读

三、Arcpy基础【ArcGIS Python系列】

写在最后

论文引用:

Maoran Sun, Fan Zhang, Fabio Duarte, Carlo Ratti,

Understanding architecture age and style through deep learning,

Cities,

Volume 128, 2022, 103787, ISSN 0264-2751,

https://doi.org/10.1016/j.cities.2022.103787.(https://www.sciencedirect.com/science/article/pii/S0264275122002268)

参考资料

[1]

Basisregistraties Adressen en Gebouwen: https://www.pdok.nl/introductie/-/article/basisregistratie-adressen-en-gebouwen-ba-1

[2]

预处理的3D BAG数据: https://service.pdok.nl/lv/bag/atom/index.xml

[3]

BAG (EPSG:28992) Geopackage: https://service.pdok.nl/lv/bag/atom/bag.xml

[4]

ArcGIS Python系列: https://cdn.renhai-lab.tech/categories/arcpy

[5]

拆分: https://pro.arcgis.com/zh-cn/pro-app/3.0/help/editing/explode-a-multipatch-feature.htm

[6]

面转线: https://pro.arcgis.com/zh-cn/pro-app/3.0/tool-reference/data-management/polygon-to-line.htm

[7]

成对裁剪工具: https://pro.arcgis.com/zh-cn/pro-app/3.0/tool-reference/analysis/pairwise-clip.htm

[8]

按位置查询工具: https://pro.arcgis.com/zh-cn/pro-app/3.0/tool-reference/data-management/select-layer-by-location.htm

[9]

Part1.论文解读:如何利用最近很火的深度学习来识别建筑年代和风格?——《通过深度学习了解建筑年代和风格》: https://cdn.renhai-lab.tech/archives/Understanding_architecture_age_and_style_through_deep_learning_part1

[10]

Part3.获取高质量的阿姆斯特丹建筑立面图像(上)——《通过深度学习了解建筑年代和风格》: https://cdn.renhai-lab.tech/archives/Understanding_architecture_age_and_style_through_deep_learning_part3-1

[11]

我的博客: https://cdn.renhai-lab.tech

[12]

阅读原文: https://cdn.renhai-lab.tech/archives/Understanding_architecture_age_and_style_through_deep_learning_part2

[13]

我的博客: https://cdn.renhai-lab.tech/

[14]

我的GITHUB: https://github.com/renhai-lab

[15]

我的GITEE: https://gitee.com/renhai-lab

[16]

我的知乎: https://www.zhihu.com/people/Ing_ideas

[17]

ArcGIS Python系列: https://cdn.renhai-lab.tech/categories/arcpy

0 人点赞