工作流:创建 ArcObjects 栅格字段

复杂程度:高级 数据要求:使用自己的数据 目标: 创建并填充非空间栅格字段,以及为 ArcGIS 访问而进行准备。

一些应用程序会显示图像,例如交通标志、河流或建筑物的图片,以进一步显示点、线或面要素。这些图像可以具有空间参考,也可以不具有空间参考。可使用 SQL 创建包含非空间栅格列的表。

以下工作流描述了创建并填充栅格列以及为 ArcGIS 访问而进行准备的方法。

创建并填充包含栅格列的表

步骤:
  1. 从 SQL 编辑器连接到数据库。

    例如,从 SQL*Plus 连接到 Oracle、通过 pgAdminIII 或 psql 命令提示符连接到 PostgreSQL,或者从 Management Studio 连接到 Microsoft SQL Server。

  2. 创建包含 ST_Raster 列的表。

    Oracle

    CREATE TABLE real_estate (address nvarchar2(255),
    sde.st_raster picture);
    

    PostgreSQL

    CREATE TABLE real_estate (address varchar(255), 
    sde.st_raster picture);
    

    SQL Server

    CREATE TABLE real_estate (address varchar(255), 
    dbo.st_raster picture);
    

    如果 SQL Server 中的地理数据库存储在 sde 用户的方案中,则函数以 sde 开头。

  3. 使用 ST_Raster_Util_Initialize 方法初始化栅格列。

    在这些示例中,projectID 参数为空,因为数据没有空间参考。

    Oracle

    BEGIN
    SDE.ST_RASTER_UTIL.INITALIZE ('real_estate','picture',NULL,'defaults');
    END;
    /
    

    PostgreSQL

    SELECT st_raster_util_initialize  
    ('real_estate','address',4326,'DEFAULTS');
    

    SQL Server

    EXEC dbo.st_raster_util_initialize 
    'sde','bobby','real_estate','address',4326,NULL,'DEFAULTS'
    

    执行此方法后,栅格列即注册到 ArcSDE,从而可用于其功能。

  4. 使用 ST_Raster 构造函数转化 TIFF 图像。

    在这些示例中,使用 ST_Raster 构造函数将 30551 Independence Ave 处建筑物的图像 转换为 TIFF 图像文件 30551_independence,从而输入到 real_estate 表中。

    Oracle

    INSERT INTO REAL_ESTATE (address, sde.st_raster)
    VAULES
    ('30551 Independence  Ave',
    SDE.ST_RASTER('C:\30551_independence.tif','compression=lz77'));
    

    PostgreSQL

    INSERT INTO real_estate (address, sde.st_raster)
    VAULES
    ('30551 Independence Ave',  
    sde.st_raster('C:\30551_independence.tif'));
    

    SQL Server

    INSERT INTO real_estate (address, dbo.st_raster)
    VALUES
    ('30551 Independence Ave',
    ST_Raster::construct('C:\30551_independence.tif'));
    
    提示提示:

    确保到图像的路径是数据库服务器可访问的路径。

  5. 可在该表中插入附加数据。

将表注册到地理数据库

使用 ArcGIS for Desktop 将表注册到地理数据库。

步骤:
  1. 启动 ArcMap 并打开 Catalog 窗口,或启动 ArcCatalog。
  2. 连接到包含要注册的表的企业级地理数据库。

    此连接在目录树的“数据库连接”节点下进行。请确保以表所有者的身份进行连接。

  3. 右键单击 real_estate 表,然后单击注册到地理数据库

    ObjectID 字段即添加到 real_estate 表。ObjectID 字段可以使 ArcGIS 游标遍历表的各行。

相关主题

9/15/2013