dataLayers 엔드포인트 는 GeoTIFF 파일로 인코딩된 데이터를 반환하며, 이는 모든 지리적 위치에서 사용될 수 있습니다. 태양계를 설계하기 위한 정보 시스템 (GIS) 응용 분야가 있습니다.
dataLayers 응답의 각 문자열에는 URL이 포함되며, 이는 사용하여 해당 GeoTIFF를 가져옵니다. URL은 원본 데이터 영역 요청에서 생성된 후 최대 1시간 동안 유효합니다. GeoTIFF 파일은 최대 30일 동안 저장됩니다.
RGB 레이어를 제외하고 GeoTIFF 파일은 이미지가 RGB 이미지가 아니라 인코딩된 데이터이므로 이미지 뷰어입니다. GeoTIFF 파일은 Maps JavaScript API에서 오버레이 이미지로 직접 사용할 수 없습니다.
다음 표에서는 각 레이어를 자세히 설명합니다.
레이어 | 픽셀 심도 | 해상도 | 설명 |
---|---|---|---|
디지털 표면 모델 (DSM) | 32비트 부동 소수점 수 | 0.1m/픽셀 | 지구 표면의 지형을 나타내는 고도 데이터입니다. 여기에는 자연적 지형지물과 인공 지형지물이 포함됩니다. 값이 바다 위(미터) 단위입니다. 있습니다. 잘못된 위치 또는 데이터가 없는 영역은 -9,999명입니다. |
RGB | 8비트 | 0.1m/픽셀 0.25m/픽셀 0.5m/픽셀 1m/픽셀 |
해당 지역의 항공 이미지입니다. GeoTIFF 이미지 파일에는
빨강, 녹색 및 파랑 값에 해당하는 세 개의 밴드가
각 픽셀의 24비트 RGB 값입니다. 기본적으로 픽셀 해상도는 0.1m/pixel입니다. |
건물 마스크 | 1비트 | 0.1m/픽셀 | 픽셀당 1비트는 해당 픽셀이 옥상 부분입니다. |
연간 플럭스 | 32비트 부동 소수점 수 | 0.1m/픽셀 | 지역의 연간 플럭스 지도 또는 지붕 위의 연간 햇빛.
값은 kWh/kW/년입니다. 플럭스는 계산이 아닌 모든 위치에 대해 옥상을 짓고 있습니다. 잘못된 위치 또는 확인할 수 없는 지역 -9999로 저장됩니다. Google 외부 위치 적용 범위 는 유효하지 않습니다. 참고: 이는 마스킹되지 않은 플럭스입니다. |
월간 플럭스 | 32비트 부동 소수점 수 | 0.5m/픽셀 | 리전으로 나뉩니다 값은 kWh/kW/년입니다. GeoTIFF 이미지 파일에는 순서대로 표시됩니다. |
시간별 음영 | 32비트 정수 | 1m/픽셀 | 1월부터 12월까지 시간별 그늘 지도의 URL 12개(순서대로) 각 GeoTIFF 파일에는 24시간 내내 각 픽셀은 32비트 정수이며 (최대) 해당 월의 31일 1비트는 해당하는 위치는 해당 월의 해당 날짜, 해당 시간, 태양을 볼 수 있습니다. 잘못된 위치는 -9999로 저장되며, 31비트가 설정됩니다. 이는 32일째 날짜에 해당하므로 잘못된 위치입니다. |
시간별 음영 래스터 디코딩
시간별 음영 데이터는 멀티밴드 래스터로 인코딩됩니다. 래스터에 대해 자세히 알아보기 Solar API 개념을 참고하세요.
시간별 음영 데이터를 요청하면 최대 12개의 래스터, 매년 (1월~12월)에 대해 하나씩 각 래스터 24개 레이어, 즉 대역으로 구성되는데, 이는 있습니다.
각 밴드는 셀 행렬 또는 픽셀로 표현됩니다. 각 픽셀에는 깊이 32비트로, 해당 월의 (최대) 31일에 해당합니다. 따라서 음영 데이터의 일, 시간, 월을 디코딩하려면 비트, 밴드 및 래스터를 이해하는 것이 중요합니다.
예를 들어 좌표 (x, y)의 특정 위치가 6월 22일 오후 4시로 설정하려면 다음 단계를 따르세요.
- 위치 (x, y)에 대한 모든 레이어에 대해 데이터 레이어를 요청합니다.
- 6월은 6번째 달이므로 6번째 달을 가져옵니다.
hourlyShadeUrls
목록의 URL - 시간별 밴드는 24시간 형식으로 제공됩니다. 오후 4시 (16:00)에 대한 데이터를 얻기 위해 17번째 채널을 찾아보세요.
- 0부터의 비트 (일) 색인입니다. 6월 22일에 대한 데이터를 가져오려면 비트 21을 읽어보세요.
- 비트는 해당 위치가 해의 태양을 보았는지 여부를 나타내는 이진 데이터를 확인할 수 있습니다 비트가 1이면 위치가 태양을 본 것입니다. 비트가 0이면, 그 위치에 그늘이 보였다.
다음 코드는 위의 단계를 요약합니다.
(hourly_shade[month - 1])(x, y)[hour] & (1 << (day - 1))