首页 > 代码库 > ArcGIS影像配准与空间配准

ArcGIS影像配准与空间配准

ArcGIS影像配准与空间配准

   

   

ArcGIS影像配准与空间配准 

   

   

地图配准可分为影像配准和空间配准。影像配准的对象是raster图,譬如TIFF图。配准后的图可以保存为ESRI GRID, TIFF,或ERDAS IMAGINE格式。空间配准(Spatial Adjustment)是对矢量数据配准。

   

一、影像配准

   

在ArcGIS中配准:

   

1.打开ArcMap,增加Georeferencing工具条。

2. 把需要进行纠正的影像增加到ArcMap中,会发现Georeferencing工具条中的工具被激活。在view/data  frame  properties的coordinate  properties中选择坐标系。如果是大地(投影)坐标系选择predefined中的Projected coordinate system,坐标单位一般为米。如果是地理坐标系(坐标用经纬度表示)表示则选择Geographic coordinate system。

3.纠正前可以去掉"auto adjust"前的勾。在校正中我们需要知道一些特殊点的坐标。如公里网格的交点,我们从图中均匀的取几个点,不少于7个。在实际中,这些点要能够均匀分布在图中。

4.首先将Georeferencing工具条的Georeferencing菜单下Auto Adjust不选择。

5.在Georeferencing工具条上,点击Add Control Point按钮。

6.使用该工具在扫描图上精确到找一个控制点点击,然后鼠标右击,Input X and Y输入该点实际的坐标位置。采用地理坐标系时应输入经纬度,经纬度用小数表示,如110°30‘30‘应写成 110.508(=110+30.5/60)。

7.用相同的方法,在影像上增加多个控制点,输入它们的实际坐标。

8.增加所有控制点后,在Georeferencing菜单下,点击Update Display。

9.更新后,就变成真实的坐标。

10.在Georeferencing菜单下,点击Rectify,将校准后的影像另存。

   

在arcview 中进行配准:

   

软件准备:arcview,必须安装了image wape扩展模块

数据准备:栅格图像,必须有坐标(大地坐标或经纬座标)

步骤:

1、找到栅格图像上的坐标点,至少要四个,坐标点分布应均匀。

2、打开arcview,单击chart,单击new,创建一张新表

3、输入X,Y坐标(栅格图上的点坐标),

4、点击保存。打开view窗口,单击theme,add event theme,设定字段为刚刚新建的表格里的X,Y字段。

5、这时导入到视图中,你可以看到几个点。

6、再convert to shp,把它转换为点.shp文件,加入到视图中。

7、在view中,propertise里设置你想要的投影方式。

8、这时控制点文件就做好了。

9、接下来,关闭所有的窗口,单击file-extension,image wape,点击此模块,这时菜单栏多了一行image wape

10、点击image wape——image wape session,选择你想要配准的栅格图像到第一个框。再选择刚刚生成的点文件到第二个框。

二、空间配准(ArcGIS)

1、首先在Arc catalog下面对需要配准的矢量图设置投影方式(右键点击该图,在shapefile属性表的shape字段属性中,定义相应的投影方式;

2、通过excel或记事本建立一个文本文件,输入几个控制点的坐标值,x表示经向,y为纬向,可以是公里网格坐标,和上面的定义的投影方式对应,保存;

3、在ArcMap里面打开矢量图,在"编辑器"(Editor)里设为"开始编辑";

4、在"空间配准"(Spatial Adjustment)里把"设置配准数据"(set adjust data)定为"选择这些层中的所有要素"(All features in these),然后在"链接"(link)里打开上面建立的控制点文件;

5、先双击控制点文件中的坐标值,再在矢量图中找到对应的点双击,即建立了第一个链接,依照此法,建立数个链接;

6、点击"空间配准"下面的"配准"(已由灰变黑可用),则配准完成。

   

   

   

   

   

zz地理坐标的精确配准

   

   

矢量配准用Spatial Adjustment

   

栅格配准用Georeferncing

   

地理坐标的精确配准

   

ArcMap里面配准

   

http://hi.baidu.com/sinogis/blog ... 7186264e4aea02.html

   

可能和很多朋友一样,我们只能拿到纸质地形图,还得自己扫描,之后再在ArcMap里面配准。对于刚开始接触的人来说,真是一头雾水。

   

我以前的误区:"刚接触ArcGIS,感觉挺简单的,不就先扫描,然后在ArcMap中加载数据,再Georeferencing配准。而实地采集的GPS数据就是通过excel转换到Access数据库后加载到arcmap里面,再display data。这样,点就投到图上了。"

   

呵呵,刚开始,还真以为是这样做呢。不过到Layout view界面,Insert Scale bar后,非常困惑,才发现怎么插入的比例尺和原图中的对不上啊。经过多方学习,才知道其中还有许多深奥的知识,任何一点没注意都会出差错。下面就与大家分享一下我的学习总结。

   

首先要知道什么是地理坐标和大地坐标,简单的说地理坐标就是球面坐标,而大地坐标是平面坐标。要深入了解这两者的区别,大家可以到网上搜相关资料。

   

地理坐标到大地坐标的过程叫做投影。

   

用1:50000地形图来举个例子,是北京1954坐标系,6度分带的高斯克吕格投影。

   

上面有两种坐标,一种是常说的方里网,就是间隔为1公里的网格。还有就是四角上的经纬度。

   

我们常用的GPS采集的数据都是WGS84坐标系的,是常见的度分秒格式。这里要特别注意,地形图上的经纬度不是WGS-84的经纬度,而是北京1954基准面下的经纬度。而且,这个经纬度也不是球面坐标,而是经过高斯克吕格投影的平面坐标。论坛上常提及的wgs-84到beijing 1954的转换就是这个问题,两者的换算涉及到图幅所在分带保密点的问题,转换参数并未公开。在我国,这两个坐标系同一点经纬度有几十米的差别。

   

了解了上面的知识后,就开始在arcmap中进行图像配准了,这里假设大家都知道基本操作步骤,因此我只注重于工作内容的阐述。

   

1, 首先把图复制到工作目录下

   

2, 在ArcCatalog中找到需要配准的图,给他定义一个投影系统(注意和投影变换的区别)。这里我们用的是1:50000的地形图,它是基于北京1954坐标系,6度分带的高斯克吕格投影。在地形图方里网上可以看出本图幅位于哪个分度带,这里假设是19。因此我们要选择的是Beijing 1954 GK Zone 19.prj。同时目录里面还有一个Beijing 1954 GK Zone 19N.prj,这个是用于没有分度带号的。而我们的图幅是包括分度带号。这个可以在网上搜索 "arcgis 坐标文件" 来进一步了解。

   

3, 给配准的图定义了一个投影系统后,把图加载到ArcMap里面,打开GeoReferencing工具,直接利用方里网交点进行配准。这里要注意的问题是,地形图上的方里网坐标为公里,而需要输入的应该是米。所以要在方里网对应坐标后面加000。如地形图上读出一个交点为(19387, 3420),19387的19为分带号,也要一并输入,那么这个点应该输入(19387000, 3420000)。其余配准过程和网上教程一致。

   

4, 配准后可以在Lay Properity里面把显示单位改成度分秒,于是地图就以经纬度格式显示了。此时的经纬度是基于北京1954基准面的,可以把光标指向四角的经纬度标记,以核对配准的精确度。

   

到此为止,地形图已经精确配准了。接下来往里面加载GPS数据。

   

1, 用你能想到的方式把GPS接收机上的数据导出来,除了一个一个手工输入,呵呵。

   

2, 尽量建立起数据库吧,这样方便些

   

3, ArcGIS中加载所得到的数据库,用Defined Query来选择自己所需要显示的数据

   

4, 如果需要精确地在地形图上显示GPS数据,那么还需要一个WGS-84到北京1954坐标的转换。有转换参数最好,如果没有,但的确需要,就去网上查一下手持GPS接收机转换参数估算这篇文章。我们这里是假设不需要精确显示,直接把WGS-84数据当成北京1954来用。前面也说了,有一定误差,但是不大。因此直接跳到5。

   

5, Display X,Y Datas, 定义为WGS-84坐标系统。

   

(其实此处我有疑问,因为现在的地形图是投影后的图,按我的理解,也应该把是球面坐标的WGS-84数据进行投影变换后才能用。但是查了很多资料,都是在这里直接定义数据来源是WGS-84就可以了,也许是ArcGIS在投点的时候,可以自动进行变换。)

   

6, OK,现在点也投上去了,ArcGIS工作中最基础的工作也就完成了。

   

再转到Layout view 界面,插入一个比例尺,发现和地形图上的比例尺非常吻合:-),把显示单位改成kilometer,用measure tool 就可以量地形图上任意点的距离了,试了一下公里网格,非常精准。

   

   

   

   

   

   

地理坐标,大地坐标

   

   

地理坐标:为球面坐标。 参考平面地是 椭球面。坐标单位:经纬度

大地坐标:为平面坐标。参考平面地是水平面  坐标单位:米、千米等。

   

地理坐标转换到大地坐标的过程可理解为投影。  (投影:将不规则的地球曲面转换为平面)

在ArcGIS中预定义了两套坐标系:地理坐标系(Geographic coordinate system)投影坐标系(Projected coordinate system),

   

1、首先理解地理坐标系(Geographic coordinate system),Geographic coordinate system直译为

地理坐标系统,是以经纬度为地图的存储单位的。很明显,Geographic coordinate syst

em是球面坐标系统。我们要将地球上的数字化信息存放到球面坐标系统上,如何进行操作

呢?地球是一个不规则的椭球,如何将数据信息以科学的方法存放到椭球上?这必然要求

我们找到这样的一个椭球体。这样的椭球体具有特点:可以量化计算的。具有长半轴,短

半轴,偏心率。以下几行便是Krasovsky_1940椭球及其相应参数。

Spheroid: Krasovsky_1940

Semimajor Axis: 6378245.000000000000000000

Semiminor Axis: 6356863.018773047300000000

Inverse Flattening(扁率): 298.300000000000010000

然而有了这个椭球体以后还不够,还需要一个大地基准面将这个椭球定位。在坐标系统描

述中,可以看到有这么一行:

Datum: D_Beijing_1954

表示,大地基准面是D_Beijing_1954。

--------------------------------------------------------------------------------

有了Spheroid和Datum两个基本条件,地理坐标系统便可以使用。

完整参数:

Alias:

Abbreviation:

Remarks:

Angular Unit: Degree (0.017453292519943299)

Prime Meridian(起始经度): Greenwich (0.000000000000000000)

Datum(大地基准面): D_Beijing_1954

Spheroid(参考椭球体): Krasovsky_1940

Semimajor Axis: 6378245.000000000000000000

Semiminor Axis: 6356863.018773047300000000

Inverse Flattening: 298.300000000000010000

   

2、接下来便是Projection coordinate system(投影坐标系统),首先看看投影坐

标系统中的一些参数。

Projection: Gauss_Kruger

Parameters:

False_Easting: 500000.000000

False_Northing: 0.000000

Central_Meridian: 117.000000

Scale_Factor: 1.000000

Latitude_Of_Origin: 0.000000

Linear Unit: Meter (1.000000)

Geographic Coordinate System:

Name: GCS_Beijing_1954

Alias:

Abbreviation:

Remarks:

Angular Unit: Degree (0.017453292519943299)

Prime Meridian: Greenwich (0.000000000000000000)

Datum: D_Beijing_1954

Spheroid: Krasovsky_1940

Semimajor Axis: 6378245.000000000000000000

Semiminor Axis: 6356863.018773047300000000

Inverse Flattening: 298.300000000000010000

从参数中可以看出,每一个投影坐标系统都必定会有Geographic Coordinate System。

投影坐标系统,实质上便是平面坐标系统,其地图单位通常为米。

那么为什么投影坐标系统中要存在坐标系统的参数呢?

这时候,又要说明一下投影的意义:将球面坐标转化为平面坐标的过程便称为投影。

好了,投影的条件就出来了:

a、球面坐标

b、转化过程(也就是算法)

也就是说,要得到投影坐标就必须得有一个"拿来"投影的球面坐标,然后才能使用算法

去投影!

即每一个投影坐标系统都必须要求有Geographic Coordinate System参数。

   

关于北京54和西安80是我们使用最多的坐标系

先简单介绍高斯-克吕格投影的基本知识,了解就直接跳过,我国大中比例尺地图均采用高斯-克吕格投影,其通常是按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"这种形式,为什么没有采用统一的命名方式?让人看了有些费解。

   

=======================================

大地坐标(Geodetic Coordinate):大地测量中以参考椭球面为基准面的坐标。地面点P的位置用大地经度L、大地纬度B和大地高H表示。当点在参考椭球面上时,仅用大地经度和大地纬度表示。大地经度是通过该点的大地子午面与起始大地子午面之间的夹角,大地纬度是通过该点的法线与赤道面的夹角,大地高是地面点沿法线到参考椭球面的距离。

方里网:是由平行于投影坐标轴的两组平行线所构成的方格网。因为是每隔整公里绘出坐标纵线和坐标横线,所以称之为方里网,由于方里线同时又是平行于直角坐标轴的坐标网线,故又称直角坐标网。

在1:1万——1:20万比例尺的地形图上,经纬线只以图廓线的形式直接表现出来,并在图角处注出相应度数。为了在用图时加密成网,在内外图廓间还绘有加密经纬网的加密分划短线(图式中称"分度带"),必要时对应短线相连就可以构成加密的经纬线网。1:2 5万地形图上,除内图廓上绘有经纬网的加密分划外,图内还有加密用的十字线。

我国的1:50万——1:100万地形图,在图面上直接绘出经纬线网,内图廓上也有供加密经纬线网的加密分划短线。

直角坐标网的坐标系以中央经线投影后的直线为X轴,以赤道投影后的直线为Y轴,它们的交点为坐标原点。这样,坐标系中就出现了四个象限。纵坐标从赤道算起向北为正、向南为负;横坐标从中央经线算起,向东为正、向西为负。

虽然我们可以认为方里网是直角坐标,大地坐标就是球面坐标。但是我们在一副地形图上经常见到方里网和经纬度网,我们很习惯的称经纬度网为大地坐标,这个时候的大地坐标不是球面坐标,她与方里网的投影是一样的(一般为高斯投影),也是平面坐标

   

   

   

   

   

   

ArcGIS中图象配准经验总结

   

   

可能和很多朋友一样,我们只能拿到纸质地形图,还得自己扫描,之后再在ArcMap里面配准。对于刚开始接触的人来说,真是一头雾水。

我以前的误区:"刚接触ArcGIS,感觉挺简单的,不就先扫描,然后在ArcMap中加载数据,再Georeferencing配准。而实地采集的GPS数据就是通过excel转换到Access数据库后加载到arcmap里面,再display data。这样,点就投到图上了。"

   

呵呵,刚开始,还真以为是这样做呢。不过到Layout view界面,Insert Scale bar后,非常困惑,才发现怎么插入的比例尺和原图中的对不上啊。经过多方学习,才知道其中还有许多深奥的知识,任何一点没注意都会出差错。下面就与大家分享一下我的学习总结。

   

首先要知道什么是地理坐标和大地坐标,简单的说地理坐标就是球面坐标,而大地坐标是平面坐标。要深入了解这两者的区别,大家可以到网上搜相关资料。

地理坐标到大地坐标的过程叫做投影。

用1:50000地形图来举个例子,是北京1954坐标系,6度分带的高斯克吕格投影。

上面有两种坐标,一种是常说的方里网,就是间隔为1公里的网格。还有就是四角上的经纬度。

我们常用的GPS采集的数据都是WGS84坐标系的,是常见的度分秒格式。这里要特别注意,地形图上的经纬度不是WGS-84的经纬度,而是北京1954基准面下的经纬度。而且,这个经纬度也不是球面坐标,而是经过高斯克吕格投影的平面坐标。论坛上常提及的wgs-84到beijing 1954的转换就是这个问题,两者的换算涉及到图幅所在分带保密点的问题,转换参数并未公开。在我国,这两个坐标系同一点经纬度有几十米的差别。中国3S吧 3s8.cn

   

了解了上面的知识后,就开始在arcmap中进行图像配准了,这里假设大家都知道基本操作步骤,因此我只注重于工作内容的阐述。

1, 首先把图复制到工作目录下

2, 在ArcCatalog中找到需要配准的图,给他定义一个投影系统(注意和投影变换的区别)。这里我们用的是1:50000的地形图,它是基于北京1954坐标系,6度分带的高斯克吕格投影。在地形图方里网上可以看出本图幅位于哪个分度带,这里假设是19。因此我们要选择的是Beijing 1954 GK Zone 19.prj。同时目录里面还有一个Beijing 1954 GK Zone 19N.prj,这个是用于没有分度带号的。而我们的图幅是包括分度带号。这个可以在网上搜索 "arcgis 坐标文件" 来进一步了解。

3, 给配准的图定义了一个投影系统后,把图加载到ArcMap里面,打开GeoReferencing工具,直接利用方里网交点进行配准。这里要注意的问题是,地形图上的方里网坐标为公里,而需要输入的应该是米。所以要在方里网对应坐标后面加000。如地形图上读出一个交点为(19387, 3420),19387的19为分带号,也要一并输入,那么这个点应该输入(19387000, 3420000)。其余配准过程和网上教程一致。

4, 配准后可以在Lay Properity里面把显示单位改成度分秒,于是地图就以经纬度格式显示了。此时的经纬度是基于北京1954基准面的,可以把光标指向四角的经纬度标记,以核对配准的精确度。中国3S吧 3s8.cn

   

到此为止,地形图已经精确配准了。接下来往里面加载GPS数据。

1, 用你能想到的方式把GPS接收机上的数据导出来,除了一个一个手工输入,呵呵。

2, 尽量建立起数据库吧,这样方便些

3, ArcGIS中加载所得到的数据库,用Defined Query来选择自己所需要显示的数据

4, 如果需要精确地在地形图上显示GPS数据,那么还需要一个WGS-84到北京1954坐标的转换。有转换参数最好,如果没有,但的确需要,就去网上查一下手持GPS接收机转换参数估算这篇文章。我们这里是假设不需要精确显示,直接把WGS-84数据当成北京1954来用。前面也说了,有一定误差,但是不大。因此直接跳到5。

5, Display X,Y Datas, 定义为WGS-84坐标系统。

(其实此处我有疑问,因为现在的地形图是投影后的图,按我的理解,也应该把是球面坐标的WGS-84数据进行投影变换后才能用。但是查了很多资料,都是在这里直接定义数据来源是WGS-84就可以了,也许是ArcGIS在投点的时候,可以自动进行变换。)

6, OK,现在点也投上去了,ArcGIS工作中最基础的工作也就完成了。:)

   

再转到Layout view 界面,插入一个比例尺,发现和地形图上的比例尺非常吻合:-),把显示单位改成kilometer,用measure tool 就可以量地形图上任意点的距离了,试了一下公里网格,非常精准。

   

ArcGIS影像配准与空间配准