首页 > 代码库 > 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影像配准与空间配准