span8
span4
上面的视频覆盖理论本文中介绍,和写作的ArcGIS地理数据库附件例
地理数据库关系类用于与其他功能来管理一个要素类特征之间的关系。归因和非归属关系类可以读取和写入FME。关系不是通过始发地和目的地功能的主键和外键的值像其他许多功能表或要素类的行,但联系。
“起源”的特征属于创建在ArcCatalog关系类时所指定的“产地表/要素类”,而“目标”功能属于“目标表/要素类”。
关系类可以是简单的或复合材料,以及归因或非归属。
有关ArcGIS中关系的详细信息,请参考:http://desktop.arcgis.com/en/arcmap/10.3/manage-data/relationships/relationships-and-arcgis.htm
请注意,使用的ESRI文件地理数据库读/写/这篇文章中提到,需要的ArcGIS ..行货版本的详细信息所需的ArcGIS许可等级,请参阅所需的ArcGIS许可的地理数据库FME格式类型。该FME读者和作家的SDE和地理数据库的比较也可能是有用的。
相关的例子是可用编写地理数据库关系类
简单与复合:
在“简单”的关系类,特征可存在彼此独立地 - 例如一个特征可以,而不必具有连接存在,任何附接可以在不影响功能被删除。
在“复合”关系类,始发地和目的地对象的结合更加紧密。如果一个功能被删除,以便也将是相关附件记录。
归因与非归属:
在非属性关系中,关系类包含在一个非空间表中,该表只包含源和目标特征键。
在一个归属关系,该关系类包含在非空间表不仅仅是标识键更多的属性。
阅读类的关系
在读取关系类时,源和目标特性类必须与关系类同时读取。关系特征类型显示任意一个允许的几何形状geodb_relationship要么geodb_attributed_relationship。
从关系类读取时,每个关系特性都具有以下格式属性:
这些属性可用于识别工作空间中的源和目标特性之间的关系。这些属性用于FME的流程,作为格式属性,并且不会出现在最终的书面输出中。
性能
请注意,从关系类阅读,因为阅读时,每个关系被验证是很慢的。因为此功能是不是经常需要,FME包括参数,默认情况下,关闭关系阅读来提高性能。因此,阅读关系类,你必须先找到并取消“忽略相关信息”参数。
写作关系类
关系类不能通过FME创建,必须在运行转换之前通过ArcGIS设置。一旦在ArcGIS中定义了关系,以下属性必须存储在FME中写入关系类表的特性中(这只是到M:N的关系和属性关系,因为您直接与关系表交互):
以下属性必须被存储在写入到其参与的关系出发地和目的地的要素类/表的功能(这适用于所有类型的基数(1:1,1:M,M:N和归因)):
注意:
必需的属性写入到关系类:
对象 | 必需的属性 |
产地要素类或表 | geodb_oid geodb_feature_has_relationships =是的 |
目标特性类或表 | geodb_oid geodb_feature_has_relationships =是的 |
类的关系 | geodb_rel_origin_oid geodb_rel_destination_oid geodb_type =geodb_relationship要么geodb_attributed_relationship 表处理:利用现有的 |
例如,如果一个原点特征具有geodb_oid = 1和目的地功能已geodb_oid = 2,写入到关系表的特征必须具有以下属性:
geodb_rel_origin_oid = 1
geodb_rel_destination_oid = 2
关系:插入,更新或删除
请注意参与的特性归属关系可以插入,更新和删除。而是参与a的功能非归属关系只能插入和删除。因为属性关系具有与其关联的中间表,中间表的属性(不包括密钥的值),可以通过提供一种RID(关系ID)作为更新/键字段更新。
在地理数据库中,关系键不必须是类型对象ID(整数)的。他们可能是例如GUID。在这种情况下,人们很容易加载关系中的外键的属性。你并不需要这样做。你只需要设置的geodb_rel_origin_oid&geodb_rel_destination_oid值。在FME地理数据库作家将填充的关系要素类的外键。
仅使用一个地理数据库的作家:如果您的工作空间中有多个地理数据库写入器,请小心。参与关系和关系类的源和目标特性类(或表)必须由相同的地理数据库编写器编写(例如,不能用一个地理数据库编写器编写特性类,而用另一个地理数据库编写器编写关系类)。
有时,在出发地和目的地的要素类的数据已经存在,你只是想添加关系到关系表。如果你能做到这一点:
- 的关系为M:N或归因关系
-关系类已经存在于geodb中
将geodb_type设置为geodb_relationship或geodb_attributedrelationship(如果带属性),将geodb_rel_origin_oid和geodb_rel_destination_oid设置为它们各自的OBJECTID。这确实需要FME读取参与关系的特性类,但不需要再次将它们写出来。在这种情况下,只需要写入关系表。
关系背景
关系必须使用ArcGIS工具来创建,因为它们不能在FME创建。
1:1, 1:M非属性关系:这些都用于跟踪的关系没有中间表。他们使用的是主(源表)和国外(目标表)键连接。
M:N和任何1:1,1:M或M:N属性关系:单独的表是用来跟踪的关系。为了跟踪这些关系,每个关系条目包含与主键和外键以及一个独特的RID值。
文件地理数据库和地理数据库SDE:
1:1,1:M非归因要素类:如果与FME插入你要么与空要素类开始(因为一旦你创建在ArcMap的关系,这种关系已经完成),否则你会被删除并重新插入其参与的关系特征,从而重建这种关系。
文件地理数据库ONLY - 没有SDE地理数据库:
1:1, 1:M, M:N带属性关系和M:N不带属性关系:如果有人口稠密的要素类和需要插入关系表来填充它,或者你想更新或插入在归属关系表的属性,你可以简单地插入到关系表的情况下直接写入到其参与的要素类的关系。这包括主/外键和/或属性。这里假设你已经有一个表或一些源与定义这些关系。这可能是一个不太常见的工作流程,但它是可行的,并可能是一亚搏在线个很好的高级职位或者我们增加了文章为抛开一个只是一些。一般情况下,你会被插入到两个要素类和建筑/插入关系表在同一时间。
SDE地理数据库:
1:1, 1:M, M:N带属性关系和M:N不带属性关系:
FME可以仅被用于更新在归属关系,而不是RID,外国和主键属性。如果这是可取的,必须进行删除和插入操作。
目前,还没有插入现有的关系属性与一个SDE地理数据库中的关系表不读参与的关系,以获得对象ID功能的一种方式。这部分是因为填充在ArcGIS这些关系需要渊源以及采摘目的地交互,而不是仅仅定义的关系。因此,如果其参与的关系类的特点,在数据库中,只有关系表的需求已经存在填充,其参与的特征仍然必须阅读。这是必需的,以获得对象ID的,然而这些功能不被写回。从出发地和目的地的关系特征的对象ID的读取将需要被重新命名为geodb_rel_origin_oid分别以geodb_rel_destination_oid对于要填充关系表。
多了几分删除记录的一个关系类...
您可以从一个关系类中删除单个记录。要做到这一点,您可以:
©2019安全亚搏在线软件公司|法律