首页 > 编程语言 >【C#】记ArcObject下的几何投影变换的一个需要注意的坑

【C#】记ArcObject下的几何投影变换的一个需要注意的坑

时间:2023-01-08 11:56:20浏览次数:41  
标签:spatialReferenceFactory spatialReferenceTo point C# 投影变换 geometry ArcObject 坐标系

翻出陈年代码重写,老是报”The coordinates or measures are out of bounds.“

找来找去发现错误出在下面snippet里,geometry.Project(spatialReferenceTo)会对传入的point处理,所以应该带ref关键字以示提醒。

 /// <summary>
        /// 平面坐标系点转地理坐标系点,在ArcGIS平台下
        /// </summary>
        /// <param name="point">平面坐标系下的点</param>
        /// <param name="factoryCodeFrom"></param>
        /// <param name="factoryCodeTo">默认2000地理坐标系</param>
        public static void PointProjectedToGeographicOnArcGISPlatform(ref IPoint point,int factoryCodeFrom,int factoryCodeTo=4490 )
        {
            ISpatialReferenceFactory spatialReferenceFactory = new SpatialReferenceEnvironmentClass();
            ISpatialReference spatialReferenceFrom = spatialReferenceFactory.CreateProjectedCoordinateSystem(factoryCodeFrom);
            ISpatialReference spatialReferenceTo = spatialReferenceFactory.CreateGeographicCoordinateSystem(factoryCodeTo);
            IGeometry geometry = point as IGeometry;
            geometry.SpatialReference = spatialReferenceFrom;
            geometry.Project(spatialReferenceTo);
        }

 

标签:spatialReferenceFactory,spatialReferenceTo,point,C#,投影变换,geometry,ArcObject,坐标系
From: https://www.cnblogs.com/yzhyingcool/p/17034347.html

相关文章

  • 【博学谷学习记录】超强总结,用心分享|CSS布局知识总结
    CSS布局一、浮动1.1结构伪类选择器1.作用与优势:作用:根据元素在HTML中的结构关系查找元素优势:减少HTML中类的依赖,有利于保持代码整洁场景:常用于查找某父级选择器中......
  • 【优先队列】LeetCode 347. 前 K 个高频元素
    题目链接347.前K个高频元素思路前k大模板题代码classSolution{publicint[]topKFrequent(int[]nums,intk){PriorityQueue<Map.Entry<Integer,......
  • Educational Codeforces Round 14
    EducationalCodeforcesRound14https://codeforces.com/contest/6914/6:ABCD(C是恶心人的模拟分类讨论,写了巨久导致没时间看EF)这场没有红题,应该是可以补完的。A.Fas......
  • anaconda基本操作及一些问题的解决记录
    anaconda虚拟环境查看安装了哪些包condalist查看当前存在哪些虚拟环境condaenvlistcondainfo-e检查更新当前condacondaupdatecondaPython创建虚......
  • Fiddlercore
    Fiddlercore拦截并修改HTTPS链接的网页,实现JS注入.联系QQ564955427 https://www.cnblogs.com/Charltsing/p/FiddlerCoreHTTPS.html使用fiddlercore修改网页的返回内容h......
  • re | [QCTF2018]Xman-babymips
    re|[QCTF2018]Xman-babymipsmips32架构的题目位运算,前5位直接xor,后面再加密一次。直接爆破就好exp:aim=[82,253,22,164,137,189,146,128,19,65,84,16......
  • vue-cli更改包管理器yarn为npm
    找到路径C:\Users{当前登录的用户名}\下的.vuerc文件打开此文件,修改packageManager的值就可以了如果你想在项目中使用npm包管理工具,就将其值改为"npm"如果你想在项目中......
  • Codeforces Round #839 (Div. 3) A-E
    CodeforcesRound#839(Div.3)A-Ehttps://codeforces.com/contest/1772之前打的一场忘记记录了,题也没补,今天想起来E博弈没过补一下,FG不想看了好长qwq做太久已经忘了......
  • 使用.vimrc配置vim
    使用.vimrc配置vim。11"语法高亮22syntaxon3344"主题色55colorschemedelek"想要看vim自带的主题,在非编辑模式下:colorscheme,然后......
  • CodeForces - 1760F Quests
    CodeForces-1760FQuests题解:二分答案首先我们来分析一题目,如果说K越大,我们在d天里很有可能得不到C个硬币,所以K的最大值一定在合法答案和不合法答案的临界点,并且这些......