目前手中有城区房屋建筑面数据,属性中包含“建筑层数”。
计划对gdb中的房屋数据进行处理,设置新字段存储房屋高度,导出为geojson格式用于后续渲染。
【1】字段计算
arcgis pro中加载数据,创建新字段,用于赋值。
现有的房屋数据为面图层,属性字段FLOORNUM中存储了房屋层数,本次采用字段值×3作为建筑高度值;未采集层数的房屋面字段赋值为-9999,需要单独处理。
在属性表中使用“计算字段”功能,对新字段EC进行赋值。
由于本次涉及浅层次的逻辑判断和计算,编写简单的代码块实现上述处理目标:
定义tempCal函数,传参使用FLOORNUM,返回值赋值给新字段EC,点击执行。
【2】gdb数据转出为shp
ArcGIS Pro的导出shp功能藏在工具箱里了!
图层树里的“导出”功能,无法指定输出为shp格式。
在“地理处理”模块,输入关键字检索,找到“要素类转Shapefile”工具:
输入要素选择源图层,输出文件夹指定shp存放路径,点击运行即可。
【3】shp数据转换为geojson格式
使用python实现shp到geojson的格式转换。
需要用fiona库,如果之前没有安装,可以使用pip安装:
使用以下代码进行转换:
等待代码执行完毕,控制台提示输出成功。
geojson文件可以用cesium等软件打开,看看转换效果: