使用Arcgis Engine开发时发现.Net help中有些小错误

Origin 2024b安装避坑指南:系统兼容性与运行时冲突解决方案 Origin作为科研绘图核心工具,其安装本质是构建稳定数学引擎运行环境的过程。原理上依赖.NET Framework、Visual C++运行时、Windows系统策略与权限模型的协同;技术价值在于保障绘图复现性、误差棒精度及多软件共存稳定性;典型应用场景覆盖高校实验室新机部署、ArcGIS共存环境、旧版残留清理及WSL2图形调用等工程实践需求。尤其在2026年Windows 11 24H2与KB5034765更新背景下,.NET启用状态误判和VC++签名兼容性成为高频故障根源,需通过DISM启用、降级vc 阅读详情

        这几天在公司实习,用Arcgis Engine做项目查help时发现一些小问题,害我在找需要使用的接口和类时折腾了半天,把这些记下来方便大家。(本人所写模块有个功能是基于DEM的土方计算,使用的是C#)

1.

RasterSurface    在名字空间ESRI.ArcGIS.Analyst3D下,实现的接口如下

InterfacesDescription
IFunctionalSurface (Geometry)Provides access to information about the functional surface, generating heights given x,y locations. Also see IFunctionalSurface2.
IFunctionalSurface2 (Geometry)Provides access to members that allow changes to be made to the interpolation domain, in addition to the IFunctionalSurface members.
IRasterSurfaceProvides access to members that manipulate and analyze a raster surface.
ISurface (GeoDatabase)Provides access to members that control surfaces.

RasterSurface对应的实体类RasterSurfaceClass下关于ISurface.GetVolume等方法的说明
MethodGetSurfaceAreaReturns the TIN's area measured on its surface above or below an input z value.
MethodGetVolumeReturns the TIN's volume above or below an input z value.

        上面只说明返回TIN数据的表面积和体积,我就想是否需要把Raster转为TIN,由于项目相关的数据量很大,有40G,当时就考虑效率的问题,如果转换可能就可能会很慢,用户无法接受,于是在ArcMap下进行了相关的操作,实际使用时并不需要把Raster转换为TIN,我就想RasterSurface中应该有相关的功能,能直接得到Raster图层对应区域的表面积和一定高程相关的体积,我就去查实RasterSurface的对象模型图:RasterSurface实现的接口ISurface中

GetSurfaceArea (in referenceHeight: Double,in Type: esriPlaneReferenceType): Double
GetVolume (in reference: Double, in Type:esriPlaneReferenceType): Double

既然没有相应的说明,我就在代码中使用和计算TIN数据的表面积与体积的方法试验了一下,可以直接计算,而不需转换格式。

2.

         由于要通过一个Polygon的参数传入计算土方的区域,我就在RasterClass中查找是否能传入polygon相关的参数,于是我就查询了IFunctionalSurface(Geometry)和IFuncitonalSurface2(Geometry).

IFuncitonalSurface接口

 属性或方法描述
Read-only propertyDomainSurface相关的类
Read-only propertyZZ = f(x,y).

其中Z被标注为属性,实际是方法,通过x,y值得到Z值。

[C#]
public double get_Z (
    double X,
    double Y
);

熟悉C#语法的朋友应该知道,C#中属性的定义是

public porperty {

        get{

             .... 

        }

        set{

           ....

       }

}

属性并不需要传入参数。

 

3.

IFunctionSurface2接口

它继承至IFunctionSurface.

在RasterSurface的对象模型图中,IFuncitonalSurface.Domain 属性是只读,而IFunctionalSurface2.Domain是只写,而在help中IFunctionalSurface和IFunctionalSurface2的Domain属性是相同链接相同的声明。

实际设置Domain属性时,应该为IFunctionalSurface2.Domain_2(只写)  IFunctionalSurface2.Domain(只读)

 

(Engine的帮助文档还是有一些小错误的,在实际使用的时候和对象模型图对应起来,再在代码中尝试一下才是最重要的。)

CityEngine 2023 安装配置全攻略:从零部署到快速入门 三维城市建模与数字孪生是当前GIS和三维可视化领域的热点技术,其核心在于高效、大规模地生成逼真的城市三维场景。程序化生成技术通过编写规则而非手动建模,实现了这一目标,它能极大提升城市规划、游戏开发和仿真模拟的效率。CityEngine正是这一领域的代表性工具,它基于CGA规则语言,允许用户通过代码逻辑驱动城市模型的自动生成。对于初学者而言,顺利安装与配置是实践的第一步。本文聚焦于CityEngine 2023的部署,详细解析了安装前的系统环境核查、硬件要求、许可证配置等关键准备步骤,并提供了分步安装指南与首 阅读详情

相关推荐

经典密码体制(上)

头歌

shannidawang的博客 3086

告别ArcGIS卡顿?试试用FME 2020做空间数据转换,附完整安装与激活避坑指南

本文详细介绍了如何利用FME 2020高效处理空间数据转换,解决ArcGIS卡顿问题。提供完整的安装与激活指南,包括环境检查、分步安装流程及常见问题解决方案,帮助用户实现FME与ArcGIS的协同工作,提升地理信息处理效率。

dizi9750的博客 423

【物联网毕设】多模态智能门禁系统设计(STM32+人脸识别+蓝牙联动)

本文详细介绍了基于STM32的多模态智能门禁系统设计,整合了人脸识别、蓝牙联动、RFID和密码等多种开锁方式。文章从硬件选型、电路设计、嵌入式软件编程到手机APP开发,提供了完整的毕设实现方案与调试指南,帮助物联网与嵌入式方向的学生构建一个功能全面、可扩展的智能门禁系统。

rain6的博客 247

ArcEngine 入门教程-帮助如何使用

缘起 授人以鱼不如授人以渔,学习任何一门技术,我相信都是从帮助文档入手的,ArcEngine也不例外。本文主要分享如何使用ArcEngine帮助,快速找到自己想要的信息以及如何利用帮助整体的学习官方的示例代码。 ArcEngine帮助 帮助分类 帮助如何使用 ...

爱莫能助 1万+

DPABI安装教程

DPABI是是中科院心理研究所严超赣老师团队开发的一款磁共振脑影像数据分析工具包。基于SPM,在安装DPABI之前需要安装好SPM,才能正常使用。SPM的安装方法见文matlab2021a版本条件下安装spm_kidllll的博客-优快云博客 1、下载安装包 下载地址:DPABI: a toolbox for Data Processing & Analysis for Brain Imaging | The R-fMRI Network 2、将下载好的dpabi文件夹移动到matl..

qq_42356925的博客 1万+

f2fs学习笔记 - 3. F2FS文件系统布局

目录1.前言2.F2FS布局说明2.1. super block(block 0x0 ~ block 0x1ff)2.2 CP(block 0x200 ~ block 0x5ff)cp page1nat journalsit journaldata summarycurrent hot node summarycurrent warm node summarycurrent cold node summarycp page22nd checkpoint2.3 SIT(block 0x600 ~ block

HZero 4645

Unity 2023 HybridCLR热更新安装失败:三大核心解决方案与实战排查

热更新技术是现代移动应用与游戏开发中的关键能力,它允许开发者在无需重新发布应用商店版本的情况下,动态更新代码逻辑与修复线上问题,极大地提升了产品迭代效率与问题响应速度。其核心原理在于绕过传统的编译-打包-发布流程,通过运行时加载并执行新的代码模块来实现功能更新。在Unity引擎生态中,IL2CPP作为高性能的脚本后端,其原生的AOT(预先编译)特性对动态代码加载构成了挑战,而HybridCLR正是通过增强IL2CPP运行时,实现了对C#动态dll的加载支持,为Unity项目带来了高效、类型安全的热更新方案。

weixin_30629653的博客 397

告别TI官网迷路!手把手教你用C2000Ware为TMS320F28027搭建Proteus仿真工程模板

本文详细指导如何使用C2000Ware为TMS320F28027搭建Proteus仿真工程模板,帮助DSP开发者快速上手。从资源获取、工程目录设计到关键文件配置,再到CCS与Proteus的联调技巧,全面解析仿真工程搭建的每个步骤,特别适合初学者和工程师参考。

weixin_42715608的博客 472

微软技术日报 11-09:.NET 8 与 9 明日同时停止支持,注册表编辑器出了 WinUI 3 版

今天这四条消息的共同点是收口。.NET 8 和 9 的支持期到点,注册表编辑器的新界面只放在仓库里给人看,GitHub 把一类危险触发器按住默认,微软在安全报告里把防线从地址黑名单挪到行为。收口并不等于关门。.NET 10 还在支持期里,被按住的触发器可以用策略按文件放回来,实验室里的样例随时可能变成产品。区别在于这些动作要有人签字,不再是默认开着。如果今天只做一件事,去看一眼构建机上的 .NET 版本。明天之后,8 和 9 的漏洞补丁不会再来了。

海盗Sharp的博客 313

GAN网络(论文阅读):Generative Adversarial Nets

当判别器效果比较好时,D(G(z))值为0,则log(1-D(G(z)))值为0,当判别器效果不好,会输出一个大于0 的数,则log(1-D(G(z)))值就为一个负数,在极端情况下,会得到负无穷大,此时判别失误。在价值函数的第二项中存在问题,在早期G比较弱的时,生成的数据和真实数据相差很大,D就容易训练的比较好,很容易区分,就会导致log(1-D(G(z)))变成0 ,这样很难求梯度来优化G,所以更新G时,将优化函数改为log(D(G(z)))。最终使G赢,即G生成的数据D判别不出来。

m0_54248968的博客 2293

平头哥面试——芯片工程师面经

有5个成递增关系的32bit地址值,彼此之间的间隔大小不确定,可以把他们当成parameter来输入模块,现有一个32bit输入数据,要求用尽量少资源去的判断这个数处于哪2个地址之间(地址区间),并且输出区间号。a)后续大概会在9月下旬谈具体的薪资,他们现在也没想好今年应届生的薪资该给多少,到时候如果可以签三方的话可能会跳过意向书环节直接发offer,谈薪资肯定是通过电话来。b. 这边的CPU是自己研制的(玄铁),成都这边主要做存储和网络,都有SOC。a. 成都这边的网络部门具体做的业务有哪些?

FPGA/MATLAB学习教程/源码/项目合作开发 2688

微软技术周报 11-02~11-09:VS Code 混装 Claude 与 Codex、EF Core 11 静默改行为、.NET 11 倒计时

11 月 6 日,Power Platform 通过消息中心通知管理员,Copilot Studio、Power Automate 和 Power Apps 里所有跑在 Anthropic Claude、xAI Grok 以及旧版 GPT 上的 prompt,12 月 2 日自动迁移到 GPT-6 系列,档位价格不变,模型选择收窄到一条产品线。效果是这样的:让 Claude 评审一个 Copilot chat 写出的方案,或者把同样的任务交给 Codex,两边并排跑在同一个会话里。更要紧的是下周的时间线。

海盗Sharp的博客 774

【OpenFOAM】-olaFlow-算例10-wavemakerTank

采用 Flap和Piston两种方式的动网格进行造波

ou_no的博客 2167

11-01-演进-.NET GC发展史

.NET GC发展史映射硬件演进:从单核STW到多核并发,再到区域化细粒度回收。历经分代管理、ServerGC、BackgroundGC、LOH自动压缩、POH隔离、DATC自适应线程数及Region-based管理等关键革新,代码量从5000行增至4万+,复杂度指数上升。每一步优化均在暂停时间、吞吐量与资源开销间权衡,体现“实用主义”哲学。核心启示:GC演进由硬件驱动,方向明确——更短暂停、更高效率,但代价是工程复杂性持续攀升。

设计 AI 玩游戏🎮 372

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

.NET 10 的性能提升

你不需要重写代码去用Span<T>,不需要手工池化对象,甚至不需要调整 GC 配置。JIT 编译器变得更“聪明”了,它会在编译时替你完成一些过去需要手动干预的优化。但与此同时,.NET 10 也引入了一个默认开启的 GC 行为变化,它在某些场景下会。这篇文章想讲清楚:哪些性能是你“自动”拿到的,哪些是需要你主动审视和取舍的。

qq_41019429的博客 344

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

在 .NET 10 中使用 Keycloak.Admin.Sdk 管理 Keycloak:从基础接入到功能开关

面向 .NET 10 / Native AOT 的 Keycloak Admin REST API 客户端,当前仅支持 Keycloak 26.8.1。主包引用 Microsoft.Extensions.Http 10.0.14 和 Microsoft.Extensions.Http.Resilience 10.11.0,使用源生成 JSON 元数据,默认关闭反射序列化。仓库固定 .NET SDK 10.0.403。

ChaITSimpleLove的博客 369

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

.NET 性能优化:先找瓶颈,再谈技巧

NET 性能优化没有“一招鲜”。Span<T>ValueTaskstackalloc这些工具在特定场景下确实很强,但它们解决的是微观层面的分配问题。如果你的应用瓶颈在数据库查询或者线程池阻塞,用再多Span<T>也救不回来。先测量,找到热路径,再针对性修改,改完再测量验证。跳过第一步的优化,大概率是在给编译器添乱。

qq_41019429的博客 378

.NET 11 - 尝试一下Blazor中的新特性SupplyParameterFromTempData

时光匆匆,.NET Conf 2026大会将会在2026年11月份举办(11/10-11/13),到时微软将会发布.NET11,这是一个STS版本(Standard Term Support), 微软提供两年支持。当前.NET 11已经处于RC3版本(Release Candidate 3),很多新特性已经被发布出来了。

limingdinghao的博客 227

FFmpeg × C# 实战:从命令行原理到 .NET 工程化落地

本文系统讲解 FFmpeg 的核心概念(容器/编码/流/滤镜/时间基),并给出 C# 对接的五条技术路线对比。重点实现一个可落地的 FFmpegRunner 封装,解决管道死锁、结构化进度解析、取消超时、二进制分发与参数注入五大工程问题;随后覆盖转码、裁剪、合并、抽帧、限体积压缩、水印、硬件加速六大高频场景,并附安全清单与排错速查表。

李赛赛的专栏 605

在.NET WinForms中创建SQLite数据库

本文介绍在WinForms项目中使用SQLite的完整流程:通过NuGet安装System.Data.SQLite.Core包,将数据库文件置于程序目录下,利用CREATE TABLE IF NOT EXISTS实现自动建库建表;通过封装GetConnection()方法管理连接,初始化时调用Init()创建表结构;后续通过参数化SQL实现增删改查操作,支持数据绑定、登录验证等场景,确保安全高效。

2301_80809484的博客 292

基于.NET的Windows窗体编程之WinForms数据持久化(1)

本文介绍了在.NET Windows窗体开发中,基于EFCore与SqlSugar两种主流ORM框架实现数据持久化的实践。通过创建实体模型、配置DbContext或ConnectionConfig,结合增删改查操作,展示了如何高效完成数据库交互。EFCore适合复杂CRUD场景,支持LINQ与迁移;SqlSugar则以简洁API和高性能著称,适用于快速开发。两者均显著降低SQL编写量,提升代码可维护性,助力开发者专注业务逻辑。

绳锯木断,水滴石穿,专心写文,无问西东!!! 163

一款基于 .NET 开源、免费的数据库自治诊断平台

DBPilot。它解决的是 DBA 日常工作中最耗时的痛点:性能趋势分析、Top SQL 定位、阻塞与死锁排查,原本散落在多个工具和脚本里的活,现在一个 Web 控制台全搞定。DBPilot 是一个自托管的数据库自治诊断平台。它持续采集实例的性能数据,在同一个 Web 控制台里完成日常 DBA 工作流:性能趋势与 AAS 负载拆解、Top SQL、执行计划变更跟踪、缺失索引建议、索引使用与碎片、阻塞分析、死锁分析、慢日志。

专注于C#/.NET/.NET Core学习、工作、面试干货和实战教程分享。这里聚焦了大量的C#/.NET/.NET Core优质文章、开源项目、实用工具和学习、工作、面试心得。 175

Keycloak.Admin.Sdk 26.8.1-preview.3 发布:从管理 API 到应用协议的 .NET 10 SDK

如果你的项目正在使用 Keycloak 26.8.1,欢迎通过 NuGet 体验 **26.8.1-preview.3**,也欢迎提交具体接口、协议或运行环境下的使用反馈。

ChaITSimpleLove的博客 308

按Ctrl键会引发几次按键消息

                                                                           何志丹(一),新建一个单文档工程CtrlEg。(二),为CCtrlEgView的WM_KEYDOWN消息和WM_KEYUP消息添加响应函数。具体代码如下:void CCtrlEgView::OnKeyDown(UINT nChar, UINT nRe

闻缺陷则喜何志丹 1792

C# + .NET 8 + WPF + HALCON25.11

在解决方案资源管理器,右键→【设为启动项目】顶部菜单:【生成】→【生成解决方案】,看输出窗口,无报错按F5启动调试点击按钮【加载测试图】:图片显示,缺陷自动画红框,表格输出坐标。

qq_36657291的博客 272

微软技术日报 11-10:.NET 11 今晚发布,.NET 8 与 9 同日停更,Copilot 连接器开写入

今天微软技术侧的重心全压在一个日期上。11 月 10 日既是 .NET Conf 2026 开幕、.NET 11 正式发布的日子,也是 .NET 8 与 .NET 9 终止支持的日子。同一个日期上,一条线开始,两条线结束。除了这条主线,还有三件事在这一两天落地。微软安全博客公布了一轮用智能体扫 Rust 标准库的研究,Copilot 连接器的写入能力转为正式可用,Windows 11 的统一应用更新页又在预览版里冒了头。

海盗Sharp的博客 687
上一篇: C,C++程序员使用C#应注意的一些小问题[4]
下一篇: OpenGL优化
ftkghost
博客等级 码龄22年 40粉丝 28原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值