FME坐标系和重投影
fme计算椭球面积

fme计算椭球面积
(最新版)
目录
1.FME 简介
2.椭球面积的计算方法
3.FME 在椭球面积计算中的应用
正文
1.FME 简介
FME(Feature Manipulation Engine)是一款强大的地理信息系统工具,主要用于处理和分析地理空间数据。
FME 可以对地理数据进行各种复杂的操作,如转换、重投影、剪裁等,以满足地理信息处理和分析的需求。
2.椭球面积的计算方法
椭球面积的计算方法有多种,其中较为常见的是使用椭圆面积公式或者球体面积公式进行计算。
这里我们介绍一种基于球体面积公式的计算方法:
设椭球的长半轴为 a,短半轴为 b,则椭球面积 S 可表示为:
S = 2ab * arccos((a^2 - b^2) / (2ab))
3.FME 在椭球面积计算中的应用
FME 在椭球面积计算中的应用主要体现在两个方面:一是 FME 可以方便地对地理数据进行处理,如将地理数据从一种坐标系统转换为另一种坐标系统;二是 FME 可以利用其强大的计算能力,对椭球面积进行高效计算。
例如,假设我们有一个地理数据集,需要将其从经纬度坐标系统转换为椭球坐标系统,并计算椭球面积。
这时,我们可以使用 FME 的坐标转
换功能,将地理数据集从经纬度坐标系统转换为椭球坐标系统。
然后,我们可以使用 FME 提供的计算功能,根据椭球坐标系统中的长半轴和短半轴,计算出椭球面积。
综上所述,FME 作为一款强大的地理信息系统工具,不仅可以方便地处理和分析地理空间数据,还可以在椭球面积计算中发挥重要作用。
FME重点函数

FME重点函数※3D(三维类)CSGBuilder(组合立体图形创建):由成对的立体几何要素创建组合立体几何图形;CSGEvaluator(组合立体图形计算):更新组合立体几何的要素几何图形;Extruder(挤压) :在源几何图形中创建具有确定交叉组合外形的长方体、表面或立体等几何图形;※Calculators(计算类)AreaCalculator (面积计算):将多边形要素的面积写为属性;AttributeRounder(属性范围):将属性按指定的范围进行取值;BaseConverter(基础转换):将一个属性值从一个数字系统转换到另外一个数字系统,将结果值放在一个新属性中;BoundsExtractor(范围提取):提取要素坐标的最小值和最大值;CircularityCalculator(环状计算):计算一个环状的面要素,它显示了要素是如何被拉伸。
返回值1表明了要素是是一个圆,返回值0表明要素是一条线;CoordinateConcatenator(坐标连接)将要素的全部坐标写入一个属性,坐标之间用指定的字符进行分隔;CoordinateCounter(坐标计数):将坐标数量写入属性;CoordinateFetcher (坐标取值):获得指定节点号的坐标并写入属性;Counter (计数器):将一个序列发生器的下一个值输出为新的属性;CRCCalculator (CRC计算):对要素计算CRC校验值并写入属性;DateFormatter(日期格式):将日期或时间属性改为其它格式;DecimalDegreesCalculator (十进制度计算):根据属性中分别保存的度、分、秒,计算以度为单位的角度值;DEMDistanceCalculator (DEM距离计算):对输入的线状要素,计算它与输入的DEM上对应点的三维距离,并生成为另一个DEM;DimensionExtractor(纬度计算):获得要素的坐标维数并输出为新的属性;DMSCalculator(度分秒计算):根据以度为单位的角度值计算度、分、秒; ElevationExtractor(高程值提取):提取第一个坐标的高程写入属性;EnvironmentVariableRetriever(环境变量获得):重新获得指定的环境变量并写入指定属性;ExpressionEvaluator(表达式计算):计算一个算术表达式并将返回值写入指定属性中;HoleCounter(洞计算):获得环中的孔的数量,输出为新的属性;InsidePointExtractor (内部点提取):生成多边形或环的内部点,其坐标写入属性;LengthCalculator (长度计算):计算要素的长度,输出为新的属性;ModuloCounter (模计算):循环计数:将一个序列发生器的下一个值输出为新的属性,当它达到指定的最大值时则重置为0;OrientationExtractor(方向提取):确定要素的方向并将返回值写入指定的属性。
fme 对几何顶点坐标进行计算

fme 对几何顶点坐标进行计算计算几何顶点坐标是计算机图形学和计算机视觉的基本问题之一。
在这篇文章中,我们将介绍一种常用的技术,即特征匹配和极线约束,来计算两幅图像之间的几何变换,从而计算出目标物体的3D坐标。
首先,让我们来了解一下几何顶点坐标计算的一些基本概念。
在计算机图形学中,一个物体的3D坐标通常用一个三维向量表示,即(x, y, z)。
在计算机视觉中,一个物体的2D坐标通常用一个二维向量表示,即(u, v)。
几何顶点坐标计算的目标是将一个物体在3D空间中的坐标转换为在图像中的坐标。
在计算几何顶点坐标之前,我们首先需要进行特征匹配。
特征匹配是一种在两幅图像中找到相似特征点的技术。
常用的方法是使用SIFT或SURF算法来提取图像的特征点,然后使用描述子向量来描述每个特征点。
接下来,我们可以使用特征点的描述子向量来计算两幅图像之间的相似度,进而找到相似的特征点对。
特征匹配后,我们可以使用极线约束来计算几何变换。
极线约束是指两幅图像中相似特征点构成的线在另一幅图像中的对应线的投影。
通常情况下,我们假设两幅图像的相机是均匀的,即成像平面与相机光心的距离相同。
在这种情况下,两幅图像中的相似特征点的对应线会经过一个固定的点,这个点称为极点。
通过计算两幅图像中相似特征点对应线的极线,我们可以得到极线的方程。
然后,我们可以使用极线方程来计算两幅图像之间的相似性。
在计算了极线约束之后,我们可以使用三角化来计算几何顶点坐标。
三角化是指根据两幅图像之间的特征点对和它们之间的几何约束来计算3D点的坐标。
常用的方法是使用线性三角化算法,通过计算两幅图像中相似特征点对应线的交点来计算3D点的坐标。
需要注意的是,几何顶点坐标的计算是一个迭代的过程。
首先,我们可以通过计算两幅图像之间的特征点对来得到几个粗略的3D点。
然后,我们可以使用迭代算法来优化这些3D点的坐标,使其满足几何约束。
常用的迭代算法是最小二乘法或非线性优化算法。
FME坐标系和重投影详解

基准面的定义:
DATUM_DEF <datumName>
\
DESC_NM <descriptive name> \
SOURCE <source>
\
ELLIPSOID <ellipsoid name> \
USE <use type>
\
DELTA_X <x value>
\
DELTA_Y <y value>
纬线——水平线/东西线 经线——垂直线/南北线 赤道——位于两极点中间的纬线 本初子午线——零经度线
经纬网的原点(0,0)定义在赤道和 本初子午线的交点处。
1st:基本概念
投影坐标系
将球面坐标转化为平面坐标的过程叫做投影。投影坐标系实际上是 平面坐标系统,单位通常为米。
主要投影类型:圆锥投影、圆柱投影和平面投影。
练习、坐标平移与重投影
打开上一次课的工作空间CAD.fmw,按以下要求完善工作空间 1、所有要素在X和Y方向上平移1000个正单位; 2、将所有要素的坐标系设置为Beijing1954/a.GK3d-32;
谢谢
\
DELTA_Z <z value>
\
BWSCALE <bwscale>
\
ROT_X <rotX>
\
ROT_Y <rotY>
\
ROT_Z <rotZ>
名称 <datumName> <source> <ellipsoid name> <use type>
<x value>
利用FME做坐标转换

利用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.52)椭球体参数:Ellipsoid Dimensions:Equatorial 6378245/Polar Radius 6356863/Flattening Ratio 298.2997/Eccentricity 0.08183)坐标系参数:Projection: Transverse MercatorFalse Origin:Northing -3457147/Easting 0Projection 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中,注意有次序的要求,被引用的放在前面。
FME函数功能简介

打散列表,使其中每个元素生成单独的要素
ListHistogrammer
对列表中的值进行统计,并生成一个新的列表
ListIndexer
提取列表中指定位置的元素成为要素的属性
ListPopulator
根据一系列输入属性构建列表
ListRangeExtractor
获取列表中的最小、最大值
圆率,计算输入的面状要素的细长程度
Clipper
图形剪切
Cloner
复制所有输入要素
ColorRasterCreator
根据参数创建栅格要素,并输入转换流程
CommonSegmentFinder
公共边检查:候选要素是否具有与基准要素相同的公共边
Concatenator
字符串连接:将任意数量的属性值或常量数次连接起来并输出为新的属性
CaseChanger
改变输入属性值的大小写并写入输出属性
CenterLineReplacer
改为面状要素的中心线。适用于细长型要素
CenterOfGravityReplacer
改为点状要素,坐标为原始要素的“重心”——坐标的平均值
CenterPointReplacer
改为点状要素,坐标为原始要素的最小外接矩形的中心
3DForcer
改为三维要素,Z坐标由指定的属性或常数获得
3DInterpolator
三维插值:沿着一个线状要素、根据起始值和结束值内插高程
3DPointAdder
给要素增加一个三维的节点(最后一个节点),其坐标由原始要素的属性获得
3DPointReplacer
改为三维的点,其坐标由原始要素的属性获得
ListRemover
学习《Building Applications with FME Objects》 之一 关于FME Objects

学习《Building Applications with FME Objects》之一关于FME ObjectsFME Objects提供了一套软件组件用于处理空间数据,软件开发人员为了访问空间数据,可以整合FME Obejct到新的或现有的应用程序并提供给最终用户。
要用FME Object创建良好的空间应用,你首先需要学习FME,FME提供了丰富的参考文档帮助你快速学习,在使用FME Object开发项目前,你至少需要通过学习FME Foundation手册来掌握FME的基础内容。
FME Object 能做什么?FME Object可以为你的程序提供几个关键特性,如下:l 从FME支持的格式中读取数据l 向FME支持的格式中写数据l 空间索引数据和执行复杂的空间查询l 坐标投影变换l 用输入的线要素生成面要素l 合并点要素、多边形要素l 删除重复数据l 对多边形产生内插点l 抽稀线和多边形数据l 围绕空间数据创建缓冲区以上仅仅是简要的描述,详细的介绍请参考FME Functions,Factories,and Transformers手册。
哪个产品才是我需要的?在FME,FME Plug-in SDK和FME Object之间如何选择呢?下面将给你一些帮助指导。
注意:正确的选择对于你的开发成果和计划至关重要,如果你无法确定,请联系Safe Software技术支持,并提供详细的需求信息,我们将为你提供帮助。
FME Plug-in SDK 用于开发新的reader插件或writer插件,也可以用于开发factoryies(处理器)和functions(函数)。
FME 当你需要用读、写、转换空间数据时使用,如果你关注的是数据生产、数据编辑、数据转换等,FME 则是合适的选择,对于已知的数据结构,FME可以导入、导出、处理。
FME Objects 为新的或现有的应用程序提供空间数据访问能力,对于未知的数据结构来说FME Objects 是一套完美的解决方案。
FME2014转换器参考手册_电子档

3D (1)这些转换器创建并修改三维表面和实体几何。
计算 (1)这些转换器计算某个值,并把它提供给要素的一个新属性集合 (3)这些转换器一次处理一组要素。
坐标系统 (5)这些转换器与坐标系和重投影有关。
数据库 (6)这些转换器允许和外部数据库进行交互。
数据可从数据库中提取,然后合并到要素流中,或合并到要素上。
过滤 (8)这些转换器对要素的图形或/和属性进行测试,并根据测试结果把要素分发到不同的目标中。
几何对象操作 (9)这类转换器是对个别或者成组的要素进行操作。
基本结构 ...............................13 这些转换器提供与底层FME转换引擎设备交互的功能。
JSoN . (15)查询、更新、创建JSoN (JavaScript object Notation) 数据。
KML ...................................15 这些转换器对要素的几何图形或属性进行处理,使其可用OGCKML写模块输出。
线性参考 (16)这些转换器处理FME要素的线性参考数据结构。
列表 ....................................16 这些转换器是对FME属性列表进行操作。
操作....................................17 这些转换器修改(处理)独立于其它要素的图 形或属性。
地图文本 (24)FME ® 转换器参考手册本手册是对每个转换器功能的概要说明。
要获得详细信息,可在Workbench帮助菜单下选择FME转换器,或者访问/KnowledgeDocumentation 下载文档。
这些转换器为要素创建文本标注。
MRF (24)这些转换器用于修复几何图形,尤其是在数据从CAD转换到GIS的过程中。
网络 (25)这些转换器对连接在一个网络中的线状要素进行处理,执行诸如优先级计算和方向纠正之类的操作。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目录
1st:基本概念 2nd:用FME作坐标转换 3rd:自定义坐标系 4th:思考与练习
1st:基本概念
坐标系是空间地理信息的基础
坐标系是GIS数据的骨骼框架,是定义要素实际位置描述的标准, 能够将我们的数据定位到相应的空间位置,并表达同一空间中要素间的 空间关系。
1st:基本概念
3rd:自定义坐标系
名称 <datumName> <source> <ellipsoid name> <use type> 字符串 字符串 有效的椭球体名称 4PARAMETER、6PARAMETER 7PARAMETER <x value> 浮点数 空间直角坐标系X轴与WGS-84基准面空间直角坐标 系X轴的位移量。(单位:米) <y value> 浮点数 空间直角坐标系Y轴与WGS-84基准面空间直角坐标 系Y轴的位移量。(单位:米) <z value> 浮点数 空间直角坐标系Z轴与WGS-84基准面空间直角坐标 系Z轴的位移量。(单位:米) <bwscale> 浮点数 7参数转换中的比率(BURSA类型)。(单位:PPM 不是所有类 百万分之) <rotX> 浮点数 7参数转换中的X方向的旋转偏移(BURSA类型)。 (单位:弧度) 型都需要 不是所有类 型都需要 No No No 类型 基准面的名称 椭球体来源(个人或者组织) 引用已定义的椭球体名称 基准面变换中使用的变换类型(变换公式) 描述 是否为空 No Yes No No
椭球体的定义: ELLIPSOID_DEF <ellipsoidName> \ DESC_NM <descriptive name> \ SOURCE <source> \ E_RAD <equator radius> \ P_RAD <polar radius>
名称 <ellipsoidName> <descriptive name> <source> <equator radius> <polar radius> 类型 字符串 字符串 字符串 浮点数 浮点数 描述 椭球体名称 椭球体的描述 椭球体来源(个人或者组织) 椭球体长半径 椭球体短半径 是否为空 No Yes Yes No No
2、将所有要素的坐标系设置为Beijing1954/a.GK3d-32;
谢谢
注:如果一个椭球体已经在FME里面预先定义了,在以后所有的用 到的地方都可以引用,不必重新定义,比如KRASOV,或者XIAN80 等。
3rd:自定义坐标系
基准面的定义: 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>
2nd:用FME作坐标转换
练习一、坐标平移与重投影
打开上一次课的工作空间CAD.fmw,按以下要求完善工作空间 1、所有要素在X和Y方向上平移1000个正单位;
2、将所有要素的坐标系设置为Beijing1954/a.GK3d-32;
3rd:自定义坐标系
FME自定义坐标系需要修改FME\Reproject里面的 LocalCoordSysDefs.fme, MyCoordSysDefs.fme文件,在这两 个文件里面我们可以分别定义椭球体,基准面,坐标系。 • 概念
指定,最多影响变换的控 制点数目
2nd:用FME作坐标转换
不同投影坐标系之间的转换 • 直接在读写模块的参数里面设置,转换前后的坐 标系 • 通过Reprojector转换器进行 重投影。
2nd:用FME作坐标转换
• Offsetter:对坐标点进行平移 • AttributeReprojector 属性坐标值重投影 • ESRIReprojector 使用ESRI里面的已定义的坐标系 统 • ReprojectAngleCalculator 投影后角度计算 • ReprojectLengthCalculator 投影后长度计算
基准面参数是内的参数,因此是选择了一个统一的参数,对于所有的投影参 数,都是使用的这样一个参数,因此利用FME自身带的参数进行空间数据的坐 标系变换,会带来一定的误差。
2nd:用FME作坐标转换
练习、坐标平移与重投影
打开上一次课的工作空间CAD.fmw,按以下要求完善工作空间 1、所有要素在X和Y方向上平移1000个正单位;
2nd:用FME作坐标转换
RUBBERSHEETER
2nd:用FME作坐标转换
• 即当我们有多个控制点时,将对应的控制点连接 成向量线,即可进行橡皮页变换。橡皮页变换多 用于较小距离的矫正。
距离参考点的长度,对变换 影响的力度,值越大影响越 大。(y影响指的是,越远 作用越小)
指定控制点,影响的 最大距离
• • 椭球体:假象的规则的椭球体 基准面:椭球体结合当地实际情况的最佳拟合椭球体。
•
投影:转化为平面坐标系。
3rd:自定义坐标系
在LocalCoordSysDefs.fme中定义椭球体参数(ELLIPSOID_DEF),投影参数(DATUM_DEF),或者其他更多 参数(UNIT_DEF)等
3rd:自定义坐标系
坐标系的分类
地理坐标系(Geographic coordinate system)
投影坐标系(Projected Coordinate System)
1st:基本概念
地理坐标系(Geographic coordinate system),以经纬度为存储单位 的球面坐标系统。经度和纬度是从地心到地球表面上某点的测量角。通 常以度或百分度为单位来测量该角度。 纬线——水平线/东西线 经线——垂直线/南北线
赤道——位于两极点中间的纬线
本初子午线——零经度线 经纬网的原点(0,0)定义在赤道和 本初子午线的交点处。
1st:基本概念
投影坐标系
将球面坐标转化为平面坐标的过程叫做投影。投影坐标系实际上是
平面坐标系统,单位通常为米。
主要投影类型:圆锥投影、圆柱投影和平面投影。
1st:基本概念
地理坐标系
以经纬度为单位,由椭球体和基准面定义
投影坐标系
地理坐标系在平面坐标上的投影,由地理坐标系和投影的相关参数来 决定。
2nd:用FME作坐标转换
FME的坐标系库中包含了5000多种坐标系,且可以定义自己的坐标系
2nd:用FME作坐标转换
FME的转换器库中有20多个坐标处理的专用转换器。
2nd:用FME作坐标转换
AFFINER 包括 平移、旋转、缩放 X1=AX0+BY0+C Y1=DX0+EY0+F 其中ABCDEF为仿射参数,X1为仿射 后点的X坐标Y1为Y坐标,X0Y0分别 对应的仿射前的坐标点。 一共六个参数所以需要至少三对点
<rotY>
浮点数
7参数转换中的Y方向的旋转偏移(BURSA类型)。
(单位:弧度) 7参数转换中的Z方向的旋转偏移(BURSA类型)。 (单位:弧度)
不是所有类
型都需要 不是所有类 型都需要
<rotZ>
浮点数
3rd:自定义坐标系
在MyCoordSysDefs.fme中定义坐标系设置
3rd:自定义坐标系