Cálculo de la distancia promedio entre dos líneas no paralelas?

8

Actualmente estoy trabajando en la creación de un modelo de datos que permita al analista digitalizar dos líneas no paralelas de aproximadamente la misma longitud. Actualmente la metodología es dividir las líneas en 11 puntos y promediar las distancias entre las dos líneas.

¿Alguna sugerencia sobre cómo simplificar este método o automatizar el proceso, recuerde que estoy creando el esquema para tener un rango completo para cambiar qué es y cómo se está grabando?

Adjunto es un ejemplo del problema. ingrese la descripción de la imagen aquí

Mark McCallister
fuente
¿Cuál es la magia detrás del número 11? ¿Haría también 10 u 8 o 5 líneas? ¿Realmente el número de líneas debería depender de la longitud de las dos líneas?
ulrich
¿Existe alguna suposición de que la distancia debe ser aproximadamente ortogonal a la dirección de las dos líneas? Por ejemplo, el punto 7b podría estar más cerca de 8a que 8b. ¿Desea obtener la distancia a los puntos más cercanos u obtener la distancia al punto correspondiente (7a a 7b, 8a a 8b, etc.)?
user55937

Respuestas:

5

Si tiene control total sobre el algoritmo y la implementación, para una aproximación aproximada probablemente podría

  1. Obtenga las coordenadas de algunos puntos en sus polilíneas a la misma distancia del punto de inicio respectivo
  2. Aproxima una línea recta a través de los puntos de cada polilínea ( https://en.wikipedia.org/wiki/Simple_linear_regression )
  3. Obtenga la distancia entre los puntos en las nuevas líneas, correspondientes a 1a y 1b, así como a 11a y 11b de su gráfico y calcule el promedio

ingrese la descripción de la imagen aquí

Nota: se trata de un algoritmo, no de una implementación específica.

Ulrich
fuente
1
Creo que la distancia promedio entre las dos líneas azules (porque son rectas) es en realidad solo la longitud promedio de las dos líneas amarillas. Si ese fuera el caso, entonces no habría necesidad de discretizar la línea en puntos.
user55937
Si, este es el caso. Pero aún necesita la regresión lineal de las líneas negras. Considere dos líneas negras convexas, comenzando cerca una de la otra, luego alejándose una de la otra y acercándose nuevamente. Si solo tiene en cuenta la distancia entre los vértices inicial y final de las líneas originales, subestimará la distancia promedio.
ulrich
¡Bondad! No leí tu respuesta lo suficientemente bien. Acabo de decir tu tercer paso.
user55937
2

1) crea un polígono con tus dos líneas, la línea entre 1a y 1B, y la línea entre 11a y 11b

2) crea la línea central

3) divida el área del polígono por la longitud en la línea central. Tenga en cuenta que puede usar el promedio de la longitud de las dos líneas como una aproximación si no desea calcular la línea central.

radouxju
fuente
¿Qué quieres decir exactamente con línea central? ¿Cómo lo conseguirías, más o menos?
ulrich
vea aquí lo que quiero decir gis.stackexchange.com/questions/29863/… Para el algoritmo, puede fusionar los polígonos de Thiessen derivados de los vértices de cada línea.
radouxju
No estoy seguro de que sea lo que estoy pidiendo. Necesito saber la distancia promedio general entre la línea a y b, o tal vez me estoy perdiendo lo que dices.
Mark McCallister
El ancho promedio de su polígono es la distancia promedio entre las líneas. Imagínese que toma una infinidad de puntos ...
radouxju
+1. Esta es la respuesta correcta. Dividir por promedio de 2 líneas
FelixIP
0

Así que he experimentado con "Calcular la banda de distancia desde el recuento de vecinos", una herramienta de estadística espacial y parece estar funcionando. Tiene que realizar algunas pruebas más y, con suerte, esto responderá la factura. Gracias por todos los comentarios hasta ahora.

Mark McCallister
fuente