WEB开发网
开发学院数据库DB2 可视化 DB2 中空间数据 阅读

可视化 DB2 中空间数据

 2007-06-01 16:21:44 来源:WEB开发网   
核心提示: DB2 for Linux, UNIX, and Windows清单 3 显示如何使用 db2se 命令行工具导入 shapefile,只有 shapefile sqMainStreets 被导入到数据库 SPATIAL 中,可视化 DB2 中空间数据(5),导入其他两个 shapefil

DB2 for Linux, UNIX, and Windows

清单 3 显示如何使用 db2se 命令行工具导入 shapefile。只有 shapefile sqMainStreets 被导入到数据库 SPATIAL 中。导入其他两个 shapefile 的命令在 import.sh 文件中,该文件可以在下载小节中找到。当然,DB2 Control Center 中也提供了相同的功能。另外,也可以从您自己的应用程序中通过调用 db2gse.ST_import_shape 存储过程来开始导入。欲了解更多信息,请参阅 Spatial Extender 文档。

清单 3. 将示例 shapefile 导入到 DB2 for Linux, UNIX, and Windows 中

$ db2se import_shape SPATIAL -filename sjMainStreets -srsName NAD83_SRS_1
    -tableName MAIN_STREETS -createTableFlag 1 -spatialColumn SHAPE
    -idColumn SE_ROW_ID -commitScope 1000 -client 1
GSE0000I The operation was completed successfully.
$ db2se register_spatial_column SPATIAL -tableName MAIN_STREETS
    -columnName SHAPE -srsName NAD83_SRS_1
GSE0000I The operation was completed successfully.

对于导入操作,有两件事情要注意。ArcExplorer 要求表中存在一个名为 SE_ROW_ID 的列。那个列的类型必须声明为 INTEGER。这个列中的值用于惟一地标识每一行,也就是说,它必须是一个 ID 列。可以选择让 shape import 自动添加该列并为之生成惟一值(选项 idColumn)。第二件事情是 ArcExplorer 要求所有空间列指定一个空间引用系统。这可以通过像清单 3 中最后一步那样注册空间列来完成。

也有其他方法可以提供强制的 SE_ROW_ID 列。例如,可以使用空间表上的一个视图,通过重新命名视图定义中的 ID 列,从一个已有的 ID 列中取得 SE_ROW_ID 值。另一种方法是使用不同的编号技术,例如在线分析处理(OLAP)函数 ROW_NUMBER() 为新的 SE_ROW_ID 列生成值。具体实现留给有兴趣的同学作为练习。

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:可视化 DB 空间

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接