J'ai deux fichiers de formes vectoriels: un fichier est des points représentant des trous d'homme et l'autre est un fichier polyligne représentant des tuyaux menant vers et depuis les trous d'homme. J'ai besoin de couper les lignes à une distance spécifiée du trou d'homme le plus proche.
Existe-t-il un moyen facile d'accomplir cela sans le faire manuellement?
Mise à jour
Selon Alexandre, j'ai exporté mes fichiers de formes au format spatialite. Je ne sais pas quoi faire ensuite.
Mise à jour # 2 J'ai créé un nouveau fichier db et importé des fichiers de formes dans le nouveau db en utilisant spatialite-gui, j'ai ajusté ma requête SQL mais comme vous pouvez le voir, j'obtiens une erreur "no such column: f.geom"
Réponses:
Si vous êtes prêt à mettre vos données dans Postgis (ou Spatialite ), vous pouvez utiliser ST_Snap pour faire ce que vous voulez.
Utilisez simplement le calque de lignes \ table comme entrée, et votre calque de points comme référence, et définissez la tolérance. Quelque chose comme ça:
Le résultat est le suivant:
Vous pouvez ensuite mettre à jour vos géométries à l'aide de l'identifiant d'entité.
la source
Je ne sais pas grand-chose sur QGIS ou GRASS, mais une recherche rapide sur Google a donné v.clean dans GRASS devrait faire l'affaire.
Jetez un oeil à ce post et celui-ci .
Alternatives à QGIS et GRASS:
Si je devais le faire dans ArcGIS, je stockerais probablement mes données dans un jeu de données d'entité dans une géodatabase fichier et créerais une topologie pour identifier les zones où la couche de points ne se trouvait pas aux extrémités des lignes. Vous pouvez ensuite corriger les erreurs à l'aide de l' inspecteur d'erreurs .
Mais, probablement la solution la plus rapide et la plus simple serait dans FME. Vous pouvez essayer d'utiliser l' outil Snapper ou mieux encore, l' outil AnchoredSnapper . Si vous utilisez AnchoredSnapper, assurez-vous que votre type de capture est la capture de point final. Bien sûr, vous aurez besoin d'une licence pour FME. Mais vous pouvez télécharger un essai de 14 jours si vous n'en avez pas.
la source
Dans QGIS Snap Geometries to Layer fera ce que vous voulez. Voir ce fil Comment accrocher des lignes au point le plus proche?
la source
Manière manuelle
Qgis -> Paramètres -> Options d'accrochage (et je ne suis pas sûr, mais il pourrait avoir besoin de l'extension CadTools) et activer l'édition topologique.
Manière automatique
v.clean qui se trouve dans les outils GRASS dans la boîte à outils SEXTANTE dans QGIS. Si vous avez PostGIS 2.0 alors ST_Snap et ST_SnapToGrid () (Et il n'y a aucune raison pour que vous ne puissiez pas l'utiliser, c'est un très bon outil spatial)
Voie commerciale
Outil FME et MRF (extension commerciale, j'avais une version d'évaluation. Elle était très bonne).
Je suis également intéressé par la gestion des conduites d'eau / des égouts avec des outils open source, avez-vous des indices?
la source