• 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 SystemsProjected Coordinate SystemsGauss KrugerBeijing 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 SystemsProjected Coordinate SystemsGauss KrugerXian 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 就可以量地形图上任意点的距离了,试了一下公里网格,非常精准。

       

    转载请注明出处,有技术问题,欢迎互相交流,或者留言.
  • 相关阅读:
    Entity Framework 连接低版本数据库
    Validate Disk Failover Failed
    Unable to create Azure Mobile Service: Error 500
    查看Visual Studio异常内容
    RDLC An unexpected error occurred while compiling expressions. Native compiler return value: '-1073741511'
    Redis 64 steps
    IQueryable join 的问题
    jquery 通知页面变化
    jquery 让滚动条处于div底部
    SSIS 文件系统任务无法使用变量配置目标路径
  • 原文地址:https://www.cnblogs.com/tuncaysanli/p/4172018.html
Copyright © 2020-2023  润新知