名称

TopoGeo_AddLineString — 使用容差将线串添加到现有拓扑中,并在可能的情况下拆分边或面。

大纲

SETOF bigint TopoGeo_AddLineString(varchar atopology, geometry aline, float8 tolerance, int max_edges);

Description

向已有拓扑中添加一条 linestring,并返回一组组成该线的有符号 edge 标识符;其中负数表示该 edge 的方向与输入的 linestring 相反。

给定的线会在指定容差范围内自动贴靠到已有的节点或边上;现有的边和面可能会被这条线切分。除了新增边之外,过程中还可能会新增节点和面。

返回的 edge 标识符可能是已有的,也可能是新创建的,具体取决于为了尽可能贴近表示输入线所需的实际情况。

新创建的 edge 数量(无论是覆盖原本没有覆盖的空间,还是由切分现有边产生)都可能会受到 max_edges 参数的限制。

[注意]

When adding many lines, the load order can have a large impact on performance because each call checks the line against topology elements already loaded. In bulk workflows, adding large closed or enclosing lines before smaller contained lines can avoid expensive later splits. For loading a collection in one call, see TopoGeo_LoadGeometry.

[注意]

更新有关通过此函数加载的拓扑的统计信息由调用者决定,请参阅maintaining statistics during topology editing and population在拓扑编辑和填充期间维护统计信息。

可用性: 2.0.0

增强:3.2.0 版本新增了返回符号化标识符的功能。

Enhanced: 3.7.0 增加对限制拓扑中新建 edge 数量的支持。