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 点是否能看到太阳,请执行以下操作:
- 针对位置 (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))