dataLayers 端点会返回编码为 GeoTIFF 文件的数据,您可以使用这些数据在任何地理信息系统 (GIS) 应用中设计太阳系统。
dataLayers 响应中的每个字符串都包含一个网址,可用于提取相应的 GeoTIFF。从原始数据层请求生成网址后,网址在最多一小时内有效。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 米/像素 | 该地区每年的流动地图,即屋顶上每年的日照量。
值为 kWh/kW/年。 系统会为每个位置(而不仅仅是建筑物屋顶)计算通量。无效位置(即我们无法计算流量变化的区域)存储为 -9999。我们覆盖区域之外的位置无效。 注意:这是未遮盖的流动。 |
每月流量 | 32 位浮点数 | 0.5 米/像素 | 该区域的每月流量图(屋顶日照量,按月细分)。值为 kWh/kW/年。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)。
- 由于六月是一年中的第六个月,因此请提取
hourlyShadeUrls
列表中的第六个网址。 - 每小时频段以 24 小时制提供。如需获取下午 4:00 (16:00) 的数据,请查询第 17 个渠道。
- 从 0 开始的位(天)索引。要获取 6 月 22 日的数据,读取位 21。
- 位提供二进制数据,指示该位置在给定日期和时间是否看到太阳。如果位为 1,则说明位置看到太阳。如果位为 0,则位置锯齿线阴影。
以下代码总结了上述步骤:
(hourly_shade[month - 1])(x, y)[hour] & (1 << (day - 1))