Fonction permettant de récupérer l'id et la géométrie de mes tables

mercredi 21 mai 2014

Fonction permettant de récupérer l'id et la géométrie de mes tables


Bonjour,


Je suis nouveau sur le site. J'espere pouvoir trouver un peu d'aide ici.

J'ai un petit problème avec une fonction :




CREATE OR REPLACE FUNCTION test3(OUT nom_table text, OUT id_table text, OUT table_geometry geometry ) RETURNS SETOF record
LANGUAGE plpgsql
AS
$BODY$
DECLARE
tables record;
BEGIN
FOR tables IN SELECT tablename FROM pg_tables where tablename
IN
(
(SELECT f_table_name FROM geometry_columns where f_table_name not like 'box_%' and f_table_name not like 'rast%')
UNION (SELECT 'spatial_ref_sys') UNION (select f_geometry_column from geometry_columns where f_geometry_column not like 'the_geom_wgs84')
)
AND pg_tables.schemaname='france'
LOOP
nom_table := tables.tablename;
EXECUTE 'SELECT id FROM '|| quote_ident(tables.tablename)
INTO id_table;
EXECUTE 'SELECT the_geom_wgs84 FROM ' || quote_ident(tables.tablename)
INTO table_geometry;
RETURN NEXT;
END LOOP;
END
$BODY$;


Cette fonction me renvoie comme résultat, un tableau contenant le nom de ma donnée, un id pris au hasard (je suppose ?) et une ligne géométrique.

Cependant, impossible de visualiser çà dans un client carto.

Ce que je voudrais c'est pouvoir récupérer chaque ligne de mes tables en fonction de leurs id (qui est unique) et leurs coordonnées géométriques.

Tout d'abord, est ce possible ?


Merci d'avance pour d'éventuelle réponse.

S.





0 commentaires:

Enregistrer un commentaire

 

Lorem

Ipsum

Dolor