使用PostGIS在表格中通过纬度/经度创建几何?


15

我的表有80万条记录,包括经度和纬度。数据源未创建几何,因此我一直在寻找如何执行此操作的方法。我知道有ST_MakePoint(x,y,SRID),但是所有文档和其他线程都显示了如何创建单点。如何使用这些列创建几何类型?


1
您是说从这些点创建线吗?因为点是几何,就像线和多边形一样...所以,如果您要根据这些点创建线,请查看Paul Ramsey的最新博客文章:blog.cleverelephant.ca/2015/03/making-lines-from -points.html
DPSSpatial 2015年

不。我的意思是想将它们转换为要在空间查询中使用的几何类型。看来我的问题已经回答了,所以谢谢!
dknuth 2015年

Answers:



14

如果尚未添加几何列(此处假设EPSG:4326):

SELECT AddGeometryColumn ('your_table','geom',4326,'POINT',2);

然后UPDATE,传入x和y字段的名称:

UPDATE yourtable SET geom = ST_SetSRID(ST_MakePoint(longitude, latitude), 4326);

这将更新整个表,除非您包含WHERE子句

对ST_SetSrid的引用:https ://postgis.net/docs/ST_SetSRID.html


2
我认为ST_SRID应该是ST_SetSRID。我使用ST_SRID时错误
VIPIN古普塔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.