Message posté par : BALDE
----------------------------------------
voici la solution :
-----------------
Code :
DROP TABLE IF EXISTS typomodifpolice;
CREATE TABLE typomodifpolice AS (
SELECT
d.osm_id, d.vnode, d.tags, d.geom_hist,--d.lat, d.lon,
d.vnode+1 AS v_next,
CASE WHEN ST_Equals(d.geom_hist, l.geom_hist) THEN 'no geom change'
ELSE 'geom change' end as change_geom,
EXISTS(SELECT 1 FROM each(d.tags) AS a JOIN
each(l.tags) AS b USING (key)
WHERE a.value <> b.value) AS modification_tags,
EXISTS(SELECT 1 FROM each(d.tags) AS a LEFT JOIN
each(l.tags) AS b USING (key)
WHERE b.value IS NULL) AS enrichissement_tags,
EXISTS(SELECT 1 FROM each(d.tags) AS a RIGHT JOIN
each(l.tags) AS b USING (key)
WHERE a.value IS NULL) AS suppression_tags
FROM histpolice_donneevectimport d
CROSS JOIN LATERAL (
SELECT * FROM histpolice_donneevectimport h
WHERE d.osm_id = h.osm_id and
d.vnode=h.vnode+1 LIMIT 1) AS l)
--on insère la version initiale de l'objet car la requête précedente donne que les
versions après la version initiale;
INSERT INTO typomodifpolice SELECT
osm_id, vnode, tags, geom_hist,
vnode+1, 'first version', false, false, false
FROM histpolice_donneevectimport where vnode=1;
-----------------
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=344764#p344764
Pour y répondre : geobd(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net