【FME-HOW-TO系列】08 导入数据库表,栅格数据,矢量数据

这篇博客详细介绍了如何使用FME进行数据导入和导出操作,包括复制数据库表格、导出和导入栅格及矢量数据。通过一系列的实践练习,展示了从PostGIS数据库复制表格、导出和导入栅格数据以及矢量数据的步骤。内容涵盖了工作空间创建、读写模块配置以及FME转换的运行。
摘要由CSDN通过智能技术生成

导入数据库表,栅格数据,矢量数据    

 

在本练习中,您将学习如何将数据导入数据库并使用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.创建一个新工作空间

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

3.添加PostGIS读模块

  • 在画布上没有选择任何内容的情况下开始键入“PostGIS”,然后通过双击或使用箭头键从读模块列表中选择PostGIS格式,然后按回车Enter键将其添加到画布
  • 接下来,从读模块连接列表中选择PostGIS Training Database。如果尚未设置数据库连接,请选择“添加数据库连接”并输入以下参数:
  • 接下来,打开读模块参数并从Table List中选择PostalAddress表。

4.添加PostGIS 写模块

  • 与添加读模块类似,键入“PostGIS”,然后从写模块列表中选择PostGIS格式。
  • 写模块数据集设置为PostGIS培训数据库。
  • 将表定义设置为自动,然后单击确定。

5.设置表名称

  • 添加写模块要素类后,它将打开写模块参数。默认情况下,该表将放在“公共”模式中。
  • 将表名称设置为“PostalAddress_copy”
  • 将所有其他写模块要素类参数保留为默认值,然后单击OK。
  • 最后,将读模块要素类连接到写模块要素类

6.运行工作空间

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

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

结果

输入

输出


练习2 - 导出栅格数据

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

说明

1.启动FME Workbench

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

2.创建一个新工作空间

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

3.添加PostGIS 栅格 读模块

  • 在画布上未选择任何内容的情况下开始键入“ PostGIS 栅格 ”,然后通过双击或使用箭头键从读模块列表中选择PostGIS 栅格格式,然后按回车键将其添加到画布。
  • 接下来,从读模块连接列表中选择PostGIS Training Database。如果尚未设置数据库连接,请选择“添加数据库连接”并输入以下参数:
  • 接下来,打开读模块参数并从Table List中选择06-07-LM表。

4.添加GeoTIFF 写模块

  • 与添加读模块类似,键入“GeoTIFF”,然后从写模块列表中选择GeoTIFF格式。
  • 单击数据集省略号并导航到要保存GeoTIFF文件的文件夹,例如C:\ Users \ Documents \ MyFMEWorkspaces \ Export。
  • 将栅格文件定义设置为自动,以确保将属性从数据库传输到GeoTIFF。单击“确定”将写模块添加到画布。

5.指定文件名

  • 写模块添加到画布后,将出现写模块要素类参数。
  • 栅格文件名设置为“06-07-LM”。

6.管理元数据

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

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

7.运行工作空间

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

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

结果

输入

输出


练习3 - 导入栅格数据

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

说明

1.启动FME Workbench

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

2.创建一个新工作空间

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

3.添加GeoTIFF读模块

  • 在画布上没有选择任何内容的情况下开始键入“GeoTIFF”,然后通过双击或使用箭头键从读模块列表中选择GeoTIFF格式,然后按回车键将其添加到画布。
  • 将06-07-LM GeoTIFF设置为数据集(可在下载部分| 06-07-lm.zip中找到)。

4.添加PostGIS 栅格写模块

  • 与添加读模块类似,键入“ PostGIS Raster ”,然后通过双击或使用箭头键从写模块列表中选择PostGIS Raster格式,并按回车键将其添加到画,。
  • 接下来,从读模块连接列表中选择PostGIS Training Database。如果尚未设置数据库连接,请选择“添加数据库连接”并输入以下参数:
  • 将“表定义”设置为“自动”以确保读入工作空间的所有属性都写入PostGIS栅格数据库。

5.设置表名称

  • 添加PostGIS 栅格写模块后,写模块要素类参数将自动打开。将表名设置为“06-07-LM-copy”。默认情况下,该表将放在“公共”模式中。
  • 将表处理设置为删除和创建。
  • 将所有其他参数保留为默认值,然后单击“确定”将写模块添加到画布。

6.运行工作空间

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

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

结果

输入

输出


练习4 - 导出矢量数据

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

说明

1.启动FME Workbench

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

2.创建一个新工作空间

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

3.添加PostGIS 读模块

  • 在画布上没有选择任何内容的情况下开始键入“PostGIS”,然后通过双击或使用箭头键从读模块列表中选择PostGIS格式,并按回车键将其添加到画布。
  • 接下来,从读模块连接列表中选择PostGIS Training Database。如果尚未设置数据库连接,请选择“添加数据库连接”并输入以下参数:

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

4.添加Shapefile 写模块

  • 与添加读模块类似,键入“shapefile”,然后从写模块列表中选择shapefile格式。
  • 单击数据集省略号以指定shapefile的文件夹,例如C:\ Users \ Documents \ MyFMEWorkspaces \ Export。
  • 将Shapefile定义设置为自动以确保将属性从数据库传输到shapefile。单击“确定”将写模块添加到画布。

5.指定文件名

  • 写模块添加到画布后,将出现写模块要素类参数。
  • 将Shapefile名称设置为有意义的内容,如“VanBlocks”并把“表处理”设置为要删除和创建的”Drop and Create.

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.运行工作空间

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

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

结果

输入

输出


练习5 - 导入矢量数据

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

说明

1.启动FME Workbench

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

2.创建一个新工作空间

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

3.添加Shapefile 读模块

  • 在画布上没有选择任何内容的情况下开始键入“Shapefile”,然后通过双击或使用箭头键从读模块列表中选择Shapefile格式然后按回车键将其添加到画布,。
  • 单击数据集省略号并导航到包含刚刚导出的VanBlocks.shp的文件夹。选择VanBlocks.shp并单击Open,然后单击OK将Shapefile 读模块添加到画布。

4.添加PostGIS 写模块

  • 键入“PostGIS”,然后通过双击或使用箭头键和Enter键将其添加到画布,从写模块列表中选择PostGIS格式。
  • 接下来,从读模块连接列表中选择PostGIS Training Database。如果尚未设置数据库连接,请选择“添加数据库连接”并输入以下参数:
  • 将“表定义”设置为“自动”以确保读入工作空间的所有属性都写入PostGIS数据库。

5.设置表名称

  • 生成工作空间后,写模块要素类参数应自动打开。将表名称设置为“VanBlocks_copy”。默认情况下,该表将放在“公共”模式中。
  • 将表处理设置为删除和创建。
  • 将所有其他参数保留为默认值,然后单击“确定”将写模块添加到工作空间

6.运行工作空间

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

结果

输入

输出


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值