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-boun...@lists.osgeo.org [mailto:postgis-users-boun...@lists.osgeo.org] *On Behalf Of *toni hernández
*Sent:* Thursday, January 22, 2015 10:14 AM
*To:* postgis-users@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@lists.osgeo.org  <mailto:postgis-users@lists.osgeo.org>

    http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users



_______________________________________________
postgis-users mailing list
postgis-users@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users

_______________________________________________
postgis-users mailing list
postgis-users@lists.osgeo.org
http://lists.osgeo.org/cgi-bin/mailman/listinfo/postgis-users

Reply via email to