Suite

Connecter des sommets pour former une ligne sans utiliser d'attribut

Connecter des sommets pour former une ligne sans utiliser d'attribut


J'ai un certain nombre d'entités multipoints qui forment des lignes (sentiers de randonnée). Je voudrais connecter les points de chaque entité multipoint pour générer des entités linéaires, mais il n'y a pas d'attributs permettant de trier les points dans le bon ordre. Les sentiers varient un peu en forme et en direction, je ne peux donc pas attribuer d'identifiant d'ouest en est par exemple.

Existe-t-il un autre moyen d'y parvenir que de tracer manuellement les lignes au-dessus des points ? Les principaux outils à ma disposition sont FME Professional Edition et QGIS.


Je ne dirais pas que c'est une tâche sans espoir. Après tout, ce ne sont pas des points aléatoires - vous savez qu'ils vont former une entité linéaire.

J'ai passé environ 10 minutes avec FME - en utilisant un ensemble de données d'une piste triée dans un ordre aléatoire - et je pense que le transformateur NeighborPairFinder est votre ami ici.

Cela fonctionne car pour chaque point du sentier, vous trouvez les deux points voisins les plus proches. Ce transformateur crée un vecteur pour chacun. Ensuite, exécutez-les simplement à travers un LineJoiner pour les joindre tous ensemble.

Le résultat n'est pas parfait. Je peux voir des lacunes à coup sûr. Et je parierais de l'argent qu'il y a des problèmes où il y a un virage serré (le voisin le plus proche n'est pas le point suivant mais un retour en arrière). Mais quand même, je pense que c'est un bon début. Jouer avec les paramètres de NeighborPairFinder peut aider (vous pouvez spécifier un angle de séparation minimum).

J'espère que cela t'aides!