地理转换是将一个地理坐标系中的坐标转换到另一个地理坐标系中。FME软件中预置了大量常用的坐标系统参数。一般FME中预置的的坐标转换参数为目标坐标系统到WGS84,从基准面A转换到基准面B,软件一般执行基准面A -> WGS84 ->基准面 B。
如果我们手中的转换参数直接为基准面A 到基准面B,没有与WGS84之间的转换参数,也就是基准面A ->基准面B,除了使用MYFME中提供的转换器,FME也支持用户自定义地理基准转换,或者更加复杂的基准面A ->基准面B ->基准面C之间转换。
坐标系基础
坐标系定义由基准面和地图投影两组参数确定,而基准面的定义则由特定椭球体及其对应的转换参数确定。
基准面是利用特定椭球体对特定地区地球表面的逼近,因此每个国家或地区均有各自的基准面,我们通常称谓的北京54坐标系、西安80坐标系实际上指的是我国的两个大地基准面。
地理坐标系统(Geographic coordinate system),是以经纬度为地图的存储单位的,也称球面坐标 或大地坐标系。包含地球椭球体和大地基准面。
地球是一个不规则的椭球,为了将数据信息科学的放到椭球上,就需要有一个可以量化计算的椭球体,具有长半轴,短半轴,偏心率。然而有了这个椭球体以后还不够,还需要一个大地基准面将这个椭球定位。在坐标系统描述中: Datum: D_Beijing_1954 表示,大地基准面是D_Beijing_1954。有了椭球体和大地基准面两个基本条件,地理坐标系统便可以使用。
以下几行是地理坐标系统相应的参数:
Geographic Coordinate System: GCS_Xian_1980//地理坐标系
Datum: D_Xian_1980 //大地基准面
Prime Meridian: Greenwich //起始经度(本初子午线)
Angular Unit: Degree//角度单位
投影坐标系统 (Projection coordinate system)平面坐标系统地图单位通常为米 ,也称非地球投影坐标系统 (not earth),或者是平面坐标。投影的条件为 a、球面坐标 b、转化过程(也就是算法) ,即每一个投影坐标系统都必须要求有地理坐标系统(Geographic Coordinate System)参数。
以下是投影坐标系统中的一些参数:
Projection: Gauss_Kruger //投影方法
Parameters: //参数
False_Easting: 500000.000000 //在东西方向上坐标纵轴向西移了500km
False_Northing: 0.000000 //在南北方向上坐标横轴没有移动
Central_Meridian: 117.000000 //中央经线,同central longitude
Scale_Factor: 1.000000 //比例系数
Latitude_Of_Origin: 0.000000 // 纬度的起源,这里即赤道
Linear Unit: Meter (1.000000) //线性单位
添加一个自定义地理转换
在我们手中只有一些本地坐标系转换参数情况下,您可以创建一个自定义地理转换模型。转换定义可能发生在FME映射文件中,也可以在<FME_Install_Dir>/Reproject/MyCoordSysDefs.fme
文件中.
单步转换语法
XFORM_DEF <xformName> \
SRC_DTM <datum name> \
TRG_DTM <datum name> \
[DESC_NM <descriptive name>] \
[SOURCE <source>] \
[GROUP <group>] \
[EPSG_NBR <epsg #>] \
[INVERSE <yes|no>] \
[MAX_ITR <max iterations for inverse convergence>] \
[CNVRG_VAL <inverse convergence threshold for completion>] \
[ERROR_VAL <inverse convergence threshol