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)

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

exactQualityRequired

boolean

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

experiments[]

enum (Experiment)

省略可。有効にする pre-GA 試験運用版を指定します。このフィールドを使用するリクエストは、Google Maps Platform サービス固有の規約に基づき、一般提供前サービスとして分類されます。詳細については、リリース ステージの説明をご覧ください。

additionalInsights[]

enum (AdditionalInsights)

省略可。レスポンスに含める additionalInsights のリスト。

リクエストの本文

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

レスポンスの本文

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),
  "detectedArrays": {
    object (DetectedArrays)
  }
}
フィールド
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)

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

detectedArrays

object (DetectedArrays)

建物で検出された太陽光発電アレイ。このフィールドは、リクエストの FindClosestBuildingInsightsRequest.additional_insights に DETECTED_ARRAYS が含まれている場合にのみ入力されます。

認可スコープ

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

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

AdditionalInsights

BuildingInsights で返される、屋根の形状や太陽光パネルのアレイなどの追加の建物情報。

列挙型
ADDITIONAL_INSIGHTS_UNSPECIFIED デフォルト値。デフォルトの BuildingInsights が返されます。
DETECTED_ARRAYS

検出された配列をレスポンスに含めるかどうかを指定します。

指定すると、レスポンスの detectedArrays フィールドに値が入力されます。

LatLngBox

緯度 / 経度座標の境界ボックス。

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

object (LatLng)

ボックスの南西の角。

ne

object (LatLng)

ボックスの北東の角。

SolarPotential

建物の太陽光発電のポテンシャルに関する情報。この中の多くのフィールドは「パネル」という観点で定義されています。panelCapacityWatts、panelHeightMeters、panelWidthMeters の各フィールドは、これらの計算で使用されるパネルのモデルのパラメータを表します。

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)

建物全体のサイズと日照量の分位数。屋根セグメントに割り当てられていない屋根の部分も含まれます。これらの部分の向きは十分に特徴付けられていないため、屋根の面積の推定値は信頼できませんが、地面の面積の推定値は信頼できます。buildingStats と wholeRoofStats の敷地面積の比率で wholeRoofStats の屋根の面積をスケーリングすることで、より信頼性の高い建物全体の屋根の面積を取得できる可能性があります。

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

屋根または屋根セグメントの面積(m^2)。これは、屋根の面積(傾斜を考慮)であり、地上設置面積ではありません。

sunshineQuantiles[]

number

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

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 は、1 つの太陽光パネルの位置、向き、発電量を表します。パネルのパラメータについては、SolarPotential の panelHeightMeters、panelWidthMeters、panelCapacityWatts フィールドをご覧ください。

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

object (LatLng)

パネルの中央。

orientation

enum (SolarPanelOrientation)

パネルの向き。

yearlyEnergyDcKwh

number

このレイアウトで 1 年間に捕捉される太陽光エネルギーの量(DC kWh)。

segmentIndex

integer

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

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

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

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 の FinancialAnalysis の 1 つだけに defaultBill を設定する必要があります。

averageKwhPerMonth

number

電気料金と地域の電気料金に基づいて、住宅が平均的な月に使用する電力量。

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

財務分析の詳細。これらの詳細の一部は、すでに上位レベル(自己負担額など)に保存されています。合計金額は、SolarPotential の panelLifetimeYears フィールドで定義された全期間の合計です。注: パネルの購入にかかる自己負担費用は、CashPurchaseSavings の outOfPocketCost フィールドに表示されます。

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

太陽光発電の最初の四半期に基づいて、電力網に送電されたと想定される太陽光発電の割合(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)

全期間で節約された金額(または節約されなかった金額)。

DetectedArrays

建物で検出された太陽光発電アレイに関する情報。

JSON 表現
{
  "detectionStatus": enum (DetectionStatus),
  "arrays": [
    {
      object (SolarArray)
    }
  ],
  "latestCaptureDate": {
    object (Date)
  }
}
フィールド
detectionStatus

enum (DetectionStatus)

この建物の太陽光発電システムの検出ステータスを示します。

arrays[]

object (SolarArray)

建物で検出された太陽電池アレイのリスト。

latestCaptureDate

object (Date)

最新の太陽電池アレイデータが取得された日付。

DetectionStatus

この建物の太陽光発電システムの検出ステータスを示します。

列挙型
DETECTION_STATUS_UNSPECIFIED ステータスは指定されていません。
DETECTION_STATUS_DATA_UNAVAILABLE この建物では、検出された太陽光発電システムのデータを利用できません。
DETECTION_STATUS_ARRAYS_DETECTED この建物で少なくとも 1 つの太陽電池アレイが検出されました。
DETECTION_STATUS_NO_ARRAYS_DETECTED この建物では太陽光発電システムが検出されませんでした。

SolarArray

検出された 1 つの太陽電池アレイの詳細。

JSON 表現
{
  "polygonGeojson": {
    object
  }
}
フィールド
polygonGeojson

object (Struct format)

太陽光パネルが検出された建物エリアの GeoJSON 表現。

GeoJSON データは RFC 7946 形式で、1 つの連続したエリアのポリゴンを表している必要があります。

ポリゴンに穴がある場合、ポリゴンは複数のループで表されます。

例:

{ "type": "Polygon", "coordinates": [ [ [-1, -1], [-1, 0], [0, 0], [-1, -1] ] ] }