Dada uma linha na superfície da Terra, como traçar uma linha perpendicular a ela?
Desculpas se esta é uma pergunta muito simples. Eu pensei que isso seria uma tarefa simples, mas está se mostrando contra-intuitiva.
Começo com a linha azul na figura abaixo (veja o link - ainda não consigo fazer upload de figuras). Encontrei uma linha perpendicular calculando o gradiente da linha azul (m) e depois plotando outra linha (verde) com gradiente -1 / m. Quando planto as linhas no Matlab (usando 'plot' e 'axis equal'), elas parecem perpendiculares, conforme o esperado.
No entanto, quando exporto essas linhas para o Google Earth (usando a Caixa de ferramentas KML), elas não parecem mais perpendiculares (veja o link abaixo; a linha mais curta é a linha azul da figura anterior).
Entendo que coisas estranhas acontecem em superfícies curvas, mas achei que as linhas deveriam pelo menos parecer perpendiculares localmente. Eu suspeito que isso tenha algo a ver com a projeção no Google Earth - em particular, o fato de que as células da grade parecem ter comprimentos laterais aproximadamente semelhantes, mas a borda longitudinal tem comprimento = 1 grau, enquanto a borda latitudinal tem comprimento = 0,5 grau.
Então, em resumo:
- meu método de encontrar uma linha perpendicular é válido em uma superfície curva? (ou seja, plotando uma linha com gradiente -1 / m)
- na imagem do Google Earth, as linhas perpendiculares têm a aparência esperada ou algo estranho está acontecendo?
ATUALIZAR:
Para fornecer mais contexto: Estou analisando dados de radar retirados de um avião. A área multicolorida é a 'faixa', onde as observações foram registradas. A linha azul com a qual comecei na explicação acima é paralela à faixa: esta é a linha de voo da aeronave (o avião estava se movendo na direção aproximadamente sudoeste). O radar olha na direção ortogonal à linha de vôo, à esquerda. Estou tentando desenhar uma linha perpendicular à linha de vôo; essa deve ser a direção que o radar está olhando e deve cortar a faixa ordenadamente. Como você pode ver, este não é o caso.
fonte
Respostas:
Um princípio elegante fornece uma resposta simples:
Isso significa que, após a mudança afim de coordenadas (geralmente envolvendo apenas um redimensionamento de uma delas), podemos usar fórmulas da geometria euclidiana, como o Teorema de Pitágoras para calcular distâncias e a fórmula de inclinação recíproca negativa para encontrar perpendiculares.
Com as coordenadas de latitude e longitude na esfera (longe dos pólos, onde a longitude se torna singular), tudo o que precisamos fazer é redimensionar a direção leste-oeste para refletir o comprimento cada vez menor de um grau de longitude quando se aproxima dos pólos. Com um modelo esférico da terra, esse encolhimento é dado pelo cosseno da latitude. Isso é apenas uma mudança na proporção da trama, nada mais.
Isso funciona para regiões que se estendem não mais do que alguns graus de latitude norte-sul e não se aproximam de nenhum dos pólos.
Portanto, tudo que você precisa fazer é:
Multiplique todas as longitudes pelo cosseno de uma latitude típica.
Calcule a linha perpendicular.
Desfazer o ajuste de coordenadas.
Por exemplo, suponha que a pista do avião a levasse de (lon, lat) = (-78, 40) a (-79, 41). Podemos tomar uma latitude típica para ficar entre 40 e 41, como 40,5.
Etapa 1 As coordenadas ajustadas são (-78 * cos (40,5), 40) = (-59,31167, 40) e (-79 * cos (40,5), 41) = (-60,07207, 41).
Etapa 2 A pergunta propõe fazer isso usando um método de declive recíproco negativo. Isso seria correto, mas falhará em alguns casos (onde a inclinação é infinita). É mais geral e mais poderoso usar aritmética vetorial. Veja como é o cálculo.
O vetor de direção para a trajetória do voo é o deslocamento do início ao fim,
Girar qualquer vetor (x, y) em ângulos retos no sentido horário produz (y, -x), de onde uma direção perpendicular à direita é
De acordo com o Teorema de Pitágoras, o comprimento desse vetor é a raiz quadrada da soma dos quadrados de seus coeficientes,
Vamos mover, digamos, 0,2 graus ao longo deste vetor a partir do ponto de partida do voo do avião. O início é em (-59.31167, 40) e o deslocamento é de 0,2 / | w | vezes w, terminando em
Etapa 3 Para desfazer o ajuste, divida as primeiras coordenadas de qualquer ponto resultante pelo mesmo cosseno usado na Etapa 1:
Se você plotar esses pontos usando uma proporção de 1: 1, o ângulo parecerá obtuso, em vez de reto. Mas se você alterar a proporção para 1: cos (40,5) (cerca de 4: 3), o ângulo parecerá corretamente 90 graus. Quando você plota os pontos usando qualquer projeção conforme - incluindo o Mercator do Google -, o ângulo também estará correto.
fonte