Method: buildingInsights.findClosest

重心がクエリポイントに最も近い建物を特定します。クエリポイントから約 50 メートル以内に建物がない場合は、コード NOT_FOUND のエラーを返します。

HTTP リクエスト

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

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

クエリ パラメータ

パラメータ
location

object (LatLng)

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

requiredQuality

enum (ImageryQuality)

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

exactQualityRequired

boolean

省略可。画像の正確な品質を要求するかどうか。false に設定すると、requiredQuality フィールドは必要な最低品質として解釈されます。たとえば、requiredQuality が MEDIUM に設定されている場合、HIGH 品質画像が返されることがあります。true に設定すると、requiredQuality は必要な品質として解釈され、requiredQualityMEDIUM に設定されている場合は MEDIUM 品質画像のみが返されます。

experiments[]

enum (Experiment)

省略可。有効にするプレ GA 機能の指定。

リクエストの本文

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

レスポンスの本文

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

建物のリソース名(buildings/{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 kW あたり 1 kWh(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 個のパネルに基づいています。このフィールドは、屋根に 4 枚以上のパネルを設置できる場合にのみ入力されます。

financialAnalyses[]

object (FinancialAnalysis)

FinancialAnalysis は、特定の月額料金と特定の電力会社を想定して、太陽光発電に切り替えた場合の節約額を示します。月額料金の昇順で並んでいます。Solar API が財務計算を行うための十分な情報を取得できないエリアの建物の場合、このフィールドは空になります。

SizeAndSunshineStats

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

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

number

屋根または屋根セグメントの面積(平方メートル)。これは、設置面積ではなく、屋根の面積(傾斜を考慮)です。

sunshineQuantiles[]

number

エリア全体のポイントごとの日照時間の分位数。ここに N 個の値がある場合、これは(N-1)分位数を表します。たとえば、値が 5 つある場合、それらは四分位数(最小値、25%、50%、75%、最大値)になります。値は maxSunshineHoursPerYear のように年間 kWh/kW で表されます。

groundAreaMeters2

number

屋根または屋根セグメントで覆われている地面のフットプリント面積(平方メートル)。

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

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

averageKwhPerMonth

number

請求額と地域の電気料金に基づいて、1 か月あたりの平均電力使用量を推定します。

financialDetails

object (FinancialDetails)

使用される資金調達方法に関係なく適用される財務情報。

leasingSavings

object (LeasingSavings)

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

cashPurchaseSavings

object (CashPurchaseSavings)

太陽光パネルを現金で購入した場合の費用とメリット。

financedPurchaseSavings

object (FinancedPurchaseSavings)

購入資金を調達して太陽光パネルを購入した場合の費用とメリット。

panelConfigIndex

integer

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

金額

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

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%)。初年度は有効ですが、それ以降の年度については概算値です。

percentageExportedToGrid

number

生産の第 1 四半期に基づいて、太陽光発電の何パーセント(0 ~ 100)がグリッドに送電されると想定したか。この設定は、ネット メータリングが許可されていない場合に計算に影響します。

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)

税制優遇措置後の初期費用: 最初の 1 年間に支払う必要がある金額。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)

ライフサイクル期間全体で節約できた(または節約できなかった)金額。