斯潘8
斯潘4
数据以各种投影形式出现,有时甚至缺少投影。这就是回注变压器的切入点。它将数据从一个坐标系转换为另一个坐标系。当数据集位于同一坐标系中时,它们可以覆盖在另一坐标系之上。在这个练习中,我们将取两个数据集,每个都有不同的坐标系,并将它们重新投影到同一坐标系(UTM83-10)中。然后将输出写入Tableau。
源数据:
完成工作区:练习3-reprojection.fmwt
表格模板: 练习3-tableau.zip
单击读卡器>添加读卡器,然后输入以下内容:
读者格式: | csv(逗号分隔值) |
读者数据集: | …\business_licenses.csv |
打开参数,将feature type name(s)设置为from file name(s),以在工作区中创建一个从文件名(而不是调用csv)获取其名称的功能类型。
将属性定义设置为手动,然后将纬度设置为y_坐标,将经度设置为x_坐标。单击确定。最后设置坐标。系统到LL84.单击“确定”将读卡器添加到工作区。
添加一个读卡器,然后开始在格式中键入dwg并选择以下内容:
读者格式: | 欧特克AutoCAD DWG/DXF |
读者数据集: | …\PARCES.DWG |
在参数下,确保将“分组实体依据”设置为“图层名称”,单击“确定”,然后再次添加读卡器。将出现“选择要素类型”对话框,仅选择名为parcellines的层。
将Inspector Transformers连接到工作区中的每个读卡器功能类型。您可以通过右键单击每个要素类型并选择“连接检查器”来完成此操作。然后运行工作区以查看数据检查器中的数据。
打开数据检查器时,如果从FME选项中禁用背景图…窗口,您的数据将在屏幕上显示为两个小点。这是因为两个数据集在不同的坐标系中。您可以通过右键单击数据检查器中的两个数据集中的每一个来确认这一点,单击缩放到一定程度,然后单击一个功能。然后在功能信息窗口中,在坐标系下,您可以看到数据集所在的坐标系。如果启用了背景图,转到FME选项…为了阻止它观察这种现象,使用背景地图时,会将数据重新投影到背景地图坐标系中。
我们来解决这个问题。将转发器连接到业务许可证读取器功能类型,并将目标坐标系设置为UTM83-10。单击确定。将检查程序移动到重新生成程序的另一侧并运行翻译。检查数据时,两个数据集现在显示在同一坐标空间中。
从LL84到UTM83-10的再喷射变压器
正如您从前面的练习中所记得的,我们的商业许可证中的一些数据缺少纬度和经度数据。我们需要过滤掉所有缺少这些值的数据,这样在以后的翻译中就不会出错。在重新投影后添加几何过滤器。在“要过滤的几何图形类型”下,单击“点”。单击“确定”添加变压器。
我们现在想弄清楚每一笔生意属于哪一块地。为了这个,我们可以使用PointOnAreaOverlayer。将PointOnAreaOverlayer转换器添加到工作区。将几何过滤器点端口连接到点输入端口,将AutoCAD Reader连接到区域输入端口。将检查员连接到每个输出端口。
看起来所有的地块数据都被发送到了被拒绝的港口。双击被拒绝的端口以打开数据检查器。查看Feature Information(功能信息)窗口,并查找fme_rejection_code(故障模式与后果分析拒绝代码)属性,以了解拒绝功能的原因。
代码显示:无效的多边形几何类型。看起来我们有来自parcellines数据集的线,而不是多边形。
在数据检查器中,fme_拒绝代码(字符串)=invalid_point_geometry_顶点
回到工作区,将AreaBuilder转换器连接到AutoCAD Reader。该变换器将连接的线转换为实体多边形。打开参数并在“捕捉预处理参数”下,将“捕捉类型”设置为“端点捕捉”,将“捕捉公差”设置为0.1。这将仅将线条的端点捕捉在一起以创建多边形。
在区域生成器转换器中设置捕捉预处理参数
重新运行工作区并检查PointOnAreaOverlayer的输出。如果没有任何拒绝代码,它应该看起来更好。
向PointOnAreaOverlayer上的点输出端口添加一个testfilter。打开参数并设置测试条件以查找重叠的位置>=1。单击“确定”添加变压器。
将testfilter中的测试条件设置为“重叠>=1”
我们希望能够在Tableau中创建一个可视化,将两个数据集链接在一起,以便我们可以单击一个包并仅查看该区域内业务的业务许可证数据。我们可以通过在区域上创建一个ID属性并将该属性添加到区域内的每个点来实现这一点。
在区域生成器和PointOnAreaOverlayer之间添加UuidGenerator转换器。打开参数并将新的UUID名称设置为parcelid。PointOnAreaOverlayer将自动将该ID属性添加到退出转换器的每个点功能上。
最后,我们需要把一切都写在表上。我们需要两个作家,每个数据集一个。
单击编写器>添加编写器
作者格式: | Tableau数据提取(TDE) |
写入数据集: | …输出 |
表定义 | 自动… |
在“添加要素类型>表定义”下,选择:“自动”,然后单击“确定”。将表名设置为businesslicensedata,并将几何设置为tde_point,单击确定。将其连接到testfilter的输出(@value(_overlaps)>=1)。打开writer feature type参数并清除属性以删除不需要的内容,然后根据需要调整列类型(我们不需要重叠,经度,或者纬度)
要为地块数据创建输出,右键单击工作区,然后单击“添加要素类型”。然后将表名设置为LandParcels,并将几何体设置为TDE_Polygon,单击确定。将其连接到PointOnAreaOverlayer变压器上的区域输出端口。
确保你已经撤走了所有剩余的检查人员,然后运行工作区来创建TDE文件。签入Windows资源管理器以确认文件已创建。把它们放在桌布里打开。
表1中的最终输出。创建营业执照状态图或查看每个包裹中属于哪些业务及其营业执照的状态。
?2019安全亚搏在线软件公司|合法的