ArcGIS小技巧—你分得清投影与定义投影吗

embedded/2024/11/14 19:50:01/

Arcmap中关于投影的工具有四个,分别是定义投影投影投影栅格、批量投影。这四个工具既有相同之处也有不同之处,下面我将一一介绍。

①定义投影:Arcmap中关于定义投影工具是这样描述的:“所有地理数据集均具有一个用于显示、测量和转换地理数据的坐标系,此坐标系在 ArcGIS 中使用。如果某一数据集的坐标系未知或不正确,您可以使用此工具来指定正确的坐标系。使用此工具前,您必须已获知该数据集的正确坐标系。”简单来说,当数据的坐标系和我们想要的坐标系不一样的时候,我们可以利用此工具进行坐标系的转换。但是需要注意的是,此工具只能进行相同类型坐标系之间的转换,即由地理坐标系→地理坐标系,投影坐标系→投影坐标系。如果使用该工具进行不同类型坐标系之间的转换,就会出现问题,例如将只有地理坐标系的图层利用定义投影转换为具有投影坐标系的图层时,操作完以后数值并没有变化,只是改变了单位(由dd变成了m)。这样子显然是不对的。因此,使用定义投影这个工具时我们需要注意的是,要清楚源数据是有地理坐标系还是有投影坐标系,再用这个工具进行相同类型坐标系的转换。

②那么,如果我们想把只有地理坐标系的数据转换成相应地理坐标系下的投影坐标系该怎么做呢?这就要用到投影或者投影栅格这两个工具了。如果数据是矢量数据的话就用投影工具,是栅格数据的话就用投影栅格工具。Arcmap中关于投影(栅格)工具的描述是:“将空间数据从一种坐标系投影到另一种坐标系。”这也就意味着你可以将数据从地理坐标系转换成投影坐标系,也可以从投影坐标系转换成地理坐标系,当然也可以进行相同类型坐标系的转换。不过,如果进行的是不同基准面之间的变换的话,就需要注意地理变换的问题。Arcmap在处理不同基准面之间坐标系的转换时是默认进行地理变换的,所以这也不是问题了。例如我要将只有地理坐标系WGS-84的图层转换成投影坐标系CGCS2000_3_Degree_GK_CM_111E时,很显然两个坐标系的基准面是不同的(一个是D_WGS-84,另一个是D_CGCS2000),但是由于投影工具是能够默认进行地理变换的(即将WGS-84的基准面变换到CGCS-2000),所以是能够执行成功得到正确结果的。

如图所示,在进行投影变换后会默认把地理坐标系从WGS84转换到CGCS2000的。

如果说进行的是地理坐标系转相应地理坐标系下的投影坐标系时,那就不需要考虑地理变换的问题了。

比如说我把只有地理坐标系的数据转换成投影坐标系WGS_84_UTM_Zone_50,由于它们的基准面都是D_WGS_84,所以也就不需要进行地理变换了。

③ 批量投影这个工具与投影工具其实是一样的,如果你要将多个数据转换成同一坐标系时,这个工具是比较方便的。

最后来归纳一下定义投影工具和投影工具的区别吧:Ⅰ.当数据只有地理坐标系时,如果我们想把它转换成投影坐标系,可直接使用投影工具,或者可以先用定义投影工具转换成其他的地理坐标系,再用投影工具转换成对应的投影坐标系;当我们只想把它转换成其他的地理坐标系时,定义投影投影工具都可以使用。Ⅱ.当数据只有投影坐标系时,如果我们要把它转换成其他的投影坐标系,定义投影工具和投影工具都可以实现,但是如果我们要转换成地理坐标系,就只能用投影工具了。

以上是小编在亲身实践中的个人感悟,只代表个人观点,所以难免会有总结不到位的情况,如您在阅读过程中有任何想法或者发现了问题,欢迎批评指正!

我是“GIS小白”,更多内容欢迎关注小编的公众号“梧桐GIS”,谢谢大家支持!


http://www.ppmy.cn/embedded/18826.html

相关文章

k8s部署alertmanager

修改alertmanager-pvc.yaml文件中的信息&#xff0c;然后应用YAML文件 cat > /opt/k8s/alertmanager/alertmanager-pvc.yaml <<EOF apiVersion: v1 kind: PersistentVolumeClaim metadata:name: alertmanager-data-pvc spec:accessModes:- ReadWriteManystorageClass…

iOS 使用Hex色值设置颜色(可设置透明度使用4个字节色值赋值)

一、先了解什么是Hex色值 简单来说就是用十六机制来表示三原色&#xff0c;三原色不同强度组合出不同颜色&#xff1b; 详见&#xff1a;Hex色值是什么&#xff08;含透明度&#xff09; 二、代码实现 iOS不如 Kotlin 有API可直接支持HEX赋值&#xff0c;得自己写个扩展方法…

AI时代的新沟通能力:结构化提示词

结构化提示词&#xff08;Structured Prompts&#xff09;是在使用大型语言模型&#xff08;Large Language Models&#xff0c;LLMs&#xff09;时&#xff0c;用来引导模型生成特定类型输出的输入文本。这些提示词通常包含明确的指令和上下文信息&#xff0c;使得生成的文本更…

新版IDEA频繁卡顿(UI 冻结)解决方案

当开启多项目多环境或复杂项目大项目时&#xff0c;新版IDEA会频繁卡顿冻结UI。 因为IDEA是Java写的&#xff0c;卡顿自然就是因为频繁Full GC导致的。 新版IDEA使用了G1垃圾回收器&#xff0c;当期望STW内一直无法有效回收大对象时&#xff0c;就会触发Full GC&#xff08;G1的…

vscode中jsconfig.json文件首行提示错误

在使用react框架开发前端时&#xff0c;文件jsconfig.json首行提示错误&#xff0c;打开设置&#xff0c;勾选如下图这项

Java基础入门day40

day40 DQL 分组补充 create table student(sid int,name varchar(20),sex char(6),score double,cid int ); ​ insert into student values(100, wukong, male, 99, 1); insert into student values(101, wuneng, male, 59, 1); insert into student values(102, wujing, ma…

结构化查询语言(SQL)的作用

结构化查询语言&#xff08;SQL&#xff09;的作用 结构化查询语言&#xff08;SQL&#xff09;是一种专门用来管理关系型数据库的语言。它具有以下重要作用&#xff1a; 1. 数据库管理 SQL被广泛应用于数据库管理&#xff0c;包括创建数据库、表和视图&#xff0c;定义数据…

【Flutter 面试题】 Dart 当中的 .. 表示什么?

【Flutter 面试题】 Dart 当中的 … 表示什么? 文章目录 写在前面口述回答补充说明写在前面 🙋 关于我 ,小雨青年 👉 CSDN博客专家,GitChat专栏作者,阿里云社区专家博主,51CTO专家博主。2023博客之星TOP153。 👏🏻 正在学 Flutter 的同学,你好! 😊 Flutter…