当前位置: 首页 > news >正文

arcgis投影后数据显示问题记录

文章目录

    • 问题发现
    • 造数据测试
    • 小结

问题发现

上周在arcgis中画了一个东北半球的经纬度网格,在国家2000大地坐标系下创建的面要素如下图:
在这里插入图片描述
经度跨度0-180,纬度跨度0-90
想着这种经度跨度180以高斯克吕格投影会变形成什么样子,选取120度经线做投影如下:
在这里插入图片描述
这里猛然一看,感觉正好和教科书上说的的橘子瓣一样,非常理想
但是却有很大的问题:我的原始网格可就是四个点坐标连线构成的面,投影转换按照转换逻辑可就是捕获几何图形顶点坐标转换,然后对转换后的顶点坐标构面。投影及坐标转换都是基于点的变换。因为很久之前无聊的时候用过经纬度的线做投影测试过,投影之后除投影的中央经线都会凹向中央经线,是以经线顶点为基本单位做的投影转换,经线上点越密集,投影后越平滑。这里的面要素却完全不一致,难道是arcgis做了优化?于是引出自己的第一个疑问

arcgis中面的投影转换是以什么为基本单位进行的转换,转化过程中会自己加密面上的点吗

后面我又画了一个更大的经纬度网格,画了北半球的网格经度跨度 -180 - 180,纬度跨度0-90,投影后发现东北半球和北半球图形居然一样,十分困惑。

来不及细想,也不想细想,接着我又画了东北半球四个交点,四个角点连线,分别以点要素和线要素测试经纬度图形如下
在这里插入图片描述在这里插入图片描述
结果更是让我猝不及防,并没有出现我想象中的下面两幅图
在这里插入图片描述在这里插入图片描述
真实的结果却是,点要素投影后四个角点坐标根本看不见了,线要素还勉强还有点面子,留了一根纬线
在这里插入图片描述
顺便提一嘴纬线跨度75-165
其实到这里,结合北半球的面和东北半球的面投影之后图形一样,基础比较好的同学已经猜到了大概或者结果,因为自己基础薄弱,我当时脑子里只有疑问,其实蒙在鼓里的我也不应该想到什么
这里引出了第二个问题
点线要素投影之后怎么不见了,面要素却还很正常

造数据测试

为了搞清楚点要素和线要素为什么消失了,我先在120度带左右不断添加经线,然后投影观察投影后显示情况,每隔10度添加一条经线,最终东经70度与东经170度投影后消失了;接着我又在160-170经度区间每隔一度添加一条经线,发现至165°消失,至此,之前问题现象可以解释了,下面是测试数据截图
在这里插入图片描述
在这里插入图片描述
接着网上查询解释,也在官方找到了说明,其实就是自己不知道,人家早就给你说的明明白白了
在这里插入图片描述
至此,点线消失的问题解决了,就是arcgis人家为了稳定性,对投影范围做了限制,面其中一个问题也解决了就是北半球的面与东北半球的面以东经120度投影之后得到的图形一样,超过中央经线45度的范围人家就不显示了。
但面的另一个问题:为什么面投影之后经线直接是曲面橘子瓣形状,面投影是不是和点线投影一样按照顶点坐标逐点转换的。

答案就是,就不该有这个问题,还是我自己先入为主
下左图中上面的矩形是东北半球网格,经度范围 0-180, 纬度0- 90
下左图中下面的矩形位于东南半球中,经度范围 75-165,纬度0- -90,以120度为中央经线刚好超出45度限定范围
下右图是以120度为中央经线的投影显示,可见超出45度界限后,投影图形都一样,而且自动生成橘子皮效果
在这里插入图片描述在这里插入图片描述
下左图上方矩形经度范围 76-164,纬度0-90,满足以中央经线120投影的45度范围,经线方向两条边每隔10度纬度打一个顶点
下左图下方矩形经度范围 76-164,纬度0–90,同样满足45度限制范围,经线方向两条边每隔45度打一个顶点
下右图为以120为中央经线投影后效果,可以得出结论,面也是满足逐顶点投影的
在这里插入图片描述在这里插入图片描述

最后再放两张体现45度限制影响的威力图
下左图蓝色矩形经度范围 76-164,纬度-90 - 90
下左图粉色矩形经度范围 75-165,纬度-90 - 90
下左图两个矩形除四个角点坐标外,仅在0纬度边上打了两个点
下右图为投影后效果
在这里插入图片描述在这里插入图片描述

另外再补充一个东西,arcgis如果画东经160-东经240(东经最大180)的图形,会从西边跑出来,也确实满足了地球圆的

在这里插入图片描述

小结

一个莫名其妙的想法,本来想简单画个数据看下什么样子的,结果出了一堆 疑问,造数据测试,搞明白了,但回头一看也没几个知识点,不知道的时候大脑空空,只有问题,但是知道后又感觉没啥用,全都是一些胡思乱想的问题,花数个小时测试记录

http://www.lryc.cn/news/585992.html

相关文章:

  • 非程序员如何用 AI 提升日常工作效率:以产品经理为例的落地实践指南
  • error while loading shared libraries
  • 小架构step系列12:单元测试
  • [爬虫实战] 多进程/多线程/协程-异步爬取豆瓣Top250
  • Pytest 跳过测试技巧:灵活控制哪些测试该跑、哪些该跳过
  • linux系统mysql性能优化
  • H2在springboot的单元测试中的应用
  • 多 Agent 强化学习实践指南(一):CTDE PPO 在合作捕食者-猎物游戏中的应用详解
  • 引入了模块但没有使用”,会不会被打包进去
  • 【C++小白逆袭】内存管理从崩溃到精通的秘籍
  • c++反射实现
  • 张量数值计算
  • 跨系统开发代码换行符如何解决
  • 每日一SQL 【销售分析 III】
  • 试用了10款翻译软件后,我只推荐这一款!完全免费还超好用
  • 大模型KV缓存量化误差补偿机制:提升推理效率的关键技术
  • Qt6中出现 OpenCV(4.10.0) Error: Assertion failed
  • 第10讲——一元函数积分学的几何应用
  • 创建 UIKit 项目教程
  • 在 Java 中,计算两个 Integer 类型表示的合格数量与总数量的合格率,并保留四位小数,推荐使用 BigDecimal 来确保精度
  • springboot+swagger2文档从swagger-bootstrap-ui更换为knife4j及文档接口参数不显示问题
  • 股票的k线
  • 从基础加热到智能生态跨越:艾芬达用创新重构行业价值边界!
  • 人工智能自动化编程:传统软件开发vs AI驱动开发对比分析
  • 【科研绘图系列】R语言绘制小提琴图
  • 【TGRS 2025】可变形交互注意力Deform-Interac-Att,即插即用,涨点神器!
  • 【八股消消乐】Kafka集群 full GC 解决方案
  • 系统分析师-计算机系统-输入输出系统
  • 计算机视觉与深度学习 | 基于Matlab的多特征融合可视化指纹识别系统(附完整代码)
  • 3 c++提高——STL常用容器(一)