Guida di riferimento per l'utente

LineFromShape

LineFromShape rileva una forma di tipo punto e un'identità del sistema di riferimento spaziale e restituisce una stringa lineare.

Sintassi

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

Tipo di ritorno

db2gse.ST_LineString

Esempi

Il seguente frammento di codifica compila la tabella SEWERLINES con l'ID univoco, la classe della dimensione e la geometria di ogni rete fognaria.

L'istruzione CREATE TABLE crea la tabella SEWERLINES che contiene tre colonne. La prima colonna, SEWER_ID, identifica ciascuna rete fognaria in modo univoco. La seconda colonna, CLASS, di tipo integer identifica il tipo di rete fognaria, generalmente associata alla capacità. La terza colonna, SEWER, di tipo stringa lineare memorizza la geometria della rete fognaria.

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


[ Inizio pagina | Pagina precedente | Pagina successiva | Indice | Indice analitico ]