谈谈OziExplorer中的坐标系设置(转的)

谈谈OziExplorer中的坐标系设置 1、前言 2、跟GPS连接时候的坐标系设置 3、配准地图时的坐标系设置(Map Datum和Map Projection) 3.1用经纬度坐标配准地图时的坐标系设置 3.2用投影坐标配准地图时的坐标系设置 4、设置Alternate Grid 5、设定Blank Map Datum 6、关于自定义Datum 1、前言 OziExplorer(以下简称Ozi)是一个非常好的非专业人员使用的工具,在使用的时候要注意关于坐标系的一些设置。在这上面我走过一些弯路,感谢 很多人给过我指点和帮助,后来弄明白了一些东西。所以,结合Ozi本身的Help和我自己的理解,在这里说说Ozi中的坐标系设定,希望对大家有所帮助, 其中不对的地方,欢迎批评和指正。谈到Ozi中的坐标系设定,要明确以下几点:(1) 在Ozi中,“Datum”指的是“地理坐标系”,即经纬度坐标系Long/Lat;“Grid”一般指的是“投影坐标系 ”(Projection)。(2) 在Ozi中,支持WGS84、s42(pulokovo1942)等常见的Datum,不支持中国的P54(北京54坐标系)和C80(西安80坐标 系)。但在Ozi中支持自定义Datum,可以自定义出P54和C80。(3) 在Ozi中,支持UTM等常见的投影方式,不支持中国采用的高斯投影,但Ozi支持“自定义TM” ,可以用这个功能自定义出高斯投影。(4) 在Ozi中自定义Datum的时候,只能基于在Ozi中预先设置的参考椭球(3.95.4f版本有29种之多)。若需要的参考椭球在Ozi中没有,不能自 行添加,可以联系作者来更新软件版本。(5) “坐标”和“坐标系”是两个不同的概念,但有时候,“坐标”指的是“坐标系”。

2、跟GPS连接时候的坐标系设置 在连接Ozi和GPS,从GPS中upload或者download数据的时候,需要设定Ozi中的Datum。对于Gamin和Magellan,只能 是WGS84。在Ozi的Help中有一段话,讲得很清楚,摘录在这里: GPS Upload/Download Datum - Specifies the Datum OziExplorer will use when it uploads data (waypoints, tracks etc) to the GPS and the Datum it assumes the data is in when it is downloaded to OziExplorer from the GPS. Garmin and Magellan always use the WGS 84 Datum when uploading/downloading data. 在GPS用NMEA格式交换数据的时候,也需要设定Datum,根据需要设定就是。一般的,对于Garmin和Magellan,选用WGS84。在 Ozi的Help中有一段话,讲得很清楚,摘录在这里: GPS NMEA Output Datum - Specifies the Datum the GPS sends its NMEA position data in. Garmin always send it in the Datum you have your GPS set to. Most Lowrance/Eagles always send it in WGS 84 others send it in the Datum the GPS is set to. For Magellan you need to check this, some models output in WGS84 and others such as the 315/320 output in the Datum the GPS is set to. See Datums Help for more information. 在GPS中所使用的Datum是WGS84,在一些机器中可以显示的其他Datum的读数,是GPS自己转换后的结果。 在Ozi中对应的设定窗口是:File-Configuration-GPS
图片点击可在新窗口打开查看此主题相关图片如下:
图片点击可在新窗口打开查看

3、配准地图时候的坐标系设置(Map Datum和Map Projection)在Ozi中配准地图,可以利用地理坐标数据(即经纬度坐标,Long/Lat方式),也可以利用投影坐标数据。若用经纬度坐标数据 来配准,需要设定Map Datum(选一个地理坐标系,如P54、C80,WGS84,等等),但时候Map Projection需要选定为“Latitude/Longitude”,告诉Ozi接下来要输入的是数据是经纬度。若用投影坐标数据来配准,要先设定 Map Datum,再设定Map Projection(选择投影方式,如高斯投影、UTM投影、墨卡托投影,等等)。所以,下面就分这两种情况。 3.1用经纬度坐标配准地图时的坐标系设置配准地图的基本原则是:原图是采用哪种Datum绘制的,就要用同样的Datum的数据来配准。(即:The Map Datum - (set in the Map Calibration screen) must always be set to be the same as the Datum the Map was drawn in.)。 在Ozi的Help有一段说明,摘录如下 The Map Datum - (set in the Map Calibration screen) must always be set to be the same as the Datum the Map was drawn in. (Actually to be more correct the Map Datum must be set to be the same as the Datum used to obtain the positions used to calibrate the Map). Changing the Map Datum to anything else will definitely cause positions to be calculated and displayed on the Map incorrectly. 当用Ozi打开一个已经配准好的地图文件,比如GeoTIFF文件,或者Jpg+Jpw文件组合等,Ozi将读取文件中的Datum参数,获得该地图的 Datum信息。 对我们来说,更多的是在配准地图的时候,要考虑Datum的设定问题。 要想正确设定Datum,必须先要知道该地图在绘制的时候是采用的哪一种Datum。一般的,我们扫描的地图的Datum不是P54就是C80的。在我们 配准扫描地图的时候,Ozi是不知道该地图的Datum的,所以,要求我们来设定Datum,在配准后,这个地图就有了Datum信息,包含在.Map文 件中。 这个设定Datum的窗口包含在配准窗口中,它的位置在:File-Load and Calibrate Map Image,如下图。
图片点击可在新窗口打开查看此主题相关图片如下:
图片点击可在新窗口打开查看 上面这个窗口中,Map Datum这个选项,就是设定用哪一种Datum来配准地图。我们应该选P54或者C80。但遗憾的是,Ozi支持很多Datum,偏偏不支持我国的这两 种Datum。但有变通的办法,一个是代用,一个是自定义。可以用S42(苏联的)来代替P54,用WGS84来代替C80。若想自定义的话,也可 以,Ozi提供了29种参考椭球,其中的“15 : 'Krassovsky 1940'; a : 6378245.0; invf: 298.3”就是P54的所使用的参考椭球,可以利用它自定义出P54坐标系。这个自定义Datum在后面再说。 配准所使用的经纬度坐标数据,有两个来源,一个是利用地图上原有的经线纬线;来读取一些点的经纬度坐标值,一个用自己用GPS测量一些关键点的经纬度坐标 数值。这两个情况在设定Map Datum时候有所不同。 (1)若原地图绘制有经线和纬线,可以从原地图的扫描地图上选取一些经线和纬线的交叉点来配准该地图。对P54的地图,在“Map Datum”就选用s42这个Datum。对C80的地图,在“Map Datum”就选用WGS84。这样选的话,误差都很小,小于GPS本身的误差,是可以接受的。误差分析,可以看我写的另外一篇文章。 (2)若用自行测量的GPS坐标数据来配准地图,要注意坐标系的一致。也就是说,你所用的GPS数据是WGS84的,在“Map Datum”中就选WGS84,若你所用的GPS数据是P54的,在“Map Datum”中就选S42(用s42来代替P54)。 不过,实用的时候,上面的这句话应该倒过来说:由要配准的原地图的Datum决定“Map Datum”的选项,然后,由这个选项来决定所用的GPS坐标数据的Datum。 对我们来说,原图的Datum就是P54或者C80。若原图是P54的,GPS上的经纬度读数是WGS84的,我们就把这个WGS84的经纬度转换成 P54的经纬度,以减少误差。若原图是C80的,GPS上的经纬度读数是WGS84的,我们可以直接用WGS84来代替代替C80(误差很小)。 我们知道,GPS系统是基于WGS84的,但GPS手持机可以自己转换成别的Datum下的经纬度提供给我们。所以,我们要配准P54绘制的地图,在采集 GPS数据时候,就把GPS的Datum设定成s42。若忘记设定,或者,别人给的数据是WGS84的,可以利用GPS手持机来自动转换,也可以自己手工 转换。 在这里举个手工转换的例子。假定要配准一个P54绘制的地图,我们找了一个道路交叉点来作为配准点,用GPS测量了该点的经纬度坐标是 (n34°,e105°),GPS中设定的是Datum是WGS84。那么,在用Ozi配准的时候,假如选Map Datum为WGS84,直接输入这个经纬度,这就有较大的误差。为了减少误差,应该选Map Datum为s42(用来代替P54),然后,把这个WGS84下的经纬度转换为P54下的经纬度,是(n33°59′57.4″,e105°)。

3.2用投影坐标来配准地图时的坐标系设置在配准地图的时候,除了用经纬度坐标(即是地理坐标),也可以用投影坐标数据,Ozi也提供这个功能。上 面的图中,Map Projection就是定义投影坐标系的。投影坐标系是基于地理坐标系的,所以,要先定义Map Datum,再定义Map Projection。 Ozi提供对几十种投影坐标系的支持,下图可以看到:
图片点击可在新窗口打开查看此主题相关图片如下:
图片点击可在新窗口打开查看 Ozi虽然不支持高斯投影,但支持自定义投影。当在Map Projection中选Transversal Mercator后,下面紧邻的Projection setup就由灰色变成黑色,可以设置。下面是一个设置高斯投影的例子:
图片点击可在新窗口打开查看此主题相关图片如下:
图片点击可在新窗口打开查看 用投影坐标来配准地图,要分析误差。引入了投影之后,不同地理坐标系之间的误差被放大了。这种方法,不建议采用。对于产生的误差,可以在配准后修正,也可以先对投影坐标数值进行坐标转换,然后再用来配准。可以参看另外一篇文章。

Alternate Grid还有一个非常重要的作用,当利用Grid line功能绘制Grid网格时候,所依据的投影坐标系就由这个Alternate Grid参数来决定。下图是Grid line功能的配置窗口(从命令行:Map-Grid Line Setup)
图片点击可在新窗口打开查看此主题相关图片如下:
图片点击可在新窗口打开查看 这个Grid Line是一个很有用的功能,用来在地图上绘制datum的经纬度网格和投影坐标网格。 Ozi要绘制经纬度网格,就需要知道该地图采用哪种Datum。在配准地图的时候,在Map Datum中设定的那个Datum,就是Ozi绘制经纬度网格的依据。 Ozi要绘制投影坐标网格,就需要知道该地图采用哪种Grid。而Alternate Grid的设定就是Ozi绘制投影坐标网格的依据。至于这个Grid configuration的设置,很简单,就不多说了。发个例图:
图片点击可在新窗口打开查看此主题相关图片如下:
图片点击可在新窗口打开查看 从坐标显示栏可以看到,Datum是S42,投影坐标系是User(自定义)。红色和蓝色线是经纬度网格线,从标注可以看到,蓝色网格的密度是1′。黄色线是投影坐标网,从标注可以看到,黄色网格的密度是2km。

5、设定Blank Map Datum 在Ozi中还有Blank Map Datum的设定,很简单,就不多说了,摘录Help的一段说明如下: Blank Map Datum - Specify the Datum to use for the Blank Map. This Datum is used the next time a blank Map is created, that is the next time the "Blank Map" option on the Map menu is used, it does not affect the Datum of a blank Map which is already being displayed. See Datums Help for more information.

6、关于自定义Datum 在Ozi的Help中有详细说明,如下: Adding User Datums OziExplorer can use up to 10 user defined datums. To add User Datums to OziExplorer you need to do the following. If it doesn't already exist Create a text file called datums.dat in the OziExplorer directory. OziExplorer will read this file the next time it is run, the user datums will always be added to the bottom of the list. Within this file add the following line or lines (if more than 1 datum is to be added). The format of the line is as follows : Datum name , Ellipsoid number , dx , dy , dz Datum name - Any name you want to enter Ellipsoid number - All datums have a reference ellipsoid, choose the number from the list below. If the ellipsoid is not in this list then you cannot add the datum, you need to contact the author of OziExplorer and have the ellipsoid added into the code. dx,dy,dz - these must be known for the particular datum you are entering. A comma must be used between all the fields. Example - A line in the file may look something like this NAD 27 User, 4, -8, 160, 176 Ellipsoid List 0 : 'Airy 1830'; a : 6377563.396; invf : 299.3249646 1 : 'Modified Airy'; a : 6377340.189; invf:299.3249646 2 : 'Australian National'; a : 6378160.0; invf: 298.25 3 : 'Bessel 1841'; a : 6377397.155; invf:299.1528128 4 : 'Clarke 1866'; a : 6378206.4; invf: 294.9786982 5 : 'Clarke 1880'; a : 6378249.145; invf:293.465 6 : 'Everest (India 1830)'; a : 6377276.345; invf:300.8017 7 : 'Everest (1948)'; a : 6377304.063; invf:300.8017 8 : 'Modified Fischer 1960'; a : 6378155.0; invf: 298.3 9 : 'Everest (Pakistan)'; a : 6377309.613; invf:300.8017 10 : 'Indonesian 1974'; a : 6378160.0; invf: 298.247 11 : 'GRS 80'; a : 6378137.0; invf: 298.257222101 12 : 'Helmert 1906'; a : 6378200.0; invf: 298.3 13 : 'Hough 1960'; a : 6378270.0; invf: 297.0 14 : 'International 1924'; a : 6378388.0; invf: 297.0 15 : 'Krassovsky 1940'; a : 6378245.0; invf: 298.3 16 : 'South American 1969'; a : 6378160.0; invf: 298.25 17 : 'Everest (Malaysia 1969)'; a : 6377295.664; invf:300.8017 18 : 'Everest (Sabah Sarawak)'; a : 6377298.556; invf:300.8017 19 : 'WGS 72'; a : 6378135.0; invf: 298.26 20 : 'WGS 84'; a : 6378137.0; invf: 298.257223563 21 : 'Bessel 1841 (Namibia)'; a : 6377483.865; invf:299.1528128 22 : 'Everest (India 1956)'; a : 6377301.243; invf:300.8017 23 : 'Clarke 1880 Palestine'; a: 6378300.789; invf:293.466 24 : 'Clarke 1880 IGN'; a: 6378249.2; invf:293.466021 25 : 'Hayford 1909'; a: 6378388.0; invf:296.959263 26 : 'Clarke 1858';a:6378350.87;invf:294.26 27 : 'Bessel 1841 (Norway)' ; a:6377492.0176;invf:299.1528 28 : 'Plessis 1817 (France)'; a: 6376523.0 ; invf:308.6409971 29 : 'Hayford 1924'; a : 6378388.0; invf: 297.0 其中,第15就是P54所使用的参考椭球。可以参考青岛海洋地质研究所的戴勤奋先生的两篇文章:《GIS中的坐标系定义与转换》和《坐标系转换与高斯投 影》(这两篇文章写得非常好)。 有兴趣的还可以看这个NGA的网站,有关于坐标转换的一些资料 http://earth-info.nga.mil/GandG/datums/ NGA:National Geospatial-Intelligence Agency (全文完) 欢迎大家来批评指正。

楼主的文章很具体,看得出下了相当大得功夫,非常感谢的说!

但是需要提醒一下,你对 Map Datum和 Map Projection的理解有些是不准确的。

datum:大地基准。是对地球椭球体的数学描述。简单的说,用参数的方式近似的构建地球实体,比如:WGS84、中国的P54等等,它们的差别只是参数值不同。所以,构建的地球模型也不一样。此外,datum就没有别的内容了;它的内容很简单。

projection:投影,就是球面坐标向平面坐标的转换。但这实际是一个非常复杂的问题,比上面的datum麻烦数十倍!基于“球面坐标对平面 坐标的线性不对应”命题,从18世纪到现在很多数学家是乐此不疲,有很多专著专门讨论之,但都不可能十全十美,只是侧重不一样。简单的说,它也是一个方程 来对应平面与球面的坐标,根据用途不同,也是近似的。有的可以保证面积的相同,有的可以保证距离的相同,有的可以保证角度的相同。比如,军用的大比例航海 图就是一种保持球面坐标与平面坐标角度相同的投影,因为航向的一致性最重要,距离可以再换算。

所以,Datum和Projection对于任何一副地图都是必不可少的,都是不可或缺的信息。而不是你所说的---

-----“配准地图可以用地理坐标数据(即是经纬度坐标,Long/Lat方式),也可以用投影坐标数据。若用经纬度坐标数据,只要设定Map Datum就可以,若用投影坐标数据,要先设定Map Datum,再设定投影方式(Map Projection)”-------

所以文章第三节的大部分可以合并的。

我也是与我们车友俱乐部测绘专业的朋友聊天,才逐渐理解了这几个概念,希望对你也有帮助。

谢谢楼上的红杉的讨论,以前从红杉的论坛获益不少,一并致谢。 我的帖子中的这句话,离开Ozi这个工具,单独把它拿出来说的话,那是不对的。即如下表述:“配准地图可以用地理坐标数据(即是经纬度坐 标,Long/Lat方式),也可以用投影坐标数据。” 若象上面这样来说,那是错误的。 我们知道,地图是2D的(不包括现在的3D地图),而经纬度坐标(或者说经纬度坐标系)是3D的椭球球面上的坐标。从3D到2D,就 不得不引进“投影”这个概念,投影的实质,就是建议一个映射关系,为3D上每一个点,根据这个投影关系,在2D的平面上找一个对应点。 我的另外一篇文章,请抽空看看,那篇文章讲到这些坐标系的问题。 因为这篇文章是讲Ozi中的坐标系设置,所以,我可以这么讲: “配准地图可以用地理坐标数据(即是经纬度坐标,Long/Lat方式),也可以用投影坐标数据。若用经纬度坐标数据,只要设定Map Datum(大地坐标系)就可以(不需要选定投影方式,但“Map Projection”这一项要选为“Latitude/Longitude”,告诉Ozi你输入的配准数据是经纬度方式的)。若用投影坐标数据来配准, 要先设定Map Datum,再设定投影方式(Map Projection)” 因为,在Ozi中配准地图有两类方法,一种是利用经纬度坐标数值,一种是利用投影坐标数值。当你利用经纬度的时候,Map projection这个参数只能是“Latitude/Longitude”,不能选某一种投影方式,如高斯、UTM。墨卡托投影等。 文中这段话,我写得不完善,我修正一下,让它更准确。谢谢你的提醒!也请大家继续批评指正。

转自http://hi.baidu.com/bbs1973/blog/item/790c15da8754c26ed1164e1e.html

 

 

 

 

posted @ 2009-07-16 16:37  Alexander  阅读(1646)  评论(0编辑  收藏  举报