sun's longitude:258 23 36.68 
· 자유게시판 · 묻고답하기 · 알파문서 · RPMS list
· 사용자문서 · 팁/FAQ모음 · 리눅스Links · 자료실
· 서버정보 · 운영자 · Books/FAQ · FreeBSD
/board/read.php:소스보기  
알파문서
자주 잊어먹거나, 메모해 둘 필요성이 있는 팁이나 문서, 기타 등등
[*** 쓰기 금지단어 패턴 ***]
글 본문 중간에 업로드할 이미지를 추가하는 방법 : @@이미지이름@@
ex) @@foo.gif@@
279 번 글: [misc] 항성 적경값으로 개략적인 자정 남중날짜 계산
글쓴이: 산이 [홈페이지] 글쓴날: 2011년 12월 02일 20:33:12 금(저녁) 조회: 2492
[misc] 항성 적경값으로 개략적인 자정 남중날짜 계산

적경   날짜    남중날짜
 0     3.21     9.21  // 추분
 6     6.22    12.22  // 동지
12     9.21     3.21  // 춘분
18    12.22     6.22  // 하지


예) 적경 약 19h 항성의 자정 남중날짜는?

- 적경에서 날짜 offset = 적경/2 + 3개월 21일
- 남중날짜 offset = offset + 6개월

따라서
- 적경/2 + 9개월 + 21일 // 13보다 크면 -12개월
또는
- 적경/2 + 10월 -7일 // 13보다 크면 -12, 1보다 작으면 +12 개월
더해줌
또는
- 적경/2 - 2월  -7일 // 1보다 작으면 +12 개월 더해줌

만약 계산된 값이 또는 계산된 값이 
19/2 - 2 = 7.5 (7월 중순)

따라서 7월 중순에서 7일을 빼주면 7월 8일 자정즈음에 이 별은
남중함

<?php
function dms2deg($dms)
{
  if(!is_array($dms) && preg_match('/^[\d.+-]+$/',$dms)) return
sprintf('%.4f',$dms);

  if(is_array($dms)) $dms = implode(' ',$dms); // to string

  $dms = preg_replace('/[^\d.+-]+/',' ',$dms);
  list($d,$m,$s) = preg_split('/\s+/',$dms);

  if(preg_match('/^-/',$d)) $deg = sprintf('%.4f',$d-$m/60-$s/3600); // -0 to <
0
  else $deg = sprintf('%.4f',$d+$m/60+$s/3600);

  return $deg;
}

function ra2middate($ra)
{
  $ra = dms2deg($ra); // match h to d
  $sec = $ra/24.0 * 365.24160 * 86400; // to seconds
  $sec += 22723200; // gmmktime(0,0,0,9,21,1970);

  return gmdate('n.d',$sec);
}

$f = file('ra.txt');

foreach($f AS $v)
{
  if(!$v = trim($v)) continue;
  list($m,$ra) = preg_split('/\s+/',$v);
  if($ra == '') contine;

  $m = preg_replace('/[^\d]+/','',$m);
  $r[$m] = ra2middate($ra);
}
ksort($r);
foreach($r AS $k=>$v)
{
  printf("%d\t%s\n",$k,$v);
}
?>

 
이전글 : [win32] command 용 파일찾기 명령어
다음글 : [misc] 좌표계 영문 단어  
 from 211.212.225.115
JS(Redhands)Board 0.4 +@

|글쓰기| |답장쓰기| |수정| |삭제|
|이전글| |다음글| |목록보기|
인쇄용 

apache lighttpd linuxchannel.net 
Copyright 1997-2024. linuxchannel.net. All rights reserved.

Page loading: 0.01(server) + (network) + (browser) seconds