基于GIS的建筑物邻近度计算工具及计算实例经验分享

2023-10-23 16:31

本文主要是介绍基于GIS的建筑物邻近度计算工具及计算实例经验分享,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

  • 一、工具介绍
    • 1、工具界面
    • 2、计算结果示例
    • 3、计算原理
  • 二、数据准备
  • 三、计算步骤
    • 1、生成渔网
    • 2、工具计算
    • 3、计算结果
    • 4、计算结果(马赛克)

一、工具介绍

利用C#语言,基于ArcGIS二次开发实现了建筑物邻近度计算工具,计算工具安装和使用简单,作为插件在ArcMap软件里运行,支持ArcGIS10.2及以上版本ArcMap。

1、工具界面

在这里插入图片描述

2、计算结果示例

在这里插入图片描述

3、计算原理

建筑的布局也是直接影响通风的关键因素,在建筑密度、综合迎风面积密度等指标的基础上,加入建筑的平均最近距离指标,可以准确地描述城市建成环境的空间形态。建筑之间的间距可促使通风条件的改善,建筑平均最近距离越远,通风效果越好。
在这里插入图片描述

二、数据准备

待计算区域建筑物数据,文件格式为GIS格式(shp或gdb格式),必须使用投影坐标,属性包括建筑物高度。注意数据坐标系一定要采用投影坐标系,否则无法计算。在这里插入图片描述

三、计算步骤

1、生成渔网

打开ArcMap工具箱选择>“数据管理工具”>“要素类”>“创建渔网”,参数选择及生成渔网如下图所示,模板范围选择与 建筑数据 图层相同,格网大小可以根据情况设置(本文以20*20为例),并且也可以采用非矩形格网。注意几何类型一定要选POLYGON(面状渔网),否则无法计算。本软件同时支持圆形,多边形,等不规则面状网格计算。
在这里插入图片描述
在这里插入图片描述

2、工具计算

打开邻近度计算工具,选择生成的渔网和建筑数据,建筑高程属性字段,然后开始计算,如下图所示。
在这里插入图片描述

3、计算结果

计算完成后,自动在渔网图层添加Proximity(别名:邻近度)字段,字段值即为计算得到的每个网格的邻近度指数。计算过程中可以中途停止,添加的flag_Proximity字段等于1表示已经计算完成的网格,下次启动会进行续算,自动忽略flag_Proximity=1的网格。若需要重新计算,请将flag赋值为0。
在这里插入图片描述

4、计算结果(马赛克)

利用ArcMap工具,将计算完成的网格转成栅格,如下图所示。使用本文方法生成马赛克的清晰度不受网格大小影响。
(1)渔网面转点
使用【要素转点】工具将渔网转化为点要素。
在这里插入图片描述
(2)点转马赛克
使用【自然邻域法】将上一步生成的点要素转为栅格,即为最终结果马赛克。注意Z值字段选择邻近度Proximity.
在这里插入图片描述
在这里插入图片描述

这篇关于基于GIS的建筑物邻近度计算工具及计算实例经验分享的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/269045

相关文章

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

OpenCV在Java中的完整集成指南分享

《OpenCV在Java中的完整集成指南分享》本文详解了在Java中集成OpenCV的方法,涵盖jar包导入、dll配置、JNI路径设置及跨平台兼容性处理,提供了图像处理、特征检测、实时视频分析等应用... 目录1. OpenCV简介与应用领域1.1 OpenCV的诞生与发展1.2 OpenCV的应用领域2

MySQL多实例管理如何在一台主机上运行多个mysql

《MySQL多实例管理如何在一台主机上运行多个mysql》文章详解了在Linux主机上通过二进制方式安装MySQL多实例的步骤,涵盖端口配置、数据目录准备、初始化与启动流程,以及排错方法,适用于构建读... 目录一、什么是mysql多实例二、二进制方式安装MySQL1.获取二进制代码包2.安装基础依赖3.清

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Apache Ignite缓存基本操作实例详解

《ApacheIgnite缓存基本操作实例详解》文章介绍了ApacheIgnite中IgniteCache的基本操作,涵盖缓存获取、动态创建、销毁、原子及条件更新、异步执行,强调线程池注意事项,避免... 目录一、获取缓存实例(Getting an Instance of a Cache)示例代码:二、动态

基于Python实现简易视频剪辑工具

《基于Python实现简易视频剪辑工具》这篇文章主要为大家详细介绍了如何用Python打造一个功能完备的简易视频剪辑工具,包括视频文件导入与格式转换,基础剪辑操作,音频处理等功能,感兴趣的小伙伴可以了... 目录一、技术选型与环境搭建二、核心功能模块实现1. 视频基础操作2. 音频处理3. 特效与转场三、高

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

JSONArray在Java中的应用操作实例

《JSONArray在Java中的应用操作实例》JSONArray是org.json库用于处理JSON数组的类,可将Java对象(Map/List)转换为JSON格式,提供增删改查等操作,适用于前后端... 目录1. jsONArray定义与功能1.1 JSONArray概念阐释1.1.1 什么是JSONA

MySQL中的LENGTH()函数用法详解与实例分析

《MySQL中的LENGTH()函数用法详解与实例分析》MySQLLENGTH()函数用于计算字符串的字节长度,区别于CHAR_LENGTH()的字符长度,适用于多字节字符集(如UTF-8)的数据验证... 目录1. LENGTH()函数的基本语法2. LENGTH()函数的返回值2.1 示例1:计算字符串

Python办公自动化实战之打造智能邮件发送工具

《Python办公自动化实战之打造智能邮件发送工具》在数字化办公场景中,邮件自动化是提升工作效率的关键技能,本文将演示如何使用Python的smtplib和email库构建一个支持图文混排,多附件,多... 目录前言一、基础配置:搭建邮件发送框架1.1 邮箱服务准备1.2 核心库导入1.3 基础发送函数二、