Guide d'utilisation et de référence

LineFromShape

LineFromShape utilise en entrée une forme de type point et un identificateur de système de références spatiales, et renvoie une ligne.

Syntaxe

db2gse.Line FromShape(ShapeLineString Blob(1M), SRID db2gse.coordref)

Type de retour

db2gse.ST_LineString

Exemples

Le fragment de code ci-après peuple la table SEWERLINES avec l'ID unique, la classe de taille et la géométrie de chaque canalisation d'égout.

L'instruction CREATE TABLE présentée ci-après crée la table SEWERLINES qui comporte trois colonnes. La première, SEWER_ID, identifie de manière univoque chaque canalisation. La seconde, CLASS, de type entier identifie le type de canalisation d'égout qui est généralement associé à la capacité de la canalisation. La troisième colonne, SEWER, de type ligne stocke la géométrie de la canalisation d'égout.

CREATE TABLE SEWERLINES (sewer_id   integer, class  integer,
                         sewer db2gse.ST_LineString);
 
/* Create the SQL insert statement to populate the sewer_id, size class and
   the sewer linestring. The question marks are parameter markers that
   indicate the sewer_id, class and sewer geometry values that will be
   retrieved at runtime. */
strcpy (shp_sql,"insert into sewerlines (sewer_id,class,sewer)
values (?,?, db2gse.Line FromShape (cast(? as blob(1m)), 
db2gse.coordref()..srid(0)))");
 
/* Allocate memory for the SQL statement handle and associate the
   statement handle with the connection handle. */
rc = SQLAllocStmt (handle, &hstmt);
 
/* Prepare the SQL statement for execution. */
rc = SQLPrepare (hstmt, (unsigned char *)shp_sql, SQL_NTS);
 
/* Bind the integer key value to the first parameter. */
pcbvalue1 = 0;
rc = SQLBindParameter (hstmt, 1, SQL_PARAM_INPUT, SQL_C_SLONG,
     SQL_INTEGER, 0, 0, &sewer_id, 0, &pcbvalue1);
 
/* Bind the integer class value to the second parameter. */
pcbvalue2 = 0;
rc = SQLBindParameter (hstmt, 2, SQL_PARAM_INPUT, SQL_C_SLONG,
   SQL_INTEGER, 0, 0, &sewer_class, 0, &pcbvalue2);;
 
/* Bind the shape to the third parameter. */
pcbvalue3 = blob_len;
rc = SQLBindParameter (hstmt, 3, SQL_PARAM_INPUT, SQL_C_BINARY,
     SQL_BLOB, blob_len, 0, sewer_shape, blob_len, &pcbvalue3);
 
/* Execute the insert statement. */
rc = SQLExecute (hstmt);


[ Début de page | Page précédente | Page suivante | Table des matières | Index ]