Workflow : création d'un champ raster ArcObjects
Certaines applications affichent des images (représentant des panneaux de signalisation, des rivières ou des bâtiments) pour mieux illustrer un point, une ligne ou une entité surfacique. Ces images peuvent ou non être référencées spatialement. Vous pouvez utiliser SQL pour créer une table avec une colonne raster non spatiale.
Le workflow suivant explique comment créer et renseigner une colonne raster et la préparer pour qu'ArcGIS puisse y accéder.
Créer et renseigner une table avec une colonne raster
-
Connectez-vous à la base de données à partir d'un éditeur SQL.
Par exemple, connectez-vous à Oracle à partir de SQL*Plus, à PostgreSQL à partir de pgAdminIII ou de l'invite de commande psql, ou à Microsoft SQL Server à partir de Management Studio.
- Créez une table dotée d'une colonne 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 votre géodatabase dans SQL Server est stockée dans la structure de l'utilisateur sde, faites précéder la fonction de sde.
- Utilisez la fonction ST_Raster_Util_Initialize pour initialiser la colonne raster.
Dans ces exemples, l'argument projectID est nul parce que les données ne sont pas référencées spatialement.
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'
Une fois cette méthode exécutée, la colonne raster est inscrite dans ArcSDE et ses fonctionnalités peuvent y accéder.
- Convertissez une image TIFF à l'aide du constructeur ST_Raster.
Dans ces exemples, une image de la propriété située à l'adresse 30551 Indépendance Ave est entrée dans la table real_estate en convertissant le fichier image TIFF 30551_independence avec le constructeur 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'));
Astuce:
Assurez-vous que le serveur de base de données peut accéder au chemin d'accès à l'image.
Inscription de la table dans la géodatabase
Utilisez ArcGIS for Desktop pour inscrire la table dans la géodatabase.
- Lancez ArcMap et ouvrez la fenêtre Catalogue ou démarrez ArcCatalog.
-
Connectez-vous à la géodatabase d'entreprise qui contient la table que vous souhaitez inscrire.
Cette connexion est établie sous le nœud Connexions aux bases de données de l'arborescence du catalogue. Assurez-vous que vous connectez en tant que propriétaire de la table.
- Cliquez avec le bouton droit sur la table real_estate, puis cliquez sur Inscrire dans la géodatabase.
Un champ ObjectID sera ajouté à la table real_estate. Le champ ObjectID permet à ArcGIS de passer à travers les lignes de la table.