我是 PostgreSQL 和 PostGIS 的新手。我想在 PostgreSQL 9.1.1 数据库表中存储纬度和经度值。我将计算两点之间的距离,使用此位置值找到更近的点。
我应该为纬度和经度使用哪种数据类型?
最佳答案
您可以使用数据类型 point
- 结合 (x,y)
可以是你的纬度/经度。占用16个字节:内部2个float8
数字。
或者让它成为 float
类型的两列(= float8
或 double precision
)。每个 8 个字节。
或者 real
(= float4
) 如果不需要额外的精度。每个 4 个字节。
甚至 numeric
如果您需要绝对精度。每组 4 位数字 2 个字节,加上 3 - 8 个字节的开销。
阅读关于numeric types的精美手册和 geometric types .
geometry
和 geography
数据类型由附加模块 PostGIS 提供,并占据表格中的 一个 列。每个点占32字节。那里有一些额外的开销,比如 SRID。这些类型存储 (long/lat),而不存储 (lat/long)。
开始阅读 PostGIS manual here .
关于postgresql - 纬度和经度的数据类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8150721/