我是postgis的新手,我正在尝试消除线串,在同一层中给出两个初始点,起点和终点(几何类型是线串)。这种线串代表道路,河流,地下管道等。
使用名为'length3d'的postgis函数我可以测量一行(表的一个记录),但我需要测量多个连续的行;像这个例子的东西(使用解释示例的下一个注释)
示例:
|S|===@===@===(s)==|E-S|===@==@===@==|E-S|===@===@===(e)==@==|E|
Linestring格式:
LINESTRING(-6.366424 38.93301,-6.3625 38.938,-6.361 38.9572,-6.36158230284898 38.9397667955807,-6.36131118520776)
用户点可以位于组成该行的两个现有点之间。
| S |到| E-S |是DB上的一条记录 | E-S |到| E-S |是其他记录和| E-S |到| E |是其他记录。
我如何衡量(s)到(e)的距离?
提前致谢!
答案 0 :(得分:1)
使用PL/pgSQL,您可以创建一个测量路径中每个分量的函数(从(s)到[E-S],从[E-S]到[E-S]等)。
您可以预处理,并创建一个临时线串(或多线串)来表示(s)和(e)之间的线,然后直接在其上使用ST_Length3D
。