西班牙
斯潘4
以上视频涵盖了使用geodatabase关系类简介,以及本文中介绍的示例。
Geodatabase附件是一种将附加信息以特定文件(即图像、pdf或文本文档)。作为ArcGIS的文档提及:
例如,如果有代表建筑物的功能,可以使用附件添加从多个角度拍摄的建筑物的多张照片,以及包含建筑物契税信息的PDF文件。
可以将一个或多个文件附着到要素,然后使用Arcgis中的查询工具检索信息。
*使用的ESRI文件地理数据库读/写/这篇文章中提到,需要的ArcGIS的行货版本。有关要求ArcGIS许可级别的详细信息,请参阅所需的ArcGIS许可类型为FME地理数据库格式。
附件和FME
因为附件是由关系类处理的,所以fme能够轻松地创建此类连接。但是,附件表是事先在arcgis中创建的。关键是读取要附加到属性中的文件内容,并将该属性写入附件表中的数据字段。关系类必须事先在arcgis中创建。关键是读取要附加到属性中的文件内容,并将该属性写入附件表中的数据字段。
attribute file reader转换器或数据文件读取器可用于将文件的内容读入属性。对于数据文件读取器,请确保将读取器参数“立即读取整个文件”设置为“是”。读取器可用于将文件内容读入属性。对于数据文件读取器,请确保将读取器参数“立即读取整个文件”设置为“是”。
下面的练习将演示如何在添加附件时写入关系类。
attachments.zip
注意:在下载所提供的模板文件将使我们写信给已有的要素类,附件表,并建立关系的地理数据库。通常这会在ArcGIS中被事先设置。当使用XML模板文件,工作区将只能运行一次,今后所有的翻译将需要从作家删除模板。
在下图中,我们在数据检查器中看到了包含消防大厅、社区中心和图书馆数据的源gml文件的可视化。亚搏国际在线官网
消防会堂,社区中心,在地亚搏国际在线官网理标记语言库(GML)
在下图中,我们看到了将用作附件的照片和pdf文件所在的系统路径的可视化。
路径拍摄,并在PointsOfInterest文件夹中的PDF文件附件。
对于本练习,提供了一个开始工作区。
您将立即注意到工作区已部分设置。源架构对象和目标架构对象已经就位,可以读取/写入。还有一些变形金刚已经准备好映射reader和writer模式。唯一缺少的是建立关系所需的转换器—添加它们是本练习的主要任务。然而,我们将得到一些预定义的转换器的帮助,它们已经被设置并复制到书签中。
预定义的变压器
1。下载附件文件夹
如上所述,不能通过FME创建关系类。因此,在运行翻译之前,有必要确定特性之间的关系。对于这个示例,已经提供了带有所需的空特性类和已定义关系的目标地理数据库(请参阅下载部分中的attachments.zip)。下载并解压缩此zip文件夹,因为它不仅包含所需的目标地理数据库,还包含将在工作流期间用作附件的必要文件。亚搏在线
2。阅读源数据
使用GML阅读器从感兴亚搏国际在线官网趣的地理标记语言文件源点读取消防厅、社区中心和图书馆几何图形。
目录和文件路径名阅读器用于将系统路径读取为附件的图像和PDF文件。虽然阅读器已经作为开始工作区的一部分添加了,但是要确保每个阅读器的源参数都指向正确的数据集。
3。安装程序源属性以匹配目标架构
为了修改每个源数据集的属性以使它们与目标模式匹配,需要进行一些额外的工作。
为FireHalls,这意味着使用AttributeManager重命名以下属性:
输入属性 | 输出属性 | 属性值 | 行动 |
名称 | 描述 | 改名 | |
HallNumber | 名称 | 改名 | |
地址 | 街 | 改名 |
重命名FireHalls属性
为亚搏国际在线官网CommunityCentres,这意味着使用AttributeManager修改以下属性:
输入属性 | 输出属性 | 属性值 | 行动 |
CentreName | 名称 | 改名 | |
CentreAddress | 街 | 改名 | |
CentreURL | 网站 | 改名 | |
DocumentName | 描述 | 改名 | |
邮政编码 | 未知 | 设定值 |
重命名Comm亚搏国际在线官网unityCentres属性
为图书馆,这意味着使用AttributeManager修改以下属性:
输入属性 | 输出属性 |
属性值 | 行动 |
库名称 | 名称 | 改名 | |
LibraryAddress | 街 | 改名 | |
LibraryURL | 网站 | 改名 | |
DocumentName | 描述 | 改名 | |
邮政编码 | 未知 | 设定值 |
重命名库属性
4。添加关系相关属性
FME需要被告知这些特性参与了一个关系类。为此,我们将使用AttributeCreator转换器。此变压器可在“变压器使用”书签中找到。如果有两个数据流(兴趣点和附件),就需要AttributeCreator的两个实例。
复制/移动这个转换器到两个浅棕色的书签中,标题为“4”。添加关系相关属性”。对于感兴趣的点(壁炉、社区中心和图书馆的特性类型),将所有三个现有的Attri亚搏国际在线官网buteManager转换器连接到新的AttributeCreator。对于附件文件的路径(路径特性类型),只需将目录和文件路径名阅读器连接到第二个AttributeCreator。
添加和连接预定义的AttributeCreator后工作区。
打开其中一个attributecreator的properties对话框,您将看到它所做的全部工作是设置一个名为geodb_feature_has_relationships的格式属性。将geodb_feature_has_relationships属性设置为yes,就可以告诉FME这些特性参与了关系。
属性设置为geodb_feature_has_relationships是
每一组功能还需要一个ID号。假设一个还不存在,我们可以用一个反向转换器创建一个。同样,我们需要每个特性集有一个实例,在“使用的转换器”书签中已经有一个预定义的转换器。从书签中移动/复制计数器转换器,并在上一步中的每个AttributeCreator转换器之后连接它的一个实例。检查计数器参数,您会发现它正在创建一个名为geodb_oid的属性。
计数器创建的ID属性,geodb_oid
5。连接模式
此时,特性已经准备好写入地理数据库,因此您可以创建从计数器转换器到现有的AttributeRenamer转换器和pointsofinterest_attach特性类型的连接。
完整的数据流
打开AttributeRenamer_POIType转换器的参数对话框。这里,我们需要将fme_feature_type属性重命名为POIType,这样做的原因是为了确保在属性中维护源特性。在这种情况下,我们仍然会有壁炉、社区中心和图书馆。亚搏国际在线官网参数设置如下:
6。添加关系相关属性
现在我们需要定义这两组特性之间的关系,我们通过创建源ID号和目标ID号来实现这一点。同样,每个特性集需要一个实例,而且已经有两个预定义的转换器可供使用。移动两个AttributeRenamer变压器(即AttributeRenamer_Origin和AttributeRenamer_Destination)从“变形器使用”书签变成黄色中间的书签。从兴趣点(消防厅、社区中心和图书馆的特性类型)到AttributeRenamer_Origin进行复制连接,从路径计数器到Attribu亚搏国际在线官网teRenamer_Destination进行复制连接:
添加关系相关的属性后,工作区。
检查每个AttributeRenamer的参数。您将看到每个都将新创建的ID重命名为原始ID或目标ID。FME将使用它来编写关系类。
7。建立关系信息
添加一个特性更强的转换器。这就是建立关系的方式。将原始属性搪瓷器连接到请求者端口,将目标属性搪瓷器连接到供应商。打开FeatureMerger的参数对话框。将请求者属性是名称和供应商属性是path_rootname。
这样做的结果是,数据被合并在附件的文件名(path_rootname)利息功能(名称)的点的名称相匹配。
例如,如果我有兴趣点被称为“大高像”(产地ID = 13),并有一个名为“大高Statue.jpg”(目的地ID = 22),那么结果将是一个单个特征(“大高像”,起源ID = 13,目的地ID = 22),它定义这些功能之间的关系。
在写这关系类,这将确定在PointsOfInterest和PointsOfInterest_ATTACH表这些功能之间的关系。
另一个悬而未决的问题采取的护理是有足够理由的特定兴趣点多个附件的情况。所以,虽然仍处于FeatureMerger参数对话框,改变“过程重复供应商”为Yes并输入文档的列表来创建。
FeatureMerger参数
现在,当运行工作区时,与多个附件的功能,多文件存储在一个列表,像这样:
文档{0} .path_filename
文档{0} .geodb_rel_destination_oid
文档{1} .path_filename
文档{1} .geodb_rel_destination_oid
我们现在需要做的是爆炸这个名单成独立的特征 - 以便有每个附件的关系记录 - 这与ListExploder变压器完成。插入FeatureMerger后ListExploder变压器和FeatureMerger的合并输出端口连接到ListExploder的输入端。打开ListExploder参数对话框,选择文件{}作为列表爆炸:
ListExploder参数
这被发送到一个FME作家的每个要素应具有指示几何类型的属性。在大多数情况下,你 - 用户 - 永远需要了解这个属性,不需要进行设置。然而,在这里将这些功能目前标记为点要素(即兴趣点),我们需要告诉FME他们实际上非几何,关系的特点。因此,ListExploder后面加一个AttributeCreator变压器和AttributeCreator连接到ListExploder的元素端口。
打开AttributeCreator的参数对话框,并用它来创建一个名为geodb_type新的属性。应当给予geodb_relationship的值。这将告诉FME写这些的地理数据库关系的特点。
AttributeCreator参数以下列表爆。
现在,您可以在AttributeCreator_3连接到PointsOfInterest__ATTACHREL作家特征类型。
8。安装在附件表中的字段
目前,我们正在写特征之间的关系,但目标特征(附件),目前只是一个文件的引用,而不是文件本身。我们需要使用这些引用来读取附件文件内容。工作区的预定义的部分会为我们做到这一点。寻找书签“设置在附件表中的字段”。
检查一下这些变压器在做什么。该AttributeCopier做一些基本的架构映射而StringConcatenator是设置一个属性,告诉有关文件的类型ArcGIS的附着。最后,读属性数据的附件的内容,使用从原始路径阅读器获得的文件名。
此书签的内容连接成主工作区(即到附件计数器和写入特征类型(PointsOfInterest__ATTACH))之间的连接。删除任何现有的连接PointsOfInterest__ATTACH。
9。写关系数据和附件
在这一点上,我们应该检查(Navigator窗口),交易类型设置为编辑会话。
注:所提供的模板文件将使我们写信给已有的要素类,附件表,并建立关系的地理数据库。通常这会在ArcGIS中被事先设置。当使用XML模板文件,工作区将只能运行一次,今后所有的翻译将需要从作家删除模板。
关系类必须在编辑会话被写入。现在保存和运行工作区(确保的ArcGIS和数据检查被关闭,以避免任何数据锁定的问题)。当您检查在ArcGIS中PointsOfInterest功能(还记得他们是在要素数据集被称为市)与HTML弹出式工具对它们进行查询。
在ArcGIS PointsOfInterest功能与HTML弹出式工具查询
你好@阿迪
道歉中又回到了你的延迟。我个人当关系是基于GlobalID的没有测试建立关系。我想,如果支持此功能,将在FME 2019。
在数据和附件方面混合起来,这表明你的两个特征的加入是不是很正确配置。如果你可以尝试用单个附件,并将其目标功能测试,并试图让他们正确地连接(这是怎样的关系将被填充)应该解决的问题。这发生在FeatureMerger。还要注意的是,存在什么类型的关系类?如以下文章所述,一些关系类不需要写入关系表。请参阅此处的关系背景部分:https://knowledge.亚搏在线safe.com/articles/28340/working-with-geodatabase-relationship-classes-atta.html网站
如果仍然有问题,如果你能发布你的数据/工作区的样本,我可以看看。
?2019安全亚搏在线软件公司|合法的