[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