PostGIS stores its geometry entities as long strings:
SELECT ST_GeomFromText('POINT(32.0 34.0)',4326);
st_geomfromtext
----------------------------------------------------
0101000020E610000000000000000040400000000000004140
For nearby points like (32.0 34.0) and (32.01 34.01), the string has a common prefix 0101000020E6100000
which might suggest a suggest a geohash technique:
SELECT ST_GeomFromText('POINT(32.01 34.01)',4326);
st_geomfromtext
----------------------------------------------------
0101000020E6100000E17A14AE47014040E17A14AE47014140
Any idea what is the storage format of PostGIS geometries?
Best Answer
It is not a string format. It is a binary format using integers, double precission and special bytes used for flags.
What you see as output above is not the internal format but the wkb format represented as hex numbers
The internal format is described here: http://trac.osgeo.org/postgis/browser/trunk/liblwgeom/g_serialized.txt
The document is written before postgis 2.0 when g-serialized also is used for the geometey type. But as far as I know it is the same.