Commit graph

29 commits

Author SHA1 Message Date
Sandro Santilli c212408084 topology.AddEdge: make edge linking self-consistent (each added edge will form a proper loop)
git-svn-id: http://svn.osgeo.org/postgis/trunk@7201 b70326c6-7e19-0410-871a-916f4a2858ee
2011-05-19 20:36:47 +00:00
Sandro Santilli b7f9b8fa59 topology.AddFace(): properly update left/right face for edges _contained_ in the newly registered face and containing_face for isolated nodes in it, refine documentation about it [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@7192 b70326c6-7e19-0410-871a-916f4a2858ee
2011-05-18 13:59:03 +00:00
Sandro Santilli fe3ac93539 topology.AddFace: prepare ring geometry and check intersection with an interior edge point. Speeds up registration of faces, particularly when composed by many edges. See ticket #880. [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@7002 b70326c6-7e19-0410-871a-916f4a2858ee
2011-04-04 12:11:00 +00:00
Sandro Santilli 670053ca72 Re-drop ST_SharedPath from topology.AddFace, this time with stronger robustness, so not prone to error exposed by #874. It was a pity to give up a 10% speed improvement... Thanks supermoon for keeping me up. [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@6943 b70326c6-7e19-0410-871a-916f4a2858ee
2011-03-20 08:55:52 +00:00
Sandro Santilli a209240f8d Fix #874 by getting back to ST_SharedPaths use. Might try to optimize again in the future, but correctness first! This commit also adds regression testing for the case [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@6942 b70326c6-7e19-0410-871a-916f4a2858ee
2011-03-19 23:35:21 +00:00
Sandro Santilli edcf85bd26 Avoid using ST_SharedPath in topology.AddFace as well.
git-svn-id: http://svn.osgeo.org/postgis/trunk@6916 b70326c6-7e19-0410-871a-916f4a2858ee
2011-03-17 00:08:11 +00:00
Sandro Santilli ea0fa1f642 Simplify AddEdge code by using BoundaryNodeRule 2 (Endpoint) in ST_Relate call, thus saving a couple of calls to ST_RelateMatch. See tickets #770 and #844.
git-svn-id: http://svn.osgeo.org/postgis/trunk@6884 b70326c6-7e19-0410-871a-916f4a2858ee
2011-03-08 15:26:38 +00:00
Sandro Santilli 263c19e50f Performance improvements in topology.AddFace: consider each ring separately when looking for composing edges; compute orientation inside the loop body to avoid sorting and grouping [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@6846 b70326c6-7e19-0410-871a-916f4a2858ee
2011-02-18 16:24:39 +00:00
Sandro Santilli 6c51629008 topology.AddFace: report an "uncovered point" on missing edges [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@6792 b70326c6-7e19-0410-871a-916f4a2858ee
2011-02-09 16:36:45 +00:00
Sandro Santilli da1ff4cabf Tag VOLATILE functions explicitly [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@6785 b70326c6-7e19-0410-871a-916f4a2858ee
2011-02-07 16:53:26 +00:00
Sandro Santilli b590431807 Fix a bug in topology.add{Node,Edge,Face} breaking on MixedCased topology names [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@6775 b70326c6-7e19-0410-871a-916f4a2858ee
2011-02-04 16:31:34 +00:00
Sandro Santilli 89f0060ff2 Change face.mbr field from BOX2D to GEOMETRY, and gist-index it, closes ticket #800 [RT-SIGTA].
git-svn-id: http://svn.osgeo.org/postgis/trunk@6747 b70326c6-7e19-0410-871a-916f4a2858ee
2011-01-28 08:55:22 +00:00
Sandro Santilli 04a833324b topology.AddEdge: when an intersection occurs, also report intersection point [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@6739 b70326c6-7e19-0410-871a-916f4a2858ee
2011-01-27 08:48:11 +00:00
Sandro Santilli 3a700961ef I realized we're in 2011...
git-svn-id: http://svn.osgeo.org/postgis/trunk@6731 b70326c6-7e19-0410-871a-916f4a2858ee
2011-01-25 18:08:57 +00:00
Sandro Santilli 6f385996bb Make topology.AddEdge consistent with AddNode and AddFace in that it will return an existing identical Edge, if found.
git-svn-id: http://svn.osgeo.org/postgis/trunk@6724 b70326c6-7e19-0410-871a-916f4a2858ee
2011-01-25 09:39:50 +00:00
Sandro Santilli d5a820bd90 Raise an exception if AddEdge is called on a topology which already defines faces other than the universe face (see #781)
git-svn-id: http://svn.osgeo.org/postgis/trunk@6670 b70326c6-7e19-0410-871a-916f4a2858ee
2011-01-18 17:19:55 +00:00
Sandro Santilli 3c839c505c topology.AddNode: fix detection of edge crossing (#780) [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@6659 b70326c6-7e19-0410-871a-916f4a2858ee
2011-01-17 22:35:50 +00:00
Sandro Santilli c4ac0d5a9b topology.AddEdge: correctly handle the case in which a newly added closed edge touches an existing closed edge with an endpoint over a non-endpoint [RT-SIGTA].
git-svn-id: http://svn.osgeo.org/postgis/trunk@6649 b70326c6-7e19-0410-871a-916f4a2858ee
2011-01-17 08:47:34 +00:00
Sandro Santilli d5c2ca585b topology.AddFace: raise another WARNING about next_left/right_face element of topology edges not being set as dictated by the model
git-svn-id: http://svn.osgeo.org/postgis/trunk@6648 b70326c6-7e19-0410-871a-916f4a2858ee
2011-01-17 08:47:24 +00:00
Sandro Santilli a85b767ad7 topology.AddFace: group face boundary edge finding query results to avoid considering the _same_ edge multiple times. Can reduce execution time from _hours_ to _minutes_ [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@6633 b70326c6-7e19-0410-871a-916f4a2858ee
2011-01-15 23:14:30 +00:00
Sandro Santilli d20207b6f3 topology.AddEdge: handle case of endpoint intersection between closed edges. Fixes #770. [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@6626 b70326c6-7e19-0410-871a-916f4a2858ee
2011-01-14 16:40:01 +00:00
Regina Obe 1b4bca68ca #760: replace deprecated function names with new names so all regress tests pass again. This should completely work now.
git-svn-id: http://svn.osgeo.org/postgis/trunk@6589 b70326c6-7e19-0410-871a-916f4a2858ee
2011-01-10 17:27:22 +00:00
Sandro Santilli 9d2b1faeb4 Support faces with all edges on the same side, and test [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@6474 b70326c6-7e19-0410-871a-916f4a2858ee
2010-12-22 18:45:07 +00:00
Sandro Santilli 42f41926b7 Implement topology.AddFace and add test
git-svn-id: http://svn.osgeo.org/postgis/trunk@6471 b70326c6-7e19-0410-871a-916f4a2858ee
2010-12-22 17:27:02 +00:00
Sandro Santilli 0f033d66fe Fix addEdge when both endpoints are shared with an existing edge (and test) [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@6456 b70326c6-7e19-0410-871a-916f4a2858ee
2010-12-20 22:01:04 +00:00
Sandro Santilli ae20e8786a Add a note about possible semantic change
git-svn-id: http://svn.osgeo.org/postgis/trunk@6432 b70326c6-7e19-0410-871a-916f4a2858ee
2010-12-17 17:19:07 +00:00
Sandro Santilli 4dcc6fc5df New topology.AddEdge function [RT-SIGTA]
git-svn-id: http://svn.osgeo.org/postgis/trunk@6431 b70326c6-7e19-0410-871a-916f4a2858ee
2010-12-17 17:16:00 +00:00
Sandro Santilli b7766a573d Use newer quoting paradigm ($$); use ST_Crosses when willing to check crossing, not just intersection...; add proper credits
git-svn-id: http://svn.osgeo.org/postgis/trunk@6428 b70326c6-7e19-0410-871a-916f4a2858ee
2010-12-17 16:16:41 +00:00
Sandro Santilli 7eee0aae59 Add new populate.sql file to host topology population routines. Properly encode dependencies.
git-svn-id: http://svn.osgeo.org/postgis/trunk@6391 b70326c6-7e19-0410-871a-916f4a2858ee
2010-12-15 13:39:52 +00:00