Qual é o erro aproximado do Teorema de Pitágoras x Fórmula de Haversine na medição de distâncias na esfera em várias escalas?

30

Muitas pessoas, quando tentam calcular distâncias entre dois pares de longitude / latitude, perguntam se o teorema de Pitágoras funciona como uma função de distância apropriada.

Na maioria das vezes, as pessoas respondem "não, o teorema de Pitágoras só funciona em um plano euclidiano 2D". Raramente, no entanto, as pessoas mencionam o efeito da escala e localização na esfera sobre a imprecisão do teorema de Pitágoras.

Como a idéia básica está em escalas muito pequenas, a superfície de uma esfera se parece muito com um avião. Em escalas muito grandes, as distâncias ao longo da superfície são mais curvas e, portanto, a diferença entre o Teorema de Pitágoras incorreto e a Fórmula de Haversine correta é maior.

Alguém conhece uma fórmula ou regra prática que diz a diferença entre as duas medidas de distância com base na escala da distância que você está tentando medir?

Eu acho que ter isso explicitamente ajudaria em:

  1. explicando por que o teorema de Pitágoras não é perfeito; e
  2. ao permitir que as pessoas que procuram distâncias mais "difíceis" saibam quando Pitágoras realmente servirá a seus propósitos.
Amos Budde
fonte

Respostas:

34

Usar a fórmula pitagórica em posições dadas em latitude e longitude faz tão pouco sentido quanto, digamos, calcular a área de um círculo usando a fórmula de um quadrado: embora produza um número, não há razão para supor que deva funcionar.

Embora em pequenas escalas qualquer superfície lisa pareça um plano, a precisão da fórmula pitagórica depende das coordenadas utilizadas. Quando essas coordenadas são latitude e longitude em uma esfera (ou elipsóide), podemos esperar que

  1. As distâncias ao longo das linhas de longitude serão razoavelmente precisas.

  2. As distâncias ao longo do Equador serão razoavelmente precisas.

  3. Todas as outras distâncias serão errôneas, em proporção aproximada às diferenças de latitude e longitude.

O erro depende do ponto inicial e final dos cálculos de distância. No entanto, como a esfera e o elipsóide têm uma simetria circular em torno do eixo, o erro depende apenas da diferença das longitudes; portanto, para estudar esse erro, é melhor considerarmos o ponto de origem do Meridiano de Greenwich. Como a esfera e o elipsóide são simétricos sob uma reflexão norte-sul, precisamos apenas estudar pontos de origem no hemisfério sul. Para qualquer um desses pontos, podemos desenhar um mapa de contorno do erro relativo, igual a [Cálculo de Pitágoras] / [Distância verdadeira].

A fórmula pitagórica, usando o raio médio da terra, é

Pythagorean distance =  6371000. * Sqrt[dx^2 + dy^2]] * pi / 180 meters

onde dx é a diferença de longitudes e dy é a diferença de latitudes, ambas em graus. (A diferença nos valores de longitude é reduzida no módulo 360 para fornecer o valor correto de dx ao cruzar o antimeridiano; não fazer isso introduziria erros artificialmente grandes que não nos dizem nada sobre a própria fórmula de Pitágoras.)

Os gráficos a seguir mostram o erro relativo comparado à distância correta no elipsóide WGS 84 para latitudes de -70 a 0 em incrementos de 10 graus. A coordenada horizontal é a diferença de longitudes e a coordenada vertical é a latitude do destino. As regiões claras têm um erro relativamente pequeno: as linhas de contorno estão em 1, 1.01, 1.02, 1.05, 1.1, 1.2, 1.5, 2 etc. (As áreas brancas puras nos cantos são locais onde o erro ultrapassa a faixa desses contornos .) Os pontos vermelhos mostram o ponto de origem.

Parcelas

As faixas brancas verticais atestam a exatidão das expectativas (1): As distâncias pitagóricas são precisas quando há uma pequena diferença nas longitudes. As faixas brancas horizontais em baixas latitudes confirmam a expectativa (2): próximo ao Equador, as distâncias horizontais são razoavelmente precisas. Caso contrário, como testemunhado pelas extensas regiões mais escuras, em todas as outras distâncias a fórmula pitagórica é ruim.


Podemos fazer estimativas quantitativas do máximoerro obtido para pares de pontos próximos (a, digamos, algumas centenas de quilômetros um do outro). A escala - usando um valor apropriado para o raio - é verdadeira ao longo do meridiano, mas ao longo de um círculo de latitude, ela erra aproximadamente pela secante da latitude. Por exemplo, a uma latitude de 40 graus, a secante é 1,31, o que implica que a fórmula pitagórica fornecerá distâncias cerca de 31% grandes demais na direção leste-oeste. (Isso é evidente no gráfico de contorno superior direito, para um ponto de origem a -40 graus de latitude, onde a região imediatamente leste-oeste do ponto vermelho fica entre os contornos 1,2 e 1,5.) Distâncias curtas em todas as outras direções serão muito grande em alguma quantidade entre 0% e 31%; distâncias maiores podem errar ainda mais (como mostram os gráficos de contorno).

whuber
fonte
11
Realmente precisa haver uma funcionalidade de 'resposta favorita', para respostas como estas.
Devdatta Tengshe
2
@DevdattaTengshe: ele exige explicitamente que seja sensato: "onde dx é a diferença de longitudes (expressa entre -180 e 180) e dy é a diferença de latitudes, ambas em graus".
Lynxlynxlynx
11
Isso é 2, já que 2 * 179 é maior que 180?
Lynxlynxlynx
11
@whuber: Eu sei disso e você sabe disso, mas a maioria das pessoas que tentam cegamente usar a geometria pitagórica / euclidiana nem sequer pensa ou conhece. Ajudaria se esse fato (você deveria usar o Mod 360) estivesse presente em sua resposta.
Devdatta Tengshe
11
@ToolmakerSteve Tudo bem - costumo usar essa correção -, mas esperamos que o usuário entenda que é uma aproximação e, para grandes distâncias e algumas outras circunstâncias, pode estar muito longe da realidade.
whuber
8

Interpretei "distância pitagórica" ​​como "distância euclidiana". Então a resposta é a mesma que "qual é a diferença entre o comprimento de um acorde de um círculo e o perímetro subtendido?" Seja raio R, o ângulo subtendido é A (radianos).

perimeter = L = A*R
chord = C = 2*sin(A/2)*R
diff = D = L - C
     = (A-2*sin(A/2))*R
     = A^3/24 * R  (for A small)
     = L^3/(24*R^2) (eliminating A)
relative error = D/L
               = (L/R)^2/24

Para a terra, substitua R = 6400 km. A propósito, chame isso de "grande distância do círculo" (o que é) e não "distância do haversine" (como é calculado). (Isso é semelhante à distinção entre distância pitagórica e distância euclidiana.)

cffk
fonte
Seguindo seu raciocínio, você pode mais substituto L e fazer a estimativa só exigem A.
lynxlynxlynx
Você pode elaborar a expressão que você acabou? Como esse A ^ 3/24 * R saiu?
curioso
Expanda sin (A / 2) para A small, usando sin (x) = x - x ^ 3/6 e você obtém esse resultado.
Cffk
5

Para obter uma resposta completa e rigorosa, consulte a resposta do whuber acima. Vou responder de uma maneira mais visual e básica.

A razão pela qual os cálculos planares / pitagóricos são inadequados é porque os cálculos se baseiam no fato de que mover um passo em qualquer direção é uma constante mudança de magnitude, independentemente de onde você esteja no gráfico.

gráfico simples

A longitude não está de acordo com esse requisito. Linhas de longitude convergem para os pólos.

globo mostrando convergência

É por isso que quando achatamos a Terra para refletir as regras de um gráfico planar, obtemos distorção.

Mapa de projeção Mercator

Se você olhar para esse mapa, parece que a Groenlândia tem aproximadamente o tamanho da África e a Antártica tem o tamanho da Eurásia. Claro que isso não é verdade. A Groenlândia e a Antártica são extremamente distorcidas porque estão próximas aos pólos onde a longitude converge.

visão do globo do hemisfério norte

Como você pode ver, a Groenlândia é aproximadamente do tamanho do México.

vista da luva do hemisfério sul

E a Antártica é do tamanho da África Austral (não da África do Sul).

Como você pode ver os erros que você aplicará nas fórmulas pitagóricas, depende mais de onde estão os pontos do que da distância entre eles. Com a ressalva importante de que distâncias maiores aumentarão os erros. É por isso que as soluções planares, embora tentadoras, são uma má escolha. Distorções morderão você e não é tão simples quanto um deslocamento. Os erros são o resultado de entortar a Terra para se ajustar a regras inadequadas.

Erik
fonte
Na verdade, o que você está mostrando é um tipo diferente de erro. Quando usado corretamente, o teorema de Pitágoras calcula a distância da longitude com base no comprimento ao longo da linha de latitude em que você está, então multiplicado porcos(lat) . Utilizados dessa maneira, os erros são pequenos para pequenas distâncias, em qualquer lugar de uma esfera (exceto se passam no pólo N ou S). O que você está mostrando é uma distorção de uma projeção de toda a Terra, onde inevitavelmente algumas regiões são enormemente distorcidas. "os erros que você receberá .. dependem mais de onde .. do que a distância" não é verdade se for utilizado * cos(lat).
Home