[pgrouting-users] Cannot Create a Network Nodes network nodes

Piyush Shah piyush_shah at ymail.com
Wed Feb 16 02:46:59 EST 2011


Thank You for your Reply,

But I know What is the problem when i had see the assign_vertex_id function in that there is one for loop for taking srid value from input geom_table at that point only Error is occurring so i had statically assign the srid := 4326 (my Spatial table projection) the function works perfectly.

But you can help to understand what is the problem in that "for loop"

I am sending the function body to you in that i had highlighted the code where error is occurring (See Below) :- 


CREATE OR REPLACE FUNCTION assign_vertex_id(geom_table character varying, tolerance double precision, geo_cname character varying, gid_cname character varying)
  RETURNS character varying AS
$BODY$
DECLARE
    _r record;
    source_id int;
    target_id int;
    srid integer;
BEGIN

    BEGIN
    DROP TABLE vertices_tmp;
    EXCEPTION 
    WHEN UNDEFINED_TABLE THEN
    END;

    EXECUTE 'CREATE TABLE vertices_tmp (id serial)';

   -- FOR _r IN EXECUTE 'SELECT srid(geometry_columns) from '''|| quote_ident(geom_table)||''';' LOOP
--    srid := _r.srid;
    --END LOOP;
    srid := 4326;

    EXECUTE 'SELECT addGeometryColumn(''vertices_tmp'', ''the_geom'', '||srid||', ''POINT'', 2)';
    CREATE INDEX vertices_tmp_idx ON vertices_tmp USING GIST (the_geom);
            
    FOR _r IN EXECUTE 'SELECT ' || quote_ident(gid_cname) || ' AS id,'
        || ' StartPoint('|| quote_ident(geo_cname) ||') AS source,'
            || ' EndPoint('|| quote_ident(geo_cname) ||') as target'
        || ' FROM ' || quote_ident(geom_table) 
    LOOP
        
        source_id := point_to_id(setsrid(_r.source, srid), tolerance);
    target_id := point_to_id(setsrid(_r.target, srid), tolerance);
                                
    EXECUTE 'update ' || quote_ident(geom_table) || 
        ' SET source = ' || source_id || 
        ', target = ' || target_id || 
        ' WHERE ' || quote_ident(gid_cname) || ' =  ' || _r.id;
    END LOOP;

    RETURN 'OK';

END;
$BODY$
  LANGUAGE 'plpgsql' VOLATILE STRICT
  COST 100;
ALTER FUNCTION assign_vertex_id(character varying, double precision, character varying, c


PIYUSH M SHAH

--- On Tue, 15/2/11, Daniel Kastl <daniel at georepublic.de> wrote:

From: Daniel Kastl <daniel at georepublic.de>
Subject: Re: [pgrouting-users] Cannot Create a Network Nodes network nodes
To: "pgRouting users mailing list" <pgrouting-users at lists.osgeo.org>
Date: Tuesday, 15 February, 2011, 3:06 PM

How does your network table look like?Did you make sure that column names match and also the data types?
Daniel


2011/2/15 Piyush Shah <piyush_shah at ymail.com>


I am new to pgroutine so ineed some help 



i am using PostgreSql 8.4 , Postgis 1.5.1, pgRouting-1.03_pg-8.4.2

But when i trying to create network node through assign_vertex_id

"SELECT assign_vertex_id ('India_highway', 0.00001, 'the_geom', 'gid');"



it gives following ERROR

[WARNING  ] SELECT assign_vertex_id ('India_highway', 0.00001, 'the_geom', 'gid')
            NOTICE:  CREATE TABLE will create implicit sequence "vertices_tmp_id_seq" for   serial column "vertices_tmp.id"


            CONTEXT:  SQL
 statement "CREATE TABLE vertices_tmp (id serial)"
            PL/pgSQL function "assign_vertex_id" line 14 at EXECUTE statement


            ERROR:  query string argument of EXECUTE is null
            CONTEXT:  PL/pgSQL function "assign_vertex_id" line 20 at EXECUTE statement




so please help me what is the problem

PIYUSH M SHAH

_______________________________________________



Pgrouting-users mailing list

Pgrouting-users at lists.osgeo.org

http://lists.osgeo.org/mailman/listinfo/pgrouting-users





-- 
Georepublic UG & Georepublic Japan
eMail: daniel.kastl at georepublic.de


Web: http://georepublic.de



-----Inline Attachment Follows-----

_______________________________________________
Pgrouting-users mailing list
Pgrouting-users at lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/pgrouting-users


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/pgrouting-users/attachments/20110216/34d59ebb/attachment.html


More information about the Pgrouting-users mailing list