Сообщения

Сообщения за Сентябрь, 2018

Создание триггера с оверлейной операцией PostGIS

Задача - при добавлении точечного объекта в одной таблице определить, в пределах какого полигонального объекта другой таблицы точка находится. -- DROP FUNCTION public.process_realty_add(); CREATE OR REPLACE FUNCTION public.process_realty_add()   RETURNS trigger AS $BODY$ BEGIN raise notice 'point trigger starts now: %', now(); SELECT gis_county.county, gis_county.state  INTO NEW.t_county, NEW.t_state FROM gis_county WHERE ST_Intersects(NEW.geom, gis_county.geom); raise notice 'point trigger ends now: %', now(); RETURN NEW; END; $BODY$   LANGUAGE plpgsql VOLATILE   COST 100; Триггер: -- DROP TRIGGER realty_add ON public.gis_realty; CREATE TRIGGER realty_add   AFTER INSERT OR UPDATE   ON public.gis_realty   FOR EACH ROW   EXECUTE PROCEDURE public.process_realty_add();