Рабочий процесс: создание поля растра в ArcObjects

Уровень сложности: Расширенный Требования к данным: Используйте собственные данные Задача: Создайте и заполните поле непространственных растров, а затем подготовьте его для работы с ArcGIS.

Некоторые приложения воспроизводят изображения, такие как дорожные знаки, реки или здания, чтобы проиллюстрировать точку, линию или полигональный пространственный объект. Эти изображения могут не иметь пространственной привязки. Для создания таблицы со столбцом непространственного растра можно использовать SQL.

Далее приведен рабочий процесс, описывающий создание и заполнение столбца растра, а также его подготовку для работы с ArcGIS.

Создание и заполнение таблицы со столбцом растра

Шаги:
  1. Подключитесь к базе геоданных из редактора SQL.

    Например, подключитесь к Oracle с помощью SQL*Plus, к PostgreSQL с помощью pgAdminIII или команды psql из командной строки или к Microsoft SQL Server с помощью Management Studio.

  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 — NULL, так как данные не имеют пространственной привязки.

    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. Конвертируйте изображение в формате TIFF с помощью конструктора ST_Raster.

    В этих примерах изображение дома на 30551 Independence Ave добавляется в таблицу real_estate путем конвертирования TIFF-файла 30551_independence при помощи конструктора ST_Raster.

    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 и откройте окно Каталога или запустите ArcCatalog.
  2. Подключитесь к многопользовательской базе геоданных, содержащей таблицу, которую необходимо зарегистрировать.

    Подключение осуществляется через папку Подключения баз данных (Database Connections) в дереве Каталога. Убедитесь, что вы подключились как владелец таблицы.

  3. Щелкните правой кнопкой таблицу real_estate и выберите Зарегистрировать в базе геоданных (Register with Geodatabase).

    В таблицу real_estate добавляется поле ObjectID. Поле ObjectID позволяет ArcGIS перемещаться по строкам таблицы.

Связанные темы

5/25/2014