[postgis-users] Checking Road Network Topology
toni hernández
toni at sigte.udg.edu
Thu Jan 22 23:51:57 PST 2015
Steve,
I transformed the geometries into a new table.
From there I created a new topology using the new reference system (25831)
On 22/01/2015 16:35, Miller, Stephan wrote:
>
> Thanks.
>
> Here is the code as it now stands. I was using 4326 and topology will
> not work for geography coordinates. Can you share your code so that I
> can compare? I am trying to do an on-the-fly transform to 32648 for
> each record in the line 26. Is that how you approached this problem?
>
> Thanks,
>
> Steve
>
>
> *From:*postgis-users-bounces at lists.osgeo.org
> [mailto:postgis-users-bounces at lists.osgeo.org] *On Behalf Of *toni
> hernández
> *Sent:* Thursday, January 22, 2015 10:14 AM
> *To:* postgis-users at lists.osgeo.org
> *Subject:* Re: [postgis-users] Checking Road Network Topology
>
> Steve,
>
> I had the same issue when working with geometries using srid=4326 . I
> was also following the same link
> (http://blog.mathieu-leplatre.info/use-postgis-topologies-to-clean-up-road-networks.html)
> Then I tried with some projected geometries (units = meters) and the
> problem was gone. I am not sure why. Maybe it was just a coincidence.
>
> cheers.
>
> On 20/01/2015 20:45, Miller, Stephan wrote:
>
> All –
>
> I am attempting to validate the topology of a dense road network (
> 1.2 Million roads) modeled after
> http://blog.mathieu-leplatre.info/use-postgis-topologies-to-clean-up-road-networks.html
> from July 2013
> <http://blog.mathieu-leplatre.info/use-postgis-topologies-to-clean-up-road-networks.html%20from%20July%202013>.
> The code is given below:
>
> -- HC_RoadTopologicalCheck
>
> -- Drop the existing topology
>
> SELECT topology.DropTopology('roads_topo');
>
> SELECT topology.CreateTopology('roads_topo',4326, 0.000001, true);
>
> SELECT topology.AddTopoGeometryColumn('roads_topo', 'fgcm',
> 'transportationgroundcrv', 'topo_shape', 'LINESTRING');
>
> --UPDATE transportationgroundcrv SET topo_shape =
> topology.toTopoGeom(transportationgroundcrv.shape, 'roads_topo',
> 1, 1.0);
>
> -- Encapsulate the UPDATE inside code that checks for errors
>
> DO $$ DECLARE r record;
>
> BEGIN
>
> FOR r IN SELECT * FROM transportationgroundcrv loop
>
> BEGIN
>
> UPDATE transportationgroundcrv SET topo_shape =
> topology.toTopoGeom(transportationgroundcrv.shape, 'roads_topo',
> 1, 1.0)
>
> WHERE r.objectid = r.objectid;
>
> EXCEPTION
>
> WHEN OTHERS THEN
>
> RAISE WARNING 'Loading of record % failed: %',
> r.objectid, SQLERRM;
>
> END;
>
> END LOOP;
>
> END$$;
>
> Select * from ValidateTopology('roads_topo');
>
> I am getting everything passing to the exception statement and all
> the records are being flagged with
>
> WARNING: Loading of record 791456 failed: SQL/MM Spatial
> exception - curve not simple
>
> Intermittently, I am getting the following error also.
>
> WARNING: Loading of record 792591 failed: Spatial exception -
> geometry intersects edge 69612
>
> Everything appears to be flagged as an error; the ValidateTopology
> call returns nothing.
>
> Any insights or suggestions would be appreciated.
>
> Steve
>
>
>
>
> _______________________________________________
>
> postgis-users mailing list
>
> postgis-users at lists.osgeo.org <mailto:postgis-users at lists.osgeo.org>
>
> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
>
>
>
> _______________________________________________
> postgis-users mailing list
> postgis-users at lists.osgeo.org
> http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/postgis-users/attachments/20150123/a147bd15/attachment.html>
More information about the postgis-users
mailing list