http://bbs.3snews.net/viewthread.php?tid=28695
利用FME做坐标转换
一、坐标转换 同一基准面的坐标系转换,利用workbench的coordinatesystem系列涵数和reprojector涵数即可完成. coordinatesystem:用来提取坐标点 reprojector:同基准面的坐标变换 可以通过涵数随意的添加和移除坐标前的带号. 二、关于不同基准面的坐标转换 用fme的配置文件,将七参数加入文件,定义坐标系转入即可. 以一个城市为例: 1、 在LocalCoordSysDefs.fme中定义椭球体参数(ELLIPSOID_DEF),投影参数(DATUM_DEF)或者其他更多参数(比如UNIT_DEF)等; 2、 在MyCoordSysDefs.fme中定义坐标系; 以一个城市提供的参数为例: 1)投影参数: Conversion Technique to WGS84: Seven Parameter Transformation(七参数法) Delta X -64.00/Delta Y -131.00/Delta Z -51/X Axis 1.0/Y Aixs 2.0/Z Aixs -6.0/Scale Factor -2.5 2)椭球体参数: Ellipsoid Dimensions: Equatorial 6378245/Polar Radius 6356863/Flattening Ratio 298.2997/Eccentricity 0.0818 3)坐标系参数: Projection: Transverse Mercator False Origin: Northing -3457147/Easting 0 Projection Parameters: Origin latitude 0d0'0"/Scale reduction 1/Central meridian 121d27'23" 定义过程如下: 首先定义椭球体参数(具体意义见Translator随机帮助文件): ELLIPSOID_DEF SEL \ #(定义名称) DESC_NM "SEL" \ #(说明) E_RAD 6378245 \ #(Equatorial 6378245) P_RAD 6356863 #(Polar Radius 6356863) 然后定义投影参数(具体意义见Tranlator随机帮助文件): DATUM_DEF SDT \ DESC_NM "SDT" \ ELLIPSOID SEL \ #(这里引用了上面的椭球体参数定义) USE 7PARAMETER \ #(采用7参数法) DELTA_X -64.00 \ #(Delta X -64.00) DELTA_Y -131.00 \ #(Delta Y -131.00) DELTA_Z -51 \ #(Delta Z -51) ROT_X 1.0 \ #(X Axis 1.0) ROT_Y 2.0 \ #(Y Aixs 2.0) ROT_Z -6.0 \ #(Z Aixs -6.0) BWSCALE -2.5 #(Scale Factor -2.5) 然后把以上两个定义过程复制到LocalCoordSysDefs.fme中,注意有次序的要求,被引用的放在前面。(还有,LocalCoordSysDefs.fme文件最后一句话是Include MyCoordSysDefs.fme,要把定义放到这句话之前) 最后打开MyCoordSysDefs.fme,定义坐标系(具体说明见Translator随机帮助文件): COORDINATE_SYSTEM_DEF SHANGHAI \ DESC_NM "SHANGHAI LOCAL COORDINATE" \ PROJ TM \ #(这里采用的TM椭球变换,即Projection: Transverse Mercator,具体参数意义见Translator随机帮助文件) UNIT METER \ #(坐标单位,几乎所有TM都用METER) DT_NAME SHANGHAIDT \ #(这里引用了上面的投影参数定义) #以下是具体参数 PARM1 121.456 \ #(这个值是*经线的度数,就是Central meridian 121d27'23") SCL_RED 1 \ #(Scale reduction 1) ORG_LAT 0.0 \ #(Origin latitude 0d0'0") X_OFF -3457147 \ #(Northing -3457147) Y_OFF 0.0 \ #(Easting 0) MAP_SCL 1.0 #(这个参数是图纸比例,没有例外选择1.0) 这样就可以在Tranlator和Workbench中利用这个坐标定义了。 请把正确的参数放到以上定义中,然后添加到相应的文件中(添加完后可以把包括#在内的注释文字删除),这样就可以用来转换数据了。 三、利用纠正来进行坐标系的变换(赋坐标系) 利用affinewarper涵数 也可以对影像数据进行纠正 步骤: 先生成控制文件 利用affinewarper涵数进行变换,至少四个点 |