Suite

Fusion de deux polylignes (réseaux de rues)


J'ai le problème suivant : j'ai deux jeux de données de rue provenant de sources complètement différentes. J'ai besoin que certains attributs d'un jeu de données (lignes rouges) soient joints à l'autre (lignes vertes). Jusqu'à présent, j'ai essayé de créer un tampon et de joindre ensuite les lignes vertes au tampon… cela a fonctionné, jusqu'à ce que je sois confronté à un problème spécifique. Le tampon ne couvre pas toujours la ligne verte dans des situations extrêmes et les attributs seront perdus (voir photo ci-jointe). As-tu d'autres idées? Je travaillais dans PostGIS jusqu'à présent, mais je suis également ouvert à d'autres solutions.


J'essaierais de trouver l'entité la plus proche de la couche de référence.

SELECT DISTINCT ON (a.id) a.id, b.column1 FROM green a -- trouvez tous les points sur lesquels vous souhaitez vous accrocher à la distance donnée en unités de crs LEFT JOIN red b ON (ST_DWithin(a.wkb_geometry, b .wkb_geometry, 150)) -- ordre par distance (voir les opérateurs spatiaux, principalement <#>, st_distance peut également être pratique, mais pas très efficace) ORDER BY id, a.wkb_geometry <-> b.wkb_geometry;

De cette façon, vous pouvez récupérer les attributs de l'entité la plus proche pour chaque ligne verte. Notez que vous devrez peut-être jouer un peu avec le paramètre de distance ST_DWithin.


Voir la vidéo: FUSION360-RESEAU CIRCULAIRE- EXTRUSION VERS OBJET (Octobre 2021).