下面的图片我的所有记录在postgreSQL中的外观。我无法弄清楚为什么geom field这么长,我也无法做出数字的正面或反面。它是二进制表示吗?任何帮助表示赞赏
答案 0 :(得分:2)
几何类型以PostGIS中的WKB(已知二进制)形式存储。
WKB表单是一个字节字符串,用于对有关此几何的信息进行编码。它包含诸如描述的几何形状(点,线,多边形等)以及表示几何体本身所需的实际信息等信息。
流中的第一个字节标识二进制值的表示方式:NDR(网络数据表示或XDR(扩展数据表示)。两种编码之间的差异是字节顺序.NDR是小端,这意味着无符号整数 - 编码非负整数的32位数据类型 - 首先存储最低有效字节,而双精度数据类型使用IEEE 54双精度格式编码双精度数字 - 存储符号位作为最后一个字节.XDR是大端,因此字节顺序相反。
流中的下一个组件表示几何类型。从1到7的值表示Point,LineString,Polygon,MultiPoint,MultiLineString,MultiPolygon和GeometryCollection。 如果几何体由多个几何体组成,则附加字节表示存在多少个几何体。
下一个字节组件表示第一个形状中的点数,后跟每个点的X,Y坐标。对于每个附加形状,一个字节表示点的数量,后跟定义每个点的坐标值的字节。
或者,WKT(众所周知的文本)是几何的表示,可以为人类观察者提供更好的描述。可以使用postGIS中的ST_AsText方法显示WKT。有各种几何类型in the postGIS documentation here的WKT表示示例列表。
如果您想了解有关WKB的更多信息,请see this helpful explanation of the representation。