ST_GeomFromWKB

ST_GeomFromWKB takes a well-known binary representation of a geometry and a spatial reference system identifier as input parameters and returns the corresponding geometry.

If the given well-known binary representation is null, null is returned.

Syntax

Read syntax diagramSkip visual syntax diagramdb2gse.ST_GeomFromWKB(wkb ,srs_id )

Parameter

wkb
A value of type BLOB(4M) that contains the well-known binary representation of the resulting geometry. If the well-known binary representation is null, null is returned.
srs_id
A value of type INTEGER that identifies the spatial reference system for the resulting geometry. This parameter is required.

If the specified srs_id parameter does not identify a spatial reference system that is listed in the catalog view DB2GSE.ST_SPATIAL_REFERENCE_SYSTEMS, an error is returned (SQLSTATE 38SU1).

Return type

db2gse.ST_Geometry

Examples

The following code illustrates how the ST_GeomFromWKB function can be used to create and insert a geometry from a well-known binary (WKB) line representation.

The following example inserts a record into the SAMPLE_GEOMETRIES table with an ID and a geometry in spatial reference system 1 in a WKB representation.

SET CURRENT PATH = CURRENT PATH, db2gse 

CREATE TABLE sample_geometries (id INTEGER, geometry ST_GEOMETRY,
    wkb BLOB(32K))

INSERT INTO sample_geometries(id, geometry)
VALUES
    (1901, ST_GeomFromText('point(1 2)', 1) ),
    (1902, ST_GeomFromText('linestring(33 2, 34 3, 35 6)', 1) ),
    (1903, ST_GeomFromText('polygon((3 3, 4 6, 5 3, 3 3))', 1))

UPDATE sample_geometries AS temp_correlated
SET    wkb = DB2GSE.ST_AsBinary(geometry)
WHERE  id = temp_correlated.id

SELECT id, cast(DB2GSE.ST_AsText(ST_GeomFromWKB(wkb)) AS varchar(190))
   AS geometry
FROM   sample_geometries 

Results:

 ID          GEOMETRY                                                                                       
 ----------- ----------------------------------------------------------
1901         POINT ( 1.00000000 2.00000000)
                                                                 
1902         LINESTRING ( 33.00000000 2.00000000, 34.00000000 
   3.00000000, 35.00000000 6.00000000)
         
1903         POLYGON (( 3.00000000 3.00000000, 5.00000000 3.00000000,
   4.00000000 6.00000000, 3.00000000 3.00000000))