SRID意思在postgis中

时间:2014-02-21 13:32:20

标签: postgis

我想知道postgis中SRID(空间参考id)的实用含义是什么。

我真的不明白它的用途。任何人都能对这件事情有所了解吗?

例如,我注意到postigs函数ST_GeomFromText(text WKT, integer srid)接受这样一个(可选的)参数作为第二个参数。为什么我需要在get postigs中传递它以将文本表示转换为二进制文件?它增加了什么价值?

由于

2 个答案:

答案 0 :(得分:5)

空间参考ID指的是所采用的空间参照系 - 当从世界的地理视图到世界的投影视图时,这是很重要的,即,当您查看二维纸质地图时所看到的内容。 空间参考系统包含几个元素。

首先,大地水准面是地球形状的模型 - 地球不是球体(嘘,不要告诉谷歌),它实际上是一个扁球体。用于GPS的大地水准面形状被称为WGS84,这是一种在全球范围内运行良好的模型。国家测绘机构使用其他大地水准面,这可能更适合当地的地理位置。

其次,投影类型。这基本上是用于从3D到世界的2D表示的数学模型。类型包括墨卡托,横轴墨卡托,(圆柱形),方位角,圆锥曲线等。所有这些都在准确测量距离,面积或方向之间进行权衡 - 你不能保留所有三个。

所以,基本上当你在Postgis中声明一个SRID时,你会说使用这个大地水准面和这个投影模型。 Postgis使用名为Proj.4的库,根据SRID信息,它可以从一个坐标系转换为另一个坐标系。

因此,例如,要将lat / lon(在SRID术语中称为4326)转换为900913(即Google / Bing地图使用的球形墨卡托,以及其他Web制图框架),您可以运行类似:

select st_astext(st_transform(st_setsrid(st_makepoint(-.5,52),4326),900913));

答案 1 :(得分:2)

这是我使用的查询的示例。它使用Lambert方位角等面积投影(ETRS89-LAEA,srid = 3035)。

ST_GeomFromText('POINT(2843711.1098048678, 2279498.6551480694)', 3035);

如果你没有通过srid,postgis将不知道使用哪个空间参照系。