Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Suite à un problème technique intervenu entre le 22 et le 23 mars, nous avons du procéder dans la soirée du 25 mars, à la restauration de la base de données du 24 mars (matinée).

En clair, nous avons perdu vos contributions et inscriptions du dimanche 24 et du lundi 25 mars.
Nous vous prions de nous excuser.

#1 Wed 20 June 2018 13:49

tematim
Juste Inscrit !
Date d'inscription: 27 Oct 2017
Messages: 7

Détecter les linestring en y et obtenir les points de séparation

Bonjour,

Je dois ajouter des éléments dans un réseau de linestring ordonnées d'un nœud maitre.
Je suis en SRID 2154.

Voici deux cas d'exemples :

Code:

"LINESTRING(890523.700571345 6411239.74867723,890521.03928381 6411220.37201695,890507.281769636 6411220.60267211,890495.651439927 6411195.15820796)"
"LINESTRING(890523.700571345 6411239.74867723,890521.03928381 6411220.37201695,890513.157487788 6411196.55307941)"

Code:

"LINESTRING(887383.164323609 6408817.04180761,887368.622455488 6408797.9614047,887355.705527693 6408781.88262288)"
"LINESTRING(887383.164323609 6408817.04180761,887368.622455488 6408797.9614047,887348.542909006 6408780.5274959)"

J'ai une requête qui retourne la liste des tous les points par rapport à une linestring et qui compare cette liste à elle même pour trouver les équivalences:

Code:

with contenu_geom as (SELECT ST_X(ST_PointN(geom,num)) as x,ST_Y(ST_PointN(geom,num)) as y,geom, code FROM (
select inf1.code, inf1.geom
, generate_series(1, (select ST_NumPoints(geom) from (select geom FROM matable where code = inf1.code) as line)) as num
from matable as inf1 where inf1.code in (liste d'ids)
) as u)

SELECT c1.code, c1.y, c1.x, ST_SetSRID(ST_MakePoint(c1.x, c1.y), 2154) as point
, (SELECT c2.code FROM contenu_geom as c2 where c1.x = c2.x and c1.y = c2.y and c1.code <> c2.code limit 1 offset 0) as cm0
 FROM contenu_geom as c1
where c1.code in (liste d'ids)
) as g where g.cm0 is not null

Mais je n'arrive pas à correctement identifier tous les points de séparations, est-il possible de m'aider ?

Hors ligne

 

Pied de page des forums

Powered by FluxBB