主要思路来自于这篇文章
https://www.jianshu.com/p/4916b85bea65
但主要的问题在于,文中说的线性参考,没有理解。
通俗的意思就是说,你要把你的整条线段看做多少份,这直接影响到后续动态分割的数值输入
ST_AddMeasure(geom,0,1) --将整条线段看做1,那么再做分割时,参数就是0和1之间
ST_AddMeasure(geom,0,100) --将整条线段看做100,那么再做分割时,参数就是0和100之间
ST_AddMeasure(geom,40,50) --将整条线段看做10,那么再做分割时,参数就是40和50之间
完成的分割语句,即取线段的前十分之一
SELECT st_asgeojson(ST_LocateBetween(ST_AddMeasure(geom,0,1),0,0.1)) FROM "classifer_line_viewdata";
此外一个点是,分割的大小顺序不影响输出的结果,pg会自动调整,图中两句话的输出结果是一致的。