Method: buildingInsights.findClosest

クエリポイントに最も近い建物を検索します。クエリポイントから約 50 m 以内に建物がない場合、コード NOT_FOUND でエラーを返します。

HTTP リクエスト

GET https://solar.googleapis.com/v1/buildingInsights:findClosest

この URL は gRPC Transcoding 構文を使用します。

クエリ パラメータ

パラメータ
location

object (LatLng)

必須。API が最も近い既知の建物を検索するときの経度と緯度。

requiredQuality

enum (ImageryQuality)

省略可。結果に含めることができる最低品質レベル。これより品質の低い結果は返されません。これを指定しないと、高品質のみに制限することと同じ結果になります。

リクエスト本文

リクエストの本文は空にする必要があります。

レスポンスの本文

Solar.FindClosestBuildingInsights に対するレスポンス メッセージ。建物の位置、面積、太陽光発電のポテンシャルに関する情報。

成功した場合、レスポンスの本文には次の構造のデータが含まれます。

JSON 表現
{
  "name": string,
  "center": {
    object (LatLng)
  },
  "boundingBox": {
    object (LatLngBox)
  },
  "imageryDate": {
    object (Date)
  },
  "imageryProcessedDate": {
    object (Date)
  },
  "postalCode": string,
  "administrativeArea": string,
  "statisticalArea": string,
  "regionCode": string,
  "solarPotential": {
    object (SolarPotential)
  },
  "imageryQuality": enum (ImageryQuality)
}
フィールド
name

string

建物のリソース名(形式: building/<place ID>)。

center

object (LatLng)

建物の中心付近の地点。

boundingBox

object (LatLngBox)

建物の境界ボックス。

imageryDate

object (Date)

元の画像を取得した日付。これはおおよその値です。

imageryProcessedDate

object (Date)

この画像の処理が完了した日時。

postalCode

string

郵便番号(例:米国の郵便番号)を指定します。

administrativeArea

string

この建物を含む行政区域 1(米国の州など)。たとえば、米国では「MA」などになります。(例: 「CA」)。

statisticalArea

string

統計地域(例:(米国国勢調査区)に属します。

regionCode

string

この建物がある国(または地域の)地域コード。

solarPotential

object (SolarPotential)

建物の太陽光発電のポテンシャル。

imageryQuality

enum (ImageryQuality)

この建物のデータの計算に使用される画像の品質。

認可スコープ

次の OAuth スコープが必要です。

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

LatLngBox

緯度/経度座標で表した境界ボックス。

JSON 表現
{
  "sw": {
    object (LatLng)
  },
  "ne": {
    object (LatLng)
  }
}
フィールド
sw

object (LatLng)

箱の南西の角。

ne

object (LatLng)

箱の北東の角。

SolarPotential

建物の太陽光発電のポテンシャルに関する情報。「パネル」の多くの項目が定義されています。panelCapacityWattspanelHeightMeterspanelWidthMeters の各フィールドは、これらの計算で使用されるパネルのモデルのパラメータを記述します。

JSON 表現
{
  "maxArrayPanelsCount": integer,
  "panelCapacityWatts": number,
  "panelHeightMeters": number,
  "panelWidthMeters": number,
  "panelLifetimeYears": integer,
  "maxArrayAreaMeters2": number,
  "maxSunshineHoursPerYear": number,
  "carbonOffsetFactorKgPerMwh": number,
  "wholeRoofStats": {
    object (SizeAndSunshineStats)
  },
  "buildingStats": {
    object (SizeAndSunshineStats)
  },
  "roofSegmentStats": [
    {
      object (RoofSegmentSizeAndSunshineStats)
    }
  ],
  "solarPanels": [
    {
      object (SolarPanel)
    }
  ],
  "solarPanelConfigs": [
    {
      object (SolarPanelConfig)
    }
  ],
  "financialAnalyses": [
    {
      object (FinancialAnalysis)
    }
  ]
}
フィールド
maxArrayPanelsCount

integer

最大配列のサイズ、つまり屋根に収めることができるパネルの最大数。

panelCapacityWatts

number

計算に使用したパネルの容量(ワット)。

panelHeightMeters

number

計算に使用されるパネルの高さ(縦向きでのメートル単位)。

panelWidthMeters

number

計算に使用されるパネルの幅(縦向きでのメートル単位)。

panelLifetimeYears

integer

太陽光パネルの耐用年数(年)。この値は財務計算で使用されます。

maxArrayAreaMeters2

number

最大配列のサイズ(平方メートル単位)。

maxSunshineHoursPerYear

number

屋根の任意の地点における 1 年間の日照時間の上限。日照時間は、1 年間の日射量(エネルギー)の合計を測定したものです。1 日照時間 = 1 kW / kW(kW は標準試験条件における容量の kW)。

carbonOffsetFactorKgPerMwh

number

電力網での電力 1 MWh あたりの同等の CO2 排出量。太陽光発電によって置き換えられる電力網の二酸化炭素排出原単位を表します。

wholeRoofStats

object (SizeAndSunshineStats)

いくつかの屋根セグメントに割り当てられた屋根の部分の合計サイズと日射分位数。名前に反して、建物全体が含まれているとは限りません。buildingStats をご覧ください。

buildingStats

object (SizeAndSunshineStats)

一部の屋根セグメントに割り当てられていない屋根のパーツを含む、建物全体のサイズと日射分位数。これらの部品の向きは十分に特徴付けされていないため、屋根面積の推定値は信頼できませんが、地面面積の推定値は信頼できます。屋根面積を wholeRoofStats から buildingStatswholeRoofStats の地面面積の比率でスケーリングすると、建物の屋根全体の面積をより信頼性の高いものにすることができます。

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

各屋根セグメントのサイズと日射分位数。

solarPanels[]

object (SolarPanel)

SolarPanel は 1 つのソーラーパネルを表します。パネル レイアウト アルゴリズムによる配置順に表示されます。常にではありませんが、通常、年間のエネルギー生産量が少ない順です。

solarPanelConfigs[]

object (SolarPanelConfig)

それぞれの SolarPanelConfig は、屋根に設置された太陽光パネルの配置を表します。パネル数が多い順に表示されています。panelsCount=N の SolarPanelConfig は、solarPanels リストの最初の N 個のパネルに基づいています。このフィールドは、1 つの屋根に 4 枚以上のパネルが収まる場合にのみ入力されます。

financialAnalyses[]

object (FinancialAnalysis)

FinancialAnalysis は、毎月の請求額と電力会社を前提として、太陽光発電の導入による節約額を示します。毎月の請求額の高い順に表示されます。Solar API で財務計算を行うための十分な情報がない地域にある建物の場合、このフィールドは空になります。

SizeAndSunshineStats

屋根または屋根の一部のサイズと日当たりの分位数。

JSON 表現
{
  "areaMeters2": number,
  "sunshineQuantiles": [
    number
  ],
  "groundAreaMeters2": number
}
フィールド
areaMeters2

number

屋根または屋根セグメントの面積(m^2 単位)。これは(傾斜を考慮した)屋根の面積であり、グラウンド フットプリントの面積ではありません。

sunshineQuantiles[]

number

地域における点ごとの日当たりの分位数。値が N 個ある場合は、(N-1)番目を表します。たとえば、値が 5 つある場合は、四分位(最小、25%、50%、75%、最大)になります。値は年間 kWh/kW 単位です(例: maxSunshineHoursPerYear)。

groundAreaMeters2

number

屋根または屋根セグメントで覆われるグラウンド フットプリントの面積(m^2 単位)。

RoofSegmentSizeAndSunshineStats

屋根セグメントのサイズと日当たりの分位数に関する情報。

JSON 表現
{
  "stats": {
    object (SizeAndSunshineStats)
  },
  "center": {
    object (LatLng)
  },
  "boundingBox": {
    object (LatLngBox)
  },
  "pitchDegrees": number,
  "azimuthDegrees": number,
  "planeHeightAtCenterMeters": number
}
フィールド
stats

object (SizeAndSunshineStats)

屋根セグメントの合計サイズと日射分位数。

center

object (LatLng)

屋根セグメントの中心付近の点。

boundingBox

object (LatLngBox)

屋根セグメントの境界ボックス。

pitchDegrees

number

理論的接地面に対する屋根セグメントの角度。0 = 地面と平行、90 = 地面と垂直。

azimuthDegrees

number

屋根セグメントが向いているコンパスの方向。0 = 北、90 = 東、180 = 南です。「フラット」屋根セグメント(pitchDegrees が 0 に非常に近い)の場合、方位角は明確に定義されていないため、一貫性を保つために任意で 0(北)を定義します。

planeHeightAtCenterMeters

number

center で指定された地点における、屋根セグメントの平面の高さ(海抜メートル単位)。ピッチ、方位角、中心位置とともに、屋根セグメントの平面を完全に定義します。

SolarPanel

SolarPanel は、単一の太陽光パネルの位置、向き、生産を表します。パネルのパラメータについては、SolarPotentialpanelHeightMeterspanelWidthMeterspanelCapacityWatts の各フィールドをご覧ください。

JSON 表現
{
  "center": {
    object (LatLng)
  },
  "orientation": enum (SolarPanelOrientation),
  "yearlyEnergyDcKwh": number,
  "segmentIndex": integer
}
フィールド
center

object (LatLng)

パネルの中央。

orientation

enum (SolarPanelOrientation)

パネルの向き。

yearlyEnergyDcKwh

number

このレイアウトの 1 年間の太陽光エネルギー量(DC kWh)。

segmentIndex

integer

このパネルが配置される屋根セグメントに対応する RoofSegmentSizeAndSunshineStatsroofSegmentStats のインデックス。

SolarPanelOrientation

太陽光パネルの向き。これは、パネルが配置される屋根セグメントの方位角を基準に解釈する必要があります。

列挙型
SOLAR_PANEL_ORIENTATION_UNSPECIFIED パネルの向きは不明です。
LANDSCAPE LANDSCAPE パネルの長辺は、配置する屋根セグメントの方位角方向と垂直です。
PORTRAIT PORTRAIT パネルの長辺は、配置する屋根セグメントの方位角と平行です。

SolarPanelConfig

SolarPanelConfig は、屋上に太陽光パネルを設置する特定の配置を記述するものです。

JSON 表現
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "roofSegmentSummaries": [
    {
      object (RoofSegmentSummary)
    }
  ]
}
フィールド
panelsCount

integer

パネルの合計数。これは、roofSegmentSummaries の対応するフィールド(合計)と冗長です。

yearlyEnergyDcKwh

number

上記のパネルを想定した場合の、このレイアウトの 1 年間の太陽光エネルギー量(DC kWh)。

roofSegmentSummaries[]

object (RoofSegmentSummary)

このレイアウトでパネルを 1 つ以上搭載している各屋根セグメントの制作に関する情報。roofSegmentSummaries[i] は i 番目の屋根セグメントを記述し、そのサイズ、想定される生産状況、向きを含めます。

RoofSegmentSummary

いくつかのパネルが配置された、建物の屋根セグメントに関する情報。

JSON 表現
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "pitchDegrees": number,
  "azimuthDegrees": number,
  "segmentIndex": integer
}
フィールド
panelsCount

integer

このセグメントのパネルの合計数。

yearlyEnergyDcKwh

number

上記のパネルを想定した 1 年間のこの部分の太陽光エネルギー量(DC kWh)。

pitchDegrees

number

理論的接地面に対する屋根セグメントの角度。0 = 地面と平行、90 = 地面と垂直。

azimuthDegrees

number

屋根セグメントが向いているコンパスの方向。0 = 北、90 = 東、180 = 南です。「フラット」屋根セグメント(pitchDegrees が 0 に非常に近い)の場合、方位角は明確に定義されていないため、一貫性を保つために任意で 0(北)を定義します。

segmentIndex

integer

対応する RoofSegmentSizeAndSunshineStatsroofSegmentStats のインデックス。

FinancialAnalysis

特定の電気代の請求額に対する最適な太陽光発電システムの配置コストとメリットの分析。

JSON 表現
{
  "monthlyBill": {
    object (Money)
  },
  "defaultBill": boolean,
  "averageKwhPerMonth": number,
  "financialDetails": {
    object (FinancialDetails)
  },
  "leasingSavings": {
    object (LeasingSavings)
  },
  "cashPurchaseSavings": {
    object (CashPurchaseSavings)
  },
  "financedPurchaseSavings": {
    object (FinancedPurchaseSavings)
  },
  "panelConfigIndex": integer
}
フィールド
monthlyBill

object (Money)

この分析で想定している毎月の電気代。

defaultBill

boolean

この建物があるエリアのデフォルトの請求として選択された請求サイズかどうか。BuildingSolarPotential の 1 つの FinancialAnalysis にのみ defaultBill を設定する必要があります。

averageKwhPerMonth

number

請求額と地域の電気料金に基づく、1 か月の平均的な住宅の電気使用量です。

financialDetails

object (FinancialDetails)

使用するローン方法に関係なく適用される財務情報。

leasingSavings

object (LeasingSavings)

太陽光パネルのリースの費用とメリット。

cashPurchaseSavings

object (CashPurchaseSavings)

太陽光パネルを現金で購入するコストとメリット。

financedPurchaseSavings

object (FinancedPurchaseSavings)

ローンによる太陽光パネルの購入費用とメリット。

panelConfigIndex

integer

この請求サイズに最適な太陽光発電レイアウトの solarPanelConfigs のインデックス。-1 はレイアウトがないことを示します。この場合、残りのサブメッセージは省略されます。

Money

金額をその通貨タイプで表します。

JSON 表現
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
フィールド
currencyCode

string

ISO 4217 で定義されている 3 文字の通貨コード。

units

string (int64 format)

金額の整数部分。たとえば、currencyCode"USD" の場合、1 単位は 1 米ドルです。

nanos

integer

金額の小数部分をナノ(10^-9)単位で表した数。値は -999,999,999 以上 +999,999,999 以下でなければなりません。units が正の場合、nanos には正数または 0 を指定します。units がゼロの場合、nanos には正数、0、または負数を指定できます。units が負の場合、nanos は負数または 0 を指定します。たとえば、$-1.75 は units = -1、nanos = -750,000,000 と表されます。

FinancialDetails

財務分析の詳細。これらの詳細情報の一部は、すでにより高いレベルで保存されています(自己負担費用など)。SolarPotentialpanelLifetimeYears フィールドで定義された全期間における合計金額。注: パネル購入の自己負担費用は CashPurchaseSavingsoutOfPocketCost フィールドに記載されています。

JSON 表現
{
  "initialAcKwhPerYear": number,
  "remainingLifetimeUtilityBill": {
    object (Money)
  },
  "federalIncentive": {
    object (Money)
  },
  "stateIncentive": {
    object (Money)
  },
  "utilityIncentive": {
    object (Money)
  },
  "lifetimeSrecTotal": {
    object (Money)
  },
  "costOfElectricityWithoutSolar": {
    object (Money)
  },
  "netMeteringAllowed": boolean,
  "solarPercentage": number,
  "percentageExportedToGrid": number
}
フィールド
initialAcKwhPerYear

number

初年度に太陽光パネルの発電量が予測される AC kWh。

remainingLifetimeUtilityBill

object (Money)

太陽光発電以外(パネルの耐用年数の間)の公共料金の請求書。

federalIncentive

object (Money)

連邦政府のインセンティブから得ることができる金額これは、ユーザーがパネルを購入した場合(ローンの有無は問わない)に適用されます。

stateIncentive

object (Money)

州のインセンティブから得ることができる金額これは、ユーザーがパネルを購入した場合(ローンの有無は問わない)に適用されます。

utilityIncentive

object (Money)

公共料金のインセンティブから得られる金額これは、ユーザーがパネルを購入した場合(ローンの有無は問わない)に適用されます。

lifetimeSrecTotal

object (Money)

ユーザーがパネルの耐用年数の間に太陽光再生可能エネルギー クレジットから受け取る金額これは、ユーザーがパネルを購入した場合(ローンの有無は問わない)に適用されます。

costOfElectricityWithoutSolar

object (Money)

太陽光発電を設置しなければ、ユーザーが全期間で支払ったはずの電力の総費用。

netMeteringAllowed

boolean

ネット メータリングが許可されているかどうか。

solarPercentage

number

太陽光発電で供給されるユーザーの電力の割合(0 ~ 100)。最初の 1 年間は有効ですが、その後数年間はほぼ適切です。

percentageExportedToGrid

number

想定した太陽光発電の割合(0 ~ 100)は、生産の第 1 四半期に基づき、電力網に輸出されました。ネット メータリングが許可されていない場合、これは計算に影響します。

LeasingSavings

特定の構成の太陽光パネルを特定の電力使用量でリースした場合の費用とメリット。

JSON 表現
{
  "leasesAllowed": boolean,
  "leasesSupported": boolean,
  "annualLeasingCost": {
    object (Money)
  },
  "savings": {
    object (SavingsOverTime)
  }
}
フィールド
leasesAllowed

boolean

この法域でリースが許可されているかどうか(一部の州ではリースが許可されていない)。このフィールドが false の場合、このメッセージの値は無視されます。

leasesSupported

boolean

この法域でリースが財務計算エンジンでサポートされているかどうか。このフィールドが false の場合、このメッセージの値は無視されます。これは leasesAllowed とは無関係です。地域によってはリースは許可されますが、財務モデルで処理されない条件が満たされます。

annualLeasingCost

object (Money)

年間リース費用の見積もり。

savings

object (SavingsOverTime)

全期間でどの程度節約される(または削減しないか)。

SavingsOverTime

さまざまなローン方法間で共有される財務情報。

JSON 表現
{
  "savingsYear1": {
    object (Money)
  },
  "savingsYear20": {
    object (Money)
  },
  "presentValueOfSavingsYear20": {
    object (Money)
  },
  "savingsLifetime": {
    object (Money)
  },
  "presentValueOfSavingsLifetime": {
    object (Money)
  },
  "financiallyViable": boolean
}
フィールド
savingsYear1

object (Money)

パネル設置後の最初の 1 年間でコストを削減。

savingsYear20

object (Money)

パネル設置後 20 年間のコスト削減額

presentValueOfSavingsYear20

object (Money)

仮定した割引率に基づくと、20 年間の累積節約額の現在価値はいくらですか。

savingsLifetime

object (Money)

耐用年数で節約できます。

presentValueOfSavingsLifetime

object (Money)

想定される割引率に基づき、累積の貯蓄の現在価値はいくらですか。

financiallyViable

boolean

このシナリオが経済的に実行可能かどうかを示します。金銭的な実行可能性が低いシナリオ(金銭的な損失など)の場合は false。

CashPurchaseSavings

特定の構成の太陽光パネルを特定の電力使用量で完全に購入した場合の費用とメリット。

JSON 表現
{
  "outOfPocketCost": {
    object (Money)
  },
  "upfrontCost": {
    object (Money)
  },
  "rebateValue": {
    object (Money)
  },
  "savings": {
    object (SavingsOverTime)
  },
  "paybackYears": number
}
フィールド
outOfPocketCost

object (Money)

税制上の優遇措置前の初期費用: 自己負担額。一方、upfrontCost は税引き後のインセンティブです。

upfrontCost

object (Money)

インセンティブ後の初期費用: 初年度に支払う必要がある金額です。一方、outOfPocketCost は税引前です。

rebateValue

object (Money)

すべての税金還付の金額。

savings

object (SavingsOverTime)

全期間でどの程度節約される(または削減しないか)。

paybackYears

number

投資を回収するまでの年数。マイナスの値は、そのライフタイム期間内に回収が行われないことを意味します。

FinancedPurchaseSavings

ローンを利用し、特定の電力使用量で特定の構成の太陽光パネルを購入する費用とメリット。

JSON 表現
{
  "annualLoanPayment": {
    object (Money)
  },
  "rebateValue": {
    object (Money)
  },
  "loanInterestRate": number,
  "savings": {
    object (SavingsOverTime)
  }
}
フィールド
annualLoanPayment

object (Money)

年単位のローン返済。

rebateValue

object (Money)

すべての税金還付の金額(連邦投資税額控除(ITC)を含む)。

loanInterestRate

number

この一連の計算で想定されているローンの利率。

savings

object (SavingsOverTime)

全期間でどの程度節約される(または削減しないか)。