dataLayers 端点会返回编码为 GeoTIFF 文件的数据,这些数据可在任何地理信息系统 (GIS) 应用中用于设计太阳能系统。
dataLayers 响应中的每个字符串都包含一个网址,您可以使用该网址提取相应的 GeoTIFF。从原始数据图层请求生成后,网址最长有效 1 小时。GeoTIFF 文件最多可存储 30 天。
除了 RGB 图层外,GeoTIFF 文件无法通过图片查看器正确显示,因为内容是编码数据,而不是 RGB 图片。您也无法将 GeoTIFF 文件直接用作 Maps JavaScript API 的叠加图像。
下表详细介绍了各个层。
层 | 像素深度 | 分辨率 | 说明 |
---|---|---|---|
数字地表模型 (DSM) | 32 位浮点数 | 0.1 米/像素 | 表示地球表面地形的地表海拔数据,包括自然地图项和人工地图项。值以海拔米为单位。无效的位置或我们没有数据的区域会存储为 -9999。 |
RGB | 8 位 | 0.1 米/像素 0.25 米/像素 0.5 米/像素 1 米/像素 |
相应区域的航拍图片。GeoTIFF 图像文件包含三个带,分别对应于红色、绿色和蓝色值,以便为每个像素形成 24 位 RGB 值。 默认情况下,像素分辨率为 0.1 米/像素。 |
建筑物遮罩 | 1 位 | 0.1 米/像素 | 每个像素一个位,表示该像素是否被视为屋顶的一部分。 |
年均通量 | 32 位浮点数 | 0.1 米/像素 | 该地区的年辐射量图(即屋顶的年日照量)。
值为千瓦时/千瓦/年。 系统会为每个位置(而不仅仅是建筑物屋顶)计算通量。无效的位置或无法计算通量的区域会存储为 -9999。不在服务范围内的地理位置无效。 注意:这是未经脱敏的通量。 |
每月通量 | 32 位浮点数 | 0.5 米/像素 | 相应区域的月度通量图(屋顶上的阳光,按月细分)。值为千瓦时/千瓦/年。GeoTIFF 图像文件包含 12 个波段,分别对应于 1 月至 12 月。 |
每小时阴影 | 32 位整数 | 1 米/像素 | 12 个网址,分别对应 1 月至 12 月的每小时阴影地图。 每个 GeoTIFF 文件包含 24 个波段,对应于一天 24 小时。每个像素都是一个 32 位整数,对应于当月(最多)31 天。1 位表示相应位置能够在该月当天、当小时看到太阳。 无效位置存储为 -9999,并设置了第 31 位,因为该位对应于当月的 32 日,因此无效。 |
解码每小时阴影光栅
每小时的阴影数据采用多波段栅格编码。如需详细了解光栅图的基本知识,请参阅 Solar API 概念。
当您请求按小时获取阴影数据时,最多可以收到 12 个栅格数据,每个日历月(1 月至 12 月)对应一个。每个栅格由 24 个图层(也称为“波段”)组成,分别对应于一天中的 24 小时。
每个波段都由单元格(即像素)矩阵表示。每个像素的深度为 32 位,对应于一个月的 31 天(上限)。因此,若要解码阴影数据的日期、时间和月份,您需要了解要分析的位、波段和光栅。
例如,如需确定坐标为 (x, y) 的给定位置在 6 月 22 日下午 4:00 是否能看到太阳,请执行以下操作:
- 针对位置 (x, y) 的所有图层发出数据图层请求。
- 由于 6 月是一年中的第 6 个月,因此提取
hourlyShadeUrls
列表中的第 6 个网址。 - 小时时段采用 24 小时制。如需获取下午 4:00(16:00)的数据,请查询第 17 个渠道。
- 位(天数)索引从 0 开始。如需获取 6 月 22 日的数据,请读取第 21 位。
- 位提供二进制数据,表示相应位置在指定日期和时间是否见到阳光。如果该位为 1,则表示相应位置有阳光。如果该位为 0,则表示相应位置有阴影。
以下代码总结了上述步骤:
(hourly_shade[month - 1])(x, y)[hour] & (1 << (day - 1))