Como converter Distância, Azimute, Mergulho para XYZ?

10

Eu tenho uma planilha do Excel com dados de cabeçalho e de pesquisa. Os dados do cabeçalho contêm o ID do furo e as coordenadas de localização, e os dados da pesquisa contêm a pesquisa de fundo de poço relacionada com os valores Distância, Azimute e Mergulho.

Como conheço a localização do furo e a elevação da superfície, gostaria de poder converter também a tabela de levantamento em coordenadas XYZ. Alguém tem uma função / procedimento / exemplo? (VB e ArcObjects)

Dados do cabeçalho:

Dados do cabeçalho

Dados de pesquisa:

insira a descrição da imagem aqui

Jakub Sisak GeoGraphics
fonte
Você não poderia simplesmente usá-los como coordenadas xyz de qualquer maneira? Presumo que dip tenha uma origem de 0, não é?
Emily
1
@Emily - Sim, o primeiro XYZ é fornecido (X: 425990, Y: 5409010, Z: 350). O valor do mergulho é 0 e a distância é 0. Como calculo o XYZ para Distância: 41, Azimute: 359, Mergulho: -71? (Em cada ponto de levantamento a direção e inclinação será diferente, resultando desviou e espiral downholes) Provavelmente há uma fórmula simples ...
Jakub Sisak GeoGraphics

Respostas:

10

A pergunta pede a conversão entre coordenadas esféricas e cartesianas . Esta planilha apresenta as fórmulas:

Captura de tela da planilha

Linhas azuis são inseridas, preto são cálculos intermediários e vermelho é emitido. Nas fórmulas, os valores são referidos pelos nomes na coluna [Parâmetro] (atribuídos através da operação Inserir | Nome | Criar).

Eles diferem daqueles na maioria das referências de matemática / física porque, na geografia, o azimute geralmente é levado a leste do norte, e não ao norte do leste. Isso faz do azimute geográfico o complemento do matemático (eles somam 90 graus). Substituir um ângulo por seu complemento em qualquer função trigonométrica o intercambia com seu parceiro "co": seno e cosseno são intercambiados, tangente e cotangente, secante e cossecante. Além disso, em muitos sistemas matemáticos, o "mergulho" é expresso como um ângulo da vertical verdadeira (uma co-latitude) e não como um ângulo da horizontal (uma latitude), causando novamente um intercâmbio de seno e cosseno.

Editar 20/09/13

Para uma distância de fundo de poço, você provavelmente deseja negar dZ.

whuber
fonte
Obrigado. Parece bom! Terá que confirmar o tipo de azimute. Como encontro os radianos na fórmula?
Jakub Sisak GeoGraphics
Radianos = graus / 180 * Pi
whuber
Pode apostar. Obrigado. Eu estava olhando para a fórmula no link acima e coçando a cabeça. Claro como um sino agora.
Jakub Sisak GeoGraphics
@Jakub Você está ciente de que esta é uma planilha válida e válida, certo? Você pode digitar essas fórmulas no Excel, nomear as células na coluna [Valor] conforme indicado na coluna [Parâmetro] à esquerda e ela será executada. Texto em azul é inserido; preto é cálculos intermediários; e vermelho é emitido. Quando estiver satisfeito com isso, você poderá modificar sua segunda planilha para fazer os cálculos para cada entrada. O único truque é juntar as coordenadas (X0, Y0, Z0) desde o início: faça isso com um banco de dados ou por meio de VLOOKUP ().
whuber
Eu não estava ciente. Melhor ainda! Portanto, RADIANS é obviamente uma função do Excel para a qual estou passando Azimuth ou dip.
Jakub Sisak GeoGraphics
3

Embora essa seja uma pergunta antiga, as outras respostas não são apropriadas. A conversão de distância (profundidade medida), mergulho (inclinação) e azimute em coordenadas 3D depende de como você interpreta o que está acontecendo entre os locais onde as medições foram realizadas (estações de pesquisa). A prática padrão hoje é "Curvatura Mínima", onde a suposição é que um arco circular conecta cada local da pesquisa.

http://www.drillingformulas.com/minimum-curvature-method/ fornece detalhes completos sobre como calcular os locais X, Y e Z. As partes relevantes são:

dMD = Distance2 - Distance1
B = acos(cos(I2 - I1) - (sin(I1)*sin(I2)*(1-cos(A2-A1))))
RF = 2 / B * tan(B / 2)
dX = dMD/2 * (sin(I1)*sin(A1) + sin(I2)*sin(A2))*RF
dY = dMD/2 * (sin(I1)*cos(A1) + sin(I2)*cos(A2))*RF
dZ = dMD/2 * (cos(I1) + cos(I2))*RF

X2 = X1 + dX
Y2 = Y1 + dX
Z2 = Z1 + dX
Eric
fonte
Descobri que, se houver um segmento reto (I1 == I2 e A1 == A2), B terminará 0 e, portanto, o RF produzirá um erro de divisão por zero. No caso de B ser zero, defino RF como 1 (como o limite de RF como B vai para 0 é 1). Caso contrário, isso funciona muito bem, obrigado!
Saxon Druce