¿Cómo convertir distancia, acimut, inmersión a XYZ?

10

Tengo una hoja de cálculo de Excel con encabezado y datos de exploración de encuestas. Los datos de encabezado contienen ID de pozo y coordenadas de ubicación, y los datos de levantamiento contienen levantamientos de fondo de pozo relacionados con valores de Distancia, Azimut y Dip.

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

Datos del encabezado:

Datos de encabezado

Datos de la Encuesta:

ingrese la descripción de la imagen aquí

Jakub Sisak GeoGraphics
fuente
¿No podrías usarlos como coordenadas xyz de todos modos? Supongo que la inmersión tiene un origen de 0, ¿no?
Emily
1
@Emily: Sí, se proporciona el primer XYZ (X: 425990, Y: 5409010, Z: 350). El valor de caída es 0 y la distancia es 0. ¿Cómo calculo el XYZ para Distancia: 41, Azimut: 359, Salto: -71? (En cada punto de inspección, la dirección y la inclinación serán diferentes, lo que provocará desviaciones y desviaciones en espiral) Probablemente haya una fórmula simple ...
Jakub Sisak GeoGraphics

Respuestas:

10

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

Captura de pantalla de hoja de cálculo

Las líneas azules son de entrada, las negras son cálculos intermedios y las rojas son de salida. Dentro de las fórmulas, los valores se refieren a los nombres en la columna [Parámetro] (asignado a través de la operación Insertar | Nombre | Crear).

Se diferencian de los de la mayoría de las referencias de matemáticas / física porque en geografía, el acimut generalmente se toma al este del norte en lugar de al norte del este. Esto hace que el acimut geográfico sea el complemento del matemático (suman 90 grados). Reemplazar un ángulo por su complemento en cualquier función trigonométrica lo intercambia con su compañero "co": seno y coseno se intercambian, tangente y cotangente, secante y cosecante. Además, en muchos sistemas matemáticos la "caída" se expresa como un ángulo desde la vertical verdadera (una co-latitud) en lugar de como un ángulo desde la horizontal (una latitud), causando nuevamente un intercambio de seno y coseno.

Editar 20/09/13

Para una distancia de fondo de pozo, probablemente quiera negar dZ.

whuber
fuente
Gracias. ¡Se ve bien! Tendrá que confirmar el tipo de acimut. ¿Cómo encuentro los radianes en la fórmula?
Jakub Sisak GeoGraphics
Radianes = Grados / 180 * Pi
whuber
Tocar el asunto exacto. Gracias. Estaba mirando la fórmula en el enlace de arriba y rascándome la cabeza. Claro como una campana ahora.
Jakub Sisak GeoGraphics
@Jakub Eres consciente de que esta es una hoja de cálculo válida y que funciona, ¿verdad? Puede escribir estas fórmulas en Excel, nombre las celdas en la columna [Valor] como se indica en la columna [Parámetro] a su izquierda, y se ejecutará. Se ingresa texto azul; el negro es cálculos intermedios; y se emite rojo. Una vez que se sienta cómodo con él, puede modificar su segunda hoja de cálculo para hacer los cálculos para cada entrada. El único truco está en unir las coordenadas (X0, Y0, Z0) desde el principio: hacerlo con una base de datos o mediante BUSCARV ().
whuber
No estaba al tanto. ¡Aun mejor! Por lo tanto, RADIANS es obviamente una función de Excel a la que le estoy pasando Azimuth o dip.
Jakub Sisak GeoGraphics
3

Si bien esta es una vieja pregunta, las otras respuestas no son apropiadas. La conversión de distancia (profundidad medida), inmersión (inclinación), acimut a coordenadas 3D depende de cómo interprete lo que está sucediendo entre los lugares donde se tomaron las mediciones (estaciones de reconocimiento). La práctica estándar actual es la "Curvatura mínima", donde se supone que un arco circular conecta cada ubicación de levantamiento.

http://www.drillingformulas.com/minimum-curvature-method/ proporciona todos los detalles sobre cómo calcular las ubicaciones X, Y y Z. Las porciones 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
Eric
fuente
Descubrí que si hay un segmento recto (I1 == I2 y A1 == A2), entonces B termina en 0 y, por lo tanto, RF produce un error de división por cero. En el caso de que B sea cero, entonces configuro RF en 1 (ya que el límite de RF cuando B va a 0 es 1). De lo contrario, esto funciona muy bien, ¡gracias!
Saxon Druce