斯潘8
斯潘4
您已被分配任务,用温哥华市的文化空间和图书馆信息更新PostgreSQL数据库。文化空间数据集是表格的,只需要将空值映射到空值。但是图书馆数据集缺少邻居信息,因此,在将其添加到数据库之前,您需要将其添加到以及创建点功能中。
从csvtopostgresandpostgis.zip(包含数据和已完成的工作区模板)
1。打开空白的FME工作区并添加一个csv阅读器
在空白工作区中,添加一个csv阅读器并在culturespaces.csv中读取。在参数中,检查预览以确保正确读取数据。看起来分隔符不是逗号,将分隔符设置为;单击“确定”添加读卡器。
csv阅读器中的参数,设置分隔符字符;以便正确读取数据
2。将空值映射为空
我们的两个属性包含不完整的数据,不要将数据值留空,让我们将它们映射到空,以便数据库能够更好地处理它们。在画布中添加一个NullAttributeMapper,在参数中,将“座位数”和“平方英尺数”设置为选定属性。如果属性值为,单击省略号并选择“空”,缺少且为空。最后,设置映射到无效。
nullattributemapper参数
三。写入PostgreSQL
在画布中添加PostgreSQL编写器。对于数据集,您可以连接到自己的PostgreSQL数据库或培训数据库。要做到这一点,使用下拉列表并选择“添加数据库连接…”,然后输入:
在要素类型参数中,将表名设置为CultureSpaces,然后,对于表限定符,在fmedata2015中键入作为要写入的表。对于功能操作,选择插入,然后将表处理更改为删除并创建。单击“确定”,然后运行翻译。
PostgreSQL编写器参数
结果
在数据检查器中查看的PostgreSQL输出,空值映射到
1。在工作区中继续并添加另一个csv阅读器
继续在与第1部分相同的工作区中,添加另一个csv阅读器。我们将使用libraries.csv作为数据集,使用ll84作为坐标系。打开参数,将属性定义设置为手动,然后将纬度和经度更改为y_坐标和x_坐标,分别。单击“确定”添加读卡器。
读卡器参数中的数据类型更改为X和Y轴坐标
2。添加邻居边界
因为我们要添加库所在的邻居作为属性,我们需要添加一个邻居形状文件。将shapefile reader添加到画布并浏览到local_area_boundary.shp数据集,包含邻域边界。
三。重新投影邻里边界
如果检查本地区域边界形状文件,您会注意到它在UTM83-10坐标系中。我们需要将其重新投影到LL84中,以匹配我们的库csv文件。在画布中添加一个重投影转换器,并将其连接到本地区域边界特征类型。在参数中,将目标坐标系更改为LL84。
4。从社区中检索属性并将其添加到库中
每个图书馆都位于温哥华附近,要将此邻域属性添加到库中,我们将使用PointOnAreaOverlayer变压器。将PointOnAreaOverlayer转换器添加到画布,然后将点输入端口连接到库csv读卡器,以及邻域shapefile reader的区域输入端口。我们可以在这个例子中使用默认参数。将检测变压器连接到点输出端口并运行转换。检查数据,现在将同时具有库csv文件、邻域形状文件和重叠属性中的所有属性。
5。清除属性
移除Inspector Transformer并添加一个AttributeManager Transformer,将其连接到PointOnAreaOverlayer变压器上的点输出端口。
在attributeManager参数中,删除mapid和\u重叠属性,因为我们只对邻居名称感兴趣。然后将名称重命名为neighborhood。如果愿意,可以在写入PostGIS数据库之前再次检查数据。
属性管理器,删除mapid和重叠,将名称重命名为邻居
6。写入Postgis
在画布中添加Postgis编写器。连接到与第1部分中相同的数据库连接。我们可以接受默认参数,但是设置coord。系统到LL84,表定义到自动。单击确定。
在要素类型参数中,将表名设置为库,然后对于表限定符,选择省略号并选择FMEData2015作为要写入的表。对于功能操作,选择插入,然后将表处理更改为删除并创建。单击“确定”,然后运行翻译。
后地理信息系统作家将表名设置为库,将表限定符设置为fmedata2015
带有库和邻域数据的PostGIS输出的表视图
数据属性
此处使用的数据源于温哥华市,不列颠哥伦比亚省。它包含根据开放政府许可证(温哥华)获得许可的信息。
?2019安全亚搏在线软件公司|合法的