Method: buildingInsights.findClosest

쿼리 포인트에서 가장 가까운 건물을 찾습니다. 쿼리 지점에서 약 50m 이내에 건물이 없는 경우 코드 NOT_FOUND와 함께 오류가 반환됩니다.

HTTP 요청

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

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

쿼리 매개변수

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

건물의 잠재 태양광 발전량에 관한 정보입니다. 여기에서 여러 필드는 '패널'로 정의됩니다. 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%, 최대)가 됩니다. 값은 연간 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은 단일 태양 전지 패널의 위치, 방향, 생산을 설명합니다. 패널의 매개변수에 관한 자세한 내용은 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

이 건물이 있는 지역의 기본 청구서 크기인지 여부를 나타냅니다. BuildingSolarPotential에 있는 정확히 하나의 FinancialAnalysis에는 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달러(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)입니다. 처음 1년 동안은 유효하지만 이후 해에는 대략 정확합니다.

percentageExportedToGrid

number

전력 생산량의 1/4을 기준으로 가정한 태양광 발전량의 비율 (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

이 시나리오가 재정적으로 타당한지 여부를 나타냅니다. 재정적 실행 가능성이 낮은 시나리오 (예: 손실)의 경우 거짓입니다.

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)

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