[postgis-users] Function 'Event Theme' 2 'the geom'
Frank Broniewski
liste at geo-dienstleistung.de
Fri May 23 00:29:30 PDT 2008
On Friday 23 May 2008 09:00:36 Gabriela Messner wrote:
> Hi all,
>
> I´d be hughly appreciated if any one could give any advice to the following
> question:
>
> Is there any function that when filling two fields (UTM-X,UTMY) in a table
> fills 'the_geom' field for that row?.
>
> Thanks in advanced.
You can use triggers for that. Create a trigger function that acts if an
update or insert statement is fired upon your table. See my example below for
a starter. The Postgresql manual can help you too ...
Greetings Frank
CREATE OR REPLACE FUNCTION update_locations_geom() RETURNS trigger AS
$update_locations_geom$
BEGIN
IF (TG_OP = 'INSERT') THEN
NEW.centroid = setsrid(makepoint(NEW.east,NEW.north),2169);
RETURN NEW;
END IF;
IF (TG_OP = 'UPDATE') THEN
IF (OLD.east != NEW.east OR OLD.north != NEW.north) THEN
NEW.centroid = setsrid(makepoint(NEW.east,NEW.north),2169);
RETURN NEW;
END IF;
END IF;
END;
$update_locations_geom$ LANGUAGE plpgsql;
DROP TRIGGER IF EXISTS update_locations_geom ON locations;
CREATE TRIGGER update_locations_geom BEFORE INSERT OR UPDATE ON locations
FOR EACH ROW EXECUTE PROCEDURE update_locations_geom();
More information about the postgis-users
mailing list