span8
span4
feature-linked-annotation.fmwt
虽然注释存储在地理数据库中的一个单独的特性层中,但是它们可以通过特性链接注释链接到其他特性。当注释功能类与其他功能类之间存在关系时,就会发生功能链接。
通过公共属性定义关系来实现链接。在写入数据之前,必须在地理数据库中定义关系。
如何在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选项卡(MITAB)阅读器从选项卡源文件读取分区特性几何图形和注释,为步骤1中引用的地理数据库中的目标特性类(zone和ZoneNames)提供特性和注释。注释值将由源数据中的ZoneName属性提供。
3.编写地理数据库特性和特性链接注释
添加ESRI地理数据库(文件Geodb)写入器。如上所述,我们将使用ArcGIS XML工作空间文档,而不是从头开始创建地理数据库。该模板是通过从现有的地理数据库导出来创建的。在本例中,模板文件是从一个包含功能类、功能链接注释类和关系类的地理数据库导出的。写入器参数设置用于创建地理数据库的模板,可以在添加地理数据库写入器时设置。
添加后,将MapInfoTAB阅读器的输出连接到地理数据库写入器。在Navigator窗口中,将事务类型设置为Edit Session。我们正在处理只能在编辑会话或版本中编辑的复杂特性。此外,请确保将覆盖现有的地理数据库设置为No。
添加作家,如果你不使用模板文件:
如果模板文件不可用,并且如步骤1所述从头创建了目标地理数据库,那么在添加ESRI地理数据库(文件Geodb)写入器时,请确保将写入器对话框中的添加功能类型设置为“从数据集导入”。
当出现提示时,设置格式并选择步骤1中创建的地理数据库,然后单击好吧。FME将扫描地理数据库以确认存在哪些表。当出现类列表提示时,只选择希望用特性填充的特性类。
添加写入器后,将MapInfoTAB阅读器的输出连接到地理数据库写入器。在Navigator窗口中,将事务类型设置为Edit Session。我们正在处理只能在编辑会话或版本中编辑的复杂特性。此外,请确保将覆盖现有的地理数据库设置为No。
*上述示例中使用的ESRI地理数据库(文件Geodb)编写器要求用户能够使用ArcGIS的授权版本。有关所需ArcGIS许可级别的更多信息,请参见FME地理数据库格式需要ArcGIS许可类型。
在将一个地理数据库转换为另一个地理数据库时,还可以使用前面介绍的方法创建新的特性链接注释。但是,在某些情况下,您可能已经编辑了注释,希望保留这些编辑。为此,需要将源注释链接回主要特性并设置geodb_
在本例中,源地理数据库具有功能类区域和功能链接注释区域名。FME(2018.1及以上)会自动将geodb_text_feat_class_name添加到注释特性中。在FME的早期版本中,您必须将其设置为annotation feature类的名称,即ZoneNames。工作区用途:
很棒的文章,谢谢!
我遇到了一个问题,如果我通过fme更新具有特性链接注释的特性(多边形),注释原来的位置就会丢失(当它们从默认位置移动时)。
我尝试通过非esri技术(SQL)直接更新那些多边形特性或注释特性,但这并没有达到目的。
这个问题有解决办法吗?
©2019安全亚搏在线软件公司法律