함께 만드는 별빛 세상, 천문노트 · Since 2001

우리 별자리선 자료 파일

김창환 2003-09-17 (수) 23:23 7645
목록
이전글 다음글

웹 아카이브(2020-10-26 기록)에서 복원한 글입니다. 일부 이미지나 첨부파일이 빠져 있을 수 있습니다.

  • data.zip
우리 별자리의 모습을 담아놓은 자료 파일입니다.
1861년, 조선의 관상감에서 발행한 책인 '성경(星鏡)'을 바탕으로 하였으며, 별의 동정은 '성경에 실린 별의 동정' 논문을 주로 참고하되 약간의 보완 및 수정이 있었습니다.

자료 파일은 'Data.zip' 파일에 두 개의 파일로 담겨 있습니다.
1) clabelE.dat 파일
별자리의 이름 및 좌표를 입력해 놓은 파일입니다. 2000년 분점의 적도 좌표와 한글, 한자 이름이 들어 있습니다. 자료의 형식은 일반적인 텍스트 파일이며 기록 방법은 다음과 같습니다.

기록 양식> 14.250 79.599북극 5 北極 5
내용> 적경 14.250시(6Byte), 적위 79.599도(7Byte), 한글 이름(10Byte): 북극, 한자 이름(10Byte): 北極, 별자리에 속한 별의 개수: 5개

2) ClineE.dat 파일
별자리의 선(2000년 기준)을 담고있는 파일입니다. 이진 파일로 되어 있으며 내용은 "별1의 적경, 별1의 적위, 별2의 적경, 별2의 적위"의 형식으로 되어 있습니다. 전체 999행이며 2Byte의 정수형 자료로 네 개의 좌표가 한 행에 담겨 있습니다.

기록 양식> 00000000 * 999행
내용> 00 00 00 00
(=별1의 적경(시)*1000, 별1의 적위(도)*100, 별2의 적경(시)*1000, 별2의 적위(도)*100)


==================================================
예제 프로그램(비주얼 베이직)
==================================================

Type CLabelE '이름 좌표 계산용 자료형
RA As Double
DE As Double
ConName As String
ConNameH As String
End Type

Private Type CLabelE2 '별자리 이름 파일이 저장된 파일의 형식
RA As String * 6
DE As String * 7
ConName As String * 10
ConNameH As String * 10
End Type

Public Type CLineRead '별자리선이 저장된 파일의 형식
RA1 As Integer
DE1 As Integer
RA2 As Integer
DE2 As Integer
End Type

Public Type CLine '별자리선 계산용 자료형
RA1 As Double
RA2 As Double
DE1 As Double
DE2 As Double
End Type

Public Const CLNumE = 998
Public Const CNameE = 311

Dim teclE As CLineRead
Dim teCNameE As CLabelE2

Public ConLineE(CLNumE) As CLine '별자리 선(신법)
Public ConstNameE(CNameE) As CLabelE '이름(신법)

Public Sub ReadCLineE() '별자리 선 파일 열기
Dim i As Integer

Open App.Path & "CLineE.dat" For Random Access Read As #1 Len = 8
For i = 1 To CLNumE + 1
Get #1, i, teclE
With ConLineE(i - 1)
.RA1 = teclE.RA1 / 1000 * 15 '15를 곱한 것은 시 단위를 도 단위로 바꾸기 위한 것입니다.
.DE1 = teclE.DE1 / 100
.RA2 = teclE.RA2 / 1000 * 15
.DE2 = teclE.DE2 / 100
End With
Next i
Close #1
End Sub

Public Sub ReadCNameE() '별자리 이름 파일 열기
Dim i As Integer

Open App.Path & "clabelE.dat" For Random Access Read As #2 Len = 35
For i = 1 To CNameE + 1
Get #2, i, teCNameE
With ConstNameE(i - 1)
.RA = teCNameE.RA * 15
.DE = teCNameE.DE
.ConName = Trim(Left(teCNameE.ConName, 6))
.ConNameH = Trim(Left(teCNameE.ConNameH, 6))
End With
Next i
Close #2
End Sub

댓글 0

로그인하면 댓글을 쓸 수 있습니다.

무료 천문 라이브러리 - MatriXs

총 103건
번호제목글쓴이날짜조회
공지 MatriXsLib 1.0+7 이형철06-1523805
102 MatriXsLib 1.0+7 이형철06-1523805
101 안녕들하세요~^^+1 이도원06-228249
98 이렇게 좋은 소스가..^^+2 황태욱01-077881
97 요즘 다들 머하시나요?+5 이도원12-107667
96 c 를 공부하다가+5 이도원11-137293
95 Astronomical Algorithm..+4 김창환10-317663
94 침체기 같네요...+3 이도원09-227004
글쓰기