您的当前位置:首页正文

坐标转换方法

来源:个人技术集锦
ArcGIS中的投影转换

在ArcGIS中打开图层,其layers当前的坐标系统默认为打开的第一个图层数据的坐标系统。很多时候打开不同坐标系统的数据时,坐标显示不对,不是数据有问题,而是显示问题,解决方法可以新建一个文件,或者关闭软件后重新加载数据。

这段时间经常对数据进行投影转换,主要是将大地坐标转换为平面坐标,或平面坐标转换为大地坐标,即GCS_Krasovsky_1940与高斯的转换。开 始时利用Data Management Tools->Projections and Transformations->Define Projection,但是怎么转换都不成功。通过在网上的咨询和自己摸索,终于发现正确的转换方法。具体如下: 1、刚打开的图层如果没有坐标系统,需要按照原数据定义一个坐标系统。 说明:将高斯转为GCS_Krasovsky_1940,即平面坐标转为经纬度坐标。 方法如下图:

2、再进行投影转换,方法如下图:

上面是当数据本身没有坐标系统时的做法,如果不知道原来是什么投影,指定了高斯坐标系统也还是转不过去(失败,为什么???)如果本身已经有坐标系统,可以从feature-》project直接转换

运行ArcGIS9中的ArcMap,打开ArcToolBox,打开 Data Management Tools ->Projections and Transformations->Feature->Project 项 打开投影对话框。在Input DataSet or Feature Class栏中输入或点击旁边的按钮选择相应的DataSet或Feature Class(带有空间参考),Output DataSet or Feature Class栏中输入或点击旁边的按钮选择目标DataSet或Feature Class,在Output Coordinate System 栏中输入或点击旁边的按钮选择目标数据的坐标系统。最后点OK键即可。

http://hi.baidu.com/zaaaaaa/blog/item/14fac9660796da20ab184ce9.html

ArcGIS 坐标系统文件

坐标是GIS数据的骨骼框架,能够将我们的数据定位到相应的位置,为地图中的每一点提供准确的坐标。

ArcGIS自带了多种坐标系统,在${ArcGISHome}\\Coordinate Systems\\目录下可以看到三个文件夹,分别是Geographic Coordinate Systems、Projected Coordinate Systems、Vertical Coordinate Systems,中文翻译为地理坐标系、投影坐标系、垂直坐标系。

关于地理坐标系和投影坐标系的区别,网络上有相关的文章介绍--地理坐标系与投影坐标系的区别,简而言之,投影坐标系=地理坐标系+投影过程。

1 Geographic Coordinate Systems

在Geographic Coordinate Systems目录中,我们可以看到已定义的许多坐标系信息,典型的如Geographic Coordinate Systems\\World目录下的WGS 1984.prj,里面所定义的坐标参数:

GEOGCS[\"GCS_WGS_1984\3563]],PRIMEM[\"Greenwich\

里面描述了地理坐标系的名称、大地基准面、椭球体、起始坐标参考点、单位等。

2 Projected Coordinate Systems

在Projected Coordinate Systems目录中同样存在许多已定义的投影坐标系,我国大部分

地图所采用的北京54和西安80坐标系的投影文件就在其中,它们均使用高斯-克吕格投影,前者使用克拉索夫斯基椭球体,后者使用国际大地测量协会推荐的IAG 75地球椭球体。如Beijing 1954 3 Degree GK CM 75E.prj定义的坐标参数:

PROJCS[\"Beijing_1954_3_Degree_GK_CM_75E\_1954\

[\"Greenwich\TER[\"False_Easting\

[\"False_Northing\RAMETER[\"Latitude_Of_Origin\

可以看出,参数里除了包含地理坐标系的定义外,还有投影方式的信息。

北京54和西安80是我们使用最多的坐标系,在ArcGIS文件中,对于这两种坐标系统的命名有一些不同,简单看去很容易让人产生迷惑。在此之前,先简单介绍高斯-克吕格投影的基本知识,了解就直接跳过,我国大中比例尺地图均采用高斯-克吕格投影,其通常是按6度和3度分带投影,1:2.5万-1:50万比例尺地形图采用经差6度分带,1:1万比例尺的地形图采用经差3度分带。具体分带法是:6度分带从本初子午线开始,按经差6度为一个投影带自西向东划分,全球共分60个投影带,带号分别为1-60;3度投影带是从东经1度30秒经线开始,按经差3度为一个投影带自西向东划分,全球共分120个投影带。为了便于地形图的测量作业,在高斯-克吕格投影带内布置了平面直角坐标系统,具体方法是,规定中央经线为X轴,赤道为Y轴,中央经线与赤道交点为坐标原点,x值在北半球为正,南半球为负,y值在中央经线以东为正,中央经线以西为负。由于我国疆域均在北半球,x值均为正值,为了避免y值出现负值,规定各投影带的坐标纵轴均西移500km,中央经线上原横坐标值由0变为500km。为了方便带间点位的区分,可以在每个点位横坐标y值的百千米位数前加上所在带号,如20带内A点的坐标可以表示为YA=20 745 921.8m。

在Coordinate Systems\\Projected Coordinate Systems\\Gauss Kruger\\Beijing 1954目录中,我们可以看到四种不同的命名方式:

Beijing 1954 3 Degree GK CM 75E.prj Beijing 1954 3 Degree GK Zone 25.prj Beijing 1954 GK Zone 13.prj Beijing 1954 GK Zone 13N.prj

对它们的说明分别如下:

三度分带法的北京54坐标系,中央经线在东75度的分带坐标,横坐标前不加带号 三度分带法的北京54坐标系,中央经线在东75度的分带坐标,横坐标前加带号 六度分带法的北京54坐标系,分带号为13,横坐标前加带号 六度分带法的北京54坐标系,分带号为13,横坐标前不加带号

在Coordinate Systems\\Projected Coordinate Systems\\Gauss Kruger\\Xian 1980目录中,文

件命名方式又有所变化:

Xian 1980 3 Degree GK CM 75E.prj Xian 1980 3 Degree GK Zone 25.prj Xian 1980 GK CM 75E.prj Xian 1980 GK Zone 13.prj

西安80坐标文件的命名方式、含义和北京54前两个坐标相同,但没有出现“带号+N”这种形式,为什么没有采用统一的命名方式?让人看了有些费解。

3 Vertical Coordinate Systems

Vertical Coordinate Systems定义了测量海拔或深度值的原点,具体的定义,英文描述的更为准确:

A vertical coordinate system defines the origin for height or depth values. Like a horizontal coordinate system, most of the information in a vertical coordinate system is not needed unless you want to display or combine a dataset with other data that uses a different vertical coordinate system.

Perhaps the most important part of a vertical coordinate system is its unit of measure. The unit of measure is always linear (e.g., international feet or meters). Another important part is whether the z values represent heights (elevations) or depths. For each type, the z-axis direction is positive \"up\" or \"down\

One z value is shown for the height-based mean sea level system. Any point that falls below the mean sea level line but is referenced to it will have a negative z value. The mean low water system has two z values associated with it. Because the mean low water system is depth-based, the z values are positive. Any point that falls above the mean low water line but is referenced to it will have a negative z value.

需要注意的是,大家经常希望能够通过坐标转换,将北京54或西安80中的地理坐标系转换到WGS84,实际上这样做是不准确的,北京54或西安80的投影坐标可以通过计算转换到其对应的地理坐标系,但由于我国北京54和西安80中的地理坐标系到WGS84的转换参数没有公开,因此无法完成其到WGS84坐标的精准计算。其他公开了转换参数的坐标系都可以在ArcToolbox中完成转换。

参考资料:

蔡孟裔等.新编地图学教程.高等教育出版社

arcgis 投影变换与坐标转换研究

1 ArcGIS中的投影方法

投影的方法可以使带某种坐标信息数据源进行向另一坐标系统做转换,并对源数据中的X和Y值进行修改。我们生产实践中一个典型的例子是利用该方法修正某些旧地图数据中X,Y值前加了带数和分带方法的数值。

操作方法:运行ArcGIS9中的ArcMap,打开ArcToolBox,打开 Data Management Tools ->Projections and Transformations->Feature->Project 项 打开投影对话框。在Input DataSet or Feature Class栏中输入或点击旁边的按钮选择相应的DataSet或Feature Class(带有空间参考),Output DataSet or Feature Class栏中输入或点击旁边的按钮选择目标DataSet或Feature Class,在Output Coordinate System 栏中输入或点击旁边的按钮选择目标数据的坐标系统。最后点OK键即可。 字串3

例如 某点状shape文件中 某点P的坐标为 X 40705012 Y 3478021 ,且该shape文件坐标系统为中央为东经120度的高斯克吕格投影,在数据使用过程中为了将点P的值改为真实值X 705012 Y478021,首先将源数据的投影参数中False_Easting和False_Northing值分别加上40000000和3000000作为源坐标系统,修改参数前的坐标系统作为投影操作的目标坐标系统,然后通过投影操作后生成一新的Shape文件,且与源文件中点P对应的点的坐标为X 705012 Y478021。

2 ArcGIS中坐标系统的定义

一般情况下地理数据库(如Personal GeoDatabase的 Feature DataSet 、Shape File等)在创建时都具有空间参考的属性,空间参考定义了该数据集的地理坐标系统或投影坐标系统,没有坐标系统的地理数据在生产应用过程中是毫无意义的,但由于在数据格式转换、转库过程中可能造成坐标系统信息丢失,或创建数据库时忽略了坐标系统的定义,因此需要对没有坐标系统信息的数据集进行坐标系统定义。 字串7

坐标系统的定义是在不改变当前数据集中特征X Y值的情况下 对该数据集指定坐标系统信息。

操作方法:运行ArcGIS9中的ArcMap,打开ArcToolBox,打开 Data Management Tools ->Projections and Transformations->Define Projection 项 打开坐标定义对话框。介下来在Input DataSet or Feature Class栏中输入或点击旁边的按钮选择相应的DataSet或Feature Class;在Coordinate System栏中输入或点击旁边的按钮选择需要为上述DataSet或Feature定义的坐标系统。最后点OK键即可。

例如 某点状shape文件中 某点P的坐标为 X 112.2 Y 43.3 ,且该shape文件没有带有相应的Prj文件,即没有空间参考信息,也不知道X Y 的单位。通过坐标系统定义的操作定义其为Beijing1954坐标,那么点P的信息是东经112.2度 北纬43.3度。

在ArcGIS Desktop中进行三参数或七参数精

确投影转换

ArcGIS中定义的投影转换方法,在对数据的空间信息要求较高的工程中往往不能适用,有比较明显的偏差。在项目的前期数据准备工作中,需要进行更加精确的三参数或七参数投影转换。下面介绍两种办法来在ArcGIS Desktop中进行这种转换。 方法1:在ArcMap中进行动态转换(On the fly)

假设原投影坐标系统为Xian80坐标系统,本例选择为系统预设的Projected Coordinate Systems\\Gauss Kruger\\Xian 1980\\Xian 1980 GK Zone 20投影,中央经线为117度,要转换成Beijing 1954\\Beijing 1954 GK Zone 20N。

在ArcMap中加载了图层之后,打开View-Data Frame Properties对话框,显示当前的投影坐标系统为Xian 1980 GK Zone 20,在下面的选择坐标系统框中选择Beijing 1954 GK Zone 20N,在右边有一个按钮为Transformations...

点击打开一个投影转换对话框,可以在对话框中看到Convert from和Into表明了我们想从什么坐标系统转换到什么坐标系统。

在下方的using下拉框右边,点击New...,新建一个投影转换公式,在Method下拉框中可以选择一系列转换方法,其中有一些是三参数的,有一些是七参数的,然后在参数表中输入各个转换参数

输入完毕以后,点击OK,回到之前的投影转换对话框,再点击OK,就完成了对当前地图的动态投影转换。这时还没有对图层文件本身的投影进行转换,要转换图层文件本身的投影,再使用数据导出,导出时选择投影为当前地图的投影即可。

方法2:对于有大量图层需要进行投影转换时,这种手工操作的办法显得比较繁琐,每次都需要设置参数。可以只定义一次投影转换公式,而在此后的转换中引用此投影转换公式即可。这种方法需要在ArcTools中进行操作。在Data Management Tools\\Projections and Tranformations\\下,有Create Custom Geographic Transformation命令

打开这个命令,选择输入和输出的投影,可以是系统自带的也可以是自己设置的,选择转换方法,与方法1种介绍的类似,可选择三参数或者七参数,然后输入各个参数指。通过为这个投影转换公式指定一个名称,可以在以后的操作中直接引用此公式而不用重复输入各个参数了。点击OK生成这个投影转换公式。

在方法一里面,我们是动态的改变了地图的投影,然后通过数据导出的办法将要转换投影的图层重新生成的。在这里,我们可以直接使用Data Management Tools\\Projections and Tranformations\\下的Project命令,生成转换后的图层文件,Project命令分别位于Feature和Raster目录下,分别针对于矢量和栅格数据。在这个命令中,在指定了输入的图层后,Input Coordinate System自动的识别出了输入的投影,需要用户指定输出的投影,如果两者与之前定义投影转换公式的输入和输入投影的话,在下面的Geographic Transformation下拉框中会出现之前定义的公式名称,直接选择即可使用。

点击OK以后就可以直接生成这个图层文件而不需要进一步的操作了

因篇幅问题不能全部显示,请点此查看更多更全内容