Come convertire Distance, Azimuth, Dip in XYZ?


10

Ho un foglio di calcolo Excel con dati di intestazione e sondaggio. I dati di intestazione contengono l'ID del foro e le coordinate della posizione, mentre i dati del rilievo contengono il relativo rilievo del pozzo con i valori di Distanza, Azimut e Dip.

Poiché conosco la posizione del foro e l'elevazione della superficie, vorrei poter convertire anche la tabella di rilevamento in coordinate XYZ. Qualcuno ha una funzione / procedura / esempio? (VB e ArcObjects)

Dati intestazione:

Dati di intestazione

Dati dell'indagine:

inserisci qui la descrizione dell'immagine


Non potresti semplicemente usarli come coordinate xyz comunque? Suppongo che il dip abbia un'origine di 0, no?
Emily,

1
@Emily - Sì, viene dato il primo XYZ (X: 425990, Y: 5409010, Z: 350). Il valore di immersione è 0 e la distanza è 0. Come si calcola la XYZ per Distanza: 41, Azimut: 359, Immersione: -71? (Ad ogni punto di rilevamento la direzione e l'inclinazione saranno diverse, con conseguenti discariche deviate e a spirale) Probabilmente esiste una formula semplice ...
Jakub Sisak GeoGraphics

Risposte:


10

La domanda richiede la conversione tra coordinate sferiche e cartesiane . Questo foglio di calcolo espone le formule:

Schermata del foglio di calcolo

Vengono inserite le linee blu, i neri sono calcoli intermedi e il rosso viene emesso. All'interno delle formule, i valori sono indicati dai nomi nella colonna [Parametro] (assegnato tramite l'operazione Inserisci | Nome | Crea).

Differiscono da quelli nella maggior parte dei riferimenti matematici / fisici perché in geografia l'azimut è di solito portato a est del nord piuttosto che a nord est. Questo rende l'azimut geografico il complemento di quello matematico (si sommano a 90 gradi). Sostituire un angolo con il suo complemento in qualsiasi funzione di innesco lo scambia con il suo partner "co": seno e coseno sono scambiati, tangenti e cotangenti, secanti e cosecanti. Inoltre, in molti sistemi matematici la "caduta" è espressa come un angolo dalla verticale reale (una co-latitudine) piuttosto che come un angolo dalla orizzontale (una latitudine), causando di nuovo uno scambio di seno e coseno.

Modifica 20/09/13

Per una distanza di fondo che probabilmente vorrai negare dZ.


Grazie. Sembra buono! Dovrà confermare il tipo di azimut. Come trovo i radianti nella formula?
Jakub Sisak GeoGraphics,

Radianti = gradi / 180 * Pi
whuber

Va bene. Grazie. Stavo fissando la formula nel link sopra e grattandomi la testa. Chiaro come una campana ora.
Jakub Sisak GeoGraphics l'

@Jakub Sai che si tratta di un foglio di lavoro valido e valido, giusto? È possibile digitare queste formule in Excel, denominare le celle nella colonna [Valore] come indicato nella colonna [Parametro] alla sua sinistra e verrà eseguito. Viene inserito un testo blu; il nero è calcoli intermedi; e viene emesso il rosso. Una volta che ti senti a tuo agio, puoi modificare il tuo secondo foglio di calcolo per fare i calcoli per ogni voce. L'unico trucco è unire le coordinate (X0, Y0, Z0) dal primo: farlo con un database o tramite VLOOKUP ().
whuber

Non ero a conoscenza Anche meglio! Quindi RADIANS è ovviamente una funzione di Excel a cui sto passando Azimuth o dip.
Jakub Sisak GeoGraphics l'

3

Mentre questa è una vecchia domanda, le altre risposte non sono appropriate. La conversione di distanza (profondità misurata), immersione (inclinazione), azimut in coordinate 3D dipende da come si interpreta ciò che sta accadendo tra le posizioni in cui sono state eseguite le misurazioni (stazioni di rilevamento). La pratica standard oggi è "Curvatura minima" in cui si presume che un arco circolare colleghi ogni posizione del rilievo.

http://www.drillingformulas.com/minimum-curvature-method/ fornisce tutti i dettagli su come calcolare le posizioni X, Y e Z. Le porzioni rilevanti sono:

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

Ho scoperto che se c'è un segmento dritto (I1 == I2 e A1 == A2), allora B finisce 0 e quindi RF produce una divisione per errore zero. Nel caso in cui B sia zero, allora ho impostato RF su 1 (poiché il limite di RF dato che B va a 0 è 1). Altrimenti, funziona alla grande, grazie!
Saxon Druce,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.