(长期更新)《零基础入门 ArcGIS(ArcScene) 》实验七----城市三维建模与分析(超超超详细!!!)
城市三维建模与分析
三维城市模型已经成为一种非常普遍的地理空间数据资源,成为城市的必需品,对城市能化管理至关重要。语义信息丰富的三维城市模型可以有效实现不同领域数据与IS相信息的高层次集成及互操作,从而在城市规划、环境模拟、应急响应和辅助决策等众多领域公挥作用、利用城市的三维景观模型进行城市基础设施、规划等方面的应用分析,可以直接指导和服务于城市的各方面规划和建设,最终为城市基础设施布局更加合理、人居环境更加美好经济社会更好更快发展而服务。
目录
7.1 实验内容及目的
7.1.1 实验内容
7.1.2 实验目的
7.2解决方案
7.3 操作流程
7.3.1 环境设置
7.3.2 三维显示
(1)计算字段:
(2)拉伸显示:
(3)设置点符号:
7.3.3 计算 DEM
(1)创建 TIN:
(2)TIN转栅格:
(3)设置栅格值:
7.3.4 根据条件进行区域计算
(1)进行视域分析:
(2)进行栅格转面:
(3)筛选可视区域:
(3)筛选可视区域:
(4)得到可视区域:
(5)生成天际线:
(6)天际线转面:
(7)计算理想可视非建筑物区域:
(8)进行区域融合:
(9)计算可视道路长度:
7.3.5 绘制天际线
(1)二维视点转为三维点数据:
(2)计算天际线数据:
(3)绘制天际线图:
7.3.6 计算建筑面积
(1)计算天际线有效边界:
(2)找出最高最低建筑:
(3)计算最高最低建筑面积之和:
7.4实验心得
7.1 实验内容及目的
7.1.1 实验内容
本实验通过城区三维建模,初步认识城市三维建模、三维空间形态分析方法。利用某城区二维平面图,通过设置建筑物高度属性值构建城市三维模型,在此基础上利用ArcScene中的视域工具进行三维空间形态分析与统计计算,包括不考虑视野极限的可视区域、视野范围内非建筑物区域、视野范围内可见道路的长度、天际线(图)、可视建筑物统计。
(1)假设楼层均高为3m,请按照城市建筑物的楼层数字段(Floor),计算建筑物总体高度字段(Height),并以 Height 字段对 building数据进行三维拉伸显示。同时,按照观景点高度字段(Height),对观景点进行三维显示。
(2)根据地平面海拔和建筑物高度属性,构建该城市的DEM数据。
(3)根据游客的视野范围(视力极限距离为500m),分别计算不考虑视野极限的可视区域、视野范围内非建筑面积和视野范围内可见道路的长度。
(4)基于视点提取天际线和天际线图。
(5)天际线的有效边界由建筑物顶部与天空交接的边界线,计算其总长度,计算边界对应的建筑中最高和最低建筑的总面积之和。
7.1.2 实验目的
(1)掌握利用计算器进行赋值,对平面图形进行三维显示的方法
(2)熟悉构建TIN,TIN转换成 DEM 的操作过程。
(3)掌握ArcScene中的视域工具和栅格与面数据转换的方法;掌握分析工具相交、擦除交集制表等的使用。
(4)掌握二维点数据转为三维点数据的常用方法;掌握天际线的内涵并绘制天际线和转为天际线图的方法。
(5)掌握基于属性数据中的字段进行汇总统计。
7.2解决方案
对building数据属性中增加字段,进行三维拉伸显示。根据字段Height,将二维视点转为三维点数据,计算该视点位置处的天际线数据,以视点为中心,用极坐标系绘制出天际线图。计算该城市的DEM数据,并绘制专题图。根据游客视线距离初步计算不考虑视野极限的可视区、视野范围内非建筑面积和视野范围内可见道路的长度。计算天际线的有效边界的总长度,找出符合要求的建筑物,计算最高最低建筑的总建筑面积。
城市空间三维研究的逻辑过程主要包括以下内容:
(1)数据准备。确定需要哪些数据作为输入,即building和point 数据。
区域计算
(2)属性处理。修改字段和三维拉伸显示。
(3)计算该城市的DEM数据。构建TIN,利用TIN转栅格I具得到 DEM 数据。
(4)根据条件进行区域计算。计算出不考虑视野极限的可视区域、视野范围内非建筑面积和视野范围内可见道路的长度。
(5)绘制天际线。计算天际线数据,绘制天际线图。
(6)建筑物处理。找出天际线有效边界、最高和最低建筑,计算楼层面积之和。
7.3 操作流程
7.3.1 环境设置
在ArcScene 主菜单中点击【地理处理】--【环境设置】。设置工作空间、处理范围等,像元大小设为1,环境设置如下图所示:
7.3.2 三维显示
对building属性数据增加字段“Height”,计算建筑物总体高度字段“Height”,并以“Height”字段对 building数据进行三维拉伸显示。双击point点图层符号,在弹出的对话框中点击【符号编辑】进行设置,完成点的拉伸。
(1)计算字段:
右键点击“building"图层,点击【打开属性表】-【选表项】→【添加字段】,弹出“添加字段”对话框,在“名称”文本框中填入“Height”,点击【确定】。
右键点击“Height”字段,点击【字段计算器】,利用字段计算器对“Height”字段进行赋值,点击【确定】。
(2)拉伸显示:
右键点击“building”图层,打开“图层属性”,选择“拉伸”选项卡,填写高度函数,进行拉伸显示。
拉伸结果如下图所示。
(3)设置点符号:
双击 point点符号,弹出“符号选择器”对话框,点击【符号编辑】,弹出“符号属性编辑
器”,“类型”设置为“3D简单标记符号”,选择“3D放置”选项卡,把Z坐标的偏移设为“195”如下图所示
点击【确定】。图形变化如下图所示。
7.3.3 计算 DEM
由于DEM图像为栅格图像,而原始数据为矢量图像,首先基于building数据构建TIN.基于合理采样转成栅格数据,然后利用栅格计算器获取满足一定条件的DEM。
(1)创建 TIN:
点击 ArcToolbox中的【3D Analyst】--【数据管理】--【TIN】-【创建 TIN】“输出TIN”选择一个合适的路径,“输人要素类”选择“building”。
输出结果如下图所示:
(2)TIN转栅格:
点击ArcToolbox中的【3DAnalyst】-【转换】-【由TIN转出】-【TIN转栅格】。“采样距离(可选)”设置为“CELLSIZE1”。
(3)设置栅格值:
点击ArcToolbox中的【空间分析】--【地图代数】-【栅格计算器】,栅格
计算器设置如下图所示:
点击【确定】。
颜色很刺眼的话可以改成温和点的颜色
7.3.4 根据条件进行区域计算
首先将完成的DEM数据利用视域工具求出不限视野范围的可视区域并转为矢量面要素,再筛选出可见区域,之后擦除建筑物,即可得到非建筑物区域。然后利用 building、poin原始数据绘制天际线,并进行矢量化操作。最后将两部分区域叠加,即可得到在视野范围内能看到的、非建筑物区域的面积,采用交集制表将天际线转成的面与道路取交集得到一个表。
(1)进行视域分析:
点击ArcToolbox中的【3DAnalyst】-【可见性】--【视域】,视域设置如下图所示:
点击【确定】。
(2)进行栅格转面:
点击ArcToolbox中的【转换工具】--【出栅格转出】一【栅格转面】格转面设置如下图所示:
点击【确定】。输出结果如下图所示。
(3)筛选可视区域:
点击ArcToolbox中的【分析工具】【提取分析】--【筛选】,点击“表达式(可选)”文本框右边的圆按钮,弹出“査询构建器”对话框,选择“GRIDCODE”,点击【获取唯一值】,选择“1”.
点击【确定】,关闭对话框,如下图所示。
(3)筛选可视区域:
点击AreToolbox中的【分析工具】【提取分析】-【筛选】,点击“表达式(可选)”文本框右边的圆按钮,弹出“查询构建器”对话框,选择“GRIDCODE”,点击【获取唯一值】,选择“1”,点击【确定】
(4)得到可视区域:
点击 AreToolbox中的【分析工具】->【叠加分析】-【相交】,“输入要素”选择可视区域和建筑物数据,如下图所示:
结果如图:
点击 ArcToolbox中的【分析工具】【叠加分析】-【擦除】,“输人要素”为可视区域,“擦除要素”为可视建筑物,点击【确定】。
(5)生成天际线:
点击ArcToolbox中的【3DAnalyst】--【可见性】-【天际线】,在弹出的对话框中进行如下图所示的设置。
产生如下图所示结果
(6)天际线转面:
点击ArcToolbox中的【数据管理工具】--【要素】-【要素转面】,在弹出的对话框中进行如下图所示设置
(7)计算理想可视非建筑物区域:
点击ArcToolbox中的【分析工具】-【叠加分析】->【相交】输入非建筑物和天际线数据,即可得到在视野范围内能够看到的非建筑物区域,如下图所示。
(8)进行区域融合:
点击ArcScene的【地理处理】-【融合】,弹出“融合”对话框,融合设置如下图所示:
点击【确定】。
右键点击生成的图层,打开属性表,新建面积字段,点击计算几何,计算该可视区域的面积,配置如下:
面积计算结果:
(9)计算可视道路长度:
点击ArcToolbox中的【分析工具】-【统计分析】-【交集制表】“区域字段”设置成“Shape_Area”,如下图所示。
在Polygon_Skyline中添加Shape_Area字段
并计算:
右键点击生成的图层,打开属性表,查看数值,如下图所示:
7.3.5 绘制天际线
当行人在城市街道上行走时,其视线会受到周边建筑的遮挡,在建筑顶部形成与天空相接的轮廓边界,即天际线,。天际线代表了视线所能看到地物的最高边界。
根据Height字段,将二维视点转为三维点数据,计算该视点位置处的天际线数据,并以该视点为中心,用极坐标系绘制出天际线图。
(1)二维视点转为三维点数据:
点击【3DAnalyst】-【3D要素】->【依据属性实现要素转D],实现三维要素的转换,设置如下图所示。
(2)计算天际线数据:
点击ArcToolbox中的【3DAnalyst】-【可见性】-【天际线】,“输人图7.32 数据处理流程观察点要素”设置为“3Dpoint”,“输人要素(可选)”选择“building”数据,方位角增量设为2’。
点击【确定】,结果如下图所示。
(3)绘制天际线图:
点击ArcToolbox中的【3D Analyst】--【可见性】【天际线图】。“输人观察点要素”选择“point”数据,“输入线要素”选择天际线数据“3Dpoint_Skyline”。
输出结果如下图所示:
7.3.6 计算建筑面积
利用天际线有效边界的总长度,找出符合要求的建筑物,计算最高和最低建筑的总建筑面积。
(1)计算天际线有效边界:
点击ArcToolbox中的【分析工具】-【叠加分析】-【相交】。“输入要素”选择建筑物数据和天际线数据:
输出结果如下图所示:
右键点击实际天际线图层,打开属性表,选中“Shape_Leng"字段,右键点击该字段,选择【统计】,统计数据结果如下图所示。
(2)找出最高最低建筑:
在ArcScene主菜单中点击【选择】--【按位置选择】。“目标图层”选择“building”数据,“源图层”选择实际天际线数据“valid_Skyline”
输出结果如下图所示。
右键点击“building”图层,选择【数据】-【导出数据】,设置好保存路径,如下图所示
右键点击导出数据图层,打开属性表,选中Height字段,右键点击该字、选择【统计】统计数据结果下图所示,可以看到最大值为75,最小值为0.
(3)计算最高最低建筑面积之和:
点击ArcToolbox中【分析工具】-【统计分析】-【汇总统计数据】,对面积字段进行求和统计,以Floor字段进行案例分组(图7.46).结果如下表所示。最高建筑物共65层,每层面积约为2730.69m’,总面积约为177494.85m。最低建筑物仅有1层,每层面积平均约为2308.48m,共有12栋,总面积约为27701.76m2
7.4实验心得
首先,做这个实验用的是ArcScene,而不是ArcMap,不然后面的操作做不了,我也是用ArcMap用了之和才发现的。然后,这个实验我做着的话感觉是少了点数据,一些字段缺失了,我就认为这些字段是面积,所以就自己加了字段并且计算了。所以我这做法仅供参考,大家看看就行。
实验七结束了,小专栏《零基础入门 ArcGIS(ArcScene) 》也结束了,详细做完以上七个实验,您对arcgis的操作已经非常流畅了,后面我也许还会更新其他关于arcgis的内容,大家敬请期待。
感谢您的三连!!!
相关文章:

(长期更新)《零基础入门 ArcGIS(ArcScene) 》实验七----城市三维建模与分析(超超超详细!!!)
城市三维建模与分析 三维城市模型已经成为一种非常普遍的地理空间数据资源,成为城市的必需品,对城市能化管理至关重要。语义信息丰富的三维城市模型可以有效实现不同领域数据与IS相信息的高层次集成及互操作,从而在城市规划、环境模拟、应急响应和辅助决策等众多领域公挥作用、…...

war包 | Docker部署flowable-ui
文章目录 引言I war包部署flowable-ui下载war包配置Tomcat访问 flowable-uiII Docker启动flowable-ui并修改配置Docker启动flowable-ui修改配置访问Flowable UI界面。III 知识扩展加速源docker run -i -t -d 参数引言 Flowable 支持 BPMN 2.0 行业标准,同时提供了一些 Flowab…...

Java数据结构方面的面试试题以及答案解析
Java数据结构是在计算机中存储和组织数据的方式,用于高效地处理和管理数据。 以下是一些常见的Java数据结构: 数组(Array):一种线性数据结构,允许通过索引快速访问元素。它存储固定大小的相同类型的元素集…...

Qt 5.14.2 学习记录 —— 십구 事件
文章目录 1、事件的概念2、处理事件3、鼠标事件1、鼠标单击和双击2、鼠标移动3、鼠标滚轮滚动 4、键盘事件5、定时器事件6、窗口移动和大小改变事件 1、事件的概念 用户进行操作时会产生事件,事件可以关联处理函数。Qt封装了操作系统的事件机制,然后进一…...

国产编辑器EverEdit - 命令窗口应用详解
1 命令窗口应用详解 1.1 应用场景 有时需要在EverEdit中执行一些命令行工具,甚至想把当前文档做为参数,传递给命令进行一些文本分析,比如:一些常用的文本处理工具,gawk.exe等。 1.2 使用方法 命令窗口的使用在官方手…...

iOS开发设计模式篇第二篇MVVM设计模式
目录 一、什么是MVVM 二、MVVM 的主要特点 三、MVVM 的架构图 四、MVVM 与其他模式的对比 五、如何在iOS中实现MVVM 1.Model 2.ViewModel 3.View (ViewController) 4.双向绑定 5.文中完整的代码地址 六、MVVM 的优缺点 1.优点 2.缺点 七、MVVM 的应用场景 八、结…...

【深度学习】3.损失函数的作用
损失函数的作用 假设把猫这张图片分成四个像素点,分别为:56、231、24、2(实际应该是三维的,因为还有颜色通道的维度,这里简化成二维)。 像素点拿到以后,进行三分类,粉红色为第一组W…...

深入MapReduce——计算模型设计
引入 通过引入篇,我们可以总结,MapReduce针对海量数据计算核心痛点的解法如下: 统一编程模型,降低用户使用门槛分而治之,利用了并行处理提高计算效率移动计算,减少硬件瓶颈的限制 优秀的设计,…...

小黑日常积累:学习了CROSS APPLY字段,将sqlserver中字段通过分隔符拆分并统计
问题 字段中的元素是通过分隔符进行拼接的,我需要统计元素的个数,例如: 代码 样例表创建 -- 创建样例表 create table #Tmp_Table (ID int IDENTITY (1,1) not null,Strs nvarchar(50),primary key (ID) ); insert into #Tmp_Table (Strs) VALUES…...

WebSocket知识点笔记(一)
WebSocket WebSocket是一种在单个TCP连接上进行全双工通信的协议。它使得客户端和服务端之间的消息传递更加高效,允许服务器主动向客户端推送数据。 一.WebSocket全双工通信 WebSocket提供了真正的双向通信,客户端和服务端可以同时发送和接收消息 …...

安宝特方案 | AR在供应链管理中的应用:提升效率与透明度
随着全球化的不断深入和市场需求的快速变化,企业对供应链管理的要求也日益提高。如何在复杂的供应链环境中提升效率、降低成本,并确保信息的透明度,成为了各大行业亟待解决的问题。而增强现实(AR)技术,特别…...

基于Springboot + vue实现的美发门店管理系统
💖学习知识需费心, 📕整理归纳更费神。 🎉源码免费人人喜, 🔥码农福利等你领! 💖常来我家多看看, 📕网址:扣棣编程, 🎉感谢支持常陪伴, 🔥点赞关注别忘记! 💖山高路远坑又深, 📕大军纵横任驰奔, 🎉谁敢横刀立马行? 🔥唯有点赞+关注成! �…...

springboot中配置logback-spring.xml
一、在src/main/resources目录下,也就是在classpath路径下创建logback-spring.xml 注:springboot框架自动配置,如果更换名称,可在配置文件指定该文件即可 <?xml version"1.0" encoding"UTF-8"?> <…...

从63 秒到 0.482 秒:深入剖析 MySQL 分页查询优化
在日常开发中,数据库查询性能问题就像潜伏的“地雷”,总在高并发或数据量庞大的场景下引爆。尤其是当你运行一条简单的分页查询时,结果却让用户苦苦等待,甚至拖垮了系统。这种情况你是否遇到过? 你可能会想࿱…...

细说机器学习算法之过拟合与欠拟合
系列文章目录 第一章:Pyhton机器学习算法之KNN 第二章:Pyhton机器学习算法之K—Means 第三章:Pyhton机器学习算法之随机森林 第四章:Pyhton机器学习算法之线性回归 第五章:Pyhton机器学习算法之有监督学习与无监督…...

C/C++ 虚函数
虚函数的定义 虚函数是指在基类内部声明的成员函数前面添加关键字 virtual 指明的函数虚函数存在的意义是为了实现多态,让派生类能够重写(override)其基类的成员函数派生类重写基类的虚函数时,可以添加 virtual 关键字,但不是必须这么做虚函…...

【3GPP】【5G】注销流程(Deregistration procedures)
1. 欢迎大家订阅和关注,精讲3GPP通信协议(2G/3G/4G/5G/IMS)知识点,专栏会持续更新中.....敬请期待! 目录 3.1.2 Deregistration procedures 3.1.2.1 UE-initiated Deregistration 3.1.2.2 Network-initiated Deregistration 3.1.2 Deregistration procedures 注销流程…...

【小游戏篇】三子棋游戏
硬控我一上午,小编还是太菜了,大家可以自行升级电脑难度,也可以升级游戏到五子棋 1.game.h #pragma once #include<stdio.h> #include<stdlib.h> #include<time.h> #define ROW 3 #define COL 3//初始化棋盘 void InitBoa…...

7-Zip Mark-of-the-Web绕过漏洞复现(CVE-2025-0411)
免责申明: 本文所描述的漏洞及其复现步骤仅供网络安全研究与教育目的使用。任何人不得将本文提供的信息用于非法目的或未经授权的系统测试。作者不对任何由于使用本文信息而导致的直接或间接损害承担责任。如涉及侵权,请及时与我们联系,我们将尽快处理并删除相关内容。 0x0…...

2025年国产化推进.NET跨平台应用框架推荐
2025年国产化推进.NET跨平台应用框架推荐 1. .NET MAUI NET MAUI是一个开源、免费(MIT License)的跨平台框架(支持Android、iOS、macOS 和 Windows多平台运行),是 Xamarin.Forms 的进化版,从移动场景扩展到…...

关于ARM和汇编语言
一图流 ARM 计算机组成 输入设备 输出设备 存储设备 运算器 控制器 处理器读取内存程序执行的过程 取指阶段:控制器器通过地址总线向存储器发送想要获取的指令的地址编号,存储器将指定的指令发送给处理器 译码阶段:控制器对指令进行分…...

2024人工智能AI+制造业应用落地研究报告汇总PDF洞察(附原数据表)
原文链接: https://tecdat.cn/?p39068 本报告合集洞察深入剖析当前技术应用的现状,关键技术 创新方向,以及行业应用的具体情况,通过制造业具体场景的典型 案例揭示人工智能如何助力制造业研发设计、生产制造、运营管理 和产品服…...

QTableView和QTableWidget的关系与区别
QTableView 和 QTableWidget 都是 Qt 框架中用于显示表格数据的控件,但它们在设计和使用上有一些重要的区别。 QTableView 模型-视图架构:QTableView 是 Qt 模型-视图架构的一部分,它与模型(如 QStandardItemModel 或自定义的 QA…...

Java导出通过Word模板导出docx文件并通过QQ邮箱发送
一、创建Word模板 {{company}}{{Date}}服务器运行情况报告一、服务器:总告警次数:{{ServerTotal}} 服务器IP:{{IPA}},总共告警次数:{{ServerATotal}} 服务器IP:{{IPB}},总共告警次数:{{ServerBTotal}} 服务器IP:{{IPC}}&#x…...

ESP8266 MQTT服务器+阿里云
MQTT私有平台搭建(EMQX 阿里云) 阿里云服务器 EMQX 搭建私有MQTT平台 1、搜索EMQX开源版本 2、查看各版本EMQX支持的UBUNTU版本 3、查看服务器Ubuntu版本 4、使用APT安装模式 5、按照官网指示安装并启动 6、下载安装MQTTX测试工具 7、设置云服务…...

css动画水球图
由于echarts水球图动画会导致ios卡顿,所以纯css模拟 展示效果 组件 <template><div class"water-box"><div class"water"><div class"progress" :style"{ --newProgress: newProgress % }"><…...

【设计模式-行为型】状态模式
一、什么是状态模式 什么是状态模式呢,这里我举一个例子来说明,在自动挡汽车中,挡位的切换是根据驾驶条件(如车速、油门踏板位置、刹车状态等)自动完成的。这种自动切换挡位的过程可以很好地用状态模式来描述。状态模式…...

2024.1.22 安全周报
政策/标准/指南最新动态 01 工信部印发《关于加强互联网数据中心客户数据安全保护的通知》 原文: https://www.secrss.com/articles/74673 互联网数据中心作为新一代信息基础设施,承载着千行百业的海量客户数据,是关系国民经济命脉的重要战略资源。…...

idea修改模块名导致程序编译出错
本文简单描述分别用Idea菜单、pom.xml文件管理项目模块module 踩过的坑: 通过idea菜单创建模块,并用idea菜单修改模块名,结构程序编译报错,出错的代码莫名奇妙。双击maven弹窗clean时,还是报错。因为模块是新建的&am…...

root用户Linux银河麒麟服务器安装vnc服务
安装必要桌面环境组件 yum install mate-session-manager -y mate-session #确定是否安装成功安装vnc服务器 yum install tigervnc-server -y切换到root为root得vnc设置密码 su root vncpasswd给root用户设置vnc服务器文件 vi /etc/systemd/system/vncserver:1.service [Un…...