GeoTIFF 파일 정보

스태킹 래스터 4개 렌더링

dataLayers 엔드포인트는 GeoTIFF 파일로 인코딩된 데이터를 반환합니다. 이 파일은 모든 지리 정보 시스템 (GIS) 애플리케이션에서 태양계를 설계하는 데 사용할 수 있습니다.

dataLayers 응답의 각 문자열에는 해당 GeoTIFF를 가져오는 데 사용할 수 있는 URL이 포함됩니다. URL은 원래 데이터 영역 요청에서 생성된 후 최대 1시간 동안 유효합니다. GeoTIFF 파일은 최대 30일 동안 저장할 수 있습니다.

RGB 레이어를 제외하고, GeoTIFF 파일은 이미지 뷰어에서 올바르게 표시되지 않습니다. 콘텐츠가 RGB 이미지가 아닌 인코딩된 데이터이기 때문입니다. 또한 GeoTIFF 파일은 Maps JavaScript API에서 오버레이 이미지로 직접 사용할 수 없습니다.

다음 표에서는 각 레이어를 자세히 설명합니다.

레이어 픽셀 심도 해상도 설명
디지털 표면 모델 (DSM) 32비트 부동 소수점 수 0.1m/픽셀 자연 및 인공 지형지물을 포함하여 지표면의 지형을 나타내는 고도 데이터입니다. 값은 해수면 위의 미터 단위입니다. 잘못된 위치 또는 데이터가 없는 지역은 -9999로 저장됩니다.
RGB 8비트 0.1m/픽셀
0.25m/픽셀
0.5m/픽셀
1m/픽셀
지역의 항공 이미지입니다. GeoTIFF 이미지 파일에는 각 픽셀의 24비트 RGB 값을 구성하기 위해 빨간색, 녹색, 파란색 값에 해당하는 세 개의 대역이 포함됩니다.

기본적으로 픽셀 해상도는 0.1m/픽셀입니다.
건물 마스크 1비트 0.1m/픽셀 픽셀당 1개의 비트로, 해당 픽셀이 루프톱의 일부로 간주되는지 나타냅니다.
연간 변동량 32비트 부동 소수점 수 0.1m/픽셀 지역의 연간 자속 지도 또는 지붕 위의 연간 햇빛입니다. 값은 kWh/kW/년입니다.

Flux는 건물 옥상뿐만 아니라 모든 위치에 대해 계산됩니다. 잘못된 위치 또는 자속을 계산할 수 없는 지역은 -9999로 저장됩니다. 서비스 지역을 벗어난 위치는 유효하지 않습니다.

참고: 마스킹되지 않은 자속입니다.
월간 변동 32비트 부동 소수점 수 0.5m/픽셀 지역의 월별 자속 지도 (지붕의 햇빛을 월별로 분류)입니다. 값은 kWh/kW/년입니다. GeoTIFF 이미지 파일에는 1월~12월에 해당하는 12개의 밴드가 포함됩니다.
시간별 명암 32비트 정수 1m/픽셀 1월~12월에 해당하는 시간별 음영 맵의 URL 12개

각 GeoTIFF 파일에는 하루 중 24시간에 해당하는 24개의 대역이 포함됩니다. 각 픽셀은 해당 월의 최대 31일에 해당하는 32비트 정수입니다. 1비트는 해당 위치에서 해당 월의 해당 시간에 태양을 볼 수 있음을 의미합니다.

잘못된 위치는 -9999로 저장되고 비트 31이 설정되어 있습니다. 이는 해당 월의 32일에 해당하므로 유효하지 않습니다.

시간별 셰이드 래스터 디코딩

시간별 음영 데이터는 멀티밴드 래스터에서 인코딩됩니다. 래스터 기본 사항에 관한 자세한 내용은 Solar API 개념을 참고하세요.

시간별 음영 데이터를 요청하면 역년 (1월~12월)의 매월 하나씩 최대 12개의 래스터를 받을 수 있습니다. 각 래스터는 하루 중 24시간에 해당하는 24개의 레이어 또는 대역으로 구성됩니다.

각 밴드는 셀의 행렬 또는 픽셀로 표현됩니다. 각 픽셀의 깊이는 32비트이며, 이는 해당 월의 최대 31일에 해당합니다. 따라서 음영 데이터의 날짜, 시간, 월을 디코딩하려면 분석하는 비트, 대역, 래스터를 이해해야 합니다.

예를 들어 좌표 (x, y)의 특정 위치에서 6월 22일 오후 4시 태양을 봤는지 확인하려면 다음을 실행합니다.

  1. 위치 (x, y)의 모든 레이어에 대해 데이터 영역을 요청합니다.
  2. 6월은 한 해의 6번째 달이므로 hourlyShadeUrls 목록에서 여섯 번째 URL을 가져옵니다.
  3. 시간 단위는 24시간 형식으로 제공됩니다. 오후 4시 (16:00)에 대한 데이터를 가져오려면 17번째 채널을 조회합니다.
  4. 0부터의 비트 (일) 색인 6월 22일에 대한 데이터를 가져오려면 비트 21을 읽습니다.
  5. 비트는 해당 위치에서 지정된 날짜 및 시간에 태양을 봤는지 여부를 나타내는 바이너리 데이터를 제공합니다. 비트가 1이면 위치에서 태양을 목격한 것입니다. 비트가 0이면 위치는 그늘을 봤습니다.

다음 코드는 위의 단계를 요약합니다.

(hourly_shade[month - 1])(x, y)[hour] & (1 << (day - 1))