当前位置: 代码迷 >> 综合 >> pgsql GIS 将线段等分,均分,为点 st_lineinterpolatepoint
  详细解决方案

pgsql GIS 将线段等分,均分,为点 st_lineinterpolatepoint

热度:36   发布时间:2023-12-14 05:12:18.0

1. ST_LineInterpolatePoint 取一条线段(第一个参数)所在比例(第二个参数)的一个插入点

geometry ST_LineInterpolatePoint(geometry a_linestring, float8 a_fraction);


###2. ST_DISTANCE(ST_TRANSFORM(geometry g1,900913),ST_TRANSFORM(geometry g2,900913)) 计算两个点之间的距离(单位米)
ST_Distance
ST_Transform


###3.st_length(ST_Transform(geometry g1,900913)) 计算长度,单位米
ST_Length


###4.如果想把线段均分为n份(不考虑长度),则可以直接迭代使用ST_LineInterpolatePoint取n个点(1/n,2/n,3/n,1)或(0,1/n,2/n,n-1/n);如果等距离均分,比如m米 (m小于n),则分为(n/m )+1 个点(因为起始点为0,1),然后在使用ST_LineInterpolatePoint迭代(n/m )+1次。