XQuery函数

特性数据功能

功能处理功能

几何数据功能

几何处理功能

特性数据功能

FME提供了多种功能,可在XQuery脚本中使用。这些函数允许XQuery脚本和模板访问和操作要素属性值。所有功能功能都以前缀为前缀FME.名称空间前缀。

功能处理功能

使用XMLTemplaterjsontemplater.,模板可以包括处理子模板的结果。有两个函数允许处理子模板。

几何数据功能

FME提供了许多使用XQuery访问几何数据的函数。所有几何数据函数都以“geom”名称空间前缀作为前缀。

几何处理功能

在评估模板时,XQuery函数现在可以访问几何体。缺省情况下,访问的几何图形就是与正在处理的该功能相关联的几何。但是,使用本节中描述的功能,可以改变正在处理的几何图形。例如,如果特征的几何形状是聚合,则地质:流程零件函数可用于对聚合的每个部分依次计算子模板。在对这些子模板进行评估时,上面列出的几何数据函数将访问聚合的各个部分,而不是聚合的整体。

注意,如果在模板的每个评估中访问不同的几何形状,则可以递归地调用模板。这允许将嵌套聚集几何几何形状处理到任意深度,只需使用地质:流程零件功能。

每一个函数,除了Geom:过程点函数,采用一个参数,该参数定义了用于为不同的几何类型运行的模板。此映射是使用XML元素完成的,命名为“conf”,其中包含不同几何类型的属性。属性值包含要为该几何类型运行的模板的名称。如果几何形状在CONF元素中没有类型属性,或者如果属性包含空字符串,则不会评估模板。

例子:

如果以下CONF元素传递给函数,则该函数将在所有线几何形状上评估所有线几何形状的道路模板,以及所有点几何形状上的POI模板,以及所有多边形几何形状上的宗地模板。

以下值是Conf元素的有效几何类型名称:

盒子 Brepsolid.
composite-solid 复合表面 csgsolid.
油炸圈饼 椭圆 挤压
互联 多曲线 多点
多坚固 多文
空值 路径
pointcloud 多边形 栅格
rectangle-face 文本 三角帆
三角条

除了上面的类型名称之外,还可以在conf元素中使用许多属性来命名要为一组相关几何类型运行的模板。

配置属性名称 影响
所有 将评估命名模板的任何类型的几何形状。
区域 命名的模板将评估多边形,甜甜圈和椭圆几何。
曲线 将为行,弧和路径几何形状评估命名模板。
收藏 将评估命名模板,以用于聚合和多几何,例如多点,多曲线等。

如果多个conf属性名适用于一个几何图形,将使用更具体的属性名的值。因此,' all '的值只有在没有其他适用的属性时才会被使用。

例子:

如果以下CONF元素传递给函数,则该函数将在所有线路和弧形几何形状上评估路径模板,路径几何形状上的路径模板以及所有其他几何形状上的其他模板。

虽然这些conf元素名称为运行特定类型的几何形状的模板,几何特质可以用来命名要为特定运行的模板几何实例.将特定几何图形的' geometry_template '特征设置为一个模板名,将使函数针对该几何图形运行该模板,而不是使用conf元素中的模板名。

发表的参数

XQueryFactory可以检索工作区(或映射文件)中的任何已发布的参数(或宏)的值。这些值是查询中的全局变量,可以使用“FME”前缀和参数/宏名称访问。例如,访问FME_HOME宏的值,$ fme:fme_home可以使用变量。由于限制XQuery语言,参数/宏,其名称以这种方式无法访问一个数字。