11 votos

¿Cómo convertir Distancia, Acimut, Buzamiento a XYZ?

Tengo una hoja de cálculo excel con los datos de los taladros de cabecera y sondeo. Los datos de cabecera contienen el ID del taladro y las coordenadas de ubicación, y los datos del levantamiento contienen el levantamiento de fondo de pozo relacionado con los valores de Distancia, Acimut y Buzamiento.

Dado que conozco la ubicación del agujero y la elevación de la superficie, me gustaría poder convertir también la tabla topográfica a coordenadas XYZ. Alguien tiene una función / procedimiento / ejemplo? (VB y ArcObjects)

Datos de cabecera:

Header Data

Datos de la encuesta:

enter image description here

0 votos

¿No podrías utilizarlas como coordenadas xyz de todos modos? Supongo que dip tiene un origen de 0, ¿no?

1 votos

@Emily - Sí, el primer XYZ está dado (X:425990,Y:5409010,Z:350). El valor de inclinación es 0 y la distancia es 0. ¿Cómo puedo calcular el XYZ para Distancia: 41, Acimut: 359, Dip: -71? (En cada punto de medición de la dirección y la inclinación será diferente, lo que resulta desviado y en espiral downholes) Probablemente hay una fórmula simple ...

10voto

cjstehno Puntos 131

En la pregunta se pide conversión entre coordenadas esféricas y cartesianas . Esta hoja de cálculo presenta las fórmulas:

Spreadsheet screen shot

Las líneas azules corresponden a la entrada, las negras a los cálculos intermedios y las rojas a la salida. Dentro de las fórmulas, se hace referencia a los valores por los nombres de la columna [Parámetro] (asignados mediante la operación Insertar|Nombre|Crear).

Difieren de los de la mayoría de las referencias matemáticas/físicas porque en geografía, el acimut se suele tomar al este del norte en lugar de al norte del este. Esto hace que el acimut geográfico sea el complemento de la matemática (suman 90 grados). Sustituir un ángulo por su complemento en cualquier función trigonométrica lo intercambia con su "co" compañero: seno y coseno se intercambian, tangente y cotangente, secante y cosecante. Además, en muchos sistemas matemáticos el "buzamiento" se expresa como un ángulo desde la vertical verdadera (una latitud co) en lugar de como un ángulo desde la horizontal (una latitud), lo que provoca de nuevo un intercambio de seno y coseno.

Edición 20/09/13

Para una distancia de fondo de pozo es probable que desee negar dZ .

0 votos

Gracias. Tiene buena pinta. Habrá que confirmar el tipo de acimut. ¿Cómo encuentro los radianes en la fórmula?

0 votos

Radianes = Grados / 180 * Pi

0 votos

Muy bien. Gracias, señor. Estaba mirando la fórmula en el enlace de arriba y rascándome la cabeza. Ahora está más claro que el agua.

3voto

lukecyca Puntos 1860

Aunque se trata de una pregunta antigua, las demás respuestas no son adecuadas. La conversión de la distancia (profundidad medida), el buzamiento (inclinación) y el azimut en coordenadas 3D depende de cómo se interprete lo que ocurre entre los lugares donde se realizaron las mediciones (estaciones topográficas). La práctica habitual hoy en día es la "curvatura mínima", en la que se supone que un arco circular conecta cada punto de medición.

http://www.drillingformulas.com/minimum-curvature-method/ ofrece información detallada sobre cómo calcular las posiciones X, Y y Z. Las partes relevantes son:

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

0 votos

He descubierto que si hay un segmento recto (I1 == I2 y A1 == A2), entonces B termina en 0 y por tanto RF produce un error de división por cero. En el caso de que B sea cero, entonces pongo RF a 1 (ya que el límite de RF cuando B llega a 0 es 1). Por lo demás, funciona de maravilla, ¡gracias!

0voto

HGF Puntos 126

Como escribe Eric, puedes acabar fácilmente con un div_by_zero error aquí: Sin embargo, puede evitarlo sin comprobar el cero exacto: Cuando abs(B) es inferior a 1e-9 El tan(B/2) será exactamente (dentro de la precisión de 64/53 bits de un doble) el inverso de 2/B .

La forma más sencilla de demostrarlo es con la serie de Taylor para tan(x) que es x + 1/3*x^3 + 2/15*x^5 + ... . Esto significa que el x^3 plazo será tan pequeño en comparación con x como para ser efectivamente cero.

La principal ventaja de hacerlo así es que se evita calcular tan() de un número muy pequeño que probablemente dará lugar a muchas operaciones con números subnormales. El soporte de subnormales sigue siendo muy lento en muchas arquitecturas, por lo que es mejor evitarlo desde el principio.

0voto

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