Opened 10 years ago

Closed 10 years ago

Last modified 10 years ago

#765 closed defect (wontfix)

Topology: error adding two edge with a common node

Reported by: aperi2007 Owned by: strk
Priority: medium Milestone: PostGIS 2.0.0
Component: topology Version: master
Keywords: Cc:

Description

Hi, try-ing to add two node with a common edge I'm having an error.

In effect I'm not 100% sure this is a bug of topology or a bug of my sql code :)

This is the code I try.

--- DROP TABLE IF EXISTS CARICAMENTO.TEST; CREATE TABLE CARICAMENTO.TEST(ID INTEGER PRIMARY KEY, CODICE TEXT); SELECT topology.DropTopology?('schema_topo'); SELECT topology.CreateTopology?('schema_topo',3003, 0.00005); SELECT topology.AddTopoGeometryColumn?('schema_topo', 'caricamento', 'test', 'topo_line', 'LINE'); -- -- insert all edges -- select topology.ST_AddIsoEdge(

'schema_topo', topology.ST_AddIsoNode('schema_topo',NULL,ST_GeomFromEWKT('SRID=3003;POINT(1 4)')), topology.ST_AddIsoNode('schema_topo',NULL,ST_GeomFromEWKT('SRID=3003;POINT(2 2)')), ST_GeomFromEWKT('SRID=3003;LINESTRING(1 4, 2 2)')

);

select topology.ST_AddIsoEdge(

'schema_topo', topology.ST_AddIsoNode('schema_topo',NULL,ST_GeomFromEWKT('SRID=3003;POINT(2 2)')), topology.ST_AddIsoNode('schema_topo',NULL,ST_GeomFromEWKT('SRID=3003;POINT(4 4)')), ST_GeomFromEWKT('SRID=3003;LINESTRING(2 2, 4 4)')

);


And this is the error I see

ERROR: SQL/MM Spatial exception - coincident node

Change History (2)

comment:1 Changed 10 years ago by aperi2007

Resolution: wontfix
Status: newclosed

I try even this other code:

DROP TABLE IF EXISTS CARICAMENTO.TEST;

CREATE TABLE CARICAMENTO.TEST(ID INTEGER PRIMARY KEY, CODICE TEXT); SELECT topology.DropTopology?('schema_topo'); SELECT topology.CreateTopology?('schema_topo',3003, 0.00005); SELECT topology.AddTopoGeometryColumn?('schema_topo', 'caricamento', 'test', 'topo_line', 'LINE'); -- -- insert all edges -- select topology.ST_AddIsoEdge(

'schema_topo',

topology.ST_AddIsoNode('schema_topo',NULL,ST_GeomFromEWKT('SRID=3003;POINT(1 4)')), topology.ST_AddIsoNode('schema_topo',NULL,ST_GeomFromEWKT('SRID=3003;POINT(2 2)')),

ST_GeomFromEWKT('SRID=3003;LINESTRING(1 4, 2 2)')

);

select topology.ST_AddIsoEdge(

'schema_topo',

2, -- (2 is the code for the common node)

topology.ST_AddIsoNode('schema_topo',NULL,ST_GeomFromEWKT('SRID=3003;POINT(4 4)')),

ST_GeomFromEWKT('SRID=3003;LINESTRING(2 2, 4 4)')

);

But in this case I have again another error:

ERROR: SQL/MM Spatial exception - not isolated node

So the ST_AddIsoEdge seem usable only to add isolated-edge.

So I understand that ST_AddIsoEdge the prefix ISO is for Isolated don't for I.S.O. :))

this is not a bug !

close the ticket.

sorry for noise.

comment:2 Changed 10 years ago by strk

yeah, for topology, the 'ST_' prefix tells you whether or not the function comes from ISO standard (where ST_ prefix is dictated)

Note: See TracTickets for help on using tickets.