SuperMap iDesktopX如何获取简单线的起终端点及坐标

作者:超图研究院技术支持中心-于丁

SuperMap iDesktopX如何获取简单线的起终端点及坐标

在GIS行业应用中,线数据的端点坐标有非常多的用处。

  1. 定位和可视化:线数据端点坐标可以用于定位和可视化线要素在空间中的位置。这对于地图制作、规划和分析非常重要,可以使用户更好地了解和掌握线要素的空间分布情况。
  2. 空间分析:通过获取线数据端点坐标,可以进行各种空间分析,例如计算线要素之间的距离、角度、坡度等,从而帮助用户进行更准确的空间分析和决策。
  3. 数据更新和维护:在GIS应用中,线数据是经常需要更新和维护的。通过获取线数据端点坐标,可以更方便地辅助对线要素进行更新和维护,例如修改线的长度、方向等属性信息。
  4. 导航和路线规划:在某些应用中,例如交通规划、路径导航等,需要获取线数据端点坐标来计算路径和规划路线。通过获取准确的线数据端点坐标,可以提供更准确、更高效的导航和路线规划服务。
  5. 网络分析:在交通网络、管线网络等分析中,线数据端点坐标可以用于确定网络的节点和连接关系,从而进行最短路径分析、流量分析等。这对于交通规划、基础设施设计等非常重要。
  6. 地形分析:线数据端点坐标可以结合高程数据,用于地形分析。例如,通过提取山脊线或山谷线的端点坐标,可以计算坡度、坡向等地形参数,进一步了解地形特征和地貌形态。
  7. 空间插值:在某些GIS分析中,需要在线要素之间进行空间插值,以获取更详细的空间分布信息。线数据端点坐标可以作为插值的基础数据,通过插值算法估算其他位置的值,从而生成连续的空间分布图。
  8. 时空轨迹分析:当线数据表示运动轨迹或路径时,端点坐标可以用于时空轨迹分析。通过提取轨迹线的起止点坐标,可以结合时间信息,对物体的移动模式、速度等进行分析,应用于交通监控、动物迁徙研究等领域。

由上可知,线数据的端点坐标可以在很大程度上进一步扩展了线数据在GIS中的应用范围,使得我们能够更深入地挖掘和利用地理空间数据。

一、使用工具

SuperMap iDesktopX 11i(2023)V11.1.1及以上版本。(以下简称iDesktopX)

二、使用数据

线数据一份:
复杂构造线数据,即一个线对象不仅仅由起点和终点两个点构成,之间还有更多的细节节点,甚至子对象。

三、操作步骤

1.线数据转为点数据

1.1类型转换

数据——类型转换——线转点
在这里插入图片描述

1.2检查数据

点\线数据集右键——浏览属性表——确认点数据集的记录数是否为线数据集的二倍
若是二倍,说明线数据均为简单线对象,跳过1.3-1.5,查看“2.为端点标识特征如原线名或原线id”继续操作。
若不是二倍,说明数据中存在非简单线对象,查看1.3找出非简单线对象
在这里插入图片描述
在这里插入图片描述

1.3找出非简单线对象

数据——拓扑检查——“+”加号添加点数据集——拓扑规则“点必须被线端点覆盖”
在这里插入图片描述

1.4查看非简单线对象

在这里插入图片描述

1.5修复非简单线对象

开启线图层编辑,使用对象操作中的各种工具,将所有非简单线对象修复成简单线对象后,从1.1重新开始。
(若业务上确实为非简单线,建议查看使用《SuperMap iDesktopX如何获取简单线的起终端点及坐标》)

2.为端点标识特征如原线名或原线id

2.1新建表示字段

点数据集右键——属性——属性结构——“+”号创建字段——填写字段信息——“√”应用
LineID 32位整型
Type 文本型
在这里插入图片描述

2.2标识id

浏览点数据集属性表——更新列——待更新字段LineID+整列更新+统一赋值+计算表达式SubobjectID /10

在这里插入图片描述
更新出来的该Line与原线数据的SmID意义一一对应。
比如点数据集中的SmID为1和2的对象,LineID为1,即这两个点是原线SmID为1上的两个端点。

在这里插入图片描述

2.3标识名称(按业务需求可选)

数据——数据处理——追加列
目标数据
数据集:点数据集
连接字段:LineID

源数据
数据集:线数据集
连接字段:SmID

追加字段
业务中需要标识的数据字段(按业务需求可选)
在这里插入图片描述

3.为端点标识起始点与终止点类型

简单线对象转点,一定是连续的两两点一组为一根线,
并且线转点功能就是根据线数据原始的节点顺序转换的,即对于简单线对象来说,两两点一组的第一个点必为起始点,第二个点必为终止点。

3.1对Type进行2的取余运算

属性表——更新列——Type+整列更新+统一赋值+表达式 SmID%2
使用该方法区分第一个点与第二个点
在这里插入图片描述

3.2筛选出起始点

筛选——字段仅选择1
在这里插入图片描述

3.3替换起始点属性文本

选择筛选后的Type列——更新列——Type+更新选中记录+统一赋值+计算表达式 “起始点”
在这里插入图片描述

3.4完成终止点标识

依照3.2和3.3完成终止点标识
在这里插入图片描述

4计算起终点坐标值

属性表——计算几何属性——点数据集+计算几何属性+点坐标
在这里插入图片描述

5可视化上图查看结果

在这里插入图片描述
若对本文内容有疑问或讨论,可以向超图研究院支持中心进行咨询。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/186019.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[PyTorch][chapter 64][强化学习-DQN]

前言: DQN 就是结合了深度学习和强化学习的一种算法,最初是 DeepMind 在 NIPS 2013年提出,它的核心利润包括马尔科夫决策链以及贝尔曼公式。 Q-learning的核心在于Q表格,通过建立Q表格来为行动提供指引,但这适用于状态…

nvm安装及使用

文章目录 一、[介绍](https://github.com/nvm-sh/nvm)1.1、卸载node1.1.1、从控制面板的程序卸载node1.1.2、删除node的安装目录1.1.3、查找.npmrc文件删除1.1.4、逐一删除下列文件1.1.5、删除node环境变量1.1.6、验证是否卸载成功 二、安装2.1、window系统2.2、mac系统2.2.1、…

php高级工程师范文模板

以下简历内容以php高级工程师招聘需求为背景,我们制作了1份全面、专业且具有参考价值的简历案例,大家可以灵活借鉴,希望能帮助大家在众多候选人中脱颖而出。 php高级工程师简历在线制作下载:百度幻主简历 求职意向 求职类型&…

vue+springboot读取git的markdown文件并展示

前言 最近,在研究一个如何将我们git项目的MARKDOWN文档获取到,并且可以展示到界面通过检索查到,于是经过几天的摸索,成功的研究了出来 本次前端vue使用的是Markdown-it Markdown-it 是一个用于解析和渲染 Markdown 标记语言的 …

Vue 2.0源码分析-Virtual DOM

Virtual DOM 这个概念相信大部分人都不会陌生,它产生的前提是浏览器中的 DOM 是很“昂贵"的,为了更直观的感受,我们可以简单的把一个简单的 div 元素的属性都打印出来,如图所示: 可以看到,真正的 DOM …

C语言-指针讲解(3)

文章目录 1.字符指针变量1.1 字符指针变量类型是什么1.2字符指针变量的两种使用方法:1.3字符指针笔试题讲解1.3.1 代码解剖 2.数组指针变量2.1 什么是数组指针2.2 数组指针变量是什么?2.2.3 数组指针变量的举例 2.3数组指针和指针数组的区别是什么&#…

javascript判断是否是json格式

文章目录 一、问题二、解决三、总结3.1、定义 一、问题 工作中有用到JSON.parse这个来解析JSON字符串,这个时候突然有一次遇到JSON字符串是长串数字或数字字符串,主要是自己也没兼容好,就导致了一长串数字JSON.parse之后变成了e24等数字。主…

中低压MOSFET 2N7002W 60V 300mA 双N通道 SOT-323封装

2N7002W小电流双N通道MOSFET,电压60V电流300mA,采用SOT-323封装形式。超高密度电池设计,适用于极低的ros (on),具有导通电阻和最大直流电流能力,ESD保护。可应用于笔记本中的电源管理,电池供电系统等产品应…

Selenium实现多页面切换

当使用 Selenium 进行自动化测试或爬取数据时,有时需要处理多个页面之间的切换。以下是一些可能需要多页面切换的情况: 1、打开新窗口/页面: 在当前页面上点击链接、按钮或执行某些操作时,可能会打开一个新的窗口或页面。此时&a…

Appium+Python+pytest自动化测试框架的实战

本文主要介绍了AppiumPythonpytest自动化测试框架的实战,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 先简单介绍一下目录,再贴一些代码,代码里有注释 Basic目录下写的是一些公…

【C++】泛型编程 ⑮ ( 类模板示例 - 数组类模板 | 自定义类中持有指针成员变量 )

文章目录 一、支持 数组类模板 存储的 自定义类1、可拷贝和可打印的自定义类2、改进方向3、改进方向 - 构造函数4、改进方向 - 析构函数5、改进方向 - 重载左移运算符6、改进方向 - 重载拷贝构造函数 和 等号运算符 二、代码示例1、Array.h 头文件2、Array.cpp 代码文件3、Test…

io.lettuce.core.RedisCommandExecutionException

io.lettuce.core.RedisCommandExecutionException: ERR invalid password ERR invalid password-CSDN博客 io.lettuce.core.RedisCommandExecutionException /** Copyright 2011-2022 the original author or authors.** Licensed under the Apache License, Version 2.0 (the…

RabbitMQ基础教程

1.什么是消息队列 消息队列(Message Queue),我们一般简称为MQ。消息队列中间件是分布式系统中重要的组件,具有异步性、松耦合、分布式、可靠性等特点。用于实现高性能、高可用、可伸缩和最终一致性架构。是大型分布式系统不可缺少…

JVM类加载的过程和JVM垃圾回收机制

文章目录 一、JVM类加载的过程1.1类加载的基本流程1.1.1加载1.1.2验证1.1.3准备1.1.4解析1.1.5初始化 1.2双亲委派模型 二、JVM垃圾回收机制2.1找到垃圾2.1.1引用计数(比如Python,PHP中用到)2.1.2可达性分析(比如Java中用到) 2.2释放垃圾2.2.1标记清除2.2.2复制算法…

RAM模型从数据准备到pretrain、finetune与推理全过程详细说明

提示:RAM模型:环境安装、数据准备与说明、模型推理、模型finetune、模型pretrain等 文章目录 前言一、环境安装二、数据准备与解读1.数据下载2.数据标签内容解读3.标签map内容解读 三、finetune训练1.微调训练命令2.load载入参数问题3.权重载入4.数据加载…

大数据技术之数据安全与网络安全——CMS靶场实训

大数据技术之数据安全与网络安全——CMS靶场实训 在当今数字化时代,大数据技术的迅猛发展带来了前所未有的数据增长,同时也催生了对数据安全和网络安全的更为迫切的需求。本篇博客将聚焦于大数据技术背景下的数据安全与网络安全,并通过CMS&a…

4.操作系统常见面试题(2)

3.4 虚拟内存 直接使⽤物理内存会产⽣⼀些问题 1. 内存空间利⽤率的问题:各个进程对内存的使⽤会导致内存碎⽚化,当要⽤ malloc 分配⼀块很⼤的内存空间时,可能会出现虽然有⾜够多的空闲物理内存,却没有⾜够⼤的连续空闲内存这种…

点大商城V2.5.3分包小程序端+小程序上传提示限制分包制作教程

这几天很多播播资源会员反馈点大商城V2.5.3小程序端上传时提示大小超限,官方默认单个包都不能超过2M,总分包不能超20M。如下图提示超了93KB,如果出现超的不多情况下可采用手动删除一些images目录下不使用的图片,只要删除超过100KB…

82基于matlab GUI的图像处理

基于matlab GUI的图像处理,功能包括图像一般处理(灰度图像、二值图);图像几何变换(旋转可输入旋转角度、平移、镜像)、图像边缘检测(拉普拉斯算子、sobel算子、wallis算子、roberts算子&#xf…

unordered_map 与 unordered_set 的模拟实现

unordered_map 与 unordred_set 的模拟实现与 map 与 set 的模拟实现差不多。map 与 set 的模拟实现中,底层的数据结构是红黑树。unordered_map 与 unordered_set 的底层数据结构是哈希表。因此,在模拟实现 unordered_map 与 unordred_set 之前你必须确保…