Message posté par : GEOFFROY DETRY
----------------------------------------
Bonjour,
J'ai repris le traitement, qui n'avait pas donné de résultats séduisants. J'ai
testé en simplifiant les polygones mais ça n'améliore pas la sortie.
J¡ai donc opté pour une requête qui identifie le nombre de vertex superposés, en faisant
l'hypothèse que les erreurs topologiques indiquées dans mon premier post doivent
disposer d'un nombre de vertex superposés supérieur à 2.
Par ce biais, les erreur sont identifiées, même si des exceptions apparaissent à certains
endroits de la couche de données.
Pour établir les correspondances, je me base sur les coordonnées de vertex arrondies à
deux chiffres.
Voici le code de la requête
-----------------
Code :
create table d_vertice_overlap as
WITH t as (
SELECT agr_id, st_astext((ST_DumpPoints(geom)).geom) AS pt, (ST_DumpPoints(geom)).geom
FROM z_pop
),
t1 as (
SELECT agr_id, pt, round(st_x(geom)::numeric,2) as x, round(st_y(geom)::numeric,2) as y,
geom FROM t
),
t2 as (
SELECT agr_id, pt, x, y, count(*) over (partition by agr_id, x, y) as num_pt_overlap,
geom FROM t1
)
SELECT row_number() over (order by agr_id, pt) as id, *, NULL::boolean as excepcion FROM
t2 WHERE num_pt_overlap>2 ORDER BY 2,3;
ALTER TABLE pob_temp.d_vertice_overlap ADD CONSTRAINT id_pk PRIMARY KEY (id)
-----------------
Malgré tout, je reste à l'écoute d'une meilleure option, si quelqu'un a déjà
fait face à ce type de problématique
Bonne journée
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=358237#p358237
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