Flujo de trabajo: crear un campo ráster de ArcObjects
Algunas aplicaciones muestran imágenes, como señales de tránsito, ríos, o edificios, para ilustrar mejor una entidad de punto, línea o polígono. Es posible que estas imágenes estén o no estén referenciadas espacialmente. Puede usar SQL para crear una tabla con una columna ráster no espacial.
El siguiente flujo de trabajo describe cómo crear y completar una columna ráster y prepararla para el acceso de ArcGIS.
Crear y completar una tabla con una columna ráster
-
Conéctese a la base de datos desde un editor SQL.
Por ejemplo, conéctese a Oracle desde SQL*Plus, a PostgreSQL desde pgAdminIII o la ventana de comando psql, o a Microsoft SQL Server desde Management Studio.
- Cree una tabla con una columna 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);
Si su geodatabase en SQL Server está almacenada en el esquema del usuario sde, preceda la función con sde.
- Utilice el método ST_Raster_Util_Initialize para inicializar la columna ráster.
En estos ejemplos, el argumento projectID es nulo porque los datos no incluyen referencias espaciales.
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'
Una vez que este método se ejecuta, la columna ráster se registra con ArcSDE y está disponible para su funcionalidad.
- Convierta una imagen TIFF con el constructor ST_Raster.
En estos ejemplos, se introduce una imagen de la propiedad ubicada en 30551 Independence Ave en la tabla real_estate mediante la conversión del archivo de imagen TIFF, 30551_independence, con el constructor 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'));
Sugerencia:Asegúrese de que la ruta a la imagen sea una a la que el servidor de la base de datos tenga acceso.
Agregar un Id. de fila registrado a la tabla
Para deslizar el cursor por las filas de una tabla de ArcSDE, ArcGIS necesita una columna con Id. de fila registrada con ArcSDE (también llamado ObjectID) en la tabla. Puede usar el comando sdetable para agregar el Id. de fila.
- Ejecute el comando sdetable con la operación alter_reg para agregar a la tabla una columna de Id. de fila que esté registrada con ArcSDE.
Oracle
sdetable -o alter_reg -t real_estate -c objectid -C SDE -i sde:oracle11g -s myserver -u tblowner -p ulook.away -N
PostgreSQL
sdetable -o alter_reg -t real_estate -c objectid -C SDE -N -i sde:postgresql:myserver -s myserver -D pgdb -u tblowner -p ulook.away
SQL Server
sdetable -o alter_reg -t real_estate -c objectid -C SDE -N -i sde:sqlserver:myserver\ssinstance -D ssdb -u tblowner -p ulook.away
Los rásteres de esta tabla ahora se pueden ver por medio de la interfaz de usuario de ArcGIS Desktop.
Si desea poder editar la tabla en ArcGIS, o si quiere que la tabla participe en cualquier funcionalidad de geodatabase, como clases de relación o subtipos, debe registrarla con la geodatabase.
Registrar la tabla con la geodatabase
Utilice ArcGIS Desktop para registrar la tabla con la geodatabase.
- Inicie ArcMap y abra la ventana Catálogo o inicie ArcCatalog.
-
Conéctese a la geodatabase de ArcSDE que contiene la tabla que desea registrar.
Esta conexión se realiza en el nodo Conexiones de base de datos del árbol de catálogo. Asegúrese de conectarse como propietario de la tabla.
- Haga clic con el botón derecho del ratón en la tabla real_estate.
- Haga clic en Registrar con geodatabase.
- Elija usar el ObjectID que agregó con el comando sdetable.
- Haga clic en Aceptar.