RE: Uzupełnianie geometrii oraz praca sieciowa.
Witam.
Dzięki za odpowiedź.
Ad.1.
W międzyczasie problem opisany w tym punkcie rozwiązałem poprzez trigger o następującej składni:
CREATE OR REPLACE FUNCTION kb_trigger()
RETURNS trigger AS
$body$
DECLARE
Dok integer;
BEGIN
IF TG_OP='INSERT' THEN
IF NEW.geom_plg IS NULL
THEN
NEW.geom_plg := ST_GeomFromText('MULTIPOLYGON EMPTY');
END IF;
IF NEW.geom_wln IS NULL
THEN
NEW.geom_wln := ST_GeomFromText('MULTILINESTRING EMPTY');
END IF;
IF NEW.geom_pkt IS NULL
THEN
NEW.geom_pkt := ST_GeomFromText('MULTILIPOINT EMPTY');
END IF;
END IF;
RETURN NEW;
END;
$body$
LANGUAGE plpgsql;
ALTER FUNCTION kb_trigger() OWNER TO postgres;
DROP TRIGGER IF EXISTS kb_trg_01 ON kb CASCADE;
CREATE TRIGGER kb_trg_01 BEFORE INSERT
ON kb FOR EACH ROW
EXECUTE PROCEDURE kb_trigger();
W przypadku dodania rekordu i pustej geometrii, wprowadza geometrię EMPTY. Jest to oczywiście półśrodek, gdyż komplikuje późniejsze analizy obiektów bez geometrii.
Ad.2.
Pozostaje nierozwiązany.
Pozdrawiam
ML
|