导入数据库表,栅格数据,矢量数据
概述在本练习中,您将学习如何将数据导入数据库并使用FME从数据库导出数据。这是一个简单的拖放过程,支持超过400种数据类型; 但是,本教程仅提供从3个类别导入/导出数据的示例:数据库表,栅格数据和矢量数据。 下载import-export.fmwt vancouver-blocks-polygon.zip postaladdress.zip 06-07-lm.zip 注意:由于您正在处理面向公众的数据库,因此有时可能会覆盖和/或修改表。如果您的转换产生意外结果,请参阅重置PostGIS培训数据库文章。或者,您可以下载提供的文件,并使用适当格式的读模块替换PostGIS读模块。
练习1 - 复制表格在此场景中,您将学习如何制作现有数据库表的副本。 说明1.启动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 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 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 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 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.运行工作空间 - 单击工具栏上的“运行”按钮,或使用菜单栏上的“运行”>“运行转换”运行工作空间。
结果输入输出
本文转载来自CSDN作者:fmechina 版权归作者所有 原文链接:https://blog.csdn.net/fmechina/article/details/98593269?spm=1001.2014.3001.5501
|