Daha çox

Postgis tetikleyin və qgis atın 2.8.2

Postgis tetikleyin və qgis atın 2.8.2


Daxil etmə və yeniləmədə həndəsənin etibarlı olub olmadığını yoxlayan bir tətik yaratdım.

check_geom () funksiyasını yaradın və ya dəyişdirin, $$ başlayanda tətiyi qaytarır -bir çoxbucaq daxil edin st_isvalid (new.geom) = 'f' THEN RAISE EXCEPTION 'erreur de topologie'; BİTMƏSƏ SON; RETURN NULL; son; $$ LANGUAGE plpgsql; DAMLAMA TƏQDİMÇİ MÜVƏQQƏT OLSA trg_check_geom İctimai.uniteobservation; HƏR SIRADA İCRA PROSEDÜRÜ üçün check.geom () üçün public.uniteobservation -a daxil etdikdən və ya yenilədikdən sonra TRIGGER yarat trg_check_geom;

Səhv həndəsə (öz -özünə kəsişmə, ...) ilə bir xüsusiyyət yaratdığımda bir səhv mesajı alıram. Düzəldib təsdiqləyə bilərəm. Ancaq ikinci dəfə yeniləyə bilmirəm: hər dəfə bir təpə seçəndə QGIS mini zibilliyi. Hər hansı bir fikir?


Tətik yerinə bunun əsasında bir məhdudiyyət əlavə edə bilərsinizst_isvalid (), kimi:

ALTER TABLE public.uniteobservation ƏLAVƏ EDİN enforce_valid_geom CHECK (st_isvalid (geom));

Düşünə biləcəyiniz digər faydalı məhdudiyyətlər istifadəçi redaktələrinin ardıcıllığını təmin etməkXüsusilə bir neçə istifadəçi məlumatları redaktə etmək üçün QGIS istifadə edərkən:

ALTER TABLE public.uniteobservation ADD CONSTRAINT enforce_type_polygon CHECK (geometrytype (geom) = 'POLYGON' :: text OR geometrytype (geom) = 'MULTIPOLYGON' :: text OR geom IS NULL); ALTER TABLE public.uniteobservation CONSTRAINT enforce_dims CHECK (st_ndims (geom) = 2); ALTER TABLE public.uniteobservation CONSTRAINT enforce_srid CHECK (st_srid (geom) = 3857);

Videoya baxın: Spatial Relationships of #GIS Objects. #PostGIS #PostgreSQL #QGIS. Urdu. Hindi. Eng. #16