ArcGIS Pro SDK (九)几何 3 点
ArcGIS Pro SDK (九)几何 3 点
文章目录
- ArcGIS Pro SDK (九)几何 3 点
- 1 构造地图点
- 2 地图点生成器属性
- 3 地图点的相等性
- 4 缩放至指定点
环境:Visual Studio 2022 + .NET6 + ArcGIS Pro SDK 3.0
1 构造地图点
// 使用生成器便捷方法或使用生成器构造函数。// 创建一个带M的3D点
MapPoint pt = MapPointBuilderEx.CreateMapPoint(1.0, 2.0, 3.0, 4.0);// builderEx构造函数不需要在MCT上运行。
MapPointBuilderEx mb = new MapPointBuilderEx(1.0, 2.0, 3.0, 4.0);
// 对生成器做一些操作MapPoint ptWithM = mb.ToGeometry();MapPoint clone = ptWithM.Clone() as MapPoint;
MapPoint anotherM = MapPointBuilderEx.CreateMapPoint(ptWithM);MapPointBuilderEx builderEx = new MapPointBuilderEx(1.0, 2.0, 3.0);
builderEx.HasM = true;
builderEx.M = 4.0;pt = builderEx.ToGeometry() as MapPoint;// 或者使用另一种带builderEx构造函数的方法
builderEx = new MapPointBuilderEx(1.0, 2.0, true, 3.0, true, 4.0, false, 0);
pt = builderEx.ToGeometry() as MapPoint;// 或者使用builderEx便捷方法
pt = MapPointBuilderEx.CreateMapPoint(1.0, 2.0, 3.0, 4.0);
2 地图点生成器属性
// 使用builderEx便捷方法或builderEx构造函数。
// 这些都不需要在MCT上运行。MapPoint point1 = null;
MapPoint point2 = null;MapPointBuilderEx mb = new MapPointBuilderEx(1.0, 2.0, 3.0);
bool bhasZ = mb.HasZ; // hasZ = true
bool bhasM = mb.HasM; // hasM = false
bool bhasID = mb.HasID; // hasID = false// 对生成器做一些操作point1 = mb.ToGeometry();// 修改一些生成器属性
mb.X = 11;
mb.Y = 22;
mb.HasZ = false;
mb.HasM = true;
mb.M = 44;
// 创建另一个点
point2 = mb.ToGeometry();double x = point1.X; // x = 1.0
double y = point1.Y; // y = 2.0
double z = point1.Z; // z = 3.0
double m = point1.M; // m = Nan
int ID = point1.ID; // ID = 0
bool hasZ = point1.HasZ; // hasZ = true
bool hasM = point1.HasM; // hasM = false
bool hasID = point1.HasID; // hasID = false
bool isEmpty = point1.IsEmpty; // isEmpty = falsebool isEqual = point1.IsEqual(point2); // isEqual = false// builderEx便捷方法
MapPoint point3 = MapPointBuilderEx.CreateMapPoint(point1);
x = point3.X; // x = 1.0
y = point3.Y; // y = 2.0
z = point3.Z; // z = 3.0
m = point3.M; // m = Nan
ID = point3.ID; // ID = 0
hasZ = point3.HasZ; // hasZ = true
hasM = point3.HasM; // hasM = false
hasID = point3.HasID; // hasID = falseMapPointBuilderEx builderEx = new MapPointBuilderEx(point1);
x = builderEx.X; // x = 1.0
y = builderEx.Y; // y = 2.0
z = builderEx.Z; // z = 3.0
m = builderEx.M; // m = Nan
ID = builderEx.ID; // ID = 0
hasZ = builderEx.HasZ; // hasZ = true
hasM = builderEx.HasM; // hasM = false
hasID = builderEx.HasID; // hasID = false
isEmpty = builderEx.IsEmpty; // isEmpty = falseMapPoint point4 = builderEx.ToGeometry() as MapPoint;MapPoint point5 = MapPointBuilderEx.CreateMapPoint(point1);
x = point5.X; // x = 1.0
y = point5.Y; // y = 2.0
z = point5.Z; // z = 3.0
m = point5.M; // m = Nan
ID = point5.ID; // ID = 0
hasZ = point5.HasZ; // hasZ = true
hasM = point5.HasM; // hasM = false
hasID = point5.HasID; // hasID = false
isEmpty = point5.IsEmpty; // isEmpty = false
3 地图点的相等性
MapPoint pt1 = MapPointBuilderEx.CreateMapPoint(1, 2, 3, 4, 5);
int ID = pt1.ID; // ID = 5
bool hasID = pt1.HasID; // hasID = trueMapPoint pt2 = MapPointBuilderEx.CreateMapPoint(1, 2, 3, 4, 0);
ID = pt2.ID; // ID = 0
hasID = pt2.HasID; // hasID = trueMapPoint pt3 = MapPointBuilderEx.CreateMapPoint(1, 2, 3, 4);
ID = pt3.ID; // ID = 0
hasID = pt3.HasID; // hasID = falseMapPoint pt4 = MapPointBuilderEx.CreateMapPoint(1, 2, 3, 44);
ID = pt4.ID; // ID = 0
hasID = pt4.HasID; // hasID = false
bool hasM = pt4.HasM; // hasM = trueMapPoint pt5 = MapPointBuilderEx.CreateMapPoint(1, 2, 3);
ID = pt5.ID; // ID = 0
hasID = pt5.HasID; // hasID = false
hasM = pt5.HasM; // hasM = falsebool isEqual = pt1.IsEqual(pt2); // isEqual = false, 不同的ID
isEqual = pt2.IsEqual(pt3); // isEqual = false, HasID不同
isEqual = pt4.IsEqual
4 缩放至指定点
//创建一个点
var pt = MapPointBuilderEx.CreateMapPoint(x, y, SpatialReferenceBuilder.CreateSpatialReference(4326));
//对其进行缓冲 - 目的是缩放
var poly = GeometryEngine.Instance.Buffer(pt, buffer_size);//是否需要投影缓冲区多边形?
if (!MapView.Active.Map.SpatialReference.IsEqual(poly.SpatialReference))
{//投影多边形poly = GeometryEngine.Instance.Project(poly, MapView.Active.Map.SpatialReference);
}// 必须在MCT上运行。
QueuedTask.Run(() =>
{//缩放 - 为动画效果添加延迟MapView.Active.ZoomTo(poly, new TimeSpan(0, 0, 0, 3));
});
相关文章:
ArcGIS Pro SDK (九)几何 3 点
ArcGIS Pro SDK (九)几何 3 点 文章目录 ArcGIS Pro SDK (九)几何 3 点1 构造地图点2 地图点生成器属性3 地图点的相等性4 缩放至指定点 环境:Visual Studio 2022 .NET6 ArcGIS Pro SDK 3.0 1 构造地图点 // 使用生…...
基于神经网络的分类和预测
基于神经网络的分类和预测 一、基础知识(一)引言(二)神经网络的基本概念(1)神经网络(2)神经元(3)常用的激活函数(非线性映射函数)&…...
VR头显如何低延迟播放8K的RTSP|RTMP流
技术背景 我们在做Unity平台RTSP、RTMP播放器的时候,有公司提出来这样的技术需求,希望在头显播放全景的8K RTSP|RTMP直播流,8K的数据,对头显和播放器,都提出了新的要求,我们从几个方面,探讨下V…...
2、ASPX、.NAT(环境/框架)安全
ASPX、.NAT(环境/框架)安全 源自小迪安全b站公开课 1、搭建组合: WindowsIISaspxsqlserver .NAT基于windows C开发的框架/环境 对抗Java xx.dll <> xx.jar 关键源码封装在dll文件内。 2、.NAT配置调试-信息泄露 功能点…...
在家上网IP地址是固定的吗?
在数字化时代,互联网已成为我们日常生活中不可或缺的一部分。无论是工作、学习还是娱乐,我们都离不开网络的支持。然而,当我们在家中接入互联网时,可能会产生这样一个疑问:在家上网IP地址是固定的吗?下面一…...
交换机和路由器的工作流程
1、交换机工作流程: 将接口中的电流识别为二进制,并转换成数据帧,交换机会记录学习该数据帧的源MAC地址,并将其端口关联起来记录在MAC地址表中。然后查看MAC地址表来查找目标MAC地址,会有一下一些情况: MA…...
算法笔记——LCR
一.LCR 152. 验证二叉搜索树的后序遍历序列 题目描述: 给你一个二叉搜索树的后续遍历序列,让你判断该序列是否合法。 解题思路: 根据二叉搜索树的特性,二叉树搜索的每一个结点,大于左子树,小于右子树。…...
ChatGPT对话:如何制作静态网页?
【编者按】编者在很早以前制作过静态网页,之后长期没有使用,已完全不知道最新现状了。所以,从制作工具开始询问ChatGPT,回答非常全面,完全可以解决初学者的问题。 编者虽然长期不制作网页,但一直在编程&…...
k8s(二)
五、kubernetes架构(K8S的架构也是master和node模式) 集群里至少需要有一个master节点,即就是主节点。node节点可以多个。 若是多个master节点,worker节点和master的apiserverr进行交互时,就需要通过LB(load banlance)…...
ClickHouse表引擎概述
ClickHouse表引擎概述 表引擎的功能: 数据的存储方式 数据的存储位置 是否可以使用索引 是否可以使用分区 是否支持数据副本 并发数据访问 ClickHouse在建表时必须指定表引擎。 表引擎主要分为四大类:MergeTree系列、Log系列、与其他存储/处理系…...
jenkins系列-04-jenkins参数化构建
使用maven build之前,先checkout 指定分支或标签: 拖拽调整顺序:shell执行在前,构建在后: gitee新建标签tag:...
Flutter框架时间线梳理
Flutter是一个开源的UI工具包,它用于构建高质量的原生移动应用。Flutter的版本历史如下: Flutter 0.1.2: 2018年发布,这是第一个正式发布的版本,包含了基本的框架和工具。 Flutter 1.0.0: 2019年发布&…...
RAG 效果提升的最后一步—— 微调LLM
如果说,rerank能够让RAG的效果实现百尺竿头更进一步,那么LLM微调应该是RAG效果提升的最后一步。 把召回的数据,经过粗排,重排序后,送给模型,由模型最后总结答案。LLM的确已经是RAG的最后一步了。 这里还是会…...
C语言 | Leetcode C语言题解之第230题二叉搜索树中第K小的元素
题目: 题解: /*** Definition for a binary tree node.* struct TreeNode {* int val;* struct TreeNode *left;* struct TreeNode *right;* };*/int search_num(struct TreeNode* root, int k, int *result, int num) {if(num k 1){retu…...
YOWOv2(yowov2)动作识别+Fastreid身份识别 详细安装与实现
首先yowov2是一款简单且实时的时空动作检测方案,fastreid是行人重识别(身份识别) yowov2介绍链接直达fastreid链接直达为时空动作检测任务设计实时框架仍然是一个挑战。YOWOv2 提出了一种新颖的实时动作检测框架,利用三维骨干和二…...
【微服务】Spring Cloud中如何使用Eureka
摘要 Eureka作为Netflix开源的服务发现框架,在Spring Cloud体系中扮演着至关重要的角色。本文详细介绍了Eureka的基本概念、工作原理以及如何在Spring Cloud中集成和使用Eureka进行服务发现和管理。通过深入分析Eureka的注册与发现机制、区域感知和自我保护等高级特…...
【Neo4j】实战 (数据库技术丛书)学习笔记
Neo4j实战 (数据库技术丛书) 第1章演示了应用Neo4j作为图形数据库对改进性能和扩展性的可能性, 也讨论了对图形建模的数据如何正好适应于Neo4j数据模型,现在到了该动 手实践的时间了。第一章 概述 Neo4j将数据作为顶点和边存储(或者用Neo4j术语,节点和关系存 储)。用户被定…...
【Perl】Perl 语言入门
1. Perl语言介绍 Perl 是一种高级、解释型、动态编程语言,由Larry Wall在1987年发布。Perl 以其强大的文本处理能力而闻名,特别是在处理报告生成、文件转换、系统管理任务等方面。它吸收了C、Shell脚本语言、AWK、sed等语言的特性,并加入了大…...
godis源码分析——database存储核心1
前言 redis的核心是数据的快速存储,下面就来分析一下godis的底层存储是如何实现,先分析单机服务。 此文采用抓大放小原则,先大的流程方向,再抓细节。 流程图 源码分析 现在以客户端连接,并发起set key val命令为例…...
【UE5.1】Chaos物理系统基础——06 子弹破坏石块
前言 在前面我们已经完成了场系统的制作(【UE5.1】Chaos物理系统基础——02 场系统的应用_ue5)以及子弹的制作(【UE5.1 角色练习】16-枪械射击——瞄准),现在我们准备实现的效果是,角色发射子弹来破坏石柱。…...
CNN 卷积神经网络面试全集|卷积、池化、感受野
前言 计算机视觉算法岗必考核心就是 CNN,从基础卷积运算、池化操作,到经典网络结构、感受野、参数量计算全是高频考题。本文整理最全 CNN 面试精简答案,条理清晰直接背诵,视觉方向面试稳稳通关。 一、CNN 整体三大核心结构 卷积层:提取局部纹理、边缘、形状等空间特征 池…...
告别L298N!用TB6612驱动模块给你的STM32循迹小车降功耗提性能
告别L298N!用TB6612驱动模块给你的STM32循迹小车降功耗提性能 在嵌入式开发领域,电机驱动模块的选择往往决定了整个项目的能效表现和稳定性。对于参加电子设计竞赛的学生和硬件爱好者来说,如何在有限的电池容量下实现更长的运行时间和更精准的…...
基于可解释机器学习的心电图预测胸片异常:技术原理与临床实践
1. 项目概述:当心电图“看见”胸片在急诊室或者基层医疗点,一个呼吸急促、胸痛的患者被送来,临床医生面临的首要决策往往是:是否需要立刻安排胸部X光检查?胸片是评估心肺和胸腔状况的基石,但它需要设备、技…...
三步制作多系统启动盘:Ventoy完全指南告别重复格式化
三步制作多系统启动盘:Ventoy完全指南告别重复格式化 【免费下载链接】Ventoy A new bootable USB solution. 项目地址: https://gitcode.com/GitHub_Trending/ve/Ventoy 你是否还在为每个系统镜像单独制作启动盘而烦恼?是否因为U盘容量充足却只能…...
终极指南:如何快速解锁网易云NCM加密音乐,实现格式自由转换
终极指南:如何快速解锁网易云NCM加密音乐,实现格式自由转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 你是否曾为网易云音乐下载的NCM格式文件无法在其他设备播放而烦恼?ncmdump作为一款高效…...
告别割裂开发:用WebUI插件在UE5里无缝嵌入你的React/Vue应用(附完整交互蓝图)
告别割裂开发:用WebUI插件在UE5里无缝嵌入你的React/Vue应用(附完整交互蓝图)在数字孪生和企业级可视化项目中,前端团队往往已经用React或Vue构建了复杂的数据看板,而3D场景部分则由UE5团队负责。传统做法是将两者分开…...
终极指南:三步解锁微信网页版完整访问权限
终极指南:三步解锁微信网页版完整访问权限 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 你是否曾因无法在浏览器中使用微信网页版而苦恼…...
卷积神经网络(CNN)与深度学习视觉应用综述
在深度学习领域,卷积神经网络(CNN)是实现计算机视觉任务的基石。通过对这些基础理论的学习,我们能够构建起从特征提取到复杂场景理解的知识体系。第一部分:卷积神经网络基础1. 全连接网络面临的挑战传统的全连接神经网…...
虚拟化PCIe直通故障排查:BIOS设置、IOMMU组与QEMU参数全链路解析
1. 这不是驱动问题,是PCIe拓扑在“装睡” “虚拟化服务器PCI报错”——这六个字,我去年在三个不同客户的机房里反复听到过,每次都是凌晨两点被电话叫醒。运维同事第一反应永远是重装驱动、更新固件、换网卡,折腾两天后发现报错照旧…...
Keil µVision许可证失效问题解析与解决方案
1. 问题现象与背景解析最近遇到一个挺有意思的案例:一位工程师在安装了Windows Media Center后,突然发现Keil Vision IDE变成了评估版模式。这种情况其实在嵌入式开发领域并不罕见,但很多开发者第一次遇到时都会感到困惑。本质上,…...
