ArcGIS基础实验操作100例--实验85创建线要素间的最近垂线

2023-10-13 15:50

本文主要是介绍ArcGIS基础实验操作100例--实验85创建线要素间的最近垂线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本实验专栏参考自汤国安教授《地理信息系统基础实验操作100例》一书

实验平台:ArcGIS 10.6

实验数据:请访问实验1(传送门)

空间分析篇--实验85 创建线要素间的最近垂线

目录

一、实验背景

二、实验数据

三、实验步骤

(1)线要素转折点要素

(2)近邻分析

(3)添加折点坐标

(4)创建近邻分析结果的连线要素

(5)创建最近垂线要素


一、实验背景

在欧氏空间的条件下,要素与要素之间的最近距离可以视为两要素上任意位置组合之间距离最小的位置连线。而线要素和面要素都由节点要素组成,若要计算线要素或面要素之间的最近距离,可以先将线要素或面要素转为点要素进行处理。

本实验讲述使用地理信息系统软件计算曲线到直线之间最近垂线的位置,并将最近垂线生成为线要素。读者通过实验练习,应能够理解矢量要素的几何特征,掌握基于几何结构的要素分析方法。

二、实验数据

图层名称格式坐标系说明
LineShapefile线要素Krasovsky_1940_Transverse_Mercator用于分析的线要素
RoadShapefile线要素Krasovsky_1940_Transverse_Mercator用于分析的线要素

直接双击文件Ex85.mxd即可打开。

三、实验步骤

(1)线要素转折点要素

在ArcToolbox 中,打开【Data Mangement Tools】→【Featues】→【Feature Vertices To Points】对话框,【Input Features】设置为“road”,【Output Feature Class】设置为“point”,【Point Type】设置为“ALL”;点击【OK】,得到折点要素。

(2)近邻分析

打开【Analysis Tools】→【Proximity】→【Near】对话框,【Input Features】设置为“point”,【Near Features】设置为“line”,勾选【Location】选项;点击【OK】,近邻分析的结果被写入 “point”图层的属性表中。

注:在勾选【Location】选项后,对“point”图层每个要素进行近邻分析时,“line”图层上距离“point” 要素最近的距离值将被记录到该point要素的属性中,同时该最近位置的坐标也会一并记录,即最终得到的字段“NEAR_DIST” “NEAR_X”和“NEAR_Y”。

(3)添加折点坐标

打开【Data Management Tools】→【Features】→【Add XY Coordinates】对话框,【Input Features】设置为“point”;点击【OK】,折点要素的坐标值被写入其属性表中。

(4)创建近邻分析结果的连线要素

打开【Data Management Tools】→【Features】→【XY To Line】对话框,【Input Table】设置为“point”,【Output Feature Class】设置为“xyline”,【Start X Field】设置为“POINT_X”,【Start Y Field】设置为“POINT_Y”,【End X Field】设置为“NEAR_X”,【End Y Field】设置为“NEAR_Y”,其余参数默认;点击【OK】,生成折点要素至线要素对应最近点的连线。

注:实现【XY To Line】工具,必须要保证折点要素带有坐标信息。

(5)创建最近垂线要素

打开“point”图层属性表,依据“NEAR_DIST”字段从小到大排序,即可得到两个距离最近的点要素,选中这两个点要素,重复步骤(4),即可得到最近垂线要素“nearline”。

注:本实验中两条曲线图层road 关于直线line图层对称,所以最近距离相等;实际情况中应使用恰当方法查找最近距离的点。

这篇关于ArcGIS基础实验操作100例--实验85创建线要素间的最近垂线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

k8s按需创建PV和使用PVC详解

《k8s按需创建PV和使用PVC详解》Kubernetes中,PV和PVC用于管理持久存储,StorageClass实现动态PV分配,PVC声明存储需求并绑定PV,通过kubectl验证状态,注意回收... 目录1.按需创建 PV(使用 StorageClass)创建 StorageClass2.创建 PV

Linux创建服务使用systemctl管理详解

《Linux创建服务使用systemctl管理详解》文章指导在Linux中创建systemd服务,设置文件权限为所有者读写、其他只读,重新加载配置,启动服务并检查状态,确保服务正常运行,关键步骤包括权... 目录创建服务 /usr/lib/systemd/system/设置服务文件权限:所有者读写js,其他

idea+spring boot创建项目的搭建全过程

《idea+springboot创建项目的搭建全过程》SpringBoot是Spring社区发布的一个开源项目,旨在帮助开发者快速并且更简单的构建项目,:本文主要介绍idea+springb... 目录一.idea四种搭建方式1.Javaidea命名规范2JavaWebTomcat的安装一.明确tomcat

使用Java填充Word模板的操作指南

《使用Java填充Word模板的操作指南》本文介绍了Java填充Word模板的实现方法,包括文本、列表和复选框的填充,首先通过Word域功能设置模板变量,然后使用poi-tl、aspose-words... 目录前言一、设置word模板普通字段列表字段复选框二、代码1. 引入POM2. 模板放入项目3.代码

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Python内存管理机制之垃圾回收与引用计数操作全过程

《Python内存管理机制之垃圾回收与引用计数操作全过程》SQLAlchemy是Python中最流行的ORM(对象关系映射)框架之一,它提供了高效且灵活的数据库操作方式,本文将介绍如何使用SQLAlc... 目录安装核心概念连接数据库定义数据模型创建数据库表基本CRUD操作创建数据读取数据更新数据删除数据查

Go语言中json操作的实现

《Go语言中json操作的实现》本文主要介绍了Go语言中的json操作的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧... 目录 一、jsOChina编程N 与 Go 类型对应关系️ 二、基本操作:编码与解码 三、结构体标签(Struc

Spring的基础事务注解@Transactional作用解读

《Spring的基础事务注解@Transactional作用解读》文章介绍了Spring框架中的事务管理,核心注解@Transactional用于声明事务,支持传播机制、隔离级别等配置,结合@Tran... 目录一、事务管理基础1.1 Spring事务的核心注解1.2 注解属性详解1.3 实现原理二、事务事