Jak przekonwertować Odległość, Azymut, Dip na XYZ?

10

Mam arkusz kalkulacyjny programu Excel z danymi do ćwiczeń w nagłówku i ankiecie. Dane nagłówka zawierają identyfikator otworu i współrzędne lokalizacji, a dane pomiarowe zawierają powiązane badanie odwiertu z wartościami odległości, azymutu i spadku.

Ponieważ znam położenie otworu i rzędną powierzchni, chciałbym również móc przekonwertować tabelę pomiarową na współrzędne XYZ. Czy ktoś ma funkcję / procedurę / przykład? (VB i ArcObjects)

Dane nagłówka:

Dane nagłówka

Dane z ankiety:

wprowadź opis zdjęcia tutaj

Jakub Sisak GeoGraphics
źródło
Czy i tak nie możesz ich użyć jako współrzędnych xyz? Zakładam, że dip ma pochodzenie 0, prawda?
Emily
1
@Emily - Tak, podano pierwszą XYZ (X: 425990, Y: 5409010, Z: 350). Wartość zanurzenia wynosi 0, a odległość wynosi 0. Jak obliczyć XYZ dla odległości: 41, azymutu: 359, spadku: -71? (W każdym punkcie badania kierunek i nachylenie będą różne, co spowoduje odchylenie i spiralne dołki) Prawdopodobnie istnieje prosta formuła ...
Jakub Sisak GeoGraphics

Odpowiedzi:

10

Pytanie dotyczy konwersji między współrzędnymi sferycznymi i kartezjańskimi . Ten arkusz kalkulacyjny przedstawia formuły:

Zrzut ekranu z arkusza kalkulacyjnego

Niebieskie linie są wprowadzane, czarne są obliczeniami pośrednimi, a czerwone są wyjściami. W formułach do wartości odwołują się nazwy w kolumnie [Parametr] (przypisywane za pomocą operacji Wstaw | Nazwa | Utwórz).

Różnią się one od tych w większości odniesień do matematyki / fizyki, ponieważ w geografii azymut jest zwykle przyjmowany na wschód od północy, a nie na północ od wschodu. To sprawia, że ​​azymut geograficzny jest dopełnieniem matematycznego (sumuje się do 90 stopni). Zastąpienie kąta jego dopełnieniem w dowolnej funkcji trygonalnej powoduje zamianę z partnerem „co”: sinus i cosinus są zamienione, styczne i kotwiczne, sieczne i cosecant. Ponadto w wielu systemach matematycznych „zapad” jest wyrażany raczej jako kąt od rzeczywistej pionowej (współrzędna), a nie jako kąt od poziomej (szerokość geograficzna), ponownie powodując zamianę sinusa i cosinusa.

Edytuj 9/20/13

W przypadku odwiertu prawdopodobnie chcesz zaprzeczyć dZ.

Whuber
źródło
Dzięki. Wygląda dobrze! Będzie musiał potwierdzić typ azymutu. Jak znaleźć Radianów w formule?
Jakub Sisak GeoGraphics
Radians = stopnie / 180 * Pi
whuber
Tak jest. Dzięki. Patrzyłem na wzór w powyższym linku i drapałem się po głowie. Teraz czysty jak dzwon.
Jakub Sisak GeoGraphics
@Jakub Zdajesz sobie sprawę, że jest to działający, prawidłowy arkusz kalkulacyjny, prawda? Możesz wpisać te formuły do ​​Excela, nazwać komórki w kolumnie [Wartość], jak wskazano w kolumnie [Parametr] po lewej stronie, i uruchomi się. Wprowadzany jest niebieski tekst; czarny to obliczenia pośrednie; i czerwony jest wyjściem. Gdy już się z tym czujesz, możesz zmodyfikować swój drugi arkusz kalkulacyjny, aby wykonać obliczenia dla każdego wpisu. Jedyną sztuczką jest łączenie współrzędnych (X0, Y0, Z0) od pierwszego: zrób to z bazą danych lub za pomocą VLOOKUP ().
whuber
Nie byłem świadomy. Nawet lepiej! RADIANS jest oczywiście funkcją Excela, do której przekazuję albo azymut, albo dip.
Jakub Sisak GeoGraphics
3

Chociaż jest to stare pytanie, inne odpowiedzi są nieodpowiednie. Przeliczanie odległości (zmierzona głębokość), zanurzenie (nachylenie), azymut na współrzędne 3D zależy od tego, jak interpretujesz, co dzieje się między miejscami, w których wykonano pomiary (stacje pomiarowe). Obecnie standardową praktyką jest „minimalna krzywizna”, w której zakłada się, że łuk jest połączony z każdym miejscem pomiaru.

http://www.drillingformulas.com/minimum-curvature-method/ zawiera pełne informacje na temat obliczania lokalizacji X, Y i Z. Odpowiednie porcje to:

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
źródło
Odkryłem, że jeśli istnieje prosty odcinek (I1 == I2 i A1 == A2), to B kończy się na 0, a więc RF powoduje dzielenie przez błąd zerowy. W przypadku, gdy B wynosi zero, wówczas ustawiam RF na 1 (jako ograniczenie RF, gdy B idzie do 0, wynosi 1). W przeciwnym razie to działa świetnie, dzięki!
Saxon Druce