Suite

De deux tables en faire une nouvelle

De deux tables en faire une nouvelle


J'ai deux tables, les deux ont une géométrie de chaîne de lignes. J'essaie d'en faire un nouveau qui contient le premier et à partir du second ne prend que le v décimal lorsque la chaîne de ligne de la première table touche une chaîne de ligne de la seconde.

CREATE TABLE Three AS( SELECT st_astext(r.geom),e."v" FROM r , e WHERE ST_Touches(e.geom, ST_Transform(r.geom,4326)));

Mais je ne prends pas une erreur ou un résultat, le geom de r est dans un autre srid que le 4326 qui est le e et je le transforme.


Vous ne savez pas quel est le problème, mais juste pour vérifier davantage, vous pouvez essayer des vérifications telles que :

SELECT ST_SRID(geom) FROM r; SELECT ST_SRID(geom) FROM e; SELECT ST_Touches(e.geom , ST_Transform(r.geom, 4326)) FROM e,r;

Notez également que ST_Touches() renvoie true seulement si les lignes se croisent exactement au niveau d'un sommet ou d'un nœud. Par exemple:

SELECT ST_Touches('LINESTRING(0 0, 2 2)'::geometry, 'LINESTRING(0 2, 2 0)'::geometry);

renvoie faux. Vous voudrez peut-être ST_Crosses() ou ST_Intersects().