Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

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?

share|improve this question
    
PostGIS is open source, if ever in doubt read the source. –  Nathan W Jul 20 at 13:41
    
@NathanW Sure. I was looking for a reference to an explanation, rather than code. –  Adam Matan Jul 20 at 13:43

1 Answer 1

up vote 9 down vote accepted

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.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.