span8
span4
虽然注释存储在地理数据库中的一个单独的特性层中,但是它们可以通过特性链接注释链接到其他特性。当注释功能类与其他功能类之间存在关系时,就会发生功能链接。
通过公共属性定义关系来实现链接。在写入数据之前,必须在地理数据库中定义关系。
如何在FME中工作:如果在地理数据库中存在注释的关系,那么FME将自动创建注释和关系。FME地理数据库编写器将检索新特性的对象ID,然后编写注释特性及其链接关系。结果是,您只需要将其写入主功能部件类(下面示例中的区域),一个FME功能部件包含足够的信息来编写两个功能部件:一个注释功能部件(ZoneNames)和一个主功能部件(zone)。创建的注释基于您在注释特性类(ZoneNames)的目标地理数据库中创建的注释规则
区域(Mapinfo选项卡)
在上面的图像中,我们可以看到Zones选项卡文件及其属性的可视化。ZoneName属性将提供特性链接注释的值。
1。设置目标地理数据库
如前所述,特性链接是通过公共属性定义关系来实现的。因此,在写入数据之前,有必要确定目标地理数据库中的特性和注释之间的关系。这个过程需要使用ArcGIS创建一个空的特性类的区域特性,一个空feature-linked注释类(设计所需的规模、位置属性,文本大小,等等)的带注解,和关系类链接这两个在一起(注意*生成功能链接注释类在ArcGIS应该创建必要的类)的关系。
出于本文的目的,先前创建的一个Geodatabase模板文件已经应用到附加的工作空间,并将在转换期间用于将所需的模式应用到目标Geodatabase。本例中的模板文件名为' DESTINATION_GDB_TEMPLATE '。和被设置为写入器的“模板文件”参数。
2。读取源数据-MAPINFO选项卡(MITAB)
分区要素几何图形和注释使用Mapinfo Tab(MITAB)读取器从Tab源文件读取,为步骤1中引用的地理数据库中的目标要素类(分区和分区名)提供要素和注释。注释值将从源数据中的zoneName属性提供。
三。编写地理数据库要素和要素链接注释
添加esri geodatabase(文件geodb)编写器。如上所述,我们将使用arcgis xml工作空间文档,而不是从头开始创建geodatabase。这个模板是通过从现有的Geodatabase导出它创建的。在本例中,模板文件是从包含要素类、要素链接注释类和关系类的地理数据库中导出的。writer参数设置用于创建geodatabase的模板,并且可以在添加geodatabase writer时进行设置。
添加后,将mapinfotab读取器的输出连接到geodatabase writer。在“导航器”窗口中,将事务类型设置为“编辑会话”。我们正在处理的复杂功能只能在编辑会话或版本中编辑。此外,确保重写现有Geodatabase设置为No。
如果不使用模板文件,请添加写入程序:
如果模板文件不可用,并且如步骤1所述从头创建了目标地理数据库,则在添加ESRI地理数据库(文件geodb)编写器时,请确保将“编写器”对话框的“添加要素类型”部分设置为“从数据集导入”。
出现提示时,设置格式并选择在步骤1中创建的geodatabase,然后单击好是的。FME将扫描地理数据库以确认哪些表存在。当提示输入类列表时,仅选择要用要素填充的要素类。
添加writer后,将mapinfotab读取器的输出连接到geodatabase writer。在“导航器”窗口中,将事务类型设置为“编辑会话”。我们正在处理的复杂功能只能在编辑会话或版本中编辑。此外,确保重写现有Geodatabase设置为No。
*上述示例中使用的esri geodatabase(文件geodb)编写器要求用户可以使用arcgis的许可版本。有关所需Arcgis许可级别的详细信息,请参阅fme geodatabase格式所需的arcgis许可证类型。
将一个geodatabase转换为另一个geodatabase时,也可以按照上述方法创建新的要素链接注释。但是,在某些情况下,您可能已经编辑了批注,并且希望保留这些编辑。为此,需要将源注释链接回主要素并设置geodb_
在本例中,源地理数据库具有要素类分区和要素链接注释分区名。fme(2018.1及更高版本)将自动将geodb_text_feat_class_name添加到注释功能。在早期版本的fme中,必须将其设置为注释要素类的名称,即。分区名称。工作区使用:
伟大的文章,谢谢!
我有这个问题,如果我更新通过FME具有功能链接注释功能(多边形),注释前位置就丢失了(当他们从他们的默认位置移动的距离)。
我试图通过非ESRI技术(SQL)直接更新这些多边形的功能或批注功能,但这并不做的伎俩。
是否有一个解决这个问题?
©2019安全亚搏在线软件公司法律