【问题标题】:STLineMerge do not make my MULTILINESTRING in to LINESTRINGSTLineMerge 不会让我的 MULTILINESTRING 变成 LINESTRING
【发布时间】:2019-03-07 15:03:37
【问题描述】:

这是我的 multilinestring 的一部分:

MULTILINESTRING((59.6338836103678 36.3408616511151,59.6336405351758 36.3410074124113),(59.648377513513 36.3329201331362,59.6481338515878 36.3326094998047,59.6478482801467 36.3322287937626))

当我在 postgresql 中执行此命令时:

SELECT  ST_AsText(ST_LineMerge(ST_GeomFromText('MULTILINESTRING((59.6338836103678 36.3408616511151,59.6336405351758 36.3410074124113),(59.648377513513 36.3329201331362,59.6481338515878 36.3326094998047,59.6478482801467 36.3322287937626))')));

我没有得到 linestring?我还有 MULTILINESTRING 吗?

【问题讨论】:

    标签: postgis postgresql-10 multilinestring


    【解决方案1】:

    如果可能的话,我假设您想将多线串合并到一个线串,如果没有,然后合并到 N 个线串,其中 N 是可能的最低线串数。

    我添加了另一个可以标记为一个线串的多线串,以检查它是否按预期工作。

    with  edges as (select ST_GeomFromText('MULTILINESTRING((59.6338836103678 36.3408616511151,59.6336405351758 36.3410074124113),
                                                            (59.648377513513 36.3329201331362,59.6481338515878 36.3326094998047,59.6478482801467 36.3322287937626))') geom
                    UNION
                    select ST_GeomFromText('MULTILINESTRING((0 0,1 1),
                                                            (1 1,30 20,100 120)
                                                           )') geom)
    
    select row_number() over () id,geom, st_astext(geom)
        FROM (select distinct (st_dump(st_linemerge(geom))).geom geom
                from (select st_union(geom) geom
                        from edges e) a
             ) b;
    

    【讨论】:

      【解决方案2】:

      它返回原始的多线串,当它无法合并时,st_linemerge 会这样做。看起来您的多线串有单独的部分,这就是它无法合并的原因。当我将它放入 QGIS 时,我得到以下内容。

      这里有更多关于这个问题的信息:https://gis.stackexchange.com/questions/83069/cannot-st-linemerge-a-multilinestring-because-its-not-properly-ordered

      【讨论】:

        猜你喜欢
        • 2020-12-09
        • 1970-01-01
        • 2014-02-13
        • 1970-01-01
        • 2023-03-09
        • 2021-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多