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);