首页 文章

PostGIS测量多个线串

提问于
浏览
0

我是postgis的新手,我正在尝试消除线串,在同一层中给出两个初始点,起点和终点(几何类型是线串) . 这种线串代表道路,河流,地下管道......等等 .

使用名为'length3d'的postgis函数,我可以测量一行(表的一个记录),但我需要测量多个连续的行;像这个例子的东西(使用解释示例的下一个注释)

  • | S | - > Line Start point

  • | E | - >线 endpoints

  • @ - >排队

  • (s) - >用户起点

  • (e) - >用户终点

例:

|S|===@===@===(s)==|E-S|===@==@===@==|E-S|===@===@===(e)==@==|E|

线串格式:

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 |是其他记录 .

How i can measure distance from (s) to (e)?

提前致谢!

1 回答

  • 1

    使用PL/pgSQL可以创建一个函数来测量路径的每个分量(从(s)到[E-S],从[E-S]到[E-S]等) .

    您可以预处理,并创建一个临时线串(或多线串),表示(s)和(e)之间的线,然后直接使用 ST_Length3D .

相关问题