- 类别:
ST_ASEWKB¶
给定一个类型为 GEOGRAPHY 或 GEOMETRY 的值,以 EWKB (扩展的已知二进制) 格式返回该值的二进制表示形式。
- 另请参阅:
语法¶
ST_ASEWKB( <geography_or_geometry_expression> )
实参¶
geography_or_geometry_expression
实参必须是 GEOGRAPHY 或 GEOMETRY 类型的表达式。
返回¶
BINARY 类型的值。
使用说明¶
对于 GEOGRAPHY 对象,返回值中的 SRID 始终为 4326。请参阅 有关 EWKT 处理的说明。
若要以 WKB 格式返回输出,请改用 ST_ASWKB。
示例¶
GEOGRAPHY 示例¶
以下示例演示了 ST_ASEWKB 函数。对于 EWKB 输出,假设 BINARY_OUTPUT_FORMAT 参数设置为 HEX
(参数的默认值)。
create table geospatial_table (id INTEGER, g GEOGRAPHY); insert into geospatial_table values (1, 'POINT(-122.35 37.55)'), (2, 'LINESTRING(-124.20 42.00, -120.01 41.99)');select st_asewkb(g) from geospatial_table order by id; +--------------------------------------------------------------------------------------------+ | ST_ASEWKB(G) | |--------------------------------------------------------------------------------------------| | 0101000020E61000006666666666965EC06666666666C64240 | | 0102000020E610000002000000CDCCCCCCCC0C5FC00000000000004540713D0AD7A3005EC01F85EB51B8FE4440 | +--------------------------------------------------------------------------------------------+
GEOMETRY 示例¶
下面的示例展示了如何使用 ST_ASEWKB 函数。此示例返回具有不同 SRIDs 的两个几何图形的 EWKB 表示形式。
CREATE OR REPLACE TABLE geometry_table (g GEOMETRY); INSERT INTO geometry_table VALUES ('SRID=4326;POINT(-122.35 37.55)'), ('SRID=0;LINESTRING(0.75 0.75, -10 20)'); SELECT ST_ASEWKB(g) FROM geometry_table;+--------------------------------------------------------------------------------------------+ | ST_ASEWKB(G) | |--------------------------------------------------------------------------------------------| | 0101000020E61000006666666666965EC06666666666C64240 | | 01020000200000000002000000000000000000E83F000000000000E83F00000000000024C00000000000003440 | +--------------------------------------------------------------------------------------------+