ST_LineFromWKB rileva una rappresentazione WKB di tipo stringa lineare e un'identità del sistema di riferimento spaziale e restituisce una stringa lineare.
Sintassi
db2gse.ST_LineFromWKB(WKBLineString 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.
La tabella SEWERLINES viene creata con 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 (wkb_sql,"insert into sewerlines (sewer_id,class,sewer) values (?,?, db2gse.ST_LineFromWKB (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 *)wkb_sql, SQL_NTS); /* Bind the integer sewer_id 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_wkb, blob_len, &pcbvalue3); /* Execute the insert statement. */ rc = SQLExecute (hstmt);