Referência e Manual do Usuário

ST_LineFromWKB

ST_LineFromWKB recebe uma representação binária convencional do tipo segmento de reta e um identificador do sistema de referências espaciais e retorna um segmento de reta.

Sintaxe

db2gse.ST_LineFromWKB(WKBLineString Blob(1M), SRID db2gse.coordref)

Tipo de retorno

db2gse.ST_LineString

Exemplos

O seguinte fragmento de código preenche a tabela SEWERLINES com id, classe de tamanho e geometria exclusivos de cada linha sewer.

A tabela SEWERLINES foi criada com três colunas. A primeira coluna, SEWER_ID, identifica exclusivamente cada linha do sewer. A segunda coluna, CLASS, do tipo inteiro identifica o tipo de linha de sewer, que geralmente está associada à capacidade da linha. A terceira coluna, SEWER, do tipo cadeia de linhas armazena a figura geométrica da linha sewer.

CREATE TABLE SEWERLINES (sewer_id   integer,
                         class  integer,
                         sewer  db2gse.ST_LineString);
 
/* Criar a instrução insert do SQL para preencher a id do sewer, o tamanho
   e a cadeia de linha sewer. Os pontos de interrogação são marcadores de
   parâmetros que indicam a id do sewer, a classe e os valores de figura
   geométrica do sewer que serão recuperados no tempo de execução. */
strcpy (wkb_sql,"insert into sewerlines (sewer_id,class,sewer)
values (?,?, db2gse.ST_LineFromWKB (cast(? as blob(1m)), 
db2gse.coordref()..srid(0)))");
 
/* Alocar memória para o tratamento da instrução SQL e associar o 
   tratamento da instrução ao tratamento da conexão. */
rc = SQLAllocStmt (handle, &hstmt);
 
/* Preparar as instruções SQL para execução. */
rc = SQLPrepare (hstmt, (unsigned char *)wkb_sql, SQL_NTS);
 
/* Ligar o valor inteiro do id do sewer ao primeiro parâmetro.*/
pcbvalue1 = 0; 
rc = SQLBindParameter (hstmt, 1, SQL_PARAM_INPUT, SQL_C_SLONG,
   SQL_INTEGER, 0, 0, &sewer_id, 0, &pcbvalue1);
 
/* Ligar o valor da classe de inteiro ao segundo parâmetro. */
pcbvalue2 = 0;
rc = SQLBindParameter (hstmt, 2, SQL_PARAM_INPUT, SQL_C_SLONG,
   SQL_INTEGER, 0, 0, &sewer_class, 0, &pcbvalue2);
 
/* Ligar o formato ao terceiro parâmetro. */
pcbvalue3 = blob_len;
rc = SQLBindParameter (hstmt, 3, SQL_PARAM_INPUT, SQL_C_BINARY,
     SQL_BLOB, blob_len, 0, sewer_wkb, blob_len, &pcbvalue3);
 
/* Executar a instrução insert . */
rc = SQLExecute (hstmt); 


[ Início da Página | Página Anterior | Próxima Página | Índice | Índice Remissivo ]