Calcul de la distance moyenne entre deux lignes non parallèles?

8

Je travaille actuellement sur la création d'un modèle de données qui permettra à l'analyste de numériser deux lignes non parallèles d'environ la même longueur. Actuellement, la méthodologie consiste à diviser les lignes en 11 points et à calculer les distances moyennes entre les deux lignes.

Avez-vous des suggestions sur la façon de simplifier cette méthode et / ou d'automatiser le processus, rappelez-vous que je crée le schéma afin d'avoir une gamme complète pour changer ce qui est et comment il est enregistré?

Ci-joint un exemple du problème. entrez la description de l'image ici

Mark McCallister
la source
Quelle est la magie derrière le numéro 11? Cela ferait-il aussi 10, 8 ou 5 lignes? En fait, le nombre de lignes devrait dépendre de la longueur des deux lignes?
ulrich
Peut-on supposer que la distance devrait être à peu près orthogonale à la direction des deux lignes? Par exemple, le point 7b pourrait être plus proche de 8a que 8b. Cherchez-vous à obtenir la distance aux points les plus proches, ou à obtenir la distance au point correspondant (7a à 7b, 8a à 8b, etc.)?
user55937

Réponses:

5

Si vous avez un contrôle total sur l'algorithme et la mise en œuvre, pour une approximation grossière, vous pourriez probablement

  1. Obtenez les coordonnées de certains points de vos polylignes à égale distance du point de départ respectif
  2. Approximer une ligne droite passant par vos points de chaque polyligne ( https://en.wikipedia.org/wiki/Simple_linear_regression )
  3. Obtenez la distance entre les points sur les nouvelles lignes, correspondant à 1a et 1b ainsi qu'à 11a et 11b à partir de votre graphique et calculez la moyenne

entrez la description de l'image ici

Remarque: il s'agit d'un algorithme, pas d'une implémentation spécifique.

ulrich
la source
1
Je pense que la distance moyenne entre les deux lignes bleues (car elles sont droites) est en fait juste la longueur moyenne des deux lignes jaunes. Si tel était le cas, il ne serait pas nécessaire de discrétiser la ligne en points.
user55937
Oui, c'est le cas. Mais vous avez toujours besoin de la régression linéaire des lignes noires. Considérez deux lignes noires convexes, commençant près l'une de l'autre puis s'éloignant l'une de l'autre et se rapprochant à nouveau. Si vous tenez simplement compte de la distance entre les sommets de début et de fin des lignes d'origine, vous sous-estimerez la distance moyenne.
ulrich
La bonté! Je n'ai pas assez bien lu votre réponse. Je viens de dire votre troisième étape.
user55937
2

1) créez un polygone avec vos deux lignes, la ligne entre 1a et 1B et la ligne entre 11a et 11b

2) créez la ligne médiane

3) divisez l'aire du polygone par la longueur sur la ligne médiane. Notez que vous pouvez utiliser la moyenne de la longueur des deux lignes comme approximation si vous ne souhaitez pas calculer la ligne médiane.

radouxju
la source
Qu'entendez-vous exactement par ligne médiane? Comment l'obtiendriez-vous, en gros?
ulrich
voir ici ce que je veux dire gis.stackexchange.com/questions/29863/… Pour l'algorithme, vous pouvez fusionner les polygones de Thiessen dérivés des sommets de chaque ligne.
radouxju
Je ne suis pas sûr que ce soit ce que je demande, j'ai besoin de connaître la distance moyenne globale entre les lignes a et b, ou peut-être que je manque ce que vous dites.
Mark McCallister du
la largeur moyenne de votre polygone est la distance moyenne entre les lignes. Imaginez juste que vous prenez une infinité de points ...
radouxju
+1. C'est la bonne réponse. Diviser en moyenne 2 lignes
FelixIP
0

J'ai donc expérimenté avec "Calculer la bande de distance à partir du nombre de voisins" un outil de statistiques spatiales et il semble fonctionner. Ayez encore quelques tests à exécuter et j'espère que cela répondra au projet de loi. Merci pour tous les commentaires jusqu'à présent.

Mark McCallister
la source