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

建物のリソース名(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 kW あたり 1 kWh(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

屋根または屋根セグメントの面積(m2)。これは、地面の占有面積ではなく、屋根の面積(傾斜を考慮)です。

sunshineQuantiles[]

number

地域全体の点群日照量の分位。ここに N 個の値がある場合、これは(N-1)分位を表します。たとえば、値が 5 個ある場合、四分位(最小値、25%、50%、75%、最大値)になります。値は maxSunshineHoursPerYear のように年間の kWh/kW 単位です。

groundAreaMeters2

number

屋根または屋根セグメントで覆われている地面の占有面積(m²)。

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

上記のパネルを想定した場合、このレイアウトで年間に集める太陽光エネルギーの量(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

この請求書サイズが、この建物がある地域のデフォルトの請求書として選択されているかどうか。BuildingSolarPotentialFinancialAnalysisdefaultBill を設定する必要があります。

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

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)

ライフタイム期間でどれだけ節約できるか(またはできないか)。