Method: buildingInsights.findClosest

중심이 쿼리 지점에 가장 가까운 건물을 찾습니다. 쿼리 지점에서 약 50m 이내에 건물이 없으면 코드 NOT_FOUND와 함께 오류를 반환합니다.

HTTP 요청

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

URL은 gRPC 트랜스코딩 구문을 사용합니다.

쿼리 매개변수

매개변수
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

건물의 태양광 잠재량에 관한 정보입니다. 여기에서 여러 필드는 '패널'로 정의됩니다. 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일조 시간 = kW당 1kWh (여기서 kW는 표준 테스트 조건에서의 용량 kW를 의미함)

carbonOffsetFactorKgPerMwh

number

그리드 전기 1MWh당 생산되는 CO2의 동등한 양입니다. 태양광 발전으로 대체된 그리드 전기의 탄소 강도를 측정한 값입니다.

wholeRoofStats

object (SizeAndSunshineStats)

일부 지붕 세그먼트에 할당된 지붕 부분의 총 크기 및 일조량 분위수입니다. 이름과 달리 전체 건물이 포함되지 않을 수도 있습니다. buildingStats를 참조하세요.

buildingStats

object (SizeAndSunshineStats)

일부 지붕 세그먼트에 할당되지 않은 지붕 부분을 포함한 건물 전체의 크기 및 일조량 분위수입니다. 이러한 부분의 방향이 잘 특징화되지 않았기 때문에 지붕 면적 추정치는 신뢰할 수 없지만 지상 면적 추정치는 신뢰할 수 있습니다. wholeRoofStats의 지붕 면적을 buildingStatswholeRoofStats의 지상 면적 비율로 조정하여 더 신뢰할 수 있는 전체 건물 지붕 면적을 얻을 수 있습니다.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

각 지붕 세그먼트의 크기 및 햇빛 분위수입니다.

solarPanels[]

object (SolarPanel)

SolarPanel는 단일 태양광 패널을 설명합니다. 패널 레이아웃 알고리즘이 배치한 순서대로 나열됩니다. 이는 항상은 아니지만 일반적으로 연간 에너지 생산량의 내림차순입니다.

solarPanelConfigs[]

object (SolarPanelConfig)

SolarPanelConfig는 지붕에 있는 태양광 패널의 서로 다른 배열을 설명합니다. 패널 수가 증가하는 순서로 나열됩니다. panelsCount=N인 SolarPanelConfigsolarPanels 목록의 첫 번째 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은 단일 태양광 패널의 위치, 방향, 생산량을 설명합니다. 패널의 매개변수에 관한 정보는 SolarPotentialpanelHeightMeters, 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

이 패널이 배치된 지붕 세그먼트에 해당하는 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)

이 레이아웃에서 패널을 하나 이상 지지하는 각 지붕 세그먼트의 생산에 관한 정보입니다. 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 하나에 defaultBill가 설정되어 있어야 합니다.

averageKwhPerMonth

number

청구서 금액과 지역 전기 요금을 기준으로 한 월 평균 전기 사용량입니다.

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달러(USD)입니다.

nanos

integer

금액의 나노 (10^-9) 단위 수입니다. 이 값은 -999,999,999~+999,999,999(끝값 포함) 사이여야 합니다. units가 양수이면 nanos는 양수 또는 0이어야 합니다. units가 0이면 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)

패널 설치 후 첫해의 절감액입니다.

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)

전체 기간 동안 절약된 금액 (또는 절약되지 않은 금액)입니다.