Astronomi

Bagaimana cara menukar dari koordinat Cartesian J2000 ke koordinat Cartesian Galactic?

Bagaimana cara menukar dari koordinat Cartesian J2000 ke koordinat Cartesian Galactic?


We are searching data for your request:

Forums and discussions:
Manuals and reference books:
Data from registers:
Wait the end of the search in all databases.
Upon completion, a link will appear to access the found materials.

Saya menggunakan pangkalan data bintang (pangkalan data HYG) yang mempunyai kedudukan dan kecepatan xyz untuk bintang. Ini memiliki + X menuju ekuinoks vernal, + Z menuju kutub langit utara, + Y menuju Kenaikan Kanan 6 jam dan ia berdasarkan J2000 dan berpusat pada matahari.

Saya ingin menukarnya menjadi sistem koordinat Cartesian Galactic yang berpusat di bawah sinar matahari, dengan + X menunjuk ke tengahnya dan + Z bersudut sehingga menembak keluar dari pesawat galaksi di sebelah utara.

Ini semestinya hanya putaran sederhana, tetapi setelah banyak pencarian saya tidak dapat mencari putaran untuk digunakan, atau cara mengubahnya melalui sistem ketiga. Adakah ada yang tahu bagaimana mendapatkan matriks putaran yang betul di sini? (atau kaedah putaran lain)


Untuk mengubah $ khatulistiwa (x, y, z) $ menjadi $ galaksi (x_G, y_G, z_G) $, dokumentasi keluaran data Gaia 1, bahagian 3.1.7, menggunakan

$$ mula {bmatrix} x_G y_G z_G end {bmatrix} = mathbf {A} '_ G begin {bmatrix} x y z akhir {bmatrix} $$

di mana

$$ mathbf {A} '_ G = begin {bmatrix} {−0.054876} ~ {−0.873437} ~ {−0.483835} {+0.494109} ~ {−0.444830} ~ {+0.746982} {−0.867666 } ~ {−0.198076} ~ {+0.455984} end {bmatrix} $$ terdiri daripada tiga putaran bingkai koordinat $$ mathbf {A} '_ G = mathbf {R} _Z (-l_ Omega) ~ mathbf {R} _X (90 ^ circ - delta_G) ~ mathbf {R} _Z ( alpha_G + 90 ^ circ) $$ dengan kutub galaksi utara pada koordinat khatulistiwa $ ( alpha_G = 192.859 ^ circ, delta_G = + 27.128 ^ circ) $ dan khatulistiwa galaksi melintasi khatulistiwa langit pada garis bujur galaksi $ l_ Omega = 32.932 ^ circ $.

Ini bersamaan dengan transformasi yang ditentukan dalam katalog Hipparcos, jilid 1, bahagian 1.5.3.

Murray 1989 dan Liu 2011 memberikan matriks serupa yang elemennya berbeza setelah 6 tempat perpuluhan, yang penting hanya jika anda memerlukan ketepatan sub-arka.


Bagaimana cara menukar koordinat Longitud, Lintang, Ketinggian ke Cartesian?

Saya memuat turun data cuaca dan ia mempunyai nilai garis bujur (dalam perpuluhan), garis lintang (dalam perpuluhan), dan ketinggian (dalam m). Tidak ada maklumat mengenai sistem koordinat yang digunakan. Bagaimana saya boleh menukarnya ke koordinat kartesian? Percubaan saya ada di bawah. Tetapi, masalah saya adalah mencari formula yang tepat

Jawapan di sini oleh Daphna Shezaf menggunakan formula yang berbeza. Walau bagaimanapun, ia tidak menggunakan ketinggian. Saya akan menghargai jika seseorang dapat membersihkan kekeliruan saya, haruskah ketinggian digunakan dalam menukar dari panjang / lat atau tidak ?. Apakah formula yang betul ?. Saya telah cuba membandingkan hasil kod saya di laman web ini dengan menggunakan panjang, lat, ketinggian tertentu. Kedua-dua kaedah saya di atas mempunyai hasil yang jauh dari hasil yang diperoleh dari laman web


Untuk apa koordinat 3-D Cartesian digunakan dalam kehidupan sebenar?

Kita hidup dalam dunia 3D, jadi koordinat Cartes 3D digunakan untuk menggambarkan masalah di dunia kita. Walau bagaimanapun, sehingga kita mempunyai paparan holografik, cara kita biasanya memaparkan maklumat adalah 2D, seperti kertas atau monitor. Jadi 3D biasanya diproyeksikan ke 2D ini boleh menjadi unjuran perspektif atau unjuran ortografik.

Penggunaan koordinat 3D yang paling biasa adalah dalam bidang kejuruteraan, fizik, dan grafik komputer. Ini akan dilakukan dengan perisian seperti AutoCAD, Maya, SoftImage, 3DS Max, dan Blender. Seperti yang anda ketahui, filem animasi komputer dapat ditayangkan dalam bentuk 3D atau 2D, tetapi kedua-duanya masih mempunyai perspektif. Untuk mempunyai unjuran perspektif, diperlukan untuk memodelkan semuanya dalam bentuk 3D.

Tangkapan gerakan dilakukan dalam bentuk 3D, sehingga dapat dimasukkan ke dalam permainan komputer atau efek khas dalam filem serta film animasi.

Dalam bidang kejuruteraan, bangunan atau jambatan atau struktur apa pun, memerlukan 3D supaya pekerja tahu sejauh mana lebar, panjang, dan tinggi untuk membina sesuatu. Penggunaan lain yang mungkin pernah anda dengar ialah pencetak 3D jelas anda memerlukan koordinat 3D untuk dihantar ke pencetak agar dapat membina sesuatu yang bermakna.

Terdapat beberapa kegunaan lain yang mungkin anda ketahui seperti peta topografi yang menunjukkan ketinggian kedudukan 2D atau paparan lalu lintas udara akan menunjukkan kedudukan 2D pesawat, tetapi menunjukkan ketinggiannya di sebelah kedudukan.


Jawapan dan Jawapan

Saya mengusahakan soalan ini, lebih khusus lagi dengan cara kedua selama 3-4 hari selepas sekolah :(

Saya mengusahakan soalan ini, lebih khusus lagi dengan cara kedua selama 3-4 hari selepas sekolah :(

Perhatikan bahawa cara lain untuk melihatnya adalah:

## Delta vec topi Delta r + r Delta theta hat < theta> ##

Perhatikan bahawa cara lain untuk melihatnya adalah:

## Delta vec topi Delta r + r Delta theta hat < theta> ##

Terima kasih untuk jawapan anda! Anda membuat saya gembira, saya memeriksa di sini setiap 5 minit untuk melihat sesuatu yang baru: P

Maaf, saya tidak faham bagaimana anda membuat terbitan ## Delta vec##.

Saya juga suka kaedah pertama. Saya rasa saya agak perfeksionis, saya tidak boleh melupakan semuanya dengan mudah sesuatu yang menjadikan saya fokus pada mereka daripada terus berjalan. Saya bertanya pada diri sendiri apa yang boleh saya hilangkan dengan melewatkan kaedah ini dan tentu saja saya tidak mempunyai jawapan yang tepat. Saya fikir saya boleh menghadapi kaedah ini atau perkara-perkara ini pada masa akan datang. Apa pandangan anda tentang ini?

Saya tidak dapat membuka fail pdf di # 6.

Walaupun begitu, saya masih hairan di mana masalah anda sebenarnya. Oleh itu mari kita buat konsep lagi. Anda mulakan dengan koordinat Cartesian dari pesawat Euclidean, iaitu, terdapat dua vektor unit tegak lurus ## vec_j ##. Vektor kedudukan diberikan sebagai fungsi masa oleh
$ vec(t) = x_j (t) vec_j $
Di sini dan di bawah ini konvensyen penjumlahan (Cartesian) Einstein digunakan, iaitu, anda harus menjumlahkan indeks yang sama dari 1 hingga 2.

Sekarang kami memperkenalkan koordinat kutub. Mereka berkaitan dengan yang Cartesian oleh
$ vec= r ( cos theta vec_1 + sin theta vec_2).$
Sekarang anda ingin menggunakan pada setiap titik asas yang disesuaikan dengan koordinat umum ## q_1 = r ## dan ## q_2 = theta ##.

Untuk itu, anda memikirkan pesawat yang akan diliputi oleh garis koordinat, iaitu, oleh garis ## r ## - garis di mana ## theta ## tetap berterusan dan ## r ## melintasi julatnya, iaitu, ## r dalam mathbb_ <& gt0> ## dan ## theta ## - garis di mana ## r ## ditahan tetap dan ## theta ## berjalan di atas julatnya, iaitu, ## theta in [0,2 pi) ##.

Sekarang dalam langkah pertama anda memperkenalkan asas holonomous, yang hanya diberikan oleh vektor tangen pada garis ## r ## dan garis ## theta ##, yang diberikan oleh derivatif separa yang sesuai. koordinat umum,
$ vec_r = partial_r vec= ( cos theta vec_1 + sin theta vec_2), quad vec_ < theta> = separa_ < theta> vec= r (- sin theta vec_1 + cos theta vec_2).$
Sekarang anda menyedari bahawa vektor ini selalu tegak lurus antara satu sama lain, iaitu ## vec_r cdot vec_ < theta> = 0 ##.

Dalam keadaan seperti ini, adalah wajar untuk menormalkan vektor ini dan mempunyai asas Cartesian pada setiap titik dalam satah yang terdiri daripada vektor normal tegak lurus. Untuk itu anda mengira
$ g_r = | vec_r | = 1, quad g _ < theta> = | vec_ < theta> | = r $
dan kemudian memperkenalkan
$ vec_r = frac <1> vec_r = vec_r = ( cos theta vec_1 + sin theta vec_2), quad vec_ < theta> = frac <1>> vec_ < theta> = (- sin theta vec_1 + cos theta vec_2).$
Sekarang jika anda mempunyai medan vektor sewenang-wenangnya, anda boleh menguraikannya dalam komponennya berdasarkan asas ini, tetapi asas ini bergantung pada tempat anda berada di ruang angkasa. Oleh itu, semasa mengambil derivatif, anda harus mengambil kira pergantungan asas pada kedudukan. Untuk itu, anda memerlukan derivatif separa dari vektor asas wrt. koordinat umum. Ini dapat anda kira dengan mudah menggunakan komponen Cartesian yang diberikan di atas. Anda mendapatkan
$ partial_r vec_r = 0, quad partial_ < theta> vec_= vec_ < theta>, quad partial_r vec_ < theta> = 0, quad partial_ < theta> vec_ < theta> = - vec_r $

Sekarang untuk contoh anda mengenai halaju jisim titik. Dalam koordinat kutub yang anda ada
$ vec= r vec_r $
Sekarang untuk mendapatkan halaju, anda harus menggunakan turunan masa vektor ini, termasuk vektor dasar. Untuk ini, anda menggunakan peraturan rantai untuk fungsi bergantung pada pemboleh ubah bebas ## r ## dan ## theta ##:
$ dot < vec> = titik vec_r + r dot < vec> _r = titik vec_r + r ( titik partial_r vec_r + dot < theta> partial_ < theta> vec_r) = titik vec_r + r dot < theta> vec_ < theta>. $
Itu sahaja yang anda perlukan!


Koordinat Cartesian di Bima Sakti (M45)

Saya cuba membuat sebilangan petak 3D gugus bintang dan ingin melihat apakah ada yang boleh memeriksa kaedah saya untuk mengira koordinat (x, y, z) dari koordinat Galaksi, yang Matahari (x = 0, y = 0, z = 0). Saya menggunakan beberapa bintang paling terang di M45 sebagai objek ujian saya. Mari gunakan bintang Alcyone sebagai contoh. Berikut adalah Galactic Coordinates (dari pangkalan data SIMBAD yang saya percayai):

  • Jarak: 403 (+/- 50) ly
  • Bujur (°, min, saat): (166, 40, 6.2)
  • Lintang (°, min, saat): (-23, 27, 19.1)

Diubah menjadi sistem koordinat Sfera, di mana (°, min, saat) dengan jelas ditukar kepada darjah:

Saya fikir saya boleh menukarnya menjadi Cartesian, dalam satuan tahun cahaya (ly):

Dengan menggunakan ini, koordinat Alcyone menjadi: (-359.7376898696, 85.2479782529, -160.4075331494)

Sekarang untuk ujian. Saya telah melakukan ini untuk 11 bintang paling terang di M45 dan memplotnya di Octave (yang seperti Matlab sahaja percuma). Berikut adalah video yang menggambarkan seperti apa ini, bersama dengan beberapa penutup skrin di bawah:


1 Jawapan 1

Saya dapat memuatkan katalog hip_main.dat ke dalam Jadual seperti:

(Anda seharusnya dapat memasukkan URL untuk nama fail juga, tetapi atas sebab tertentu yang tidak berfungsi untuk saya, tetapi ia berjaya jika saya memuat turun fail ke direktori tempatan saya terlebih dahulu - masalahnya nampaknya fail asal di pelayan dizipkan, dan pembaca CDS keliru dengan .gz dalam nama fail. Ini akan menjadi perkara yang baik dan mudah untuk diperbaiki dalam Astropy.)

Ia mempunyai koordinat dalam hms / dms dan juga darjah. Darjah lebih cepat dihuraikan jadi saya membuat SkyCoord dari mereka. Secara automatik mengesan formatnya dalam darjah:

Ia juga dapat mengesan ICRS J1991.25 dengan betul dari ReadMe.

Anda boleh mendapatkan kedudukan pemerhati di Bumi seperti:

(Saya hanya menggunakan lokasi yang diketahui di sini tetapi anda boleh meletakkan koordinat di mana sahaja di Bumi).

Kemudian jika anda mahu, anda boleh membuat bingkai alt / az tempatan seperti:

Anda juga boleh menukarnya ke koordinat kartesian dengan local_coords.cartesian.

Malangnya ketika memproyeksikannya ke beberapa FoV langit untuk tujuan simulasi gambar, itu sedikit melebihi saya. Saya mungkin dapat mengetahuinya tetapi mungkin orang lain akan lebih mudah mengetahui cara melakukannya. Tetapi sekurang-kurangnya sekarang anda mempunyai sebahagian daripada persamaan (jika saya memahami soalan anda dengan betul).


Bagaimana menukar dari koordinat Cartesian J2000 ke koordinat Cartesian Galactic? - Astronomi

Apabila SlaMap dibuat pertama kali, ia hanya melakukan pemetaan unit (null) pada sepasang koordinat. Dengan menggunakan fungsi astSlaAdd, satu siri langkah penukaran koordinat kemudian dapat ditambahkan, dipilih dari yang disediakan oleh Perpustakaan Astronomi Posisi SLALIB (Catatan Pengguna Starlink SUN / 67). Ini membolehkan penukaran pelbagai langkah antara pelbagai sistem koordinat cakerawala dipasang dari blok bangunan yang disediakan oleh SLALIB.

Untuk perincian penukaran koordinat individu yang ada, lihat penerangan fungsi astSlaAdd.

Lesen

Program ini diedarkan dengan harapan dapat bermanfaat, tetapi TANPA JAMINAN tanpa jaminan yang tersirat mengenai KEBAIKAN atau KESESUAIAN UNTUK TUJUAN TERTENTU. Lihat Lesen Awam Umum GNU untuk maklumat lebih lanjut.

Anda semestinya telah menerima salinan GNU General Public License bersama dengan program ini jika tidak, tulis kepada Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA

Ringkasan Kelas Bersarang

Kelas / antara muka bersarang yang diwarisi dari kelas uk.ac.starlink.ast.Mapping

Ringkasan Medan

Medan yang diwarisi dari kelas uk.ac.starlink.ast.Mapping

Medan yang diwarisi dari kelas uk.ac.starlink.ast.AstObject

Ringkasan Pembina

Ringkasan Kaedah

Kaedah yang diwarisi dari kelas uk.ac.starlink.ast.Mapping

Kaedah yang diwarisi dari kelas uk.ac.starlink.ast.AstObject

Kaedah yang diwarisi dari kelas java.lang.Object

Perincian Pembina

Peta Sla

Peta Sla

Perincian Kaedah

Apabila SlaMap pertama kali dibuat (menggunakan astSlaMap), ia hanya melakukan Pemetaan unit (null). Dengan menggunakan astSlaAdd (berulang kali jika perlu), satu atau lebih langkah penukaran koordinat dapat ditambahkan, yang akan dilakukan SlaMap secara berurutan. Ini membolehkan penukaran pelbagai langkah antara pelbagai sistem koordinat cakerawala dipasang dari blok bangunan yang disediakan oleh SLALIB.

Biasanya, jika atribut Invert SlaMap adalah sifar (lalai), maka transformasi hadapannya dilakukan dengan menjalankan setiap penukaran koordinat individu yang ditentukan oleh astSlaAdd mengikut urutan yang diberikan (iaitu dengan penukaran yang paling baru ditambahkan berlaku terakhir).

Urutan ini dibalikkan jika atribut Invert SlaMap tidak sifar (atau jika transformasi songsang diminta dengan cara lain) dan setiap penukaran koordinat individu juga diganti dengan kebalikannya sendiri. Proses ini membalikkan kesan keseluruhan SlaMap. Dalam kes ini, penukaran pertama yang akan berlaku adalah kebalikan dari penukaran yang baru ditambahkan.

Catatan

Penukaran SLALIB


- "ADDET" (EQ): Tambahkan istilah E penyimpangan.
- "SUBET" (EQ): Kurangkan istilah E penyimpangan.
- "PREBN" (BEP0, BEP1): Menerapkan model pressesi Bessel-Newcomb pra-IAU 1976 (FK4).
- "PREC" (EP0, EP1): Terapkan model prasyarat IAU 1975 (FK5).
- "FK45Z" (BEPOCH): Tukar FK4 menjadi FK5 (tidak ada gerakan atau paralaks yang betul).
- "FK54Z" (BEPOCH): Tukar FK5 menjadi FK4 (tidak ada gerakan atau paralaks yang betul).
- "AMP" (TARIKH, EQ): Tukarkan geosentrik yang kelihatan menjadi tempat yang bermaksud.
- "PETA" (EQ, TARIKH): Tukarkan tempat rata-rata menjadi jelas geosentrik.
- "ECLEQ" (TARIKH): Tukar koordinat ekliptik ke khatulistiwa FK5 J2000.0.
- "EQECL" (TARIKH): Tukar khatulistiwa FK5 J2000.0 ke koordinat ekliptik.
- "GALEQ": Tukar koordinat galaksi ke khatulistiwa FK5 J2000.0.
- "EQGAL": Tukarkan khatulistiwa FK5 J2000.0 ke koordinat galaksi.
- "HFK5Z" (JEPOCH): Tukar koordinat ICRS ke khatulistiwa FK5 J2000.0.
- "FK5HZ" (JEPOCH): Tukar koordinat khatulistiwa FK5 J2000.0 ke ICRS.
- "GALSUP": Tukarkan galaksi ke koordinat supergalaktik.
- "SUPGAL": Tukar koordinat supergalaktik menjadi galaksi.
- "J2000H": Tukarkan J2000.0 dinamik ke ICRS.
- "HJ2000": Tukar ICRS menjadi J2000.0 dinamik.
- "R2H" (TERAKHIR): Tukar RA ke Sudut Jam.
- "H2R" (TERAKHIR): Tukar Sudut Jam ke RA.

Sebagai contoh, untuk menggunakan penukaran "ADDET", yang memerlukan satu EQ argumen, anda harus melihat dokumentasi untuk SLA_ADDET rutin SLALIB. Ini menerangkan penukaran secara terperinci dan menunjukkan bahawa EQ adalah zaman Besselian dari khatulistiwa dan ekuinoks min. Nilai ini kemudiannya harus diberikan kepada astSlaAdd dalam args [0].

Sebagai tambahan, rentetan berikut dapat diberikan untuk penukaran yang lebih kompleks yang tidak sesuai dengan satu rutin SLALIB (DIURAB adalah besarnya vektor penyimpangan diurnal dalam unit "hari / (2.PI)", DATE adalah Julian yang Diubahsuai Tarikh pemerhatian, dan (OBSX, OBSY, OBZ) adalah koordinat kartesian Heliocentric-Aries-Ecliptic, dalam meter, pemerhati):


- "HPCEQ" (DATE, OBSX, OBSY, OBSZ): Tukar koordinat Helioprojektif-Cartesian ke khatulistiwa J2000.0.
- "EQHPC" (DATE, OBSX, OBSY, OBSZ): Tukarkan koordinat khatulistiwa J2000.0 ke Helioprojective-Cartesian.
- "HPREQ" (TARIKH, OBSX, OBSY, OBSZ): Tukar koordinat Helioprojektif-Radial ke khatulistiwa J2000.0.
- "EQHPR" (DATE, OBSX, OBSY, OBSZ): Tukar koordinat khatulistiwa J2000.0 ke Helioprojective-Radial.
- "HEEQ" (TARIKH): Tukar koordinat helio-ekliptik ke khatulistiwa J2000.0.
- "EQHE" (TARIKH): Tukar koordinat khatulistiwa J2000.0 menjadi helio-ekliptik.
- "H2E" (LAT, DIRUAB): Tukar koordinat cakrawala ke khatulistiwa.
- "E2H" (LAT, DIURAB): Tukar koordinat khatulistiwa ke ufuk.

Perhatikan, penukaran "H2E" dan "E2H" bertukar antara koordinat cakrawala toposentrik (azimuth, elevasi), dan koordinat khatulistiwa tempatan yang jelas (sudut jam, deklinasi). Oleh itu, kesan penyimpangan diurnal diambil kira dalam penukaran tetapi kesan pembiasan atmosfera tidak.


Utiliti Astronomi¶

Fungsi dan kelas utiliti astronomi berdasarkan perpustakaan libnova.

lsl.astro.B1950_UTC_JD¶ UTC Julian hari J2000.0 koordinat zaman. lsl.astro.B1950_to_J2000(pos)

Tukarkan zaman B1950 ke zaman J2000 untuk koordinat khatulistiwa.

Param: pos - objek jenis equ_posn memberikan koordinat B1950

Returns: objek jenis equ_posn memberikan koordinat J2000.

lsl.astro.DJD_OFFSET¶ Diimbangi dalam beberapa hari antara waktu UNIX (era 1970/01/01) dan hari Julian biasa. lsl.astro.J2000_UTC_JD¶ Perbezaan dalam detik antara masa TT dan TAI. lsl.astro.J2000_to_B1950(pos)

Ubah zaman J2000 ke zaman B1950 untuk koordinat khatulistiwa.

Param: pos - objek jenis equ_posn memberikan koordinat J2000

Returns: objek jenis equ_posn memberikan koordinat B1950.

lsl.astro.MJD_OFFSET¶ Diimbangi pada hari antara hari Julian biasa dan hari Julian Dublin. lsl.astro.SECS_IN_DAY¶ UTC Julian hari B1950.0 koordinat zaman. lsl.astro.TAI_TT_OFFSET¶ & # 8221 Kelajuan cahaya dalam meter / saat. lsl.astro.UNIX_OFFSETJumlah detik dalam satu hari lsl.astro.tambah_hms(sumber, dest)

Wrapper untuk fungsi libnova ln_add_hms (). Menambah masa / sudut jam, minit, saat.

Param: sumber - Objek jenis representasi hms sudut 1. Param: dest - Objek jenis hms mewakili sudut 2.

Mengembalikan objek jenis hms yang mewakili jumlah sudut.

Wrapper untuk fungsi libnova ln_add_secs_hms (). Tambahkan saat ke waktu / sudut jam, minit, saat.

Param: hms - Objek jenis hms mewakili sudut. Param: saat - Detik detik (terapung) untuk menambah sudut.

Mengembalikan objek jenis hms yang mewakili sudut + ofset.

Pembungkus untuk struktur libnova ln_date. Mewakili masa UT dalam unit kalendar.

Anggota awam: tahun - Tarikh tahun (bilangan bulat). bulan - Tarikh bulan (bilangan bulat). hari - Tarikh hari (bilangan bulat). jam - Jam tarikh (bilangan bulat). minit - Tarikh minit (bilangan bulat). saat - Detik detik (terapung). memuatkan(tarikhStr, timeStr)

Muatkan objek tarikh dari rentetan yang diformat.

Param: dateStr - Rentetan format YYYY-MM-DD tarikh pemberian. Param: timeStr - Rentetan format HH: MM: SS.S memberi masa.

ke_jd()¶ Tukar waktu kalendar ke hari Julian. Mengembalikan waktu UTC dalam hari Julian (terapung). ke_zon(gmtoff = Tiada)

Tukar waktu kalendar UTC ke waktu kalendar tempatan.

Param: gmtoff - detik tempatan diimbangi dari UTC (integer -43200 hingga 43200). jika ditetapkan ke Tiada, nilai pengimbangan modul waktu digunakan untuk lokasi semasa

Mengembalikan objek jenis zonedate yang mewakili waktu tempatan.

Pembungkus untuk fungsi libnova ln_date_to_zonedate (). Tukar waktu kalendar UTC ke waktu kalendar tempatan.

Param: tarikh - Objek tarikh yang mewakili waktu UTC. Param: gmtoff - Detik mengimbangi dari UTC (integer -43200 hingga 43200).

Mengembalikan objek jenis zonedate yang mewakili waktu tempatan.

Pembungkus untuk fungsi libnova ln_deg_to_dms (). Tukar sudut apungan darjah ke darjah, minit, saat.

Param: darjah - Sudut dalam darjah (apungan).

Mengembalikan objek jenis dms yang mewakili sudut.

Wrapper untuk fungsi libnova ln_deg_to_hms (). Tukar sudut apungan darjah ke jam, minit, saat.

Param: darjah - Sudut dalam darjah (apungan).

Mengembalikan objek jenis hms yang mewakili sudut.

Wrapper untuk fungsi libnova ln_deg_to_rad (). Tukarkan degress menjadi radian.

Param: darjah - Sudut dalam darjah (apungan).

Mengembalikan sudut dalam radian (apungan).

Tukar darjah bujur menjadi detik masa.

Param: darjah - bujur (darjah apungan)

Returns: Detik (float) mengimbangi masa untuk bujur.

Dapatkan kosinus arah dari sudut azimuth dan zenith. Fungsi ini mengira nilai kosinus berdasarkan sistem koordinat LWA:

Param: posn - objek jenis hrz_posn memberikan kedudukan tempatan

Mengembalikan tupel (l, m, n) nilai apungan untuk kosinus arah.

Pembungkus untuk struktur libnova ln_dms. Mewakili sudut dalam darjah, minit, saat.

Anggota awam: neg - Benar jika diukur sebelah barat GM, selatan EQ Salah jika diukur sebelah timur GM, utara EQ.

darjah - Darjah sudut (integer). minit - Minit sudut (integer). saat - Detik sudut (apungan).

ke_deg()¶ Tukar darjah sudut, minit, saat ke darjah apungan. Mengembalikan sudut dalam darjah (apungan). ke_hms()¶ Tukar darjah sudut, minit detik hingga jam, minit, saat. Returns: objek jenis hms yang mewakili sudut. lsl.astro.dms_to_deg(dms)

Wrapper untuk fungsi libnova ln_dms_to_deg (). Tukar darjah sudut, minit, saat ke darjah apungan.

Param: dms - Objek jenis dms yang mewakili sudut.

Mengembalikan sudut dalam darjah (apungan).

Wrapper untuk fungsi libnova ln_dms_to_rad (). Tukar darjah sudut, minit, saat menjadi radian.

Param: dms - Objek jenis dms yang mewakili sudut.

Mengembalikan sudut dalam radian (apungan).

Merupakan kedudukan sebagai bujur dan garis lintang ekliptik.

Anggota awam: lng - Koordinat kedudukan bujur (darjah apungan). lat - Koordinat latitud kedudukan (darjah apungan). Ahli juga boleh diakses dengan subskrip: ecl_posn [0] = lng ecl_posn [1] = lat ke_equ(jD)

Dapatkan koordinat khatulistiwa dari koordinat ekliptikal untuk masa tertentu.

Param: jD - UTC Hari Julian (terapung).

Mengembalikan objek jenis equ_posn yang mewakili kedudukan khatulistiwa.

Pembungkus untuk struktur libnova ln_equ_posn. Merupakan koordinat kedudukan khatulistiwa / cakerawala.

Anggota awam: ra - Posisikan sudut kenaikan kanan (darjah apungan). dec - Sudut deklinasi kedudukan (darjah apungan). Ahli juga boleh diakses dengan subskrip: equ_posn [0] = ra equ_posn [1] = dec pembezaan sudut(posn)

Dapatkan pemisahan sudut dari kedudukan khatulistiwa.

Param: posn - Objek jenis equ_posn mewakili kedudukan badan 2.

Mengembalikan pemisahan sudut dalam darjah (apungan).

format()¶ Kembalikan tuple (ra, dec) di mana ra adalah objek hms dan dec adalah objek dms yang mewakili koordinat kedudukan ra dan dec. pendahuluan(jD)

Dapatkan kedudukan objek cakerawala yang memperhitungkan prasyarat. Koordinat khatulistiwa mestilah untuk zaman J2000.

Param: jD - UTC Julian day (float) untuk mengukur kedudukan.

Returns: Kedudukan objek khatulistiwa yang disesuaikan sebagai jenis equ_posn.

Dapatkan koordinat ekliptik dari koordinat khatulistiwa.

Param: jD - UTC Hari Julian (terapung).

Mengembalikan objek jenis lnlat_posn yang mewakili kedudukan eklipitcal.

Dapatkan koordinat galaksi J2000 dari koordinat khatulistiwa yang jelas.

Param: jD - UTC Julian hari untuk mendapatkan kedudukan.

Mengembalikan objek jenis gal_posn yang mewakili kedudukan galaksi objek & # 8217s.

Dapatkan koordinat mendatar tempatan dari koordinat khatulistiwa / cakerawala.

Param: pemerhati - Objek jenis lnlat_posn yang mewakili kedudukan pemerhati. Param: jD - UTC Hari Julian (terapung).

Mengembalikan objek jenis hrz_posn yang mewakili kedudukan tempatan.

Pembungkus untuk struktur libnova ln_gal_posn. Mewakili koordinat kedudukan galaksi.

Anggota awam: l - Kedudukan sudut bujur (darjah apungan). b - Sudut lintang kedudukan (darjah apungan). Ahli juga boleh diakses dengan subskrip: gal_posn [0] = l gal_posn [1] = b format()¶ Kembalikan tuple (lng, lat) di mana lng adalah objek dms dan lat adalah objek dms yang mewakili koordinat kedudukan garis bujur dan garis lintang galaksi. ke_equ(jD)

Dapatkan koordinat khatulistiwa yang jelas dari koordinat galaksi J2000.

Param: jD - UTC Julian hari untuk mendapatkan kedudukan.

Mengembalikan objek jenis equ_posn yang mewakili objek & # 8217s kedudukan khatulistiwa yang jelas.

Kelas untuk mewakili kedudukan geografi dari segi garis bujur, ketinggian, dan ketinggian. Ini adalah sekumpulan koordinat geodetik berdasarkan model WGS84.

Anggota awam: lng - longitud (float) lat - latitude (float) elv - elevasi (float) Anggota juga boleh diakses dengan subskrip: geo_posn [0] = lng geo_posn [1] = lat geo_posn [2] = elv lsl.astro.get_angular_separation(posn1, posn2)

Wrapper untuk fungsi libnova ln_get_angular_separation (). Dapatkan pemisahan sudut dari kedudukan khatulistiwa.

Param: posn1 - Objek jenis equ_posn mewakili kedudukan badan 1. Param: posn2 - Objek jenis equ_posn mewakili kedudukan badan 2.

Mengembalikan pemisahan sudut dalam darjah (apungan).

Wrapper untuk fungsi libnova ln_get_apparent_posn (). Dapatkan kedudukan jelas objek cakerawala yang memperhitungkan prasyarat, pemakanan, penyimpangan, dan gerakan yang wajar.

Param: mean_position - J2000 khatulistiwa kedudukan min objek sebagai jenis equ_posn.

Param: jD - UTC Julian day (float) untuk mengukur kedudukan. Param: proper_motion - objek jenis equ_posn memberikan objek & # 8217s gerakan yang betul

Returns: Kedudukan khatulistiwa objek sebagai jenis equ_posn.

Wrapper untuk fungsi libnova ln_get_apparent_sidereal_time (). Dapatkan masa sidereal yang jelas dari hari Julian.

Param: jD - UTC Hari Julian (terapung).

Mengembalikan masa sidereal GM (jam apungan).

Wrapper untuk fungsi libnova ln_get_date (). Tukar hari Julian ke waktu kalendar.

Param: jD - Waktu UTC dalam hari Julian (terapung).

Mengembalikan objek tarikh jenis yang mewakili waktu UTC.

Wrapper untuk fungsi libnova ln_get_date_from_sys (). Mendapat masa kalendar dari jam sistem.

Mengembalikan objek tarikh jenis yang mewakili waktu UTC.

Wrapper untuk fungsi libnova ln_get_day_of_week (). Mendapat hari dalam seminggu dari waktu kalendar.

Param: tarikh - Objek tarikh jenis yang mewakili waktu UTC.

Kembali hari dalam seminggu (0 = Ahad, 6 = Sabtu).

Wrapper untuk fungsi libnova ln_ecl_from_equ (). Dapatkan koordinat ekliptik dari koordinat khatulistiwa untuk masa tertentu.

Param: objek_ - Objek jenis equ_posn mewakili kedudukan khatulistiwa. Param: jD - UTC Hari Julian (terapung).

Mengembalikan objek jenis ecl_posn yang mewakili kedudukan ekliptik.

Wrapper untuk fungsi libnova ln_get_ecl_from_rect (). Dapatkan koordinat ekliptik dari koordinat segi empat tepat.

Param: rect - Objek jenis rect_posn mewakili kedudukan.

Mengembalikan objek jenis lnlat_posn yang mewakili kedudukan ekliptikal.

Wrapper untuk fungsi libnova ln_get_equ2000_from_gal (). Dapatkan koordinat khatulistiwa J2000 dari koordinat galaksi.

Param: objek_ - Objek jenis gal_posn mewakili kedudukan galaksi.

Mengembalikan objek jenis equ_posn yang mewakili kedudukan khatulistiwa J2000.

Wrapper untuk fungsi libnova ln_get_equ_aber (). Dapatkan kedudukan objek cakerawala untuk penyimpangan.

Param: mean_position - J2000 khatulistiwa kedudukan min objek sebagai jenis equ_posn.

Param: jD - UTC Julian day (float) untuk mengukur penyimpangan.

Returns: Kedudukan objek khatulistiwa yang disesuaikan sebagai jenis equ_posn.

Wrapper untuk fungsi libnova ln_get_equ_from_ecl (). Dapatkan koordinat khatulistiwa dari koordinat ekliptikal untuk masa tertentu.

Param: object_ - Objek jenis lnlat_posn yang mewakili kedudukan ekliptik. Param: jD - UTC Hari Julian (terapung).

Mengembalikan objek jenis equ_posn yang mewakili kedudukan khatulistiwa.

Wrapper untuk fungsi libnova ln_get_equ_from_gal (). Dapatkan koordinat khatulistiwa B1950 dari koordinat galaksi.

Param: objek_ - Objek jenis gal_posn mewakili kedudukan galaksi.

Mengembalikan objek jenis equ_posn yang mewakili kedudukan khatulistiwa B1950.

Wrapper untuk fungsi libnova ln_get_equ_from_hrz (). Dapatkan koordinat khatulistiwa / cakerawala dari koordinat mendatar tempatan.

Param: object_ - Objek jenis hrz_posn yang mewakili kedudukan mendatar. Param: pemerhati - Objek jenis lnlat_posn yang mewakili kedudukan pemerhati. Param: jD - UTC Hari Julian (terapung).

Mengembalikan objek jenis equ_posn yang mewakili kedudukan khatulistiwa.

Ubah koordinat segi empat tepat ke koordinat khatulistiwa.

Param: posn - Objek jenis kedudukan pemberian rect_posn.

Returns: Objek jenis equ_posn memberikan koordinat khatulistiwa.

Wrapper untuk fungsi libnova ln_get_equ_pm (). Menyelaraskan kedudukan khatulistiwa objek bintang untuk pergerakan yang betul.

Param: mean_position - J2000 khatulistiwa kedudukan min objek sebagai jenis equ_posn. Param: proper_motion - Objek jenis equ_posn memberikan objek & # 8217s gerakan betul

Param: jD - UTC Julian day (float) untuk mengukur kedudukan.

Returns: Kedudukan objek khatulistiwa yang disesuaikan sebagai jenis equ_posn.

Wrapper untuk fungsi libnova ln_get_equ_prec (). Dapatkan kedudukan objek cakerawala yang memperhitungkan prasyarat. Hanya berfungsi untuk menukar ke dan dari zaman J2000.

Param: mean_position - J2000 khatulistiwa kedudukan min objek sebagai jenis equ_posn. Param: jD - UTC Julian day (float) untuk mengukur kedudukan.

Returns: Kedudukan objek khatulistiwa yang disesuaikan sebagai jenis equ_posn.

Wrapper untuk fungsi libnova ln_get_equ_prec2 (). Dapatkan kedudukan objek cakerawala yang memperhitungkan prasyarat. Sekiranya libnova mempunyai versi yang lebih rendah daripada 0.12.0, fungsi ln_get_equ_prec_2 () tidak tersedia dan penggunaan perpindahan NOVAS C perpustakaan () dipanggil sebagai gantinya.

Param: mean_position - kedudukan pertama khatulistiwa objek sebagai jenis equ_posn. Param: fromJD - UTC Julian hari (terapung) pertama kali. Param: toJD - UTC Julian hari (terapung) kali kedua.

Returns: Kedudukan khatulistiwa objek sebagai jenis equ_posn ditukar dari masa 1 ke masa 2. lsl.astro.dapatkan_gal_from_equ(objek_)

Wrapper untuk fungsi libnova ln_gal_from_equ (). Dapatkan koordinat galaksi dari koordinat khatulistiwa B1950.

Param: objek_ - Objek jenis equ_posn mewakili kedudukan khatulistiwa B1950.

Mengembalikan objek jenis gal_posn yang mewakili kedudukan galaksi.

Wrapper untuk fungsi libnova ln_gal_from_equ2000 (). Dapatkan koordinat galaksi dari koordinat khatulistiwa J2000.

Param: objek_ - Objek jenis equ_posn mewakili kedudukan khatulistiwa J2000.

Mengembalikan objek jenis gal_posn yang mewakili kedudukan galaksi.

Ubah koordinat segi empat tepat ECEF kepada koordinat geografi. Diadaptasi dari & # 8220 Satelit Orbit & # 8221, Montenbruck dan Gill 2005, 5.85 - 5.88. Lihat juga kaedah gpstk ECEF :: asGeodetic ().

Param: posn - objek jenis kedudukan pemberian rect_posn.

Returns: objek jenis geo_posn memberikan koordinat geografi.

lsl.astro.dapatkan_gmtoff()¶ Dapatkan pengimbangan UTC tempatan berdasarkan modul waktu dan maklumat sistem Python. lsl.astro.dapatkan_hrz_from_equ(objek_, pemerhati, jD)

Wrapper untuk fungsi libnova ln_get_hrz_from_equ (). Dapatkan koordinat mendatar tempatan dari koordinat khatulistiwa / cakerawala.

Param: objek_ - Objek jenis equ_posn yang mewakili kedudukan cakerawala. Param: pemerhati - Objek jenis lnlat_posn yang mewakili kedudukan pemerhati. Param: jD - UTC Hari Julian (terapung).

Mengembalikan objek jenis hrz_posn yang mewakili kedudukan tempatan.

Wrapper untuk fungsi libnova ln_get_julian_day (). Tukarkan waktu kalendar ke hari Julian.

Param: tarikh - Objek tarikh jenis yang mewakili waktu UTC.

Mengembalikan waktu UTC dalam hari Julian (terapung).

Pembungkus untuk fungsi libnova ln_get_julian_from_sys ().

Mengembalikan hari Julian UTC (terapung) dari jam sistem.

Pembungkus untuk fungsi libnova ln_get_julian_from_timet (). Mendapat hari Julian dari waktu Unix.

Param: time_ - Unix timet dalam beberapa saat (bilangan bulat)

Mengembalikan hari Julian UTC (terapung).

Pembungkus untuk fungsi libnova ln_get_julian_local_date (). Tukar waktu kalendar tempatan ke hari Julian.

Param: zonedate - Objek jenis zonedate yang mewakili waktu tempatan.

Mengembalikan waktu UTC dalam hari Julian (terapung).

Wrapper untuk fungsi libnova ln_get_jupiter_equ_coords (). Dapatkan koordinat khatulistiwa Jupiter & # 8217 dari hari Julian. Kira penyimpangan dan penyusutan, tetapi bukan penggabungan.

Param: jD - UTC Hari Julian (terapung).

Mengembalikan objek jenis equ_posn yang mewakili kedudukan khatulistiwa.

Dapatkan kenaikan, transit, dan masa Jupiter & # 8217 dari hari Julian.

Param: jD - UTC Hari Julian (terapung). Param: pemerhati - Objek jenis lnlat_posn yang mewakili kedudukan pemerhati.

Mengembalikan Objek jenis rst_time yang mewakili masa ETC Ephemeris, atau Tiada jika objek itu berbentuk bulat. lsl.astro.dapatkan_libnova_version()

Get version of libnova C library in use.

Returns: A tuple of version numbers for libnova C library.

Get apparent local sidereal time from Julian day.

Param: lng - longitude degrees (float), E = positive, W = negative Param: jD - UTC Julian day (float).

Returns: Local apparent sidereal time (float hours).

Wrapper for libnova ln_get_lunar_equ_coords() function. Get the Moon’s apparent equatorial coordinates from Julian day. Accounts for aberration and precession, but not nutation.

Param: jD - UTC Julian day (float).

Returns object of type equ_posn representing equatorial position.

Get the Moon’s rise, transit, set times from Julian day.

Param: jD - UTC Julian day (float). Param: observer - Object of type lnlat_posn representing observer position.

Returns Object of type rst_time represeting UTC ephemeris times, or None if the object is circumpolar. lsl.astro.get_mars_equ_coords(jD)

Wrapper for libnova ln_get_mars_equ_coords() function. Get Mars’ apparent equatorial coordinates from Julian day. Accounts for aberration and precession, but not nutation.

Param: jD - UTC Julian day (float).

Returns object of type equ_posn representing equatorial position.

Get Mars’ rise, transit, set times from Julian day.

Param: jD - UTC Julian day (float). Param: observer - Object of type lnlat_posn representing observer position.

Returns Object of type rst_time represeting UTC ephemeris times, or None if the object is circumpolar. lsl.astro.get_mean_sidereal_time(jD)

Wrapper for libnova ln_get_mean_sidereal_time() function. Get mean sidereal time from Julian day.

Param: jD - UTC Julian day (float).

Returns GM mean sidereal time (float hours).

Wrapper for libnova ln_get_nutation() function. Get nutation corrections for a given time.

Param: jD - UTC Julian day (float) to measure nutation.

Returns: Nutation corrections as object of type nutation.

Wrapper for libnova ln_get_object_rst() function. Get rise, set, and transit times of a celstial object.

Param: jD - UTC Julian day (float) target time. Param: observer - object of type lnlat_posn giving observer position Param: object_ - object of type equ_posn giving target equatorial position

Returns: Object of type rst_time giving object’s ephemeris UTC times, or None if the object is circumpolar. lsl.astro.get_precession(jD1, pos, jD2)

Caculate precession of equatorial coordinates from one epoch to another.

Param: jD1 - UTC Julian day of epoch 1. Param: pos - object of type equ_posn giving epoch 1 position Param: jD2 - UTC Julian day of epoch 2.

Returns: object of type equ_posn giving epoch 2 position.

Transform equatorial coordinates to rectangular coordinates.

Param: posn - Object of type equ_posn giving position.

Returns: Object of type rect_posn giving rectangular coordinates (normallized to 1).

Transform geographical coordinates to ECEF rectangular coordinates. Adopted from “Satellite Orbits”, Montenbruck and Gill 2005, 5.83 - 5.84. Also see gpstk Geodetic::asECEF() method.

Param: posn - object of type geo_posn giving geographical coordinates.

Returns: object of type rect_posn giving ECEF position.

Wrapper for libnova ln_get_rel_posn_angle() function. Get relative position angle from equatorial positions.

Param: posn1 - Object of type equ_posn representing body 1 position. Param: posn2 - Object of type equ_posn representing body 2 position.

Returns position angle in degrees (float).

Wrapper for libnova ln_get_saturn_equ_coords() function. Get Saturn’s apparent equatorial coordinates from Julian day. Accounts for aberration and precession, but not nutation.

Param: jD - UTC Julian day (float).

Returns object of type equ_posn representing equatorial position.

Get Saturn’s rise, transit, set times from Julian day.

Param: jD - UTC Julian day (float). Param: observer - Object of type lnlat_posn representing observer position.

Returns Object of type rst_time represeting UTC ephemeris times, or None if the object is circumpolar. lsl.astro.get_solar_equ_coords(jD)

Wrapper for libnova ln_get_solar_equ_coords() function. Get Sun’s apparent equatorial coordinates from Julian day. Accounts for aberration and precession, and nutation.

Param: jD - UTC Julian day (float).

Returns object of type equ_posn representing equatorial position.

Wrapper for libnova ln_get_solar_rst() function. Get Sun’s rise, transit, set times from Julian day.

Param: jD - UTC Julian day (float). Param: observer - Object of type lnlat_posn representing observer position.

Returns Object of type rst_time represeting UTC ephemeris times, or None if the object is circumpolar.. lsl.astro.get_tai_from_sys()¶ Return the current time taken from the system clock as a TAI MJD (float). lsl.astro.get_timet_from_julian(jD)

Wrapper for libnova ln_get_timet_from_julian() function. Gets Unix time from Julian day.

Param: jD - UTC Julian day (float).

Returns Unix timet in seconds (integer).

Wrapper for libnova ln_get_venus_equ_coords() function. Get Venus’ apparent equatorial coordinates from Julian day. Accounts for aberration and precession, but not nutation.

Param: jD - UTC Julian day (float).

Returns object of type equ_posn representing equatorial position.

Get Venus’ rise, transit, set times from Julian day.

Param: jD - UTC Julian day (float). Param: observer - Object of type lnlat_posn representing observer position.

Returns Object of type rst_time represeting UTC ephemeris times, or None if the object is circumpolar. class lsl.astro.hms(hours=None, minutes=None, seconds=None)

Wrapper for libnova ln_hms structure. Represents times/angles in hours, minutes, seconds.

Public members: hours - Angle/time hours (integer). minutes - Angle/time minutes (integer). seconds - Angle/time seconds (float). to_deg()¶ Convert angles hours, minutes, seconds to float degrees. Returns angle in degrees (float). to_dms()¶ Convert angle hours, minutes, seconds to degrees, minutes, seconds. Returns: object of type dms representing angle. to_sec()¶ Convert angle hours, minutes, seconds to seconds. Returns: time/angle as seconds. lsl.astro.hms_to_deg(hms)

Wrapper for libnova ln_hms_to_deg() function. Convert angles hours, minutes, seconds to float degrees.

Param: hms - Object of type hms representing angle.

Returns angle in degrees (float).

Wrapper for libnova ln_hms_to_rad() function. Convert angles hours, minutes, seconds to float radians.

Param: hms - Object of type hms representing angle.

Returns angle in radians (float).

Convert hours, minutes, seconds to seconds.

Param: hms - object of type hms representing time/angle.

Returns: Seconds (float) offset of time/angle.

Wrapper for libnova ln_hrz_posn structure. Represents horizontal local position coordinates. The original libnova convention has been modified for the LWA wrapper. libnova measures azimuth angle clockwise from south to west, with due south equal to 0 degrees. LWA measures azimuth angle clockwise from north to east, with due north equal to 0 degrees. Also, method for using zenith angle instead of altitude angle have been added.

Public members: az - Position azimuth angle (float degrees). alt - Position altitude angle (float degrees) Members may also be accessed by subscript: hrz_posn[0] = az hrz_posn[1] = alt dir_cos()

Get direction cosines from horizontal coordinates.

Returns: A tuple (l,m,n) of float values for the direction cosines. l = unit vector in E direction (azimuth = 90) m = unit vector in N direction (azimuth = 0) n = unit vector in zenith direction (zenith = 0, altitude = 90) to_equ(observer, jD)

Get equatorial/celestial coordinates from local horizontal coordinates.

Param: observer - Object of type lnlat_posn representing observer position. Param: jD - UTC Julian day (float).

Returns object of type equ_posn representing equatorial position.

zen(value=None)¶ If value is None, returns position zenith angle (float degrees [0, 180]) Otherwise, sets the altitude according to the zenith angle value. lsl.astro.hrz_to_nswe(pos)

Wrapper for libnova ln_hrz_to_nswe() function. Get cardinal/ordinal azimuth direction.

Param: pos - Object of type hrz_posn giving local position.

Returns string giving direction.

Get modified julian day value from julian day value.

Param: jd - julian day (should be >= 2400000.5)

Returns: Modified julian day.

Convert Julian days into seconds.

Param: jD - Julian days (float).

Returns: Seconds as a float.

Get the number of leap seconds for given UTC time value.

Param: utcJD - The UTC JD time. This should be greater than 2441317.5 (1972 JAN 1).

Returns: The number of leap seconds (float) for the UTC time.

Wrapper for libnova ln_lnlat_posn structure. Represents position coordinates in latitude and longitude. When representing a geographical location, the longitude is negative when measured west of GM and positive is measured east of GM.

Public members: lng - Position longitude coordinate (float degrees). lat - Position latitude coordinate (float degrees). Members may also be accessed by subscript: lnlat_posn[0] = lng lnlat_posn[1] = lat format()¶ Return a tuple (lng, lat) where lng is an dms object and lat is a dms object representing longitude and latitude position coordinates. lsl.astro.mjd_to_jd(mjd)

Get julian day value from modified julian day value.

Param: mjd - modified julian day (should be >= 0.0)

Wrapper for libnova ln_nutation structure. Provides nutation information in longitude and obliquity.

Public members: longitude - Nutation in longitude (float degrees). obliquity - Nutation in ecliptic obliquity (float degrees). ecliptic - Obliquity of the ecliptic (float degrees). format()¶ Return a tuple (lng, obl, ecl) where lng is an dms object, obl is a dms object, and ecl is a dms object representing nutation in longitude and obliquity, and obliquity of the ecliptic. lsl.astro.rad_to_deg(radians)

Wrapper for libnova ln_rad_to_deg() function. Convert radians to degress.

Param: radians - Angle in radians (float).

Returns angle in degress (float).

Wrapper for libnova ln_rad_to_dms() function. Convert angles float radians to degrees, minutes, seconds.

Param: radians - Angle in radians (float).

Returns object of type dms representing angle.

Wrapper for libnova ln_rad_to_hms() function. Convert angles float radians to hours, minutes, seconds.

Param: radians - Angle in radians (float).

Returns object of type hms representing angle.

Put angle into range [0, 360].

Param: degrees - large angle (float degrees)

Returns: angle in range (float degrees)

Wrapper for libnova ln_rect_posn structure. Represents rectangular/Cartesian position coordinates.

Public members: X - Position X coordinate (float). Y - Position Y coordinate (float). Z - Position Z coordinate (float). Members may also be accessed by subscript: rect_posn[0] = X rect_posn[1] = Y rect_posn[2] = Z class lsl.astro.rst_time(rise=None, set=None, transit=None)

Wrapper for libnova ln_rst_time structure. Represents ephemeris rist, set, and transit times.

Public members: rise - Rise time in UTC Julian days (float). set - Set time in UTC Julian days (float). transit - Transit time in UTC Julian days (float). format()¶ Return a tuple (rise, set, transit) where all three are date objects representing the ephemeris times. lsl.astro.sec_to_jd(secs)

Convert seconds into julian days.

Param: secs - seconds (float)

Returns: Julian days as a float.

Get the TT JD time value for a given TAI JD time value.

Param: taiJD - The TAI JD time (float).

Returns: The TT JD value (float).

Get the UTC JD time value for a given TAI JD time value.

Param: taiJD - The TAI JD time (float). This should be greater than 2441317.5 (1972 JAN 1).

Returns: The UTC JD value (float).

Get UNIX time value for a given TAI MJDvalue.

Param: taiMJD - The TAI MJD time (float).

Get the UTC JD time value for a given TAI MJD value.

Param: mjdTAI - The TAI MJD time (float).

Returns: The UTC JD value (float).

Get the TAI JD time value for a given TT JD time value.

Param: ttJD - The TT JD time (float).

Returns: The TAI JD value (float).

Get the TDB JD time value for a given TT JD time value. Adopted from “Astronomical Almanac Supplement”, Seidelmann 1992, 2.222-1.

Param: ttJD - The TT JD time (float).

Returns: The TDB JD value (float).

Get the UTC JD time value for a given TT JD time value.

Param: ttJD - The TT JD time (float).

Returns: The UTC JD value (float).

Get the TAI MJD time value for a given UNIX time value.

Param: unixTime - the UNIX time (int/float)

Returns: The TAI MJD value.

Get the UTC JD time value for a given UNIX time value.

Param: unixTime - the UNIX time (int/float)

Get the TAI JD time value for a given UTC JD time value.

Param: utcJD - The UTC JD time (float). This should be greater than 2441317.5 (1972 JAN 1).

Returns: The TAI JD value (float).

Get the TT JD time value for a given UTC JD time value.

Param: utcJD - The UTC JD time (float).

Returns: The TT JD value (float).

Get the TAI MJD time value for a given UTC JD value.

Param: utcJD - The UTC JD time (float).

Returns: The TAI MJD value.

Get UNIX time value for a given UTC JD value.

Param: utcJD - The UTC JD time (float).

Wrapper for libnova ln_zonedate structure. Represents local time in calendar units.

Public members: years - Date years (integer). months - Date months (integer). days - Date days (integer). hours - Date hours (integer). minutes - Date minutes (integer). seconds - Date seconds (float). gmtoff - Seconds offset from GM (integer). to_date()¶ Convert local calendar time to UTC calendar time. Returns object of type date representing UTC time. to_jd()¶ Convert calendar time to Julian day. Returns UTC time in Julian days (float). lsl.astro.zonedate_to_date(zonedate)

Wrapper for for libnova ln_zonedate_to_date() function. Convert local calendar time to UTC calendar time.


Kandungan

The three coordinates (ρ, φ, z) of a point P are defined as:

  • The radial distance ρ is the Euclidean distance from the z axis to the point P.
  • The azimuth φ is the angle between the reference direction on the chosen plane and the line from the origin to the projection of P on the plane.
  • The height z is the signed distance from the chosen plane to the point P.

Unique cylindrical coordinates

As in polar coordinates, the same point with cylindrical coordinates (ρ, φ, z) has infinitely many equivalent coordinates, namely (ρ, φ ± n×360°, z) and (−ρ, φ ± (2n + 1)×180°, z, di mana n is any integer. Moreover, if the radius ρ is zero, the azimuth is arbitrary.

In situations where one needs a unique set of coordinates for each point, one may restrict the radius to be non-negative (ρ ≥ـ) and the azimuth φ to lie in a specific interval spanning 360°, such as (−180°,+180°] or [0,360°).

Conventions

The notation for cylindrical coordinates is not uniform. The ISO standard 31-11 recommends (ρ, φ, z, di mana ρ is the radial coordinate, φ the azimuth, and z the height. However, the radius is also often denoted r atau s, the azimuth by θ or t, and the third coordinate by h or (if the cylindrical axis is considered horizontal) x, or any context-specific letter.

In concrete situations, and in many mathematical illustrations, a positive angular coordinate is measured counterclockwise as seen from any point with positive height.


How to convert from Cartesian J2000 coordinates to Cartesian Galactic coordinates? - Astronomi

Bernard Kumi-Boateng 1 , , Yao Yevenyo Ziggah 1 , 2

1 Department of Geomatic Engineering, University of Mines and Technology, Tarkwa, Ghana

2 Department of Surveying and Mapping, China University of Geosciences, Wuhan, P.R. China

Abstrak

Ghana a developing country still adopt the non-geocentric ellipsoid known as the War Office 1926 as its horizontal datum for all surveying and mapping activities. Currently, the Survey and Mapping Division of Lands Commission in Ghana has adopted the satellite positioning technology such as Global Positioning System based on a geocentric ellipsoid (World Geodetic System 1984 (WGS84)) for its geodetic surveys. It is therefore necessary to establish a functional relationship between these two different reference frames. To accomplish this task, the Bursa-Wolf transformation model was applied in this study to obtain seven transformation parameters namely three translations, three rotations and a scale factor. These parameters were then used to transform the WGS84 data into the War office system. However, Ghana’s national coordinate system is a projected grid coordinate and thus the new War Office coordinates (X, Y, Z) obtained are not applicable. There is therefore the need to project these coordinates onto the transverse Mercator of Ghana. To do this, the new war office data (X, Y, Z) attained must first be transformed into geodetic coordinates. The reverse conversion from cartesian (X, Y, Z) to its corresponding geodetic coordinate (φ, λ, h) is computation intensive with respect to the estimation of geodetic latitude and height. This study aimed at evaluating the performance of seven methods in transforming from cartesian coordinates to geodetic coordinates within the Ghana Geodetic Reference Network. The seven reverse techniques considered are Simple Iteration, Bowring Inverse equation, method of successive substitution, Paul’s method, Lin and Wang, Newton Raphson and Borkowski’s method. The obtained results were then projected onto the transverse Mercator projection to get the new projected grid coordinates in the Ghana national coordinate system. These results were compared with the existing coordinates to assess their performance. The authors proposed the Paul’s method to be a better fit for the Ghana geodetic reference network based on statistical indicators used to evaluate the reverse methods performance.

Keywords: bursa-wolf model, coordinate transformation, geodetic coordinates, geocentric coordinates

Copyright © 2016 Science and Education Publishing. Hak cipta terpelihara.

Cite this article:

  • Bernard Kumi-Boateng, Yao Yevenyo Ziggah. Accuracy Assessment of Cartesian (X, Y, Z) to Geodetic Coordinates (φ, λ, h) Transformation Procedures in Precise 3D Coordinate Transformation – A Case Study of Ghana Geodetic Reference Network. Journal of Geosciences and Geomatics. Jilid 4, No. 1, 2016, pp 1-7. http://pubs.sciepub.com/jgg/4/1/1
  • Kumi-Boateng, Bernard, and Yao Yevenyo Ziggah. "Accuracy Assessment of Cartesian (X, Y, Z) to Geodetic Coordinates (φ, λ, h) Transformation Procedures in Precise 3D Coordinate Transformation – A Case Study of Ghana Geodetic Reference Network." Journal of Geosciences and Geomatics 4.1 (2016): 1-7.
  • Kumi-Boateng, B. , & Ziggah, Y. Y. (2016). Accuracy Assessment of Cartesian (X, Y, Z) to Geodetic Coordinates (φ, λ, h) Transformation Procedures in Precise 3D Coordinate Transformation – A Case Study of Ghana Geodetic Reference Network. Journal of Geosciences and Geomatics, 4(1), 1-7.
  • Kumi-Boateng, Bernard, and Yao Yevenyo Ziggah. "Accuracy Assessment of Cartesian (X, Y, Z) to Geodetic Coordinates (φ, λ, h) Transformation Procedures in Precise 3D Coordinate Transformation – A Case Study of Ghana Geodetic Reference Network." Journal of Geosciences and Geomatics 4, no. 1 (2016): 1-7.

At a glance: Figures

1. Pengenalan

Surveying with the advancement of modern science and technology has undergone an epoch-making transformation to break the spatial limitations of classical surveys, and to enter a new stage of development of modern surveying. One of the most important discovery that science and technology has provided the geo-scientific community due to its global coverage and free access is the Global Navigation Satellite Systems (GNSS) [1] . This GNSS technology such as Global Positioning System (GPS) furnishes the principal technology for geomatic and geodetic activities for both develop and developing countries. As an example, it is well known that in Ghana the GPS has been adopted as a viable tool for the majority of geodetic surveys due to its numerous advantages over classical methods of surveying. It is worth stating that the GPS ellipsoid of reference is the World Geodetic System 1984 (WGS84) and thus provides coordinates in latitude, longitude and ellipsoidal height. It is pertinent to note that it was indicated in [2] that assimilating GPS data into the mapping system of a country like Ghana cannot be done straightforwardly without appropriate mathematical conversions to determine transformation parameters. In an effort to have such integration into the mapping system of Ghana, the initial step is to convert the geodetic coordinates to the cartesian coordinate system. The method of directly converting geodetic coordinates to cartesian coordinates can be carried out using Bowring forward equation [3, 4] . Conversely, it was emphasized by [5] that the reverse transformation is more complex considering the latitude and the geodetic height. This problem has been attributed to the inability of the latitude to be separated from the radius of curvature in the prime vertical when carrying out the reverse approach. Thus, creating a lot of research interests among geodesist and mathematicians. It is worth mentioning that several methods have been developed in estimating the latitude and geodetic height respectively. These methods as stated in [6] could be divided into three categories namely Exact or closed form approaches, Approximation methods, and Iterative methods.

A comparative study of the above mentioned techniques have been carried out by researchers from various countries. For instance, [7] tested two direct and four indirect methods on a region covering Australia and found to give acceptable results for the computation of and . It was concluded in their study that Lin and Wang’s method was appreciably faster than the other five methods and was recommended for use in Australia. Reference [8] reviewed exact transformation formulas and compared with the approximation methods by considering their computational complexity and sensitivity to computer round off error. The author concluded that the exact transformation formulas produced negligible errors in coordinate transformation and thus recommend to be used in practice. Reference [9] evaluated four non-iterative and four iterative methods in transforming cartesian coordinates to its corresponding geodetic coordinates. It was found that the iterative methods were faster than the non-iterative and converges to a sub millimetre accuracy exceeding the requirements of any practical application. In [10] a general overview of ten iterative methods and one direct method were presented. The author concluded that the direct procedure is fairly simple and straightforward compared with the iterative methods that requires an approximation to get at the desired solution. Reference [11] demonstrated that the Bowring’s inverse method in terms of computational speed was faster than Borkowski. However, it was shown that Lin and Wang method is faster than Bowring’s method [12] .

Several authors have proposed new techniques for transforming geocentric coordinates to geodetic coordinates. For example, [13] introduced a closed-form algebraic technique that is applicable globally including the poles regardless of the eccentricity value of the ellipsoids. The proposed method produced refine values when compared with Bowring Inverse equation. In [14] an exact and relatively simple analytical transform of the rectangular coordinates to the geodetic coordinates was presented. The method was based on one solution of the quartic equation. Reference [15] developed a more robust algorithm that yields more accurate results than most of the published algorithms. A significant attribute of the procedure is that the processing time is nearly a constant. A vector-based algorithm to transform cartesian coordinate to geodetic coordinates was introduced by [16] and was further extended to triaxial ellipsoids [17] . Both algorithms showed identical result in accuracy, similar computer processing unit requirements, and also worked well for celestial bodies having significantly greater flattening than the Earth. Reference [18] compared computational intelligence algorithms with the conventional methods in transforming geocentric coordinates into geodetic coordinates. Among all the methods, the differential search algorithm applicable to numerical optimization problems yielded a very high level of accuracy.

It should be known that the situation in Ghana is different as researchers have only utilized the Bowring inverse equation in their datum transformation. For instance, in [19] the Bowring Inverse equation was applied in datum transformation between WGS84 and War Office datum. The same inverse method was implemented also in [2] and [20] . In view of the above development, it can be seen that such a comparative study on the applicability of the reverse methods within the Ghana geodetic reference network has not been fully investigated. This study thus compares seven of the reverse techniques developed by researchers namely Simple Iteration, Bowring Inverse equation, Lin and Wang method, Paul’s method, method of Successive Substitution, Newton Raphson approach, and Borkowski’s method within the Ghana geodetic reference network. It is worth stating that that these are not the only techniques for computing geodetic latitude ( ) from cartesian coordinate (X, Y, Z). Hence, this study is not definitive since only a small selection of the published techniques are chosen. However, the choice of the methods was influenced by its gaining popularity in usage within the last two decades by researchers.

2. Study Area

Ghana is a country located at the Western part of Africa sharing boarders with Cote D’Ivoire to the West, Togo to the East, Burkina Faso to the North and the Gulf of Guinea to the South. The country has a 239,460 km 2 generally consisting of low plains [21] with 2,093 km of international land borders. Figure 1 shows the study area.

This study covers the first phase of the ongoing project by the Ghana Survey and Mapping Division of Lands Commission in establishing a new geodetic reference network base on the International Terrestrial Reference System (ITRS) [1] . The choice of the five out of ten administrative regions for the first phase of the project was due to the following reasons almost all the natural resources such as gold, bauxite, manganese, oil, timber, cocoa, diamond and many others found in the country are situated in these regions. Hence, contributing significantly to the economic growth of Ghana.

3. Methods

Secondary data of common points in both WGS84 and War Office 1926 geodetic coordinates for the new and old Ghana geodetic reference network were obtained from the Survey and Mapping Division of Lands Commission in Ghana. The Bowring forward equation was first used to transform the geodetic coordinates into cartesian coordinates because it is a prerequisite in most 3D datum transformation parameter determination. The direct transformation of the geodetic coordinates above a reference ellipsoid to the cartesian coordinates (X, Y, Z) could be carried out using the Bowring forward equation. This equation is expressed mathematically as:

Where φ = Latitude, λ = longitude, f = flattening , e = eccentricity. The radius of curvature in the prime vertical plane N, and the first eccentricity are given by

3.2. Bursa-Wolf Transformation Model

Figure 2 shows the geometry of the Bursa–Wolf transformation model. The X, Y, Z axes of system 1 are rotated by very small angles from the X, Y, Z axes of system 2, and the origins of the two systems are displaced by translations in the directions of the X, Y, Z axes of system 2 [22] . and are vectors of coordinates in both systems and t is a vector of translations.

The mathematical relationship between coordinates in both systems can be written in the form of a vector equation [22] ) .

Alternatively, the Bursa–Wolf transformation may be written as

The new War office rectangular coordinates obtained after applying the Bursa-Wolf parameters determined need to be transformed back into geodetic coordinates (latitude, longitude, ellipsoidal heights) to enable projection of the coordinate onto the transverse Mercator that is utilized in Ghana. This will also enable the coordinates to be expressed in the Ghana national projected grid coordinate system (Easting, Northing). The reverse transformation was carried out using seven inverse equation models. The various models applied are described in the subsequent section.

An approximate latitude value was computed from the equation

where , second eccentricity is given us with a dan b being the semi-major and minor axis of the reference ellipsoid respectively. The approximate value, was then used in the right hand side (RHS) of the equation

to evaluate , on the left hand side (LHS). The new value, was then applied in the right hand side (RHS) to give the next value . This procedure was repeated until the difference between successive LHS values, , reaches an acceptable limit thus, the iteration converges to a solution of .

3.3.2. Bowring Inverse Equation

The starting value, was obtained from the relationship between the geocentric and parametric latitude using

The required latitude was then computed from

Where is the parametric latitude a is the semi-major axis of the reference ellipsoid is the perpendicular distance from the rotational axis is the first eccentricity and is the second eccentricity expressed as .

This iterative method uses Newton Raphson Iteration to evaluate a scalar multiplier q of the normal vector to the ellipsoid [23] . Once q was calculated, simple relationships between cartesian coordinates of P and its normal projection Q onto the ellipsoid at P were used to evaluate the cartesian coordinates of Q. The initial approximation of the latitude was computed using

The latitude, and height, h were finally estimated from the equations below

The and were obtained from

It should be noted that h is negative if is less than .

Paul’s method is direct in so far as is obtained from a simple closed equation but only after several intermediate variables have been evaluated. Thus, having X, Y, Z for a point related to an ellipsoid, the latitude, was obtained by computing the following variables ( ) in order from the following equations

It should be noted that all square roots in have the same sign as Z .The geodetic latitude, was estimated from

Detailed description of the Paul’s method can be found in [7] .

3.3.5. Method of Successive Substitution

The method of Successive Substitution is popular because of its programming simplicity. This method is comparable to that of simple iteration. A starting value was first calculated from the relationship

This was used on the RHS of the equation below

to evaluate (and hence ) on the LHS. This new value, was then applied on the RHS to give the next value, (and hence ). The procedure was repeated until the difference between successive LHS values , reached an acceptable limit. Thus, the iteration converges to a solution for and hence φ.

The Newton Raphson iteration can improve the rate of convergence for in successive substitution solution for real roots of equation given in the form of an iterative equation as

di mana n represents iteration and the function is expressed as

The derivative of the function is given as

A starting latitude value, was obtained from

The iteration continued until the correction factor in reached an acceptable small magnitude.

3.3.7. Borkowski’s Method

Reference [7] indicated that Borkowski’s method is an indirect method that uses Newton’s iterative technique to solve for the parametric latitude, . The is expressed as

where the function and its derivative are expressed as

dan. was obtained by iteration after calculating the constants , q dan c from

An initial approximation, was estimated using the relation

After solving for , was computed from

4. Results and Discussion

The derived parameters for transforming data from WGS 84 to War Office datum with their associated standard deviations using Bursa-Wolf transformation model are presented in Table 1 below. It was observed from the results of the translation parameters in Table 1 that, from the origin of the War Office to the origin of WGS 84, the X-axes that intersects the Greenwich Meridian and the Equator has a negative displacement. On the other hand, the Y-axes created to have a right angle to the X, Z-axes and the Z-axes passing through the Earth instantaneous pole has a positive displacement between the two reference systems (War Office and WGS 84 datum). The individual standard deviations for the obtained transformation parameters are also shown in Table 1. The calculated reference standard deviation and reference adjustment variance were also estimated to check the precision for the overall observations (Table 1).

Table 1. Summary of derived parameters results

The translation parameter, revealing the existence of a negative displacement from the geocenter is because both X-axes in the two reference ellipsoids are moving in opposite directions. Conversely, and translation parameters from the geocenter evident from Table 1 above shows that, the axes of both reference ellipsoids move in the same direction. In Table 1, the standard deviations indicate the spread of the data about the mean measured in the same units as the data. They also indicate the limits of the error bound within which the most probable value (MPV) of the mean lies. Since the individual standard deviations computed for each translation parameter are small, it implies that the data points are closer to the MPV value of the mean which indicates that the parameters response will be fairly uniform when applied to the observation data within the study area. In addition, the smaller standard deviation obtained signifies a steep bell-shaped on the normal distribution curve.

4.2. Reverse Techniques Performance Evaluation

The reverse transformation methods were evaluated based on the residuals generated from new projected grid coordinates and the existing projected coordinates within the Ghana geodetic reference network. The following statistical indicators were used as a performance criteria index (PCI) namely: Mean Square error (MSE), Root Mean Square error (RMSE), Nash-Sutcliffe Efficiency Index (N) and Modified Index of Agreement (D). Their mathematical expressions are given below:

Where n is the total number of observations used in the Bursa-Wolf model, O dan P are the existing projected coordinates and predicted projected coordinates from the reverse techniques used. is the mean of the existing projected coordinates. To assess the quality of the transformation results the MSE, RMSE, N and MID were computed as shown in Table 2 and Table 3.