시간과 주변 광을 반영하기 위해 래스터 맵을 가리거나 오버레이하는 방법


14
  • 공부 공간의 주간 래스터가 있습니다.
  • 연구 영역에 타임 스탬프와 함께 "물건"을 세는 카운터가 20 개 이상 있습니다.
  • PyEphem을 사용하여 수집 된 각 데이터 포인트에 대한 주변 광 유형을 결정했습니다.

내가하고 싶은 것 :

  • 주변 광 (Dusk, Sunrise, day, sunset 및 dark)을 반사하기 위해 회색 / 반투명 오버레이를 추가하십시오.

  • 최종 목표 : 하루 중 시간을 강조 표시하는 데이터 수집의 시간 기반 시각화를 생성합니다. 또는 적절한 음영 오버레이로 특정 시간에 스냅 샷을 생성 할 수 있습니다.

  • 이것을 이미지로 생각하십시오.

주야간 지구본 출처


2
Mathematica 코드 와 함께 추가 답변이 mathematica.stackexchange.com/questions/3326/…에 나타납니다 .
whuber

답변:


9

요약

태양의 위치가 주어지면 위도 좌표에서 대기 및 지형 효과를 무시하고 표면 광도의 격자를 쉽게 만들 수 있습니다. 해당 그리드를 원하는대로 다시 투영하고 맵에 오버레이합니다.

세부

공식은 구형 좌표의 표준입니다. 구형 좌표 (론, 위도)에 해당하는 단위 벡터는 다음과 같습니다.

(cos(lon)cos(lat), sin(lon)cos(lat), sin(lat)).

강도는 단위 바깥 쪽 정상 ( "위") 방향과 태양 방향 사이의 코사인에 따라 다릅니다. 이 코사인은 그 두 단위 벡터의 내적입니다. 즉, (x, y, z)를 태양을 향한 단위 벡터 (지 중심 좌표)로하고 각 격자 셀 중심점의 측지 (lat, lon)를 단위 벡터 (xi, eta, zeta)로 변환합니다. , 계산

(x,y,z) . (xi, eta, zeta) = x*xi + y*eta + z*zeta.

0보다 작은 결과는 보이지 않는 태양에 해당하므로 0으로 설정하십시오.

구현 노트

이 계산은지도 대수를 사용하여 간단하게 수행 할 수 있습니다. (위도, 경도) 값의 그리드로 시작하거나 (그것이 그렇게 한 방법입니다) 위도에 대한 격자와 위도에 대한 격자 쌍으로 시작합니다. 예를 들어 ESRI 소프트웨어를 사용하여 수행하십시오.

위도 또는 경도 그리드를 만들려면 각각 지리적 좌표로 y 좌표 또는 x 좌표 그리드를 형성 한 다음 투영합니다.이 초기 정보에서 세 개의 그리드 [xi], [eta ], 및 θ (또는 단일 벡터-값 그리드 [xi, eta, zeta])는 그리드 셀에서의 상향 방향을 나타낸다. 임의의 주어진 태양 위치에 대해, 계산은 상기 주어진 [xi], η 및 θ의 간단한 선형 조합이된다; 태양은 계수 x, y 및 z (물론 숫자 일뿐)를 결정합니다.

다음은 그러한 강도 그리드 (216 x 432 셀)의 Plate Carree 투영에있는 세계지도입니다.

강렬

자오선은 중앙에 있고 북쪽은 평소와 같이 상단에 있습니다. 이 계산을 위해 태양 대서양을 (0.6, -0.8, 0.5)에 비례하여 정오 대서양의 정오에 여름날을 근사치로 설정했습니다. (돌이켜 보면, z 값 0.4는 더 현실적 일 것입니다.

Aster 색상지정된지도 에서 알파 오버레이 (밝은 영역을 약간 더 투명하게 만듭니다)가이 이미지를 생성합니다.

세계지도

시간이 변함에 따라 태양의 벡터 (x, y, z)가 다시 계산되어 강도 그리드를 다시 계산해야합니다. 이것은 빠른 계산입니다. 고해상도도 필요하지 않습니다.이 그림에 원래 그리드 해상도 (2160 x 4320 셀)의 10 분의 1 만 사용했습니다. 거친 강도 그리드를 표시하는 데 사용되는 보간은 간극을 채우기 위해 잘 작동합니다. 이를 통해 원하는 경우 거의 즉각적으로 디스플레이를 수정하여 부드러운 애니메이션을 만들 수 있습니다.


2
매우
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.