第8页
第4排
除了从地理数据库转换数据外,FME还可以通过写入现有的地理数据库或创建新的地理数据库并向其写入数据,将数据转换为地理数据库。
此外,FME能够使用现有的地理数据库或ESRI XML工作区文档作为模板创建新的地理数据库。
这意味着,对于更复杂的工作区,您将能够复制域和子类型定义,从一个地理数据库到另一个地理数据库的关系、网络信息和注释符号。
在本教程中,我们将探索一种方法来读取任何格式的数据,并使用XML工作区文档作为模板将其写入地理数据库。
本练习的源数据包含一个ESRI形状文件,将温哥华市的土地边界表示为一个多边形:
…一个kml文件,将城市社区表示为一组多边形几何体:
…和一个AutoCAD绘图文件,它将地块的边界表示为单独的线特征:
1.在这个翻译中,我们将从一个空画布开始,添加读者和作者。分开,所以启动FME Workbench并单击主选项卡。
从菜单栏中选择“读卡器>添加读卡器”。在打开的“添加读卡器”对话框中,将esri shapefile设置为源格式,并选择文件vancouverlandboundary.shp作为源数据集。
2.第二步。再次从菜单栏中选择“读卡器>添加读卡器”。这次将格式设置为google kml,并选择文件vancouverneighborhods.kml作为源数据集。
当提示添加到翻译中的要素类型(图层)时,只选择社区,不选择其他所有社区。
三。现在选择读卡器>最后一次添加读卡器。这次的格式是autodesk autocad dwg/dxf,源数据集是parcels.dwg。
在单击“确定”添加读卡器之前,首先单击参数按钮,将参数“Group attributes by”设置为“attribute schema”。
工作区现在将如下所示:
第四章。源AutoCAD DWG文件由代表特性地块边界的线要素组成。我们希望将它们作为多边形写入地理数据库,为了做到这一点,我们需要在翻译过程中转换数据。可以使用AreaBuilder变压器来完成此操作。
因此,放置一个AreaBuilder转换器并将其连接到Parcellines功能类型。
5.每个包裹多边形都应该有一个ID号。反变压器是实现这一点的一种方法。从零开始,通过转换器的每个特性都接收一个递增的数值作为属性。
因此,放置一个计数器变压器并将其连接到AreaBuilder:区域输出端口。
打开参数对话框,将count output属性设置为parcelid,以匹配输出架构。
6.要编写地理数据库,我们现在需要添加一个编写器。
从菜单栏中选择“编写器>添加编写器”。当提示时,将格式设置为esri geodatabase(文件geodb)。单击参数按钮。
在“参数”对话框中,将“覆盖现有数据库”设置为“是”。在“模板文件”下,选择提供的Arcgis XML工作区文档。这是一个基于XML的模板,可以通过在ArcGIS中导出现有的地理数据库来创建。单击“确定”关闭“参数”对话框。
FME将使用此模板的所有内容创建一个新的地理数据库。然而,为了告诉FME,我们现在想将数据写入其中的一些表中,将“添加要素类型”参数更改为“从数据集导入”:
单击“确定”关闭“添加编写器”对话框。
第七章。当系统提示(使用导入功能类型对话框)时,将格式设置为esri geodatabase(XML工作区文档),对于数据集,再次选择温哥华XML模板文件。
单击“确定”让FME在模板中搜索表列表。当提示时,取消选择所有表,然后重新选择要写入的3个表:VancouVerlandBoundary,地块和社区。单击“确定”。
8.一旦添加,将各个读卡器的输出连接到相应的地理数据库编写器:
9.扩展邻里阅读和写作功能类型。有些属性需要从读卡器映射到编写器。
为ID绘制连接,姓名,网址,2001年2011年流行音乐
10.最后,在导航器窗口中找到地理数据库编写器的坐标系设置。将输出坐标系设置为UTM83-10:
11.运行工作区。系统将提示您选择要将新地理数据库写入的位置,可能会有一个关于意外输入的警告-但可以忽略。
检查输出(使用ARCMAP或FME数据检查员)。定义的要素类是模板中存在的所有要素类,但只有导入到FME工作区的三个包含数据。
示例中使用的geodb reader文件需要安装并许可的Arcgis版本。如果Arcgis不可用,则打开API
可以使用读卡器。然而,请注意,在所有场景中,此读写器不提供相同级别的功能。有关更多信息,请参阅以下内容:
?2019安全亚搏在线软件公司|法律