原标题:ArcGIS坐标转换操作实战(反算七参数)

坐标转换一直是空间数据处理里面一个非常重要的内容,特别是目前我国已经全面启用了CGCS2000坐标系统,以往那些54和80的坐标,未来都要统一转换到2000上面,所以很多数据处理的单位和同学,都非常关心坐标转换的问题。

虾神曾经听说地理所的一个大牛有过这样的论点——GIS大部分东西,都能在计算机专业里面找到影子,只有空间参考和投影是属于GIS自己所特有的东西。所以这个东西从来就是非地理专业与地理专业在学习和使用GIS中的一个分水岭(话说虾神作为一个纯粹的计算机专业出身的码农,当年学的时候也很痛苦……地图学原理看了好多遍,才明白了个大概)。

ArcGIS作为世界上应用最广的GIS软件,在投影转换方面的技术已经非常成熟了,但是因为中国特有的国情,导致很多国内特有的东西,他不具备——比如没有内置各种坐标系转换到CGCS2000的转换参数(一些国际特别是北美通用的转换参数,是内置的了),当然,还有国内特有的标准图幅号这种东西……

下面我们来看看,如何进行转换。

首先,转换的原理就不在这里掉书袋了,网络上很多,贴一张图意思一下:

实际上两个不同坐标系之间的转换,就是平移、旋转和比例尺度的的变化。

那么转换的方法,通常在大范围下,都是通过布尔沙沃尔夫七参数来进行转换的,数学原理(此处省略一万字和若干数学公式)……

理论研究的同学请去查阅《地图学原理》一书相关章节,下面进入工程实践操作:

ArcGIS里面,对于同椭球体下面的转换,是不需要任何参数的,比如我用WGS84(wkid:4326)转WGS84 Web Mercator(wkid: 3857),是不需要任何参数的:

但是要是换一个椭球体的话,比如换成cgcs2000,那么就需要定义地理转换参数了,如下:

当然,在新版本(10.4之后)的ArcGIS中,如果你不设定转换参数,也可以强转,只是转完之后,不保证精确度而已,而在比较老的版本里面,不设置转换参数,就直接不允许执行的。

所以,在转换的时候,定义转换参数是非常重要的,下面我们来看看怎么计算并且设定转换参数。

首先贴出公式,数学恐惧症的同学略过:

实际上就是一个七元方程组……好吧,算我没说,我们直接用软件来算。

要计算七元方程式组,就最少需要3个点来进行解算,限于写代码很痛苦,所以我们目前直接采用网上最流行的工具COORD GM来进行计算(有关心算法的,以后有机会再给大家讨论)。

这个神奇的软件如下:(PS:我很喜欢作者设置的这个图标)。

执行流程如下:

首先,准备三组坐标……准备的方法就大家各显身手了,比如用差分GPS去测量……,下面给出的三组模拟坐标,肯定是假的,仅供测试。

其中一组是WGS84的经纬度,一组是CGCS2000 3度分带 117E的投影坐标,我们就用这两组坐标来看看如何反算七参数。

首先,用ARCGIS的同学,要先明确一个问题,就是ArcGIS里面的XY坐标,与传统测量里面的XY坐标,是正好相反的,如下所示:

为什么会这样?因为传统测绘领域(包括OGC标准的GeoJSON里面,都是定义纬度在前,经度在后,原因是纬度的英文单词是latitude,简写为LAT;而经度是longitude,简写为LON……字母排序,你懂的)

明确这个问题之后,进入COORD GM操作时间:

步骤一:在COORD GM中设定要CGCS2000的椭球体参数:

CGCS2000椭球体的参数是公开的,在ArcGIS里面就有,这里只要需要输入长半轴和扁率就可以了

然后开始计算七参数了:

选定好各种参数,注意输入顺序

三组坐标输入完成之后,点击计算,得到结果:

这个就是计算出来的七参数,但是目前在ArcGIS里面还不能直接用,因为ArcGIS里面的单位与COORD里面是不一样的:

其中,ArcGIS里面的选择角度的单位是秒,而COORD里面是弧度;而ArcGIS里面的缩放比例尺用的是标准单位,而COORD里面用的百万分之,所以要进行如下转换:

后面那蓝色的就是可以在直接ArcGIS里面使用的参数了,下面把这些参数设置到ArcGIS中去:

Toolbox里面的投影转换找到创建地理变化:

按照如下信息,输入参数:

点击OK,完成创建

创建完成之后,在你的电脑的如下位置,会生成一个转换的配置文件:

C:用户你的用户名(比如Admin)AppDataRoamingEsriDesktop10.x(ArcGIS的版本)ArcToolboxCustomTransformations

比如我的机器上面,就在这个地方,配置文件的名称就是你设置的转换方法的名称:

下面就可以进行投影转换了:

然后你设置了数据和输入输出坐标系之后,系统会自动找到你设置的地理变换方法:

下面点击OK,完成坐标转换:

下面给出我这里的三组测试坐标系,大家可以用来练习一下:

No.1:

40.420897457099997,116.536157668000001

4476368.246360000222921,460634.908516999974381

No.2:

39.954091684500000,116.018334870999993,

4424893.136629999615252,416114.988767999981064

No.3:

39.834201677400003,116.712166401999994,

4411159.581939999945462,475361.417197000002488

输出结果:

DX=-0.016777

DY=0.033226

DZ=0.031063

WX=-0.0000000034

WY=0.0000000069

WZ=0.0000000064

K=-0.000000007618

ArcGIS参数

XT = -0.016777

YT = 0.033226

ZT = 0.031063

XR = -0.07015968

YR = 0.14238288

ZR = 0.13206528

SD = -0.007618

计算结果如上,如果计算结果一致,就表示你的操作步骤正确了,当然,输入的数值精度小数位不同,结果也会出现细微偏差,这个可以忽略。返回搜狐,查看更多

责任编辑:

arcgis根据7参转坐标_ArcGIS坐标转换操作实战(反算七参数)相关推荐

  1. arcgis根据7参转坐标_ArcGIS和COORD进行坐标七参数转换国家2000方法(可下载坐标转换工具)...

    关于坐标转换一直是比较头疼的问题 这篇是以ArcGIS和COORD结合进行转换的方法 文末有转换工具的下载链接 一.数据参数注意事项 1.我们使用的测绘数据,例如: X  2835697.754   ...

  2. arcgis根据7参转坐标_ArcGIS和COORD进行坐标七参数转换国家2000的方法

    一.数据参数注意事项 1.我们使用的测绘数据,例如: X 2835697.754 X为纬度 (7位数) Y 613544.641 Y为经度 (6位数) 如果是: X 2835697.754 X为纬度 ...

  3. arcgis根据7参转坐标_在ArcGIS Desktop中进行三参数或七参数精确投影转换

    假设原投影坐标系统为Xian80坐标系统,本例选择为系统预设的Projected Coordinate Systems\Gauss Kruger\Xian 1980\Xian 1980 GK Zone ...

  4. arcgis根据7参转坐标_应用ArcGIS和COORD软件进行坐标七参数转换的方法

    原标题:应用ArcGIS和COORD软件进行坐标七参数转换的方法 一.数据参数注意事项 1.我们使用的测绘数据,例如: X 2835697.754 X为纬度 (7位数) Y 613544.641 Y为 ...

  5. 如何在ArcGIS中应用七参数对影像进行坐标投影变换

    如何在ArcGIS中应用七参数对影像进行坐标投影变换 谷歌数据为WGS84坐标系,ArcGIS矢量数据坐标系经常为北京54坐标系.西安80坐标系.国家2000坐标系,要想将WGS84坐标系转换到我们国 ...

  6. arcmap按图斑批量出图_ArcGIS实践教程(34)ArcGIS/ArcMap提取图斑转折点坐标(37)ArcGIS/ArcMap多个图层(要素类)的合并...

    (34)ArcGIS/ArcMap提取图斑转折点坐标 如果没有伪节点那么,选中一个线或者面,打开sketch Properties,就可以看到节点坐标. 还有一种方法就是:通过toolbox-data ...

  7. 应用ArcGIS和COORD软件进行坐标七参数转换的方法

    应用ArcGIS和COORD软件进行坐标七参数转换的方法 一.数据参数注意事项 1. 我们使用的测绘数据,例如: X 2835697.754 X为纬度 (7位数) Y 613544.641 Y为经度 ...

  8. ArcGIS和COORD软件进行坐标七参数转换的方法

    一.数据参数注意事项 1.我们使用的测绘数据,例如: X  2835697.754   X为纬度  (7位数) Y  613544.641   Y为经度  (6位数) 如果是: X  2835697. ...

  9. Arcgis操作系列2 - ArcGIS和COORD软件进行坐标七参数转换的方法

    一.数据参数注意事项 1.我们使用的测绘数据,例如: X  2835697.754   X为纬度  (7位数) Y  613544.641   Y为经度  (6位数) 如果是: X  2835697. ...

最新文章

  1. 《Core Data应用开发实践指南》一1.3 创建Grocery Dude项目
  2. 应用在机器学习中的聚类数据集产生方法
  3. Date类型JSONArray.fromObject转换出错
  4. 神经网络与卷积神经网络入门(保证让你懂)
  5. dedecms模版php,好织梦-专业dedecms模板,dede模板,织梦模板下载平台
  6. 使用.net备份和还原数据库
  7. isight参数优化理论与实例详解_案例1(ISIGHT集成ADAMS CAR方法实现)
  8. 【转】Golang 关于通道 Chan 详解
  9. Java二十三种设计模式 之代理(proxy)
  10. python爬虫从入门到放弃(九)之 实例爬取上海高级人民法院网开庭公告数据
  11. python学习笔记之列表(list)
  12. 构建复杂的应用程序(二)—— visual studio 下 C/C++ 项目开发
  13. 基于Spring Boot 的Blog开发
  14. 期货资管系统-分仓系统-反向跟单系统
  15. 武汉大学计算机学院保研清华,清北11人保送武大法学院,网友表示看不懂,高校老师表示:正常...
  16. CDH6.3.2安装部署
  17. python自然语言_Python自然语言处理 - 随笔分类 - 牛皮糖NewPtone - 博客园
  18. 力扣刷题 DAY_75 贪心
  19. 终其一生只是个普通人,你会后悔吗?
  20. 【golang】go app 优雅关机 Graceful Shutdown How?

热门文章

  1. 是否应该使用utf-8 bom——因DirectVobSub不支持utf-8 no bom带来的问题
  2. 各种计算机绘图的应用场合,AutoCAD平面设计教程
  3. 优秀程序员的18大法则-兄弟连IT教育
  4. oracle11g 服务端+客户端
  5. JS实现动态分区分配中的首次适应算法和最佳适应算法
  6. 孩子厌学怎么办,针对原因,采取措施
  7. go语言 第三方包安装方法_Adobe AE 2019 软件下载安装包教程(附下载方法)
  8. 概率论与数理统计---排列组合
  9. 【校招】面试_字节跳动_客户端开发工程师_二面
  10. linux执行系统命令卡死问题解决