当不同来源、不同坐标系统的空间数据要在一起使用、相互参照时,就要进行坐标转换,如果涉及不同的地图投影,就要进行投影变换。

动态投影

所谓动态投影,是指改变ArcMap中的数据框架(DataFrame)的空间参考或者对后加入ArcMap中的数据进行投影变换。

新打开的ArcMap的图层是没有坐标系统的,如下图:

ArcMap的数据框架的坐标系统默认为第一个加载到当前数据框架的那个图层的坐标系统,后加入的数据如果和当前数据框架的坐标系统不同,则ArcMap会自动进行投影变换,把后加入的数据投影变换到当前坐标系统下显示,但此时图层数据所存储的坐标值并没有改变,只是显示的地理要素的形态发生了变化,因此将这种投影变换过程称为动态投影,这种投影是一种临时性变换。

数据框图层的坐标系:(与第一个添加进来的数据坐标系保持一致)

从上面的图中,我们可以看出world_grid和CN_prv的坐标系是不一致的,通过动态投影,那么在同一空间内可以查看它们。

定义投影:

如果某一数据集的坐标系未知或不正确,我们可以用定义投影来指定正确的坐标系,使用前,必须知道该数据集的正确坐标系。定义投影相当于给数据贴上标签。关于数据集坐标系的描述,SHP文件中存储在.prj的文件中,我们可以用记事本打开,来查看数据集的坐标系信息,当然,删除该文件,那么查看数据的话,坐标信息会显示为“未知”。

通常情况下,我们可以通过导入坐标和定义投影,来对数据的坐标信息添加标签。

1、导入坐标,这个我们可以在ArcCatalog中shapefile属性的XY坐标系来实现。2、定义投影工具(ArcToolbox-数据管理工具-投影和变换-定义投影)投影变换

实际上,我们更需要是永久性的坐标值转换。在ArcMap中,我们可以通过投影工具(ArcToolbox-数据管理工具-投影和变换-投影),将空间数据从一种坐标系投影到另一种坐标系。

当不需要地理变换或基准面变换时,参数中不会出现下拉列表,并且参数为空。当需要变换时,将会基于输入基准面和输出基准面生成一个下拉列表,并会选择一个默认变换。

例如,从 GCS_North_American_1983 投影到NAD_1983_UTM_Zone_12N 时就不需要地理变换,因为输入坐标系和输出坐标系都具有 NAD_1983 基准面。但是,从 GCS_North_American_1983 投影到 WGS_1984_UTM_Zone_12N 时则需要地理变换,因为输入坐标系使用的是 NAD_1983 基准面,而输出坐标系使用的是 WGS_1984 基准面。

变换是双向的。例如,如果将数据从 WGS 1984 转换为 NAD 1927,可以选取一个名为 NAD_1927_to_WGS_1984_3 的变换,然后此工具即可正确应用它。

事实上,事情远远要比我们想象的复杂,虽然国家都会要求有一套标准的坐标系,但是各个地方又会根据自己的需要,建立自己的坐标系。这样的两种坐标系之间的地理变换方法,在ArcMap中是没有的,就不能自动实现投影间的直接转换,如果要对其进行坐标转换,必须在投影之前,先要使用创建自定义地理(坐标)变换(ArcToolbox-数据管理工具-投影和变换-创建自定义地理(坐标)变换)自定义七参数或三参数实现投影变换,但前提是要知道参数值。

例:84to2000

所有的自定义地理变换文件都将存储为扩展名为 .gtf 的文件,并存储在用户 Application Data 文件夹下的 ESRI\\ArcToolbox\CustomTransformations 文件夹中。如果 CustomTransformations 文件夹不存在,此工具会自动创建。如果 Application Data 文件夹为只读或已隐藏,则输出会创建到用户临时文件夹下的 ArcToolbox\CustomTransformations 中。Application Data 和 temp 文件夹的位置或名称取决于操作系统。

如果投影变换失败,出现如下问题“invalia extent for output coordinate system”和“以试图对空几何执行该操作”,这是坐标范围的问题,鼠标放在地图上任意位置,查看坐标值,一般情况都是加上的带号,根据横坐标的前两位来判断带号,并重新定义投影,再进行投影。也可以在编辑状态下,选中所有要素,将所有的横坐标,都减去带号值,保存编辑,这样就可以去掉代号。

arcgis已试图对空几何执行该操作_ArcGIS中坐标转换和投影变换相关推荐

  1. arcgis已试图对空几何执行该操作_ArcGIS中地理配准与空间校正的不同

    ArcGIS中地理配准与空间校正都是用于数据坐标变换的目的,他们之间有什么区别呢? 1.处理对象不同: 地理配准针对栅格数据,而空间校正针对矢量数据. 因此空间校正需要建立在矢量数据编辑的基础上,空间 ...

  2. 集合已修改;可能无法执行枚举操作。

    问题描述:在用foreach遍历hashtable的时候,弹出"集合已修改:可能无法执行枚举操作." 问题代码: private void Check(int TimeOut)   ...

  3. 错误信息: 集合已修改;可能无法执行枚举操作。

    错误信息:     集合已修改:可能无法执行枚举操作. 调用堆栈: 在 System.ThrowHelper.ThrowInvalidOperationException(ExceptionResou ...

  4. 集合已修改,可能无法执行枚举操作

    原因: 不要在foreach里做删除或增加集合的操作 在循环的时候,当集合被删除了一个item后,那么总数 count和索引就会发生改变.所以会报错 解决方法: 不要在List上执行枚举集合的操作(例 ...

  5. jQuery遍历div,判断是否为空,为空时执行某个操作

    以下运行结果: 代码如下: <!DOCTYPE html> <html><head><meta charset="utf-8" /> ...

  6. arcgis select by attributes一次选多个_ArcGIS中属性表的常用操作汇总

    ArcGIS中属性表的常用操作汇总 本篇文章将平时对arcgis属性表的相关操作记录下来,防止忘记.此外,在技术摸索中参考了一些gis大牛的博客和技术分享,我在博客结尾也粘贴了他们的博客地址在此表示感 ...

  7. ArcGIS中坐标转换与投影变换

    1 .栅格数据的投影变换 1 1.1定义投影 1 1.2查看投影 3 1.2.1 在ArcCatalog中查看数据的投影信息 3 1.2.2在ArcMap中查看数据的投影信息 3 1.3投影变换 4 ...

  8. ArcGIS如何获取地理要素的几何边界

    ArcGIS如何获取地理要素的几何边界 在很多的时候,在进行地理数据处理的时候,需要获取要素图层中每一个要素图形的几何边界,在ArcGIS的桌面ArcMap中提供了这样的工具,能够非常快速的获取要素图 ...

  9. 试图执行的操作不受支持解决办法

    在VS2008使用串口控件,在DDX_Control(pDX, IDC_MSCOMM1, m_com)处弹出"试图执行的操作不受支持"提示,查无重复资源或调用已删除资源,最终发现是 ...

  10. java面试题36 已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的? ( )

    java面试题36 已知如下的命令执行 java MyTest a b c 请问哪个语句是正确的? ( ) A args[0] = "MyTest a b c" B args[0] ...

最新文章

  1. easy-x库graphics.h图形库安装
  2. heritrix 3.2.0 -- 环境搭建
  3. 正确认识使用UML中的类图——辨析类图的两种存在形式
  4. linux裸机网络安装,linux下PXEServer实现网络安装【实验】
  5. linux 上传文件 rz命令 提示command not found 解决方法
  6. 问题:get_params() missing 1 required positional argument: 'self' 之解决
  7. JZOJ 3503. 粉刷(paint)
  8. Pandas Series 1
  9. 查看dll是32还是64
  10. win7 mysql zip包如何安装_MySql 5.7.31 win7 Zip压缩包配置教程
  11. 用计算机和电视机组成家庭影院,请问家庭影院的音响能接在电脑上用么?我的电脑没有配置音响能用家庭 爱问知识人...
  12. 《MATLAB智能算法超级学习手册》一一1.5 简单工程应用分析
  13. word2vec模型
  14. C#-Event事件
  15. ESP32 学习笔记(七)I2S - Inter—IC Sound
  16. c语言 申请变量函数,C语言中变量和函数
  17. Scaner和顺序语句
  18. 学生办理美国旅游签全过程
  19. CSDN博客炫丽图标调整字体大小和颜色
  20. 灌注桩如何计算机械台班,钢护筒造价计算及套定额

热门文章

  1. 51. 移除重复脚本(12)
  2. 127.自己开发一个 PHP 框架
  3. 35. 后台模块开发(2)
  4. 11. jQuery - Chaining
  5. MSCRM plicklist 级联JS
  6. iOS - 数组字典模型根据模型属性key排序
  7. TortoiseSVN使用指南
  8. linux 在后台运行数据库导入导出命令
  9. js动态计算移动端rem
  10. Scala学习笔记(六):Scala程序