GIS实验之根据建筑物走向和方向角进行区域划分

时间:2024-04-12 18:59:58

1. 实验要求与数据预览

  • 实验数据:某地区的建筑物矢量面数据
  • 问题描述 :空间要素的几何属性及其相互关系是空间分析的基本内容。现有某地区面状建筑物要素,在定量分析与表达建筑物布模式的过程中,方向变量是主要的度量指标之一。针对特定的问题选择合适的方向变量和度量方法,显得尤为重要。

(1)建筑物走向:定义为矩形要素的两长轴中心线方。
(2)方向角 :定义为沿着顺时针,起始与建筑物走向线的夹角。

GIS实验之根据建筑物走向和方向角进行区域划分

2. 实验任务

2.1 任务一

  • 基于ArcMap的空间分析功能,设计算法实现文件中单个矩形行建筑物的走向,其中走向通过方向角度量。实验数据如下图所示:

GIS实验之根据建筑物走向和方向角进行区域划分

  • 方法 一:

(1) 获取矩形的短边的中线

GIS实验之根据建筑物走向和方向角进行区域划分

① 面要素转线要素
GIS实验之根据建筑物走向和方向角进行区域划分  结果:
GIS实验之根据建筑物走向和方向角进行区域划分
② 由于①的结果为多段线不能单独对某条线提取中点,因此需要通过折点打断线
GIS实验之根据建筑物走向和方向角进行区域划分 结果:
GIS实验之根据建筑物走向和方向角进行区域划分
③ 分为四段后将两短轴的中点找到,通过模型算法自动找出短轴并计算出中点
 需要将短边找出来,根据边长的大小
GIS实验之根据建筑物走向和方向角进行区域划分 通过排序实现上述要求
GIS实验之根据建筑物走向和方向角进行区域划分 结果:
GIS实验之根据建筑物走向和方向角进行区域划分 通过筛选工具提取出两个短轴
GIS实验之根据建筑物走向和方向角进行区域划分 结果:
GIS实验之根据建筑物走向和方向角进行区域划分 找出短轴的中点
GIS实验之根据建筑物走向和方向角进行区域划分 结果:
GIS实验之根据建筑物走向和方向角进行区域划分
④将两中点连接起来即为矩形建筑物的中线,至此完成找出中线
GIS实验之根据建筑物走向和方向角进行区域划分 结果:
GIS实验之根据建筑物走向和方向角进行区域划分

(2) 根据获取的中线计算出方向角,即为建筑的走向

① 绘制一条直线
GIS实验之根据建筑物走向和方向角进行区域划分
GIS实验之根据建筑物走向和方向角进行区域划分
GIS实验之根据建筑物走向和方向角进行区域划分
GIS实验之根据建筑物走向和方向角进行区域划分
② 计算方向角
GIS实验之根据建筑物走向和方向角进行区域划分 结果:
GIS实验之根据建筑物走向和方向角进行区域划分
③ 根据以上分析要加以改正(至此计算出正确的方向角)
GIS实验之根据建筑物走向和方向角进行区域划分

  • 方法 二:

GIS实验之根据建筑物走向和方向角进行区域划分 结果:
GIS实验之根据建筑物走向和方向角进行区域划分
GIS实验之根据建筑物走向和方向角进行区域划分

2.2 任务二

  • 现实中对地理对象的分析和建模,往往是对多个对象进行建模,多个矩形建筑物要素,使用任务一中的度量方法,分析关统计出所有建筑物的走向。
    GIS实验之根据建筑物走向和方向角进行区域划分

实验步骤:
① 结合任务一的方法一的步骤,通过模型构建器实现所有建筑的走向线的生成。
GIS实验之根据建筑物走向和方向角进行区域划分
GIS实验之根据建筑物走向和方向角进行区域划分
GIS实验之根据建筑物走向和方向角进行区域划分
② 计算方向角
GIS实验之根据建筑物走向和方向角进行区域划分
GIS实验之根据建筑物走向和方向角进行区域划分

2.3 任务三

  • 采用空间分析的方法,根据任务二计算出每个建筑物的走向,将其分为四大类,并根据建筑物的走向类型,将本任务的数据也划分为四大区域,并统计每个分区的面积。理想模型如下:
    GIS实验之根据建筑物走向和方向角进行区域划分* 实验步骤:

① 根据任务二完成的结果,将其分级展示
GIS实验之根据建筑物走向和方向角进行区域划分
② 根据①分的类,这里由于数量小因此按照手动去做,通过选取并赋值的方法完成分类
GIS实验之根据建筑物走向和方向角进行区域划分
GIS实验之根据建筑物走向和方向角进行区域划分
GIS实验之根据建筑物走向和方向角进行区域划分
③ 区域划分
GIS实验之根据建筑物走向和方向角进行区域划分
GIS实验之根据建筑物走向和方向角进行区域划分
④ 由于③结果为栅格数据,因此将栅格砖面
GIS实验之根据建筑物走向和方向角进行区域划分GIS实验之根据建筑物走向和方向角进行区域划分
GIS实验之根据建筑物走向和方向角进行区域划分

3. 总结

  • 本次实验任务量有点大,需要熟练的掌握一些基本工具的用法。尤其是在绘制出走向线的步骤繁杂,稍微不注意就会出错。在学习时尤为小心,对于任务三采用的是手动的做法,这种做法是不可取的,数据量小还行,当数据量大时,我们一定要通过Python和模型构建器来实现。后面有时间,我会补上的,今天累了,就先这样吧。