postgis 导出 栅格_【FME HOWTO系列】08 导入数据库表、栅格数据、矢量数据

概述

在本练习中,您将学习如何将数据导入数据库并使用FME从数据库导出数据。这是一个简单的拖放过程,支持超过400种数据类型; 但是,本教程仅提供从3个类别导入/导出数据的示例:数据库表,栅格数据和矢量数据。

import-export.fmwt

vancouver-blocks-polygon.zip

postaladdress.zip

06-07-lm.zip

注意:由于您正在处理面向公众的数据库,因此有时可能会覆盖和/或修改表。如果您的转换产生意外结果,请参阅重置PostGIS培训数据库文章。或者,您可以下载提供的文件,并使用适当格式的读模块替换PostGIS读模块。

练习1 - 复制表格

在此场景中,您将学习如何制作现有数据库表的副本。

说明

1.启动FME Workbench

如果尚未打开,请启动FME Workbench。

2.创建一个新工作空间

在“开始”页面的“创建工作空间”部分中,选择“创建新工作空间”选项。

94efd5bb399a4b716635f5962c8849b7.png

3.添加PostGIS读模块

在画布上没有选择任何内容的情况下开始键入“PostGIS”,然后通过双击或使用箭头键从读模块列表中选择PostGIS格式,然后按回车Enter键将其添加到画布。

接下来,从读模块连接列表中选择PostGIS Training Database。如果尚未设置数据库连接,请选择“添加数据库连接”并输入以下参数:

主机:postgis.train.safe.com

端口:5432

数据库:fmedata

用户名:fmedata

密码:fmedata

接下来,打开读模块参数并从Table List中选择PostalAddress表。

18f544fe91a90363dcbe26d950690991.png

4.添加PostGIS 写模块

与添加读模块类似,键入“PostGIS”,然后从写模块列表中选择PostGIS格式。

将写模块数据集设置为PostGIS培训数据库。

将表定义设置为自动,然后单击确定。

9bbbba069caf1e25bdd086c8c768993a.png

5.设置表名称

添加写模块要素类后,它将打开写模块参数。默认情况下,该表将放在“公共”模式中。

将表名称设置为“PostalAddress_copy”

将所有其他写模块要素类参数保留为默认值,然后单击OK。

最后,将读模块要素类连接到写模块要素类。

6.运行工作空间

单击工具栏上的“运行”按钮,或使用菜单栏上的“运行”>“运行转换”运行工作空间。

9b9bea528e46f973ae744430fee4e22f.png

或者,如果要将表导出为CSV,请将PostGIS 写模块替换为CSV写模块。这将导致您的PostGIS表格导出为CSV格式。同样,如果您要将CSV文件创建为PostGIS数据库中的表格,请将PostGIS 读模块替换为CSV读模块。这将导致您的CSV文件作为新表导入PostGIS。

结果

输入

cf9747cba6bb2d576f21707fb9d7af98.png

输出

15c4f985d8916ea012078a5f4e0db558.png

练习2 - 导出栅格数据

在这种情况下,您将把栅格图像和属性数据从数据库导出到GeoTIFF。

说明

1.启动FME Workbench

如果尚未打开,请启动FME Workbench。

2.创建一个新工作空间

在“开始”页面的“创建工作空间”部分中,选择“创建新工作空间”选项。

94efd5bb399a4b716635f5962c8849b7.png

3.添加PostGIS 栅格 读模块

在画布上未选择任何内容的情况下开始键入“ PostGIS 栅格 ”,然后通过双击或使用箭头键从读模块列表中选择PostGIS 栅格格式,然后按回车键将其添加到画布。

接下来,从读模块连接列表中选择PostGIS Training Database。如果尚未设置数据库连接,请选择“添加数据库连接”并输入以下参数:

主机:postgis.train.safe.com

端口:5432

数据库:fmedata

用户名:fmedata

密码:fmedata

接下来,打开读模块参数并从Table List中选择06-07-LM表。

c7b7da2cdfd51ee57c519be55e2f7b92.png

4.添加GeoTIFF 写模块

与添加读模块类似,键入“GeoTIFF”,然后从写模块列表中选择GeoTIFF格式。

单击数据集省略号并导航到要保存GeoTIFF文件的文件夹,例如C:\Users \ Documents \ MyFMEWorkspaces \ Export。

将栅格文件定义设置为自动,以确保将属性从数据库传输到GeoTIFF。单击“确定”将写模块添加到画布。

fc86617319f96a2381a181c231038050.png

5.指定文件名

将写模块添加到画布后,将出现写模块要素类参数。

将栅格文件名设置为“06-07-LM”。

6.管理元数据

从下拉列表中将Generate World File和Generate Tab File设置为Yes,然后单击OK接受写模块参数。

最后,将PostGIS 读模块连接到GeoTIFF 写模块。

FME允许您在写入GeoTIFF格式时生成World和TAB文件。世界文件(.tfw)很重要,因为它们存储有关栅格图像的地理配准信息(即栅格图像的原点,间距和旋转)。此外,TAB文件(.tab)很重要,因为它们允许您导出栅格图像的用户定义属性,这意味着相关数据库表中的所有属性都将与GeoTIFF一起导出。有关使用GeoTIFF读模块的更多技术信息,请参阅文档。

ada86f8e19a2b8023b6bac525eaea8cb.png

7.运行工作空间

单击工具栏上的“运行”按钮,或使用菜单栏上的“运行”>“运行转换”运行工作空间。

6110d806bee6c71c36ded3f5f44bc833.png

您已成功从数据库中导出栅格数据。您可以通过选择写模块要素类并在其上方显示的快捷菜单中单击FME Data Inspector标识来查看输出。

结果

输入

d7f4040fe5c0f342f61226afd1dd59d8.png

输出

5652cf547a50cce0b681c5b7fa7afd46.png

练习3 - 导入栅格数据

在此场景中,您将栅格图像及其属性导入数据库。

说明

1.启动FME Workbench

如果尚未打开,请启动FME Workbench。

2.创建一个新工作空间

在“开始”页面的“创建工作空间”部分中,选择“创建新工作空间”选项。

94efd5bb399a4b716635f5962c8849b7.png

3.添加GeoTIFF读模块

在画布上没有选择任何内容的情况下开始键入“GeoTIFF”,然后通过双击或使用箭头键从读模块列表中选择GeoTIFF格式,然后按回车键将其添加到画布。

将06-07-LM GeoTIFF设置为数据集(可在下载部分| 06-07-lm.zip中找到)。

c41dd707e31953ee248f31918ed52141.png

4.添加PostGIS 栅格写模块

与添加读模块类似,键入“ PostGIS Raster ”,然后通过双击或使用箭头键从写模块列表中选择PostGIS Raster格式,并按回车键将其添加到画,。

接下来,从读模块连接列表中选择PostGIS Training Database。如果尚未设置数据库连接,请选择“添加数据库连接”并输入以下参数:

主机:postgis.train.safe.com

端口:5432

数据库:fmedata

用户名:fmedata

密码:fmedata

将“表定义”设置为“自动”以确保读入工作空间的所有属性都写入PostGIS栅格数据库。

ba82bbe0e3e38f4609191774ec95bc03.png

5.设置表名称

添加PostGIS 栅格写模块后,写模块要素类参数将自动打开。将表名设置为“06-07-LM-copy”。默认情况下,该表将放在“公共”模式中。

将表处理设置为删除和创建。

将所有其他参数保留为默认值,然后单击“确定”将写模块添加到画布。

6.运行工作空间

单击工具栏上的“运行”按钮,或使用菜单栏上的“运行”>“运行转换”运行工作空间。

722d2b7df4f10ac5d75289a43e2c8972.png

您已成功将GeoTIFF导入数据库。您可以通过选择写模块并在出现的快捷菜单中单击FME DataInspector徽标来查看输出。

结果

输入

d827c1756db7e841b530175e2e20f1d1.png

输出

a847ec949854503a4c01436974fe2d49.png

练习4 - 导出矢量数据

在此方案中,您要导出当前存储在数据库中的某些矢量数据的副本。

说明

1.启动FME Workbench

如果尚未打开,请启动FME Workbench。

2.创建一个新工作空间

在“开始”页面的“创建工作空间”部分中,选择“创建新工作空间”选项。

94efd5bb399a4b716635f5962c8849b7.png

3.添加PostGIS 读模块

在画布上没有选择任何内容的情况下开始键入“PostGIS”,然后通过双击或使用箭头键从读模块列表中选择PostGIS格式,并按回车键将其添加到画布。

接下来,从读模块连接列表中选择PostGIS Training Database。如果尚未设置数据库连接,请选择“添加数据库连接”并输入以下参数:

主机:postgis.train.safe.com

端口:5432

数据库:fmedata

用户名:fmedata

密码:fmedata

接下来,打开读模块参数并从Table List中选择VanBlocks表。

18f544fe91a90363dcbe26d950690991.png

4.添加Shapefile 写模块

与添加读模块类似,键入“shapefile”,然后从写模块列表中选择shapefile格式。

单击数据集省略号以指定shapefile的文件夹,例如C:\Users \ Documents \ MyFMEWorkspaces \ Export。

将Shapefile定义设置为自动以确保将属性从数据库传输到shapefile。单击“确定”将写模块添加到画布。

5.指定文件名

将写模块添加到画布后,将出现写模块要素类参数。

将Shapefile名称设置为有意义的内容,如“VanBlocks”并把“表处理”设置为“要删除和创建的”(Drop andCreate.)。

6.指定几何对象和输出尺寸

Shapefile要素由几何对象和一组用户定义的属性组成。在本例下,您正在从PostGIS数据库中读取3D多边形数据,因为Z值(0)已附加到要素坐标。

打开VanBlocks Shapefile参数。

如果要确保shapefile具有多边形几何对象,请从几何对象下拉列表中选择“shape_polygon”。这是一个可选步骤,因为您已经知道您读入的VanBlocks数据集仅包含面要素。

注意:由于在坐标维度中指定了Z坐标,因此如果使用默认输出维度“第一个要素的尺寸”,Shapefile 写模块将假定输出为3D。

将Output Shapefile Dimension设置为2D。这将确保您正在编写2D数据,因为它将删除z坐标。

单击“确定”接受更改并关闭“要素类参数”。

将写模块添加到画布后,将读模块 Feature Type连接到写模块 Feature Type。

7.运行工作空间

单击工具栏上的“运行”按钮,或使用菜单栏上的“运行”>“运行转换”运行工作空间。

e67310e60ff35e9dd14ee0260c221f3d.png

您已成功将数据库中的多边形要素导出为shapefile格式。您可以通过选择写模块并在出现的快捷菜单中单击FME DataInspector徽标来查看输出。

结果

输入

d8aae23865d46ea1d9e88afc20979d96.png

输出

e82f32e0b17f3055a30e53c8ba2721ad.png


练习5 - 导入矢量数据

在此场景中,您将从shapefile将多边形要素导入数据库。

说明

1.启动FME Workbench

如果尚未打开,请启动FME Workbench。

2.创建一个新工作空间

在“开始”页面的“创建工作空间”部分中,选择“创建新工作空间”选项。

94efd5bb399a4b716635f5962c8849b7.png

3.添加Shapefile 读模块

在画布上没有选择任何内容的情况下开始键入“Shapefile”,然后通过双击或使用箭头键从读模块列表中选择Shapefile格式然后按回车键将其添加到画布,。

单击数据集省略号并导航到包含刚刚导出的VanBlocks.shp的文件夹。选择VanBlocks.shp并单击Open,然后单击OK将Shapefile读模块添加到画布。

4.添加PostGIS 写模块

键入“PostGIS”,然后通过双击或使用箭头键和Enter键将其添加到画布,从写模块列表中选择PostGIS格式。

接下来,从读模块连接列表中选择PostGIS Training Database。如果尚未设置数据库连接,请选择“添加数据库连接”并输入以下参数:

主机:postgis.train.safe.com

端口:5432

数据库:fmedata

用户名:fmedata

密码:fmedata

将“表定义”设置为“自动”以确保读入工作空间的所有属性都写入PostGIS数据库。

9bbbba069caf1e25bdd086c8c768993a.png

5.设置表名称

生成工作空间后,写模块要素类参数应自动打开。将表名称设置为“VanBlocks_copy”。默认情况下,该表将放在“公共”模式中。

将表处理设置为删除和创建。

将所有其他参数保留为默认值,然后单击“确定”将写模块添加到工作空间。

6.运行工作空间

单击工具栏上的“运行”按钮,或使用菜单栏上的“运行”>“运行转换”运行工作空间。

e0028fee802ed62d90e6cd25926b3f6c.png

结果

输入

2680e949871280527738c02f8d12da78.png

输出

d31a7037c4f3d2bf25dd3006bfc6772f.png

6198d883393713413d029cf642f68983.gif 3ddd2fe32840b40e4589d24d98c70836.png 4123dfb2eb8333f46255677f2c5decc7.png 4123dfb2eb8333f46255677f2c5decc7.png 往期精选

●01 如何在FME中执行此操作

●02 将列添加到表中

●03 对表格或图形数据进行排序

●04 计算新字段的值

●05 关联数据文件和字段

●06 从线段创建多边形

●07 纠正拓扑错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值