span8
span4
以上视频介绍理论覆盖简介与地理数据库关系类工作,示例涵盖在这篇文章。
地理数据库附件是附加信息连接到特征在特定的文件的形式的方式(即图像,PDF,或文本文档)。由于ArcGIS的文档提到:
“举个例子,如果你有代表的建筑特色,你可以使用附件中添加从几个角度拍摄建筑物的多张照片,包含了建筑的契约和税务信息的PDF文件一起。”
您可以在一个或多个文件附加到功能,然后检索使用的查询工具在ArcGIS的信息。
*使用的ESRI文件地理数据库读/写/这篇文章中提到,需要的ArcGIS的行货版本。有关要求ArcGIS许可级别的详细信息,请参阅所需的ArcGIS许可类型为FME地理数据库格式。
附件和FME
因为附件由关系类处理,FME能够容易地创建这种连接的。然而,附件表已在ArcGIS中创建事前。关键是要读取的文件的内容被连接到一个属性和写在附件表属性的数据字段。关系类必须在ArcGIS中创建事前。关键是要读取的文件的内容被连接到一个属性和写在附件表属性的数据字段。
一个AttributeFileReader变压器或数据文件阅读器可以被用来读取文件的内容到一个属性。在数据文件阅读器的情况下,一定要设置读卡器参数Yes.reader“一次读取整个文件”可以用来读取文件的内容到一个属性。在数据文件阅读器的情况下,一定要设置读卡器参数是“一次读取整个文件”。
按照这次演习将展示如何写一个关系类,而添加附件。
attachments.zip
注意:在下载所提供的模板文件将使我们写信给已有的要素类,附件表,并建立关系的地理数据库。通常这会在ArcGIS中被事先设置。当使用XML模板文件,工作区将只能运行一次,今后所有的翻译将需要从作家删除模板。
在下图中,我们看到一个包含射击馆,社区中心,和库数据在数据检查我们的源文件GML的可视化。亚搏国际在线官网
消防会堂,社区中心,在地亚搏国际在线官网理标记语言库(GML)
在下图中,我们看到的是将作为附件的照片和PDF文件所在的系统路径的可视化。
路径拍摄,并在PointsOfInterest文件夹中的PDF文件附件。
对于这个练习,一开始的工作区已提供。
你会立即注意到工作区已经部分成立。源和目标架构对象都已经到位,并准备从读/写。也有一些变压器已经到位映射Reader和Writer架构。唯一缺少的是建立关系所需的变形金刚——添加它们是本练习的主要任务。不过,我们将得到一些预定义的变压器的帮助,这些变压器已经设置好并复制到书签中。
预定义的变压器
1。下载附件文件夹
如上所述,不能通过fme创建关系类。因此,在运行翻译之前,必须确定功能之间的关系。对于这个演示,已经提供了具有所需的空功能类和定义的关系的目标geodatabase(请参见下载部分的attachments.zip)。下载并提取此zip文件夹,因为它不仅包含所需的目标地理数据库,还包含将在工作流期间用作附件的必要文件。亚搏在线
2。阅读源数据
使用gml阅读器从感兴亚搏国际在线官网趣的源点地理标记语言文件读取fire hall、community centre和library geometry。
目录和文件路径名读取器用于读取将用作附件的图像和pdf文件的系统路径。尽管读卡器已作为开始工作区的一部分添加,但请确保每个读卡器的源参数指向正确的数据集。
3。安装程序源属性以匹配目标架构
为了修改每个源数据集的属性以使它们与目标架构匹配,需要做一些额外的工作。
为了FireHalls,这意味着使用attributeManager重命名以下属性:
输入属性 | 输出属性 | 属性值 | 行动 |
名称 | 描述 | 改名 | |
HallNumber | 名称 | 改名 | |
地址 | 街 | 改名 |
重命名FireHalls属性
为了亚搏国际在线官网CommunityCentres,这意味着使用attributeManager修改以下属性:
输入属性 | 输出属性 | 属性值 | 行动 |
CentreName | 名称 | 改名 | |
CentreAddress | 街 | 改名 | |
CentreURL | 网站 | 改名 | |
DocumentName | 描述 | 改名 | |
邮政编码 | 未知 | 设定值 |
重命名Comm亚搏国际在线官网unityCentres属性
为了图书馆,这意味着使用attributeManager修改以下属性:
输入属性 | 输出属性 |
属性值 | 行动 |
库名称 | 名称 | 改名 | |
LibraryAddress | 街 | 改名 | |
LibraryURL | 网站 | 改名 | |
DocumentName | 描述 | 改名 | |
邮政编码 | 未知 | 设定值 |
重命名库属性
4。添加关系相关属性
需要告诉fme,这些特性参与了一个关系类。为此,我们将使用attributecreator转换器。可以在“要使用的变压器”书签中找到此变压器。如果有两个数据流(兴趣点和附件),则需要attributecreator的两个实例。
将此转换器复制/移动到两个浅棕色书签中,标题为“4”。添加关系相关属性”。对于感兴趣的点(Fiffice,社区中心和库特征类型),将所有现有的三个属性转亚搏国际在线官网换器连接到新的属性编辑器。对于附件文件的路径(路径功能类型),只需将目录和文件路径名读取器连接到第二个attributecreator。
添加和连接预定义的AttributeCreator后工作区。
打开其中一个attributecreators的properties对话框,您将看到它所做的只是设置一个名为geodb_feature_has_relationships的格式属性。属性geodb_feature_has_relationships设置为yes,这是告诉fme这些特征参与关系所需的全部内容。
属性设置为geodb_feature_has_relationships是
每组功能还需要一个ID号。假设一个还不存在,我们可以用反变压器创建一个。同样,我们需要每个特性集有一个实例,并且在“要使用的变压器”书签中已经有一个预定义的变压器。从书签中移动/复制计数器转换器,并在上一步中的每个attributecreator转换器之后连接它的一个实例。检查计数器参数,您会发现它正在创建一个名为geodb_oid的属性。
计数器创建的ID属性,geodb_oid
5。连接模式
在这一点上,特性已经准备好写入GEYDATABASE,因此您可以创建从计数器变压器到现有的属性转换器变压器和PositFaskyLoad特征类型的连接。
完整的数据流
打开AttributeRamer类型转换器的“参数”对话框。在这里,我们需要将fme_feature_type属性重命名为poitype,这样做的原因是为了确保特征的名称是source feature在一个属性中得到维护。在这种情况下,我们还将拥有消防厅、社区中心和图书馆。亚搏国际在线官网参数设置如下:
6。添加关系相关属性
我们现在需要定义这两组特性之间的关系,并通过创建原点和目标ID号来实现这一点。同样,我们需要每个特性集一个实例,并且已经有两个预定义的转换器可以使用。移动两个属性名称转换器(即attributenamer_origin和attributenamer_destination)从“transformers to use”书签变成黄色的中间书签。从感兴趣的点(Firehalls、CommunityCenter和Libraries功能类型)计数器到attributenamer_or亚搏国际在线官网igin建立重复连接,并从路径计数器到attributenamer_destination建立另一个连接:
添加关系相关的属性后,工作区。
检查每个attributenamer的参数。您将看到每一个都将新创建的id重命名为一个origin或destination id。这就是fme将用来编写关系类的内容。
7。建立关系信息
添加一个featuremerger transformer。这就是建立这种关系的方式。将源属性名称连接到请求程序端口,将目标属性名称连接到供应商。打开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弹出式工具查询
你好@adi
道歉中又回到了你的延迟。我个人当关系是基于GlobalID的没有测试建立关系。我想,如果支持此功能,将在FME 2019。
在数据和附件方面混合起来,这表明你的两个特征的加入是不是很正确配置。如果你可以尝试用单个附件,并将其目标功能测试,并试图让他们正确地连接(这是怎样的关系将被填充)应该解决的问题。这发生在FeatureMerger。还要注意,这里显示的是什么类型的关系类?如下文所述,一些关系类不需要写入关系表。参见这里的关系背景部分:https://knowledge.亚搏在线safe.com/articles/28340/working-with-geodatabase-relationship-classes-atta.html
如果仍然有问题,如果你能张贴你的数据/工作空间的样本,我可以看看。
©2019安全亚搏在线软件公司|法律