在 Standard 或 Advanced 许可等级下可用。
借助 ST_Raster 数据类型,您可以直接在地理数据库表中存储栅格数据。如果需要使用 SQL 访问地理数据库栅格数据,则使用 ST_Raster 类型。
使用创建栅格类型地理处理工具或可调用该工具的 Python 脚本,用以在地理数据库中安装 ST_Raster 类型。
安装该类型后,必须更改地理数据库配置设置,以使地理数据库中创建的新栅格数据能够使用 ST_Raster 数据类型。
放置 ST_Raster 库
必须将 ST_Raster 库 (libst_raster_pg) 放置在 PostgreSQL lib/pgsql 目录中。
您可以从安装有 ArcGIS for Desktop 或 ArcGIS for Server 的 <ArcGIS client installation directory>\DatabaseSupport\PostgreSQL\<Operating System> 目录中复制 libst_raster_pg 库。确保复制适合 PostgreSQL 服务器操作系统的库。
在放置 ST_Raster 库后,便可以安装 ST_Raster。
安装 ST_Raster
要安装 ST_Raster 类型,可以运行 ArcGIS for Desktop(Standard 或 Advanced)中的创建栅格类型工具,也可以运行 ArcGIS for Server 或 ArcGIS for Desktop(Standard 或 Advanced)客户端中的 Python 脚本。
运行地理处理工具
如果您有权访问 ArcGIS for Desktop(Standard 或 Advanced),则可运行创建栅格类型工具来安装 ST_Raster 类型。
- 启动 ArcCatalog 或 ArcMap。
- 以地理数据库管理员身份连接到地理数据库。
- 打开创建栅格类型工具。
该工具位于“数据管理”工具箱的“地理数据库管理”工具集中。
- 将步骤 2 中创建的数据库连接指定为输入数据库连接。
- 单击确定以运行工具。
- 使用导出地理数据库配置关键字工具将地理数据库的当前配置设置导出到文本文件。
- 编辑文本文件并将 RASTER_STORAGE 设置为 ST_Raster。
- 如果希望所有栅格数据集和栅格目录在用户不指定关键字的情况下均使用 ST_Raster 类型,则应更改 DEFAULTS 关键字下的 RASTER_STORAGE 参数。
- 如果只有一些栅格数据集和栅格目录使用 ST_Raster 类型,则创建自定义关键字并将该关键字的 RASTER_STORAGE 参数设置为 ST_Raster。
- 使用导入地理数据库配置关键字工具将更改后的文本文件导入地理数据库。
使用 Python
您可以运行 Python 脚本来创建能够以地理数据库管理员身份连接到地理数据库的数据库连接 (.sde) 文件,在地理数据库中安装 ST_Raster 类型,并将 RASTER_STORAGE 参数设置为 ST_Raster。
- 创建能够以地理数据库管理员身份连接到地理数据的数据库连接 (.sde) 文件。如果使用数据库身份验证进行连接,请确保用户名和密码随连接文件一同保存。
在本例中,将在 C:\temp 中创建连接文件 (adminconnect.sde)。
import arcpy arcpy.CreateDatabaseConnection_management (r'c:/temp',"adminconnect.sde", "POSTGRESQL", "teamdata", "DATABASE_AUTH", "sde", "Cky00r", "SAVE_USERNAME", "projects")
- 安装 ST_Raster 类型。
在此,CreateRasterType_management 函数使用 adminconnect.sde 文件连接到地理数据库并安装 ST_Raster 类型:
arcpy.CreateRasterType_management (r'c:/temp/adminconnect.sde')
更改地理数据库配置
在地理数据库中安装 ST_Raster 后,必须更改地理数据库配置,以使 ST_Raster 可供用户在创建栅格数据集和栅格目录时使用。要完成此操作,您可以从 ArcGIS for Desktop(Standard 或 Advanced)进行连接并运行地理处理工具,也可以使用从 ArcGIS for Server 或 ArcGIS for Desktop(Standard 或 Advanced)客户端运行的 Python 脚本。
运行地理处理工具
如果您有权访问 ArcGIS for Desktop,可使用导出地理数据库配置关键字工具将地理数据库的当前配置设置导出到文本文件,并在文本文件中将 RASTER_STORAGE 参数设置为 ST_Raster,然后使用导入地理数据库配置关键字工具导入更改后的文本文件。
- 在 ArcGIS for Desktop 中打开导出地理数据库配置关键字工具。
- 使用为安装 ST_Raster 而创建的数据库连接作为输入数据库连接。
- 指定要创建的文本文件的位置和文件名。
- 在文本编辑器中打开该文本文件,并将 RASTER_STORAGE 设置为 ST_Raster。
- 如果希望所有栅格数据集和栅格目录在用户不指定关键字的情况下均使用 ST_Raster 类型,则应更改 DEFAULTS 关键字下的 RASTER_STORAGE 参数。
- 如果只有一些栅格数据集和栅格目录使用 ST_Raster 类型,则创建自定义关键字并将该关键字的 RASTER_STORAGE 参数设置为 ST_Raster。
- 保存并关闭该文本文件。
- 使用导入地理数据库配置关键字工具将更改后的文本文件导入地理数据库。
使用 Python
使用 ArcPy 函数 ExportGeodatabsaeConfigurationKeyword_management 将当前地理数据库配置设置导出到文本文件,编辑并保存该文本文件,然后使用 ImportGeodatabaseConfigurationKeyword_management 函数将更改导入到地理数据库中。
如果同时运行 ExportGeodatabsaeConfigurationKeyword_management 和 ImportGeodatabaseConfigurationKeyword_management 函数,使用在为 input_database 安装 ST_Raster 时创建的数据库连接文件。
- 导出当前地理数据库配置。
在本例中,gdbconfig 文件被导出到 C:\temp 文件夹。
arcpy.ExportGeodatabaseConfigurationKeyword_management (r'c:/temp/adminconnect.sde', r'c:/temp/gdbconfig.txt')
- 在文本编辑器中打开该文本文件,并将 RASTER_STORAGE 设置为 ST_Raster。
- 如果希望所有栅格数据集和栅格目录在用户不指定关键字的情况下均使用 ST_Raster 类型,则应更改 DEFAULTS 关键字下的 RASTER_STORAGE 参数。
- 如果只有一些栅格数据集和栅格目录使用 ST_Raster 类型,则创建自定义关键字并将该关键字的 RASTER_STORAGE 参数设置为 ST_Raster。
- 保存并关闭该文本文件。
- 导入已编辑的文件。
arcpy.ImportGeodatabaseConfigurationKeyword_management (r'c:/temp/adminconnect.sde', r'c:/temp/gdbconfig.txt')
现在,新的配置设置可在创建数据时使用。