9 votos

Dada una línea en la superficie de la tierra, ¿cómo puedo trazar una línea perpendicular a ella?

Dada una línea en la superficie de la tierra, ¿cómo puedo trazar una línea perpendicular a ella?

Disculpas si esta es una pregunta muy simple. Pensé que esto sería una tarea sencilla, pero está demostrando que es contra-intuitivo.

Voy a empezar con la línea azul en la figura de abajo (ver enlace -- yo soy incapaz de subir las cifras aún). He encontrado una línea perpendicular al calcular el gradiente de la línea azul (m), luego trazando otra línea (verde) con gradiente -1/m. Cuando me trazar las líneas en Matlab (el uso de "trama" y "axis equal'), se ven perpendicular, como se esperaba.

http://imgur.com/7qMkx

Sin embargo, cuando la exportación de estas líneas a Google Earth (usando el archivo KML caja de herramientas), no es perpendicular (ver enlace abajo; la línea más corta es la línea azul de la figura anterior).

http://imgur.com/ncJQ7

Entiendo que las cosas extrañas que suceden en superficies curvas, pero pensé que las líneas deben por lo menos mirar perpendicular a nivel local. Sospecho que esto tiene algo que ver con la proyección en Google Earth, en particular, el hecho de que las celdas de la cuadrícula parecen tener más o menos similar longitudes de lado, sin embargo, el borde longitudinal de longitud = 1 grado, mientras que los latitudinales borde tiene una longitud de = 0,5 grados.

Así que, en resumen:

  • es mi método de búsqueda de una línea perpendicular válido en una superficie curva? (es decir, trazando una línea con un gradiente -1/m)
  • en la imagen de Google Earth, hacer las líneas perpendiculares mira como se esperaba, o es algo raro?

ACTUALIZACIÓN:

Para dar más contexto: estoy mirando los datos de radar tomadas desde un avión. El multi-área coloreada es la 'franja', en los que las observaciones han sido registrados. La línea azul empecé con en la explicación anterior es paralela a la franja: esta es la aeronave de la línea de vuelo (el avión se movía en los aproximadamente sur-oeste). El radar se ve en la dirección ortogonal a la línea de vuelo, en la izquierda. Estoy tratando de dibujar una línea perpendicular a la línea de vuelo; esta debe ser la dirección en la que el radar está buscando, y debería cortar la franja perfectamente. Como se puede ver, este no es el caso.

enter image description here

10voto

cjstehno Puntos 131

Un elegante principio proporciona una respuesta simple:

Todos los puntos en una suave curva de la superficie son planos a una escala suficientemente grande.

Esto significa que después afín a cambio de coordenadas (que generalmente involucran sólo una modificación de la escala de uno de ellos), podemos usar las fórmulas de la geometría Euclidiana, tales como el Teorema de Pitágoras para calcular distancias y el negativo recíproco de la pendiente de una fórmula para encontrar perpendiculares.

Con la latitud y de longitud coordenadas de la esfera (lejos de los polos, donde la longitud se convierte en singular), todo lo que tenemos que hacer es cambiar la escala de la dirección este-oeste para reflejar la reducción de la longitud de un grado de longitud como uno de los enfoques de los polos. Con un modelo esférico de la tierra, que la contracción es dada por el coseno de la latitud. Esto es simplemente un cambio en la trama de la relación de aspecto, nada más.

Esto funciona para las regiones que se extienden a no más de unos pocos grados de latitud norte-sur y no se acerque a cualquiera de los polos.

Por lo tanto, todo lo que tienes que hacer es:

  1. Multiplicar todas las longitudes por el coseno de un típico latitud.

  2. Calcular la línea perpendicular.

  3. Deshacer las coordenadas de ajuste.

Por ejemplo, supongamos que el avión de la pista se la quitaron (lon, lat) = (-78, 40) a (-79, 41). Podemos tomar un típico latitud a estar entre 40 y 41, tales como 40.5.

Paso 1 El ajustado coordenadas son (-78 * cos(40.5), 40) = (-59.31167, 40) y (-79 * cos(40.5), 41) = (-60.07207, 41).

Paso 2 La pregunta que se propone hacer esto utilizando un negativo recíproco de la pendiente de método. Que sería correcto, pero va a fallar en algunos casos (donde la pendiente es infinita). Es más general y más potentes para el uso de aritmética de vectores. He aquí cómo el cálculo de va.

El vector de dirección para el vuelo de la ruta es el desplazamiento desde su principio a su fin,

v =  (-60.07207, 41) - (-59.31167, 40)
  =  (-0.7604, 1.0).

Convertir cualquier vector (x,y) en ángulo recto las agujas del reloj produce (y,-x), de donde una dirección perpendicular a la de la derecha es

w = (1.0, 0.7604).

De acuerdo con el Teorema de Pitágoras, la longitud de este vector es la raíz cuadrada de la suma de los cuadrados de los coeficientes,

|w| = sqrt(1^2 + 0.7604^2) = 1.256268

Vamos a pasar, digamos, de 0,2 grados a lo largo de este vector desde el punto de partida de el vuelo del avión. El inicio es a (-59.31167, 40) y el desplazamiento es de 0.2 / |w| veces w, para terminar en

(-59.31167, 40) + 0.2 / 1.256268 * (1.0, 0.7604) = (-59.15247  40.12106).

Paso 3 Para deshacer el ajuste, divida el primer coordenadas de cualquiera de los puntos resultantes por el mismo coseno utilizó en el Paso 1:

(-59.15247/cos(40.5), 40.12106) = (-77.79064, 40.12106)

Si se hace una gráfica de estos puntos usando un 1:1 relación de aspecto, el ángulo aparecerá a ser obtuso, más que un ángulo recto. Pero si cambia la relación de aspecto de 1:cos(40.5) (4:3), el ángulo correctamente parecen ser de 90 grados. Al trazar los puntos usando cualquiera de conformación de proyección-incluyendo Google Mercator--el ángulo también será correcta.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X