当前位置: 首页 > news >正文

(长期更新)《零基础入门 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针对海量数据计算核心痛点的解法如下: 统一编程模型,降低用户使用门槛分而治之,利用了并行处理提高计算效率移动计算,减少硬件瓶颈的限制 优秀的设计&#xff0c…...

小黑日常积累:学习了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目录下&#xff0c;也就是在classpath路径下创建logback-spring.xml 注&#xff1a;springboot框架自动配置&#xff0c;如果更换名称&#xff0c;可在配置文件指定该文件即可 <?xml version"1.0" encoding"UTF-8"?> <…...

从63 秒到 0.482 秒:深入剖析 MySQL 分页查询优化

在日常开发中&#xff0c;数据库查询性能问题就像潜伏的“地雷”&#xff0c;总在高并发或数据量庞大的场景下引爆。尤其是当你运行一条简单的分页查询时&#xff0c;结果却让用户苦苦等待&#xff0c;甚至拖垮了系统。这种情况你是否遇到过&#xff1f; 你可能会想&#xff1…...

细说机器学习算法之过拟合与欠拟合

系列文章目录 第一章&#xff1a;Pyhton机器学习算法之KNN 第二章&#xff1a;Pyhton机器学习算法之K—Means 第三章&#xff1a;Pyhton机器学习算法之随机森林 第四章&#xff1a;Pyhton机器学习算法之线性回归 第五章&#xff1a;Pyhton机器学习算法之有监督学习与无监督…...

C/C++ 虚函数

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

【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 注销流程…...

【小游戏篇】三子棋游戏

硬控我一上午&#xff0c;小编还是太菜了&#xff0c;大家可以自行升级电脑难度&#xff0c;也可以升级游戏到五子棋 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是一个开源、免费&#xff08;MIT License&#xff09;的跨平台框架&#xff08;支持Android、iOS、macOS 和 Windows多平台运行&#xff09;&#xff0c;是 Xamarin.Forms 的进化版&#xff0c;从移动场景扩展到…...

关于ARM和汇编语言

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

2024人工智能AI+制造业应用落地研究报告汇总PDF洞察(附原数据表)

原文链接&#xff1a; https://tecdat.cn/?p39068 本报告合集洞察深入剖析当前技术应用的现状&#xff0c;关键技术 创新方向&#xff0c;以及行业应用的具体情况&#xff0c;通过制造业具体场景的典型 案例揭示人工智能如何助力制造业研发设计、生产制造、运营管理 和产品服…...

QTableView和QTableWidget的关系与区别

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

Java导出通过Word模板导出docx文件并通过QQ邮箱发送

一、创建Word模板 {{company}}{{Date}}服务器运行情况报告一、服务器&#xff1a;总告警次数&#xff1a;{{ServerTotal}} 服务器IP:{{IPA}}&#xff0c;总共告警次数:{{ServerATotal}} 服务器IP:{{IPB}}&#xff0c;总共告警次数:{{ServerBTotal}} 服务器IP:{{IPC}}&#x…...

ESP8266 MQTT服务器+阿里云

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

css动画水球图

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

【设计模式-行为型】状态模式

一、什么是状态模式 什么是状态模式呢&#xff0c;这里我举一个例子来说明&#xff0c;在自动挡汽车中&#xff0c;挡位的切换是根据驾驶条件&#xff08;如车速、油门踏板位置、刹车状态等&#xff09;自动完成的。这种自动切换挡位的过程可以很好地用状态模式来描述。状态模式…...

2024.1.22 安全周报

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

idea修改模块名导致程序编译出错

本文简单描述分别用Idea菜单、pom.xml文件管理项目模块module 踩过的坑&#xff1a; 通过idea菜单创建模块&#xff0c;并用idea菜单修改模块名&#xff0c;结构程序编译报错&#xff0c;出错的代码莫名奇妙。双击maven弹窗clean时&#xff0c;还是报错。因为模块是新建的&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…...