原文发布时间:2010-08-17
作者:乱马
对于FME进行坐标系变换,涉及两种不同的变换,一个是基准面(Datum)发生变换,另一个基准面不发生变换。本文对第一种变换进行描述。
对于基准面发生变换的坐标系变换,在FME Workbench中使用Reprojector函数,在该函数中要分别选择源数据坐标系和目标数据坐标系,确定后,即可进行坐标系的变换。
或者对于源数据和目标数据,分别设置坐标系,FME在进行数据转换的时候,就可以自动进行坐标系的变换。
但是如何设置一个用户自定义的坐标系,能在FME的坐标系仓库(Coordinate System Gallery)中选择,然后进行坐标系变换呢。
通常,定义一个坐标系是确定这个坐标系的几个参数----椭球体参数,基准面参数以及投影参数。对于FME的坐标系参数定义涉及两个文件,LocalCoordSysDefs.fme和MyCoordSysDefs.fme。这两个文件都位于FME安装目录下的子目录Reproject下。在LocalCoordSysDefs.fme文件中定义基本的参数----椭球体参数和基准面参数。在文件MyCoordSysDefs.fme中定义投影参数。
椭球体的定义:
ELLIPSOID_DEF <ellipsoidName> \
DESC_NM <descriptive name> \
SOURCE <source> \
E_RAD <equator radius> \
P_RAD <polar radius>
参数描述如下:
如果一个椭球体已经在FME里面预先定义了,在以后所有的用到的地方都可以引用,不必重新定义,比如KRASOV,或者XIAN80等。
基准面的定义:
DATUM_DEF <datumName> \
DESC_NM <descriptive name> \
SOURCE <source> \
ELLIPSOID <ellipsoid name> \
USE <use type> \
DELTA_X <x value> \
DELTA_Y <y value> \
DELTA_Z <z value> \
BWSCALE <bwscale> \
ROT_X <rotX> \
ROT_Y <rotY> \
ROT_Z <rotZ>
参数描述如下:
名称 |
类型 |
描述 |
是否为空 |
<datumName> |
字符串 |
基准面的名称 |
No |
<descriptive name> |