Cálculo de área poligonal usando Latitude e Longitude geradas a partir do espaço cartesiano e um arquivo mundial

Dada uma série de pares de coordenadas GPS, preciso calcular a área de um polígono (n-gon). Isso é relativamente pequeno (não superior a 50.000 pés quadrados). Os geocódigos são criados aplicando uma transformação afim com dados de um arquivo mundial.

Tentei usar uma abordagem em duas etapas convertendo os geocódigos em coordenadas cartesianas:

double xPos = (lon-lonAnchor)*( Math.toRadians( 6378137 ) )*Math.cos( latAnchor );
double yPos = (lat-latAnchor)*( Math.toRadians( 6378137 ) );

então eu uso umproduto cruzado cálculo para determinar a área.

A questão é que os resultados têm um pouco de precisão (cerca de 1%). Existe algo que eu possa procurar para melhorar isso?

Obrigado.

questionAnswers(4)

yourAnswerToTheQuestion