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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Thu 06 June 2013 14:04

laubinou
Juste Inscrit !
Date d'inscription: 30 May 2010
Messages: 6

Translater un point vers la ligne la plus proche

Bonjour à tous,

Je me tourne vers les membres de Georezo, n'ayant trouvé aucune solution à mon problème...
J'ai hérité de données issues d'une collectivité qui manquent cruellement soit de métadonnées, soit de précision.
En l'occurrence je dispose d'un fichier de points sensé décrire des obstacles à la vie piscicole sur des tronçons de rivière (lesquels sont les données issues de la BD TOPO de l'IGN). Or, ces points ont dû être disposés à la main (ils n'ont pas été enregistrés via un GPS) et sans zoomer suffisamment sur la carte car j'observe des décalages importants (jusqu'à 30 mètres) par rapport au tracé des cours d'eau. Et un obstacle à la vie piscicole qui se situe loin du lit de la rivière, ça me paraît louche...

D'un point de vue de l'analyse, cela ne pose pas trop de problème, car il suffit de rattacher ces points au tronçon de cours d'eau le plus proche via une jointure spatiale. En revanche, du point de vue graphique, c'est assez embêtant et je ne me vois pas replacer à la main chacun de ces points (j'en ai plus de 1000).
Je souhaitais donc savoir s'il existait un outil sur ArcGis 10 pour raccrocher et déplacer "automatiquement" un point à la ligne (cours d'eau) la plus proche. J'ai bien tenté l'outil d'ajustement spatial, mais cela ne résout pas mon souci, puisqu'il applique le même ajustement à tous mes points.

Merci par avance pour vos pistes!

Vanessa

Hors ligne

 

#2 Thu 06 June 2013 15:11

Robin
GeoRezo forever
Lieu: France
Date d'inscription: 31 Aug 2005
Messages: 13614
Site web

Re: Translater un point vers la ligne la plus proche

Bonjour,

Une idée, comme ça de process :
1. Densifier le nombre de points au niveau du cours d'eau
2. Convertir le cours d'eau en points + alimenter une colonne X et Y
3. Faire une matrice de distance ou une jointure spatiale pour trouver le point le plus proche de tout point de la couche obstacle par rapport à tout point de la couche "cours d'eau points"
4. Renseigner la position XY du point "cours d'eau" le plus proche trouvé pour chacun des points obstacle selon une jointure attributaire pour "ramener" ces positions dans la table obstacles.
5. Export de la table ainsi créée
6. Import de la table et création du nouveau semis de points via les colonnes X et Y précédemment récupérées.

J'espère que c'est clair quand même smile

Pour les détails, à voir en fonction de chaque étape.

Hors ligne

 

#3 Fri 07 June 2013 08:36

Nicolas Granier
Participant assidu
Date d'inscription: 19 Apr 2007
Messages: 271

Re: Translater un point vers la ligne la plus proche

Bonjour,

Et un obstacle à la vie piscicole qui se situe loin du lit de la rivière, ça me paraît louche...


c'est le moins que l'on puisse dire.

La solution consiste à projeter ces points à la perpendiculaire sur le réseau. Il n'existe pas à ma connaissance d'outil de base dans la arctoolbox pour le faire. La fonction existe dans la boite à outil EtGeowizard (300$) et s'appelle Perpendicular to polyligne.
On peut aussi le faire avec Postgis gratuitement avec la fonction  st_shortestline.

Sinon après la solution de Robin est aussi très bien. Pour les étapes 1 et 2, je conseillerai l'outil gratuit de Et Géowizard - StationPoint qui permet de créer des points à des intervalles réguliers à partir d'un linéaire de réseau.

A+
Nicolas GRANIER

Hors ligne

 

#4 Fri 07 June 2013 09:23

Renaud
Membre
Lieu: Ploemeur (56)
Date d'inscription: 9 Mar 2006
Messages: 2315

Re: Translater un point vers la ligne la plus proche

Bonjour,


Pas mieux comme solution gratuite pour recaler les données.


Pour l'aspect métier, les décalages peuvent signifier trois choses :
- la topologie est 'spaghetti', l'obstacle est effectivement sur le tronçon de cours d'eau le plus proche.
- le référentiel utilisé n'est pas la BD Topo mais, par exemple, la BD Carthage. Il est donc normal que la topologie ne soit pas respectée avec la BD Topo.
- le référentiel de visualisation (BD Topo) n'est pas complet, l'obstacle se situe sur un tronçon de rivière non représenté.
Évidement, ces trois explications sont cumulables.

Si j'étais vous, j'irai regarder sur la photo aérienne (ou idéalement le terrain) les points les plus loin du réseau hydro.

Or, ces points ont dû être disposés à la main (ils n'ont pas été enregistrés via un GPS)


Un point enregistré par GPS n'aurait pas assuré la cohérence topologique.
Une saisie manuelle ou un post-traitement comme vous vous apprêtez à le faire sont indispensables.


Renaud Mouche

Hors ligne

 

Pied de page des forums

Powered by FluxBB