Package google.maps.solar.v1

索引

太阳能

Solar API 的服务定义。

FindClosestBuildingInsights

rpc FindClosestBuildingInsights(FindClosestBuildingInsightsRequest) returns (BuildingInsights)

查找与查询点的中心点距离最近的建筑物。如果查询点周围约 50 米内没有建筑物,则返回代码为 NOT_FOUND 的错误。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform
GetDataLayers

rpc GetDataLayers(GetDataLayersRequest) returns (DataLayers)

获取某个地点周围区域的太阳能信息。如果相应位置不在覆盖范围内,则返回代码为 NOT_FOUND 的错误。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform
GetGeoTiff

rpc GetGeoTiff(GetGeoTiffRequest) returns (HttpBody)

按 ID 返回图片。

授权范围

需要以下 OAuth 范围:

  • https://www.googleapis.com/auth/cloud-platform

BuildingInsights

Solar.FindClosestBuildingInsights 的响应消息。有关建筑物位置、尺寸和太阳能发电潜力的信息。

字段
name

string

相应建筑物的资源名称,格式为 buildings/{place_id}

center

LatLng

位于建筑物中心附近的一个点。

bounding_box

LatLngBox

相应建筑物的边界框。

imagery_date

Date

底层图像的获取日期。这是一个近似值。

imagery_processed_date

Date

此图像的处理完成时间。

postal_code

string

邮政编码(例如美国邮政编码)所涵盖的建筑物。

administrative_area

string

包含此建筑物的行政区 1(例如,在美国,是指州)。例如,在美国,缩写可能为“MA”或“CA”。

statistical_area

string

统计区(例如(美国人口普查区)内。

region_code

string

相应建筑物所在国家/地区的区域代码。

solar_potential

SolarPotential

建筑物的太阳能发电潜力。

imagery_quality

ImageryQuality

用于计算此建筑物数据的图像质量。

CashPurchaseSavings

直接购买特定配置的太阳能板(具有特定用电量)的成本和效益。

字段
out_of_pocket_cost

Money

税收优惠前的初始费用:必须自掏腰包支付的金额。与 upfront_cost(扣除税收优惠)相对。

upfront_cost

Money

扣除税收优惠后的初始费用:是指第一年必须支付的金额。与 out_of_pocket_cost(税收优惠之前)相对。

rebate_value

Money

所有退税的价值。

savings

SavingsOverTime

在生命周期内节省(或未节省)多少。

payback_years

float

收回投资所需的年数。负值表示在生命周期内永远不会收回投资。

DataLayerView

要返回的太阳能信息的子集。

枚举
DATA_LAYER_VIEW_UNSPECIFIED 等同于 FULL。
DSM_LAYER 仅获取 DSM。
IMAGERY_LAYERS 获取 DSM、RGB 和遮罩。
IMAGERY_AND_ANNUAL_FLUX_LAYERS 获取 DSM、RGB、蒙版和年均通量。
IMAGERY_AND_ALL_FLUX_LAYERS 获取 DSM、RGB、掩膜、年光合量和月光合量。
FULL_LAYERS 获取所有数据。

DataLayers

有关某个区域的太阳能发电潜力的信息。实际数据包含在多个 GeoTIFF 文件中,这些文件涵盖了请求的区域,此消息包含这些文件的网址:DataLayers 消息中的每个字符串都包含一个网址,您可以通过该网址提取相应的 GeoTIFF。这些网址在生成后会在几个小时内有效。大多数 GeoTIFF 文件的分辨率为 0.1 米/像素,但月度通量文件的分辨率为 0.5 米/像素,小时阴影文件的分辨率为 1 米/像素。如果在 GetDataLayersRequest 中指定了 pixel_size_meters 值,则 GeoTIFF 文件中的最小分辨率将为该值。

字段
imagery_date

Date

此区域的源图像(所有其他数据均派生自此)的拍摄时间。由于图片可能拍摄于多天内,因此此时间范围必然具有一定的不确定性。

imagery_processed_date

Date

此图像的处理完成时间。

dsm_url

string

相应区域 DSM(数字地表模型)图片的网址。值以高于 EGM96 地心引力模型(即海平面)的米数表示。无效的位置(我们没有数据的位置)会存储为 -9999。

rgb_url

string

相应区域 RGB 数据(航拍照片)的图片网址。

mask_url

string

建筑物遮罩图片的网址:每个像素占用 1 位,表示该像素是否被视为屋顶的一部分。

annual_flux_url

string

相应区域的年均辐射量地图(屋顶年均日照量)的网址。值为千瓦时/千瓦/年。这是未经脱敏的通量:系统会针对每个位置(而不仅仅是建筑物屋顶)计算通量。无效的位置会存储为 -9999:不在覆盖范围内的位置无效,并且覆盖范围内无法计算通量的部分位置也无效。

monthly_flux_url

string

相应区域的每月通量图(屋顶上的阳光,按月细分)的网址。值为千瓦时/千瓦/年。此网址指向的 GeoTIFF 将包含十二个波段,分别对应于 1 月到 12 月。

hourly_shade_urls[]

string

十二个小时阴影网址,分别对应于 1 月到 12 月。每个 GeoTIFF 文件都包含 24 个波段,对应于一天中的 24 个小时。每个像素都是一个 32 位整数,对应于当月(最多)31 天;1 位表示相应位置能够在当月当天当小时看到太阳。无效的位置存储为 -9999(由于此值为负,因此其设置了第 31 位,并且任何有效值都不能设置第 31 位,因为这将对应于当月的 32 日)。

下面的示例可能很有用。如果您想知道某个点(位于像素位置 (x, y))在 6 月 22 日下午 4 点是否见到阳光,则需要执行以下操作:

  1. 提取此列表中的第六个网址(对应于 6 月)。
  2. 查找第 17 个频道(对应于下午 4 点)。
  3. 读取 (x, y) 处的 32 位值。
  4. 读取该值的 21 位(对应于当月 22 日)。
  5. 如果该位数为 1,则表示该点在 6 月 22 日下午 4 点看到了太阳。

更正式地说:给定 month(1-12)、day(1...月最大;2 月有 28 天)和 hour(0-23),则相应月份/日期/小时在位置 (x, y) 的阴影/阳光是位

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

其中 (x, y) 是空间索引编制,[month - 1] 是提取第 month - 1 个网址(从零开始编制索引),[hour] 是将网址编入渠道,最终的非零结果表示“晴天”。没有闰日,也不存在夏令时(所有日期均为 24 小时;中午始终是“标准时间”中午)。

imagery_quality

ImageryQuality

结果的图像质量。

FinancedPurchaseSavings

使用贷款购买特定配置的太阳能板(具有特定用电量)的成本和效益。

字段
annual_loan_payment

Money

按年付款。

rebate_value

Money

所有税款返还金额(包括联邦投资税抵免 [ITC])。

loan_interest_rate

float

这组计算中假设的贷款利率。

savings

SavingsOverTime

在生命周期内节省(或未节省)多少。

FinancialAnalysis

分析特定电费账单金额的最佳太阳能板布局的成本和效益。

字段
monthly_bill

Money

此分析假设的每月电费。

default_bill

bool

此建筑物所在区域的默认账单大小是否为此账单大小。BuildingSolarPotential 中应只有一个 FinancialAnalysis 设置了 default_bill

average_kwh_per_month

float

房屋平均每月用电量,基于账单金额和当地电价。

financial_details

FinancialDetails

无论使用哪种分期付款方式,都需要提供的财务信息。

leasing_savings

LeasingSavings

租赁太阳能电池板的成本和效益。

cash_purchase_savings

CashPurchaseSavings

使用现金购买太阳能板的成本和效益。

financed_purchase_savings

FinancedPurchaseSavings

通过分期付款购买太阳能板的成本和效益。

panel_config_index

int32

solar_panel_configs 中适用于此账单大小的最佳太阳能布局的索引。此值可以为 -1,表示没有布局。在这种情况下,系统会忽略其余子消息。

FinancialDetails

财务分析的详细信息。其中一些详细信息已存储在更高级别(例如自付费用)中。总金额是指 SolarPotential 中的 panel_lifetime_years 字段定义的生命周期内的金额。注意:购买面板的实际支出费用在 CashPurchaseSavingsout_of_pocket_cost 字段中给出。

字段
initial_ac_kwh_per_year

float

我们认为太阳能电池板在第一年的交流千瓦时发电量。

remaining_lifetime_utility_bill

Money

太阳能板使用寿命内非太阳能发电所产生的电费。

federal_incentive

Money

可获得的联邦补贴金额;如果用户购买(无论是否贷款)太阳能板,则适用此项。

state_incentive

Money

可从州级补贴中获得的金额;如果用户购买太阳能板(无论是否贷款),则适用此项。

utility_incentive

Money

可从公共事业补贴中获得的金额;如果用户购买(无论是否贷款)太阳能板,则适用此属性。

lifetime_srec_total

Money

用户在太阳能板的使用寿命内将通过太阳能可再生能源抵用金获得的金额;如果用户购买(无论是否通过贷款)太阳能板,则适用此属性。

cost_of_electricity_without_solar

Money

如果用户未安装太阳能装置,在整个生命周期内需要支付的电费总金额。

net_metering_allowed

bool

是否允许净计量。

solar_percentage

float

用户由太阳能供电的百分比 (0-100)。适用于第一年,但对于未来几年,数据大致准确。

percentage_exported_to_grid

float

我们假设的太阳能发电量中输送到电网的百分比(0-100),基于第一季度的发电量。如果不允许净计量,这会影响计算结果。

FindClosestBuildingInsightsRequest

Solar.FindClosestBuildingInsights 的请求消息。

字段
location

LatLng

必需。API 用于查找最近已知建筑物的经纬度。

required_quality

ImageryQuality

可选。结果中允许的最低质量级别。系统不会返回质量低于此值的结果。如果未指定此参数,则相当于仅限于“高”质量。

GetDataLayersRequest

Solar.GetDataLayers 的请求消息。

字段
location

LatLng

必需。要获取数据的地区中心的经纬度。

radius_meters

float

必需。半径(以米为单位),用于定义应返回数据的中心点周围的区域。此值存在以下限制:

  • 您可以随时指定不超过 100 米的任何值。
  • 可以指定超过 1 亿的值,前提是 radius_meters <= pixel_size_meters * 1000
  • 不过,对于大于 175 米的值,请求中的 DataLayerView 不得包含月度通量或每小时阴影。
view

DataLayerView

可选。要返回的数据的所需子集。

required_quality

ImageryQuality

可选。结果中允许的最低质量级别。系统不会返回质量低于此值的结果。如果未指定此参数,则相当于仅限于“高”质量。

pixel_size_meters

float

可选。要返回的数据的最小比例(以每像素米为单位)。支持的值为 0.1(如果未明确设置此字段,则默认为此值)、0.25、0.5 和 1.0。正常分辨率低于 pixel_size_meters 的图像组件将以 pixel_size_meters 指定的分辨率返回;正常分辨率等于或高于 pixel_size_meters 的图像组件将以该正常分辨率返回。

exact_quality_required

bool

可选。是否要求图像质量完全一致。如果设置为 false,required_quality 字段会被解读为最低要求的画质,因此当 required_quality 设置为 MEDIUM 时,系统可能会返回 HIGH 画质的图像。如果设置为 true,则 required_quality 会被解读为确切所需的质量;如果 required_quality 设置为 MEDIUM,则仅返回 MEDIUM 质量的图像。

GetGeoTiffRequest

Solar.GetGeoTiff 的请求消息。

字段
id

string

必需。请求的资产的 ID。

ImageryQuality

用于计算某些 API 结果的图像质量。

注意:无论图像质量级别如何,DSM 输出始终为 0.1 米/像素的分辨率,月度通量输出始终为 0.5 米/像素的分辨率,每小时阴影输出始终为 1 米/像素的分辨率。

枚举
IMAGERY_QUALITY_UNSPECIFIED 质量未知。
HIGH 太阳能数据来自于在低空拍摄的航拍图像,并以 0.1 米/像素的处理分辨率处理。
MEDIUM 太阳能数据来自高海拔拍摄的增强型航拍图像,处理分辨率为 0.25 米/像素。
LOW 太阳能数据源自以 0.25 米/像素处理的增强型卫星图像。
BASE 太阳能数据源自以 0.25 米/像素处理的增强型卫星图像。

LatLngBox

采用纬度/经度坐标的边界框。

字段
sw

LatLng

框的西南角。

ne

LatLng

框的东北角。

LeasingSavings

租用特定配置的太阳能板(具有特定用电量)的成本和效益。

字段
leases_allowed

bool

此管辖区是否允许租赁(某些州不允许租赁)。如果此字段为 false,则应忽略此消息中的值。

leases_supported

bool

财务计算引擎是否支持在此管辖区内使用租赁。如果此字段为 false,则应忽略此消息中的值。这与 leases_allowed 无关:在某些地区,允许租赁,但在财务模型无法处理的情况下。

annual_leasing_cost

Money

预计的租赁年费用。

savings

SavingsOverTime

在生命周期内节省(或未节省)多少。

RoofSegmentSizeAndSunshineStats

有关屋顶细分区域大小和阳光度百分位数的信息。

字段
stats

SizeAndSunshineStats

屋顶片段的总大小和日照百分位数。

center

LatLng

屋顶片段中心附近的一个点。

bounding_box

LatLngBox

屋顶片段的边界框。

pitch_degrees

float

屋顶片段相对于理论地平面的角度。0 = 平行于地面,90 = 垂直于地面。

azimuth_degrees

float

屋顶片段所指的罗盘方向。0 = 北,90 = 东,180 = 南。对于“平屋顶”屋顶片段(pitch_degrees 非常接近 0),方位角未定义清楚,因此为保持一致,我们将其任意定义为 0(北)。

plane_height_at_center_meters

float

屋顶片段平面在 center 指定的点处的高度(以米为单位,海拔高度)。与屋顶板的坡度、方位角和中心位置一起,这完全定义了屋顶板片平面。

RoofSegmentSummary

有关建筑物屋顶细分的信息,其中放置了一些面板。

字段
panels_count

int32

此细分中的面板总数。

yearly_energy_dc_kwh

float

假设采用上述电池板,此布局部分一年可捕获多少太阳能(以直流千瓦时为单位)。

pitch_degrees

float

屋顶片段相对于理论地平面的角度。0 = 平行于地面,90 = 垂直于地面。

azimuth_degrees

float

屋顶片段所指的罗盘方向。0 = 北,90 = 东,180 = 南。对于“平屋顶”屋顶片段(pitch_degrees 非常接近 0),方位角未定义清楚,因此为保持一致,我们将其任意定义为 0(北)。

segment_index

int32

相应 RoofSegmentSizeAndSunshineStatsroof_segment_stats 中的索引。

SavingsOverTime

不同付款方式之间共享的财务信息。

字段
savings_year1

Money

安装太阳能板后的第一个年份的节省金额。

savings_year20

Money

安装面板后的前 20 年内可节省的费用。

present_value_of_savings_year20

Money

使用假设的折现率,20 年累计节省金额的现值是多少?

savings_lifetime

Money

整个面板生命周期内的节省金额。

present_value_of_savings_lifetime

Money

使用假设的折现率,使用寿命内的累计节省金额的现值是多少?

financially_viable

bool

指明此场景在财务上是否可行。对于财务可行性较差(例如亏损)的情况,此值为 false。

SizeAndSunshineStats

屋顶或屋顶部分的大小和阳光度百分位数。

字段
area_meters2

float

屋顶或屋顶片段的面积(以平方米为单位)。这是屋顶面积(考虑了倾斜度),而不是地面占地面积。

sunshine_quantiles[]

float

相应区域内各个点的阳光度百分位数。如果此处有 N 个值,则表示 (N-1) 个百分位数。例如,如果有 5 个值,则它们将是四分位数(最小值、25% 分位数、50% 分位数、75% 分位数、最大值)。值以每年 kWh/kW 为单位,例如 max_sunshine_hours_per_year

ground_area_meters2

float

屋顶或屋顶片段覆盖的地面占地面积(以平方米为单位)。

SolarPanel

SolarPanel 用于描述单个太阳能板的位置、方向和发电量。如需了解面板的参数,请参阅 SolarPotential 中的 panel_height_meterspanel_width_meterspanel_capacity_watts 字段。

字段
center

LatLng

面板的中心。

orientation

SolarPanelOrientation

面板的方向。

yearly_energy_dc_kwh

float

此布局在一年内能捕获多少太阳能(以直流千瓦时为单位)。

segment_index

int32

RoofSegmentSizeAndSunshineStatsroof_segment_stats 中的索引,对应于此面板所在的车顶片段。

SolarPanelConfig

SolarPanelConfig 用于描述屋顶上太阳能电池板的特定放置位置。

字段
panels_count

int32

面板的总数。请注意,这与 roof_segment_summaries 中的相应字段(的总和)是多余的。

yearly_energy_dc_kwh

float

假设采用上述电池板,此布局一年可捕获多少太阳能(以直流千瓦时为单位)。

roof_segment_summaries[]

RoofSegmentSummary

此布局中至少带有 1 个面板的每个屋顶板块的生产信息。roof_segment_summaries[i] 用于描述第 i 个屋顶片段,包括其大小、预期产量和方向。

SolarPanelOrientation

太阳能电池板的朝向。此值必须相对于安装面板的屋顶片段的方位角进行解读。

枚举
SOLAR_PANEL_ORIENTATION_UNSPECIFIED 面板方向未知。
LANDSCAPE LANDSCAPE 面板的长边垂直于其所在屋顶片段的方位角方向。
PORTRAIT PORTRAIT 面板的长边与其所在屋顶片段的方位角方向平行。

SolarPotential

有关建筑物太阳能潜力的信息。其中的多个字段是根据“面板”定义的。字段 panel_capacity_wattspanel_height_meterspanel_width_meters 用于描述这些计算中使用的面板模型的参数。

字段
max_array_panels_count

int32

最大阵列的大小,即屋顶上可容纳的最大面板数量。

panel_capacity_watts

float

计算中使用的面板的容量(以瓦为单位)。

panel_height_meters

float

计算中使用的面板的高度(竖屏模式,以米为单位)。

panel_width_meters

float

计算中使用的面板的宽度(纵向模式,以米为单位)。

panel_lifetime_years

int32

太阳能电池板的预期寿命(以年为单位)。此值用于财务计算。

max_array_area_meters2

float

最大数组的大小(以平方米为单位)。

max_sunshine_hours_per_year

float

屋顶上任意一点每年接收的日照小时数上限。日照时数是衡量一整年所接受的日照(能量)总量的指标。1 太阳小时 = 每千瓦 1 千瓦时(其中千瓦是指在标准测试条件下的千瓦容量)。

carbon_offset_factor_kg_per_mwh

float

每兆瓦时电网电力产生的二氧化碳当量。该指标衡量的是被太阳能电力取代的电网电力的碳排放强度。

whole_roof_stats

SizeAndSunshineStats

分配给某个屋顶细分的屋顶部分的总大小和日照百分位数。尽管名称如此,但这可能并不包括整个建筑物。请参阅 building_stats

building_stats

SizeAndSunshineStats

整个建筑物的大小和阳光百分位数,包括未分配到某个屋顶片段的屋顶部分。由于这些部分的方向未得到充分描述,因此屋顶面积估算值不可靠,但地面面积估算值可靠。通过将 whole_roof_stats 的屋顶面积按 building_statswhole_roof_stats 的平面面积比率缩放,可以获得更可靠的整个建筑物屋顶面积。

roof_segment_stats[]

RoofSegmentSizeAndSunshineStats

每个屋顶细分区域的大小和日照百分位数。

solar_panels[]

SolarPanel

每个 SolarPanel 都描述一个太阳能板。它们的列出顺序与面板布局算法放置它们的顺序相同。这通常(但并非总是)按年发电量从高到低的顺序排列。

solar_panel_configs[]

SolarPanelConfig

每个 SolarPanelConfig 都描述了屋顶上太阳能板的不同排列方式。它们的排列顺序是按面板数量递增的。SolarPanelConfigpanels_count=N)基于 solar_panels 列表中的前 N 个面板。只有当屋顶上至少可以放置 4 块板块时,系统才会填充此字段。

financial_analyses[]

FinancialAnalysis

FinancialAnalysis 用于计算采用太阳能后节省的电费,假设每月电费和电力供应商已知。它们按每月账单金额从低到高排序。如果 Solar API 没有足够的信息来对建筑所在区域执行财务计算,则此字段将为空。