Guía y consulta del usuario

MLine FromShape

MLineFromShape toma una forma de tipo varias series lineales y una identidad del sistema de referencias espaciales y devuelve una geometría varias series lineales.

Sintaxis

db2gse.MLineFromShape(ShapeMultiLineString Blob(1M), cr db2gse.coordref)

Tipo devuelto

db2gse.ST_MultiLineString

Ejemplos

El siguiente fragmento de código llena la tabla WATERWAYS con un id exclusivo, un nombre y una geometría varias series lineales denominada water.

La tabla WATERWAYS se crea con las columnas ID y NAME que identifican cada sistema de corrientes y de ríos almacenado en la tabla. La columna WATER es una geometría varias series lineales porque los sistemas de ríos y de corrientes suelen ser un agregado de varias series lineales.

CREATE TABLE WATERWAYS (id     integer,
                             name       varchar(128),
                             water      db2gse.ST_MultiLineString);
 
/* Crear la sentencia SQL insert para llenar el id, nombre y
   varias series lineales. Los interrogantes son marcadores de parámetro que
   indican los valores de id, name y water que se recuperarán en el
   momento de la ejecución. */
strcpy (shp_sql,"insert into WATERWAYS (id,name,water)
values (?,?, db2gse.MLineFromShape (cast(? as blob(1m)),
db2gse.coordref()..srid(0)))");
 
/* Asignar memoria para el manejador de sentencias SQL y asociar
   el manejador de sentencias con el manejador de conexiones. */
rc = SQLAllocStmt (handle, &hstmt);
 
/* Preparar la sentencia SQL para la ejecución. */
rc = SQLPrepare (hstmt, (unsigned char *)shp_sql, SQL_NTS);
 
/* Vincular el valor entero id con el primer parámetro. */
 
pcbvalue1 = 0;
rc = SQLBindParameter (hstmt, 1, SQL_PARAM_INPUT, SQL_C_SLONG,
   SQL_INTEGER, 0, 0, &id, 0, &pcbvalue1);
/* Vincular el valor varchar name con el segundo parámetro. */
 
pcbvalue2 = name_len;
rc = SQLBindParameter (hstmt, 2, SQL_PARAM_INPUT, SQL_C_CHAR,
     SQL_CHAR, name_len, 0, &name, name_len, &pcbvalue2);
 
/* Vincular la forma con el tercer parámetro. */
pcbvalue3 = blob_len;
rc = SQLBindParameter (hstmt, 3, SQL_PARAM_INPUT, SQL_C_BINARY,
     SQL_BLOB, blob_len, 0, water_shape, blob_len, &pcbvalue3);
 
/* Ejecutar la sentencia insert. */
rc = SQLExecute (hstmt); 


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]