ST_AsBinary — Returnera OGC/ISO Well-Known Binary (WKB)-representationen av geometrin/geografin utan SRID-metadata.
bytea ST_AsBinary(geometry g1);
bytea ST_AsBinary(geometry g1, text NDR_or_XDR);
bytea ST_AsBinary(geography g1);
bytea ST_AsBinary(geography g1, text NDR_or_XDR);
Returnerar OGC/ISO-representationen Well-Known Binary (WKB) av geometrin. Den första funktionsvarianten använder som standard servermaskinens endian-kodning. Den andra varianten tar ett textargument som anger endian-kodningen: antingen NDR för little-endian eller XDR för big-endian. Okända argument ger little-endian som utdata.
WKB-formatet är användbart för att läsa geometridata från databasen och bibehålla full numerisk precision. På så sätt undviks den precisionsavrundning som kan förekomma med textformat som WKT.
För att utföra den omvända konverteringen av WKB till PostGIS-geometri använder du ST_GeomFromWKB.
|
|
|
OGC/ISO WKB-formatet innehåller inte SRID. För att få EWKB-formatet som innehåller SRID använder du ST_AsEWKB |
|
|
|
PostgreSQL matar som standard ut |
Förbättrad: 2.0.0 stöd för polyhedrala ytor, trianglar och TIN infördes.
Förbättrad: 2.0.0 stöd för högre koordinatdimensioner infördes.
Förbättrad: 2.0.0 stöd för att ange endian med geografi infördes.
Tillgänglighet: 1.5.0 stöd för geografi infördes.
Ändrat: 2.0.0 Indata till den här funktionen får inte vara unknown, utan måste vara geometry. Konstruktioner som ST_AsBinary('POINT(1 2)') är inte längre giltiga och ger felet n ST_AsBinary(unknown) is not unique. Sådan kod måste ändras till ST_AsBinary('POINT(1 2)'::geometry);. Om det inte är möjligt, installera legacy.sql.
Denna metod implementerar OGC:s implementeringsspecifikation för enkla funktioner för SQL 1.1. s2.1.1.1
Denna metod implementerar SQL/MM-specifikationen. SQL-MM 3: 5.1.37
Denna metod stöder cirkulära strängar och kurvor.
Denna funktion stöder polyedriska ytor.
Denna funktion stöder trianglar och triangulerade oregelbundna nätverksytor (TIN).
Denna funktion stöder 3d och kommer inte att tappa z-index.
SELECT ST_AsBinary(ST_GeomFromText('POLYGON((0 0,0 1,1 1,1 0,0 0))', 4326));
\x01030000000100000005000000000000000000000000000000000000000000000000000000000000 000000f03f000000000000f03f000000000000f03f000000000000f03f0000000000000000000000 00000000000000000000000000
SELECT ST_AsBinary(ST_GeomFromText('POLYGON((0 0,0 1,1 1,1 0,0 0))', 4326), 'XDR');
\x000000000300000001000000050000000000000000000000000000000000000000000000003ff000 00000000003ff00000000000003ff00000000000003ff00000000000000000000000000000000000 00000000000000000000000000
Använd PostgreSQL-funktionen encode för att skapa en hexadecimal WKB-sträng utan prefixet \x som används vid visning av bytea. Om NDR anges blir byteordningen deterministisk.
SELECT encode(
ST_AsBinary('POINT(15.123 21.456)'::geometry, 'NDR'),
'hex'
) AS wkb_hex;
0101000000e5d022dbf93e2e40dbf97e6abc743540