Spatial Database Management

Geometry Outputs


PostGIS offers a number of functions for converting geometries between different forms. We saw ST_AsText() in a few examples from earlier in the lesson. Here we'll look at a few others.

This function outputs the geometry in Well-Known Binary (WKB) format, as laid out in the OGC specification. Outputting geometries in this format is sometimes necessary to interoperate with third-party applications. Here we output the NYC points in WKB format:

SELECT ST_AsBinary(geom) FROM nyc_poi.pts;

One of the shortcomings of ST_AsBinary() is that it doesn't provide the geometry's SRID as part of its output. That's where the ST_AsEWKB() function comes in (the "E" in "EWKB" stands for extended). Note that the SRID is binary-encoded just like the coordinates so you shouldn't expect to be able to read the SRID in the output. Here we use ST_AsEWKB() on the same NYC points:

SELECT ST_AsEWKB(geom) FROM nyc_poi.pts;

As we've seen in a number of examples this function can be used to output geometries in a human-readable format.

Just as the ST_AsBinary() function does not include SRID the same is true of ST_AsText(). ST_AsEWKT() outputs the same text as ST_AsText() but it also includes the SRID. For example:

SELECT ST_AsEWKT(geom) FROM nyc_poi.pts;

Other output functions
Other formats supported by PostGIS include GeoJSON (ST_AsGeoJSON), Geography Markup Language (ST_AsGML), Keyhole Markup Language (ST_AsKML) and scalable vector graphics (ST_AsSVG). Consult the PostGIS documentation for details on using these functions.