span8
span4
源工作流的模式,亚搏在线讨论的之前的例子,将在单个工作区中读写任何数据。然而,输出总是输入的镜像,因为目标模式是从源动态复制的。
不是创建镜像,可以将源数据映射到新的模式中,动态地写出来。当需要的模式已经存在时,这对于强制特定的输出非常有用。任何阅读器数据集(任何格式)都可以作为目标模式的源,方法是将其添加为资源阅读器。
在这个例子中,正在进行的项目以标准化的shapefile集合的形式提供更新的城市数据。然而,每次接收到更新时,它采用Autodesk SDF数据库格式。要处理这个场景,使用标准化的shapefile作为模式资源创建动态工作区。
1.添加源数据集
打开FME到一个新的工作区,从阅读器菜单中选择“Add Reader”。
2.添加目标数据集
从写入器菜单中选择“添加写入器”。
3.使用工作区资源来设置模式使用工作区资源(reader菜单)向工作区添加以下三个shapefile数据集:
shapefile:
一旦资源被添加,在Navigator窗口中放置一个条目:
4.设置动态写入器以使用新模式
要将源数据映射到新的动态模式,打开writer特性类型并使用“Schema Sources”设置。默认情况下,将原始源数据集的模式输入对话框:
为了将新模式应用于目标特性类型,更改设置以指向新模式,而不是来源:
在上图中,“interop占数据库”为原始源数据集,并已被Shapefile资源所替代。选择OK并关闭对话框。
5.模式映射
最后,确保工作区包含与新模式匹配的正确映射。在这个例子中,AttributeManager转换器用于提供此功能。使用下表创建属性映射。将阅读器连接到AttributeManager,重命名下表中的属性:
输入属性 | 输出属性 |
PRIMARYINDEX | PID |
类 | ROAD_CLASS |
featureID | FEATUREID |
numberOfLanes | ROAD_LANES |
routeNumber | ROUTE_NUM |
routeType | ROUTE_TYPE |
类型 | ROAD_TYPE |
的名字 | PARK_NAME |
name_alt | NAME_ALT |
STOPABBR | STOP_ABBR |
STOPNAME | STOP_NAME |
例子:
6.运行工作空间
下面是最终工作空间的图像。使用run按钮,然后检查输出文件是否包含正确的属性模式。
将记录每个选定模式源定义的特性类型。
作为一个例子:
读者“SHAPE”类型的“SHAPE_1”为类型提供了模式:公交站点、城市公园、道路
如果特性以某个特性类型为目标,而该特性类型没有在模式源中定义,然后,以下类型的错误信息将出现在日志文件的底部附近:
删除某些属性可能是必要的。为了打开写入器参数,打开模式源对话框,启用InterpolisDatabase [SDF3]和busstop /CityParks/Roads [ESRISHAPE]。然后在属性中删除回车:
前两个属性来自Shapefile,另外两个来自SDF。单击ok并重新运行工作区。
©2019安全亚搏在线软件公司|法律