QgsPoint类

news2024/11/30 6:48:19

在 QGIS 中,QgsPoint 类是用于表示二维或三维点的类。它由 X、Y 和 Z 坐标组成,并且可以带有一个可选的 M 值(也称为测量值)。以下是 QgsPoint 类的主要参数介绍:

  1. x:表示点的横向坐标值。
  2. y:表示点的纵向坐标值。
  3. z:表示点的垂直(高程)坐标值,通常在三维场景下使用。
  4. m:表示点的测量值,用于存储关于该点的附加信息,例如距离、高程差等。

除了这些基本参数外,QgsPoint 类还提供了许多其他的方法和属性,例如:

  1. distance(other):计算该点与另一个点之间的欧几里得距离。
  2. is3D():判断该点是否包含 Z 坐标。
  3. setX(x):设置该点的横向坐标。
  4. setY(y):设置该点的纵向坐标。
  5. setZ(z):设置该点的垂直坐标。
  6. setM(m):设置该点的测量值。

QgsPoint 类还可以和其他的 QGIS 类型进行交互,例如 QgsGeometry 类和 QgsFeature 类等。通过使用这些类,可以实现更加灵活和强大的空间数据处理和分析功能。

  • QgsPoint和QgsPointXY的区别

    QgsPoint和QgsPointXY都是在QGIS中用于表示点的类,它们的区别在于坐标系的不同。

    QgsPoint类将点的坐标存在X,Y,Z三个属性中,其中X和Y表示点在地理坐标系中的经度和纬度,而Z则表示高程值。这种方式适用于经纬度坐标系或地理坐标系。

    QgsPointXY类仅将点的X,Y坐标存储在一个对应属性中,不包含Z坐标。这种方式适用于投影坐标系,其中X和Y都是平面坐标值。

    因此,如果需要处理经纬度等地理坐标系下的点,则应使用QgsPoint类;如果要处理投影坐标系下的点,则应使用QgsPointXY类。

  • p = QgsPoint()   p.setZ(30)p.addZValue(30)区别

    p.setZ(30)是将点对象p的高程值设置为30,即在三维坐标系下,该点的高程值为30个单位。

    p.addZValue(30)是给点对象p的高程值增加30个单位(如果之前未设置高程值,则默认为0)。这通常用于处理三维数据,例如在地图上显示海拔高度等信息,或者在3D模型中显示物体的高度等信息。

    因此,这两个方法适用于不同的场景和目的。setZ()方法可以精确地设置点的高程值,而addZValue()方法则改变了点的高程值,使其更具有空间感,并可以在地图或3D场景中展示出来。

from qgis.core import QgsPoint

p = QgsPoint()  # 创建一个点对象
p.isValid()  # 判断点对象是否有效 (True, '')
p.geometryType()  # 'Point'  返回几何对象的类型
p.wkbType()  # 1  返回WKB类型,1表示点类型
p.dimension()  # 0 返回点的维度,因为点是0维对象,所以返回0
p.isEmpty()  # True

p.setX(30)
p.isEmpty()  # True 只设置了X或Y坐标而未设置另一个坐标,则点对象仍然被视为为空
p.setY(20)
p.isEmpty()  # False

p.addZValue(3.3)  # 将点的高程值增加3.3个单位
p.swapXy()  # 交换点的X坐标和Y坐标
p.dropZValue()  # 移除点的高程值

p.setZ(2)  # 设置点的高程值为2

p.asWkt()  # 将点对象转换成WKT格式的字符串
p.asKml()  # 将点对象转换成KML格式的字符串
p.fromWkt('Point(4 6)')  # True 从WKT格式的字符串中重建点对象

p1 = QgsPoint(3, 4)  # 创建一个二维的点
p2 = QgsPoint(3, 4, m=12)  # 创建一个有M值的二维点
p3 = QgsPoint(3, 4, z=7)  # 创建一个三维点
p4 = QgsPoint(3, 4, 5, 6)  # 创建一个有M值的三维点

 

 

 参考:pyqgis2.01​​​​​​​

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在 Windows 上安装 scoop

一、前言 个人主页: ζ小菜鸡大家好我是ζ小菜鸡,让我们一起学习在在 Windows 上安装 scoop。如果文章对你有帮助、欢迎关注、点赞、收藏(一键三连) 二、 scoop是什么 windows下的安装源搜索工具,有点类似centos下的yum和Ubuntu下的apt。用这个拉下来安装…

路径规划算法:基于粒子群优化的路径规划算法- 附代码

路径规划算法:基于粒子群优化的路径规划算法- 附代码 文章目录 路径规划算法:基于粒子群优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化算法…

100+套大数据可视化模板

由于公司项目里面用到一个数据可视化大屏页面,自己网上各种谷歌百度,发现资源良莠不齐,而且大多数都是收费的,甚至一个页面一收费的那种。 前前后后自己不管是付费的还是免费的收集了不少,于是自己打算整理下&#xf…

应届生如何在职场中提高竞争力?这些方法和策略不容错过!

当前就业形势严峻,对于即将步入职场的应届生来说,提高自己的竞争力显得尤为重要。那么,要如何提高自己的职场竞争力呢?本文将为你分享一些有效的方法和策略,帮助你在职场中获得更好的发展。 一、提高自身素质 职场中&…

JWT 入门

1.介绍 JSON Web Token(JWT)是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。这个规范允许我们使用JWT在用户和服务器之间传递安全可靠的信息。该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO…

华为OD机试真题 Java 实现【猜字谜】【2023Q1 100分】

一、题目描述 小王设计了一人简单的清字谈游戏,游戏的迷面是一人错误的单词,比如nesw,玩家需要猜出谈底库中正确的单词。猜中的要求如 对于某个谜面和谜底单词,满足下面任一条件都表示猜中: 变换顺序以后一样的&…

115.【SpringBoot(IDEA)+Vue(Vscode)前后端交互】

SpringBootVue前后端分离 (一)、环境介绍(二)、Vscode部分1.静态资源2.配置route路由和axios异步3.配置跨域支持 (三)、IDEA部分1.创建SpringBoot项目2.创建两个实体类3.创建控制层4.配置后端响应的端口 (四)、Vue和SpringBoot交互1.同时运行IDEA和Vscode2.访问登入界面 (一)、…

C语言——操作符详解

哈喽,大家好,今天我们来学习C语言中的各中操作符。 目录 1.操作符的分类 2.算数操作符 整数的二进制表示 3.位移操作符 3.1左移操作符 3.2右移操作符 4.位操作符 5.赋值操作符 6.单目操作符 6.1 单目操作符介绍 ~ 的用法: 6.2 si…

冰点还原2023中文版最新电脑系统数据恢复软件

冰点还原是什么?对其不了解的用户可能会认为它是《冰雪奇缘》的番外篇或续篇之类的,其实它们俩没有半毛钱关系,它其实是一款系统还原备份软件。冰点还原精灵是一款强大的系统备份、还原、修复软件,可以在极短时间内将系统还原到初…

第十四届蓝桥杯青少组选拔赛Python真题 (2022年11月27日),包含答案

第十四届蓝桥杯青少组选拔赛Python真题 (2022年11月27日) 一、编程题 第 1 题 问答题 输入一个整数N (-100sNs100)输出N10的结果例如: N 5,510 的结果为15 (15-510)[输入描述] 输入一个整数N (-100sNs100) [输出描述] 输出一个整数,表示N10的结果 [样…

【C生万物】 指针篇 (进级) 下

欢迎来到 Claffic 的博客 💞💞💞 👉 专栏:《C生万物 | 先来学C》👈 前言: 承接上篇,这期继续C语言指针的学习。 目录 Part4:数组参数&指针参数 …

股票量价关系基础知识8----图解各阶段量价关系:价平量增

图解各阶段量价关系:价平量增 价平量增是指在成交量增加的情况下,股价几乎维持在一个价位附近波动。 一、上涨初期的价平量增 (一)形态分析 在股价上涨的初期,价平量增是筹码良性换手的现象,这可能是主力在…

企业如何提高销售对CRM的使用率

CRM销售管理系统是帮助企业管理销售和客户的工具。它使企业能够跟踪和分析客户行为,管理客户关系,从而提高销售线索转化率。尽管CRM系统有着诸多的好处,但CRM的使用率往往很低,尤其是在销售团队中。为什么CRM使用率低销售不爱用&a…

gradle插件分享-手把手教你写gradle插件

gradle插件分享-手把手教你写gradle插件 写在前面: 在基础熟练的基础上,完全可以考虑基于Booster、ByteX等框架来开发,效率应该会高一些。 修改字节码的插件不止asm一个,还有javaassist等,可以多做一些尝试&#xff…

双令牌机制(chatgpt)

先记录下 双令牌机制主要用于增加Web应用程序的安全性。这种机制通常包括两种类型的令牌:访问令牌(Access Token)和刷新令牌(Refresh Token)。 1.访问令牌:访问令牌是用户完成身份验证后接收的令 牌&…

Three.js 模型体素化原理及实现

在本文中,我们探索了 3D 模型的体素化过程,重点是使用导入的 glTF 模型创建 3D 像素艺术。 本文包括一个最终演示,涵盖了可以使用体素化实现的各种 3D 效果。 我们将提供涵盖以下主题的分步指南: 确定 XYZ 坐标是否在 3D 网格内的…

SES2000浅地层剖面仪自带处理软件ISE2.95的处理步骤

SES2000是目前市面上主流浅地层剖面仪。它的自带处理软件ISE经常和设备一起更新,造成ISE版本众多,虽然数据采集的格式都是raw,但是低版本ISE软件打不开高版本raw数据,即使软件版本相近,比如都是2.95版本序列&#xff0…

AI测试|天猫精灵智能音箱测试策略与方法

一、业务介绍 2014年11月,亚马逊推出了一款全新概念的智能音箱:Echo,这款产品最大的亮点是将智能语音交互技术植入到传统音箱中,从而赋予了音箱人工智能的属性。这个被称为“Alexa”的语音助手可以像你的朋友一样与你交流&#x…

Grafana系列-统一展示-9-Jaeger数据源

系列文章 Grafana 系列文章 配置 Jaeger data source Grafana内置了对Jaeger的支持,它提供了开源的端到端分布式跟踪。本文解释了针对Jaeger数据源的配置和查询。 关键的配置如下: URL: Jaeger 实例的 URL, 如: http://localhost:16686 或 http://localhost:16…

PPT技能之新手入门,零基础光速进阶的宝藏

不会PPT只是借口,懒惰才是你的心里话。只要现在开始学习,不出三个月,华丽蜕变成PPT大神!你的进步,我的功劳! 你的关注,是我最大的动力!你的转发,我的10W!茫茫…