使用與參考手冊

MLine FromShape

MLineFromShape 使用多線串類型的形狀與空間參照系統識別,並傳回多線串。

語法

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

回覆類型

db2gse.ST_MultiLineString

範例

下列程式碼片斷在 WATERWAYS 表格中移入唯一的 ID、名稱及水路多線串。

WATERWAYS 表格是以 ID 與 NAME 直欄建立的, 這些直欄定義表格中所儲存的每條溪流與河川系統。WATER 直欄是多線串,因為河川與溪流系統通常是數個多線串的聚集。

CREATE TABLE WATERWAYS (id        integer,
                              name      varchar(128),
                             water      db2gse.ST_MultiLineString);
/* 建立 SQL insert 陳述式,以移入 id、名稱及
   多線串。問號是參數記號,
   可指出執行期將擷取的 id、名稱及
   水路值。 */
strcpy (shp_sql,"insert into WATERWAYS (id,name,water)
values (?,?, db2gse.MLineFromShape (cast(? as blob(1m)),
db2gse.coordref()..srid(0)))");
/* 為 SQL 陳述式 handle 配置記憶體,並結合此
   陳述式 handle 與連接 handle。 */
rc = SQLAllocStmt (handle, &hstmt);
/* 準備要執行的 SQL 陳述式。 */
rc = SQLPrepare (hstmt, (unsigned char *)shp_sql, SQL_NTS);
/* 將整數 ID 值連結第一個參數。 */
pcbvalue1 = 0;
rc = SQLBindParameter (hstmt, 1, SQL_PARAM_INPUT, SQL_C_SLONG,
   SQL_INTEGER, 0, 0, &id, 0, &pcbvalue1);
/* 將 VARCHAR 名稱值連結第二個參數。 */
pcbvalue2 = name_len;
rc = SQLBindParameter (hstmt, 2, SQL_PARAM_INPUT, SQL_C_CHAR,
     SQL_CHAR, name_len, 0, &name, name_len, &pcbvalue2);
/* 將形狀連結第三個參數。 */
pcbvalue3 = blob_len;
rc = SQLBindParameter (hstmt, 3, SQL_PARAM_INPUT, SQL_C_BINARY,
     SQL_BLOB, blob_len, 0, water_shape, blob_len, &pcbvalue3);
/* 執行 insert 陳述式。 */
rc = SQLExecute (hstmt); 


[ 頁面頂端 | 前一頁 | 下一頁 | 目錄 | 索引 ]