西班牙
斯潘4
欢迎使用FME for Smallworld 5教程。本文将介绍如何将数据导入SmallWorld5数据库,包括如何导入简单的几何体对象。
fme无法在smallworld数据库中创建新对象。只能加载到现有对象中。这意味着在导入时,FME SimWorkWorkWrror数据模式必须准确匹配现有的SimulWorkObject模式。这包括确保知道哪些字段和几何图形是必需的,并确保加载有效的枚举列表(域)值。获取将接收导入数据的smallworld对象的描述性事例报告非常有用。
在开始任何数据导入之前,最好检查fme数据检查器中的源数据集和smallworld对象,以获得对数据模式的全面理解。
smallworld数据库中的电缆对象具有单个中心线几何图形。您将从一个autocad三维地图数据集将一些建议的新分区电缆导入剑桥数据库。首先,检查目标smallworld对象和源autocad数据集。
1)检查源数据集
下载电动networkproposed.dwg数据集。
打开FME数据检查器。单击文件>打开数据集:
使用fme数据检查器,打开源代码electric_networkProposed.dwg使用autocad realdwg阅读器。在参数上,设置attributeschema。
注意:fme 2017 32bit不再支持autocad 3d对象。Autocad 3D对象仅在FME 2017中的64位FME上可用。
autocad文件电力电缆层具有状态属性“正在使用”和“建议”。您只将“提议”的电缆导入剑桥数据库中已经存在的“在服务”电缆中。
在这种情况下,由于.prj文件与.dwg文件位于同一目录中,因此可以确定autocad图形的坐标系-osgb-gps-2015(米)
2)比较电力电缆中的Smallworld和FME数据检查
使用smallworld应用程序管理器,打开professional-smallworld核心应用程序并检查剑桥示例数据库。
在FME数据检查器中。单击文件>打开数据集:
读者 | Smallworld的4/5 |
读者数据集: | 本地主机:30000 |
读者坐标系统: | OSGB-GPS-2015 |
参数>服务: | FMENOFACTORY |
参数>表格列表: | electricity.cable |
比较smallworld和fme表示的electric.cable。
在FME中,电缆几何图形由单一几何图形(中心线)表示,在“联合车道LV”的情况下,为多段路径几何图形。
3)检查目标架构
在Smallworld地理信息系统中,使用编辑器检查electric.cable对象模式。注意,sys_id字段名为'id'是键字段。如果你看一个电力的案例报告。这是一个强制性的领域。
Status属性是一个可能值的枚举列表:
电压属性是一个可能值的枚举列表:
在加载Status或Voltages属性时,需要确保设置了其中一个强制枚举值。
请注意源模式与目标模式之间的关系:
AutoCAD的来源 | 目标上的Smallworld | 行动 |
ID | ID | 比赛FME设有Smallworld的对象 |
长度 | - | 没有更新,因为它是一个计算字段 |
作为。。而被知道 | 作为。。而被知道 | |
状态 | 状态 | 确保值匹配枚举值 |
电压 | 电压 | |
几何名称 | 中心线 |
在本例中没有涉及太多的模式映射。在大多数情况下,您需要添加一些FME模式映射转换器,如AttributeManager、AttributeCreator、AttributeRenamer、AttributeValueMapper或的SchemaMapper。
请注意,Smallworld几何图形有一个名称:中心线
4)选择Smallworld的目的地替换
在Professional - Smallworld核心应用程序中,单击文件>版本以打开版本管理应用程序。
在版本管理应用程序,添加一个新的'替代',如果它还不存在:
数据集 | 替代的名称 |
电力 | fme_training |
双击可选项使其成为当前可选项。
5)生成工作区
打开FME工作台并在Start选项卡上选择Generate Workspace选项。
阅读器格式: | 欧特克的AutoCAD RealDWG DWG / DXF |
读者数据集: | 电动networkproposed.dwg |
读者坐标系统: | OSGB-GPS-2015 |
参数>集团3520 | 属性方案 |
参数>展开块到实体: | 取消选中 |
作家格式: | Smallworld的4/5 |
作家坐标。系统: | OSGB-GPS-2015 |
参数>服务: | FME |
参数>替代: | | fme_training |
(请务必使用|符号作为替代第一个字符)
当您将扩展块取消到实体中时,FME将只读取该块的插入点,而不读取块定义。当您将CAD数据加载到GIS中时,这通常是您想要的。
在“生成工作区”对话框中,在“导入功能类型定义”复选框。单击OK。
点击好
6)从进口的Smallworld作家特征类型
将出现“Import Writer Feature Types”对话框。输入通常的Smallworld连接参数。
点击参数按钮,选择:
点击好要关闭“导入功能类型”对话框。
7)选择AutoCAD图层
将打开“选择功能类型”对话框。这是AutoCAD层选择。选择electricity_cable和好,以生成工作区。
明智的做法是,无论何时添加了一个Smallworld写入器,都应该使用Import写入器功能类型选项。Smallworld模式通常与reader模式不同,正确的模式只能通过显式导入Smallworld特性类型模式来获得。
8)保存工作区
在本地保存工作区
9)连接Reader和Writer特征类型
将electricity_cable阅读器功能类型连接到新电源。有线作家的特点类型。
展开阅读器和写入器的属性列表。
注意当前位置:FME Smallworld 5编写器处理Smallworld几何图形的方式与Smallworld 4完全不同。Smallworld 4版本的工作空间都附在本文的底部以供参考。几何类型不再作为属性公开,也不再使用sworld_geometry{}列表属性。旧的工作空间在Smallworld 5.1中仍然兼容。
10)过滤建议电缆
你只需要插入建议的电缆。添加一个测试变压器来保留“建议的”电缆。
11)设置几何形状名称
在数据检查器中,我们注意到cable对象有一个几何名称“中心线”。您需要设置FME几何图形的名称来匹配Smallworld几何列的名称。
添加一个几何属性设置后,您的测试和设置:
属性设置 | 几何名称 |
几何名称 | 中心线 |
在GeometryPropertySetter参数对话框中单击OK。
你的工作空间应该是这样的:
13)保存并运行
保存工作空间。运行转换。
在Professional - Smallworld核心应用程序中检查更新的数据。拟议中的电缆已沿橡树大道铺设。您可能必须选择View - Refresh。
在Smallworld GIS中,打开Smallworld Explorer。打开文件夹电力,电力网络和选择电缆。
问题?
最常见的数据加载错误是没有正确加载Smallworld几何图形。
在Smallworld Explorer中,如果几何列没有被标记,或者长度是0.0,那么您可能没有在GeometryPropertySetter中正确设置几何名称。在Writers菜单下,设置“重定向到检查应用程序”并重新运行工作区。在数据检查器中检查结果,以确保几何名称配置正确。
14)清理
在下一节中,您将重新加载数据。在Smallworld Explorer版本管理器中,选择“fme_training”选项,通过双击检查点并选择“rollback to checkpoint”来回滚到“begin”检查点。或者在Smallworld explorer中选择刚刚插入和删除的所有Oak Tree Avenue LV记录并提交删除操作。这会给你一个全新的开始。
此时,让FME默认执行数据库插入操作。如果我们想要更新现有的有线电视功能,我们需要使用更新操作。fme_db_operation格式属性用于执行更新。FME在Smallworld writer特性上使用' fme_db_operation '属性来指定每个特性的数据库操作。fme_db_operation属性可以设置为:
我们将在本教程系列的后续文章中更详细地讨论fme_db_operation属性。
在接下来的步骤中,如果在AutoCAD数据集中“known_as”属性的值为空,则将其设置为“connector”。
1)编辑工作区
继续编辑工作空间,或者打开工作空间smallworld4a-complete.fmwt。
本节完成的工作区是:smallworld4b-complete.fmwt。
2)修改测试仪
你不需要更新命名的电缆,如“联盟里的LV”或“低米尔顿路LV”,让您可以将它们过滤掉。打开测试特性,并添加测试:
known_as属性为空字符串
3)添加条件测试,以AttributeCreator
插入测试仪和GeometryPropertySetter之间的AttributeCreator变压器。现在添加一些条件表达式的AttributeCreator。要创建AttributeCreator条件表达式,请使用属性值列菜单,选择有条件的价值...
第一条件表达式将设置作为。。而被知道属性:
如果known_as是“属性是空的刺痛”,则输出值以“连接器”
然后设置fme_db_operation属性:
如果状态=“服务”,那么输出值是UPDATE否则,如果状态=“建议”,那么输出值是INSERT
(请记住,FME是区分两种属性名称敏感和属性值)
工作区现在看起来是这样的:
4)测试工作流亚搏在线
当进行更复杂的工作流程,这是一个非常不错的主意,试图尝试将亚搏在线数据加载到数据库之前对其进行测试。在工作台,作家菜单上,重定向设置为检测中的应用。
然后运行工作区和检查工作区连接器的功能,计数,并检查在FME数据检查的结果。您应该看到所有那些有值“known_as”之外的电缆。所有的“known_as”值应为“连接器”或“橡树大道LV”。“在服务”电缆应该有一个fme_db_operation =更新。“建议”的电缆应该有一个fme_db_operation = INSERT。
5)保存并运行
在工作台,作家菜单上,未设置重定向到检测中的应用。保存工作空间。运行转换。
Smallworld核心GIS应用 - 在专业检查更新的数据。
已加载某些线缆插入fme_training替代和更新现有的一些电缆。
在FME的Smallworld 5作家处理以完全不同的方式来Smallword 4 Smallworld的几何形状。几何类型不再作为属性公开,也不再使用sworld_geometry{}列表属性。好消息:您的旧的工作区仍处于2017年FME / 5的Smallworld兼容。
该二千○十六分之二千○一十五版本的工作区的连接以供参考。
?2019安全亚搏在线软件公司|合法的