Method: buildingInsights.findClosest

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

HTTP 요청

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

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

쿼리 매개변수

매개변수
location

object (LatLng)

필수 항목입니다. API가 가장 가까운 알려진 건물을 찾는 위도 및 경도입니다.

requiredQuality

enum (ImageryQuality)

선택사항입니다. 결과에서 허용되는 최소 품질 수준입니다. 이보다 낮은 품질의 결과는 반환되지 않습니다. 이 옵션을 지정하지 않으면 HIGH 품질로만 제한하는 것과 같습니다.

요청 본문

요청 본문은 비어 있어야 합니다.

응답 본문

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

최대 배열의 크기(m2)입니다.

maxSunshineHoursPerYear

number

옥상의 모든 지점에서 연간 최대 일조량입니다. 일조량은 연간 수신되는 총 일조량 (에너지)을 측정한 값입니다. 일조량 1시간 = kW당 1kWh (여기서 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)-iles을 나타냅니다. 예를 들어 값이 5개인 경우 값은 분위수 (최솟값, 25%, 50%, 75%, 최대값)입니다. 값은 maxSunshineHoursPerYear와 같이 연간 kWh/kW 단위로 표시됩니다.

groundAreaMeters2

number

지붕 또는 지붕 세그먼트가 차지하는 지상 면적(m2)입니다.

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)

이 레이아웃에서 패널을 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 중 정확히 하나에 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)

전체 기간 동안 절약된 금액입니다.