span8
span4
以上视频涵盖了理论涵盖介绍如何使用地理数据库关系类,以及本文所涉及的示例。
地理数据库附件是将附加信息以特定文件(即图像、PDF或文本文档)。随着Arcgis文档提到:
“例如,如果你有一个代表建筑物的功能,你可以使用附件来添加从多个角度拍摄的建筑物的多张照片,以及包含建筑物契约和税务信息的PDF文件。”
您可以将一个或多个文件附加到某个特性,然后使用ArcGIS中的查询工具检索信息。
*本文中使用/提到的esri文件geodatabase reader/writer需要arcgis的许可版本。有关所需Arcgis许可级别的详细信息,请参阅fme geodatabase格式所需的arcgis许可证类型。
附件和FME
因为附件是由关系类处理的,所以FME能够轻松地创建这种连接。但是,附件表是在ArcGIS中创建的。关键是读取要附加到属性中的文件内容,并将该属性写入attachments表中的数据字段。关系类必须事先在ArcGIS中创建。关键是读取要附加到属性中的文件内容,并将该属性写入attachments表中的数据字段。
可以使用AttributeFileReader转换器或数据文件阅读器将文件内容读入属性。对于数据文件读取器,请确保将读取器参数“一次读取整个文件”设置为Yes。reader可用于将文件的内容读入属性。对于数据文件读取器,请确保将读取器参数“一次读取整个文件”设置为Yes。
接下来的练习将演示如何在添加附件时写入关系类。
attachments.zip
注意:下载中提供的模板文件将允许我们写入已经设置了要素类、附件表和关系的geodatabase。通常这必须事先在arcgis中设置。当使用XML模板文件时,工作区将只能运行一次,所有未来的翻译都将要求从编写器中删除该模板。
在下面的图像中,我们可以在数据检查器中看到包含消防厅、社区中心和图书馆数据的源GML文件的可视化。亚搏国际在线官网
地理标记语言(GML)中亚搏国际在线官网的消防大厅、社区中心、图书馆
在下面的图像中,我们可以看到系统路径的可视化,其中有将用作附件的照片和PDF文件。
指向“兴趣点”文件夹中照片和PDF文件附件的路径。
对于本练习,提供了一个初始工作区。
您将立即注意到工作区已经部分设置好了。源模式对象和目标模式对象已经就绪,可以进行读写操作。还有一些转换器已经准备好映射Reader和Writer模式。唯一缺少的东西是建立关系所需的变压器 - 增加他们对这项工作的主要任务。但是,我们将通过一个数字,已经建立并复制到书签的预定义的变压器有所帮助。
预定义的变压器
1.下载附件文件夹
如上所述,关系类不能通过FME创建。因此,有必要确定之前运行转换你的特征之间的关系。对于本演示中,与所需的空要素类的目的地理数据库和定义的关系已经提供(请参阅attachments.zip在下载部分)。下载并解压缩这个zip文件夹,因为它不仅包含所需目的地地理数据库,同时也包含了将用作在工作流程中的附件所需的文件。亚搏在线
2.读取源数据
射击馆,社区中心,图书亚搏国际在线官网馆和几何形状是从使用GML读者兴趣地理标记语言文件的源点读。
目录和文件路径名读者用来读取系统路径将被作为附件的图像和PDF文件。虽然读者已经被添加为起始工作区的一部分,确保每个读者源参数是指向正确的数据集。
三。设置源属性以匹配目标架构
一些额外的工作,需要以修改属性为每个数据集来源,使它们匹配目标架构。
对于消防厅时,这意味着重命名与AttributeManager以下属性:
输入属性 | 输出属性 | 属性值 | 行动 |
姓名 | 说明 | 重命名 | |
门厅号码 | 姓名 | 重命名 | |
地址 | 街道 | 重命名 |
重命名Firehalls属性
对于亚搏国际在线官网通讯中心,这意味着修改与AttributeManager以下属性:
输入属性 | 输出属性 | 属性值 | 行动 |
中心名 | 姓名 | 重命名 | |
中心体 | 街道 | 重命名 | |
中央 | 网站 | 重命名 | |
文件名 | 说明 | 重命名 | |
邮政编码 | 未知的 | 设定值 |
重命名通讯中心亚搏国际在线官网属性
对于图书馆,这意味着修改与AttributeManager以下属性:
输入属性 | 输出属性 |
属性值 | 行动 |
库名称 | 姓名 | 重命名 | |
图书馆地址 | 街道 | 重命名 | |
库URL | 网站 | 重命名 | |
文件名 | 说明 | 重命名 | |
邮政编码 | 未知的 | 设定值 |
重命名库属性
四。添加关系相关属性
FME需要被告知功能参与关系类。要做到这一点,我们将使用AttributeCreator变压器。这种变压器可以在发现“变形金刚使用”书签。都需要给出AttributeCreator的两个实例,有两个数据流(兴趣点,并在附件)。
复制/移动该变压器为两个名为“4.添加关系相关的属性”的浅棕色的书签。对于利息(FireHalls,CommunityCentres和库特征类型)的亚搏国际在线官网点,这三个现有AttributeManager变压器连接到新的AttributeCreator。对于路径的连接文件(PATH特征类型),只需连接目录和文件路径名读取器到第二AttributeCreator。
添加并连接预定义的attributecreator后的工作区。
打开属性对话框AttributeCreators之一,你会看到它所做的就是一套名为geodb_feature_has_relationships的格式属性。该属性设置为yes geodb_feature_has_relationships,是所有需要告诉FME,这些功能参与的关系。
属性geodb_feature_has_relationships设置为yes
各组特征还需要一个ID号。假设一个已经不存在,我们可以创建一个与计数器变压器。同样,我们需要每一套功能一个实例,并且已经有一个预先定义的变压器在“变形金刚使用”书签。移动/从收藏中复制计数器变压器和从每上一步AttributeCreator转换后连接它的一个实例。检查计数器参数,你会发现它创建一个名为geodb_oid的属性。
创建id属性geodb_oid的计数器
5个。连接架构
在这一点上,特点是准备写的地理数据库,这样你就可以创建现有AttributeRenamer变压器和PointsOfInterest__ATTACH特征类型从柜台变压器连接。
完整的数据流
打开参数对话框的AttributeRenamer_POIType变压器。在这里,我们需要重命名fme_feature_type属性POIType,这保证了功能的名称为源要素保持在一个属性的原因。在这种情况下,我们将有Firehalls,社区中心及图书馆还。亚搏国际在线官网参数应设置如下:
6.添加关系相关属性
现在,我们需要定义两组特征之间的关系,我们通过创建出发地和目的地的ID号码做到这一点。同样,我们需要每一套功能一个实例,并且已经有我们可以用两种预先定义的变压器。移动两个AttributeRenamer变压器(即从AttributeRenamer_Origin和AttributeRenamer_Destination)“变形金刚使用”书签到黄色,中心书签。建立从利息(FireHalls,CommunityCentres和库特征类型)柜台AttributeRenamer_Origin的指向A亚搏国际在线官网ttributeRenamer_Destination重复的连接,另一个是路径计数器:
添加关系相关属性后的工作区。
检查每个AttributeRenamer的参数。你会看到,每个被重命名新创建的ID到任何一个始发地或目的地的ID。这是FME将使用写关系类。
第七章。建立关系信息
添加FeatureMerger变压器。这是怎样的关系将建成。起源AttributeRenamer连接到请求者端口和目标AttributeRenamer给供应商。打开参数对话框的FeatureMerger。将请求者属性是名称和供应商属性是path_rootname。
这样做的结果是,数据被合并在附件的文件名(path_rootname)利息功能(名称)的点的名称相匹配。
例如,如果我有兴趣点被称为“大高像”(产地ID = 13),并有一个名为“大高Statue.jpg”(目的地ID = 22),那么结果将是一个单个特征(“大高像”,起源ID = 13,目的地ID = 22),它定义这些功能之间的关系。
在写这关系类,这将确定在PointsOfInterest和PointsOfInterest_ATTACH表这些功能之间的关系。
另一个悬而未决的问题采取的护理是有足够理由的特定兴趣点多个附件的情况。所以,虽然仍处于FeatureMerger参数对话框,改变“过程重复供应商”为Yes并输入文档的列表来创建。
特征合并参数
现在,当运行工作区时,与多个附件的功能,多文件存储在一个列表,像这样:
文档{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弹出式工具对它们进行查询。
用html弹出工具查询arcgis中的兴趣点特性
您好!@阿迪
很抱歉没能及时回复你。我个人还没有测试过建立基于globalid的关系。我怀疑,如果这个功能得到支持,它将在FME 2019年。
就数据和附件的混淆而言,这表明您的两个功能的连接配置不太正确。如果可以尝试使用单个附件及其目标功能进行测试,并尝试使它们正确连接(这是填充关系的方式),则应该可以解决问题。这发生在特征合并中。还要注意的是,存在什么类型的关系类?如以下文章所述,一些关系类不需要写入关系表。请参阅此处的关系背景部分:https://knowledge.亚搏在线safe.com/articles/28340/working-with-geodatabase-relationship-classes-atta.html网站
如果仍然有问题,如果你能发布你的数据/工作区的样本,我可以看看。
©2019安全亚搏在线软件公司法律