Method: buildingInsights.findClosest

Находит ближайшее к точке запроса здание. Возвращает ошибку с кодом NOT_FOUND , если в радиусе примерно 50 м от точки запроса нет зданий.

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 )

Северо-восточный угол коробки.

СолнечныйПотенциал

Информация о солнечном потенциале здания. Ряд полей здесь определяется как «панели». Поля 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 кВтч на кВт (где «кВт» относится к кВт мощности в стандартных условиях испытаний).

carbonOffsetFactorKgPerMwh

number

Эквивалентное количество CO2, произведенное на МВт электроэнергии из сети. Это показатель углеродоемкости сетевой электроэнергии, вытесняемой солнечной электроэнергией.

wholeRoofStats

object ( SizeAndSunshineStats )

Общий размер и квантили солнечного света для части крыши, отнесенной к какому-либо сегменту крыши. Несмотря на название, сюда может входить не все здание. См. buildingStats .

buildingStats

object ( SizeAndSunshineStats )

Размер и квантили солнечного света для всего здания, включая части крыши, которые не были отнесены к какому-либо сегменту крыши. Поскольку ориентация этих частей не совсем точно определена, оценка площади крыши ненадежна, но оценка площади земли надежна. Возможно, более надежную площадь крыши всего здания можно получить, масштабируя площадь крыши из wholeRoofStats по соотношению земельных площадей buildingStats и wholeRoofStats .

roofSegmentStats[]

object ( RoofSegmentSizeAndSunshineStats )

Размер и квантили солнечного света для каждого сегмента крыши.

solarPanels[]

object ( SolarPanel )

Каждая SolarPanel описывает одну солнечную панель. Они перечислены в том порядке, в котором это разместил алгоритм компоновки панели. Обычно, хотя и не всегда, это происходит в порядке убывания годового производства энергии.

solarPanelConfigs[]

object ( SolarPanelConfig )

Каждый SolarPanelConfig описывает различное расположение солнечных панелей на крыше. Они расположены в порядке увеличения количества панелей. SolarPanelConfig с panelsCount =N основан на первых N панелях в списке solarPanels . Это поле заполняется только в том случае, если на крыше может поместиться как минимум 4 панели.

financialAnalyses[]

object ( FinancialAnalysis )

FinancialAnalysis показывает экономию от перехода на солнечную энергию при условии определенного ежемесячного счета и данного поставщика электроэнергии. Они расположены в порядке возрастания суммы ежемесячного счета. Это поле будет пустым для зданий в районах, для которых у Solar API недостаточно информации для выполнения финансовых расчетов.

РазмерИСаншайнСтатистика

Квантили размера и солнечности крыши или ее части.

JSON-представление
{
  "areaMeters2": number,
  "sunshineQuantiles": [
    number
  ],
  "groundAreaMeters2": number
}
Поля
areaMeters2

number

Площадь крыши или сегмента крыши, м^2. Это площадь крыши (с учетом наклона), а не площадь основания.

sunshineQuantiles[]

number

Квантили точечной солнечности по площади. Если здесь есть N значений, это представляет собой (N-1)-файлы. Например, если имеется 5 значений, это будут квартили (мин, 25 %, 50 %, 75 %, максимум). Значения указаны в годовых кВтч/кВт, например maxSunshineHoursPerYear .

groundAreaMeters2

number

Площадь основания, занимаемая крышей или ее сегментом, в м^2.

КрышаСегментРазмерИСаншайнСтатистика

Информация о размере и квантилях солнечности сегмента крыши.

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 описывает положение, ориентацию и производство одной солнечной панели. См. поля panelHeightMeters , panelWidthMeters и panelCapacityWatts в SolarPotential для получения информации о параметрах панели.

JSON-представление
{
  "center": {
    object (LatLng)
  },
  "orientation": enum (SolarPanelOrientation),
  "yearlyEnergyDcKwh": number,
  "segmentIndex": integer
}
Поля
center

object ( LatLng )

Центр панели.

orientation

enum ( SolarPanelOrientation )

Ориентация панели.

yearlyEnergyDcKwh

number

Сколько солнечной энергии эта планировка улавливает в течение года, в кВтч постоянного тока.

segmentIndex

integer

Индекс в roofSegmentStats для RoofSegmentSizeAndSunshineStats , который соответствует сегменту крыши, на котором размещена эта панель.

СолнечнаяПанельОриентация

Ориентация солнечной панели. Это значение следует интерпретировать относительно азимута сегмента крыши, на котором расположена панель.

Перечисления
SOLAR_PANEL_ORIENTATION_UNSPECIFIED Ориентация панели неизвестна.
LANDSCAPE Длинный край панели LANDSCAPE перпендикулярен азимутальному направлению сегмента крыши, на котором она расположена.
PORTRAIT Длинный край панели PORTRAIT параллелен азимутальному направлению сегмента крыши, на котором она расположена.

СоларПанелКонфиг

SolarPanelConfig описывает конкретное размещение солнечных панелей на крыше.

JSON-представление
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "roofSegmentSummaries": [
    {
      object (RoofSegmentSummary)
    }
  ]
}
Поля
panelsCount

integer

Общее количество панелей. Обратите внимание, что это избыточно для (суммы) соответствующих полей в roofSegmentSummaries .

yearlyEnergyDcKwh

number

Сколько солнечной энергии эта планировка улавливает в течение года, в кВтч постоянного тока, при условии использования панелей, описанных выше.

roofSegmentSummaries[]

object ( RoofSegmentSummary )

Информация о производстве каждого сегмента крыши, несущего хотя бы одну панель в данной компоновке. roofSegmentSummaries[i] описывает i-й сегмент крыши, включая его размер, ожидаемую производительность и ориентацию.

RoofSegmentСводка

Информация об участке крыши здания, на котором размещено некоторое количество панелей.

JSON-представление
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "pitchDegrees": number,
  "azimuthDegrees": number,
  "segmentIndex": integer
}
Поля
panelsCount

integer

Общее количество панелей в этом сегменте.

yearlyEnergyDcKwh

number

Сколько солнечной энергии эта часть планировки улавливает в течение года, в кВтч постоянного тока, при условии использования панелей, описанных выше.

pitchDegrees

number

Угол сегмента крыши относительно теоретической плоскости земли. 0 = параллельно земле, 90 = перпендикулярно земле.

azimuthDegrees

number

Направление компаса, на которое указывает сегмент крыши. 0 = север, 90 = восток, 180 = юг. Для «плоского» сегмента крыши ( pitchDegrees очень близко к 0) азимут не определен точно, поэтому для единообразия мы произвольно определяем его как 0 (север).

segmentIndex

integer

Индекс в roofSegmentStats соответствующего RoofSegmentSizeAndSunshineStats .

Финансовый анализ

Анализ затрат и преимуществ оптимальной схемы расположения солнечных батарей при конкретном размере счета за электроэнергию.

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

Является ли этот размер счета выбранным в качестве счета по умолчанию для района, в котором находится это здание. Ровно для одного FinancialAnalysis в BuildingSolarPotential должен быть установлен параметр 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.

units

string ( int64 format)

Целые единицы суммы. Например, если currencyCode равен "USD" , то 1 единица равна одному доллару США.

nanos

integer

Количество нано (10^-9) единиц суммы. Значение должно находиться в диапазоне от -999 999 999 до +999 999 999 включительно. Если units положительны, nanos должен быть положительным или нулевым. Если units равны нулю, nanos может быть положительным, нулевым или отрицательным. Если units измерения отрицательные, nanos должно быть отрицательным или нулевым. Например, -1,75 доллара США представлены как units = -1 и nanos = -750 000 000.

Финансовые детали

Подробности финансового анализа. Некоторые из этих деталей уже хранятся на более высоких уровнях (например, наличные расходы). Общие денежные суммы относятся к периоду жизни, определенному полем panelLifetimeYears в SolarPotential . Примечание. Собственные затраты на приобретение панелей указаны в поле outOfPocketCost в CashPurchaseSavings .

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

Сколько кВтч переменного тока, по нашему мнению, выработают солнечные панели в первый год их эксплуатации.

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) производства солнечной электроэнергии был экспортирован в сеть, исходя из объема производства в первом квартале. Это влияет на расчеты, если нетто-замеры не разрешены.

ЛизингСбережения

Стоимость и выгода от аренды солнечной панели определенной конфигурации с определенным потреблением электроэнергии.

JSON-представление
{
  "leasesAllowed": boolean,
  "leasesSupported": boolean,
  "annualLeasingCost": {
    object (Money)
  },
  "savings": {
    object (SavingsOverTime)
  }
}
Поля
leasesAllowed

boolean

Разрешена ли аренда в этой юрисдикции (аренда не разрешена в некоторых штатах). Если это поле имеет значение false, то значения в этом сообщении, вероятно, следует игнорировать.

leasesSupported

boolean

Поддерживается ли аренда в этой юрисдикции системой финансовых расчетов. Если это поле имеет значение false, то значения в этом сообщении, вероятно, следует игнорировать. Это не зависит от leasesAllowed : в некоторых областях аренда разрешена, но на условиях, которые не учитываются финансовыми моделями.

annualLeasingCost

object ( Money )

Ориентировочная стоимость годовой аренды.

savings

object ( 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 )

Экономия в первые двадцать лет после установки панели.

presentValueOfSavingsYear20

object ( Money )

Используя предполагаемую ставку дисконтирования, какова текущая стоимость совокупных 20-летних сбережений?

savingsLifetime

object ( Money )

Экономия в течение всего срока службы панели.

presentValueOfSavingsLifetime

object ( Money )

Используя предполагаемую ставку дисконтирования, какова текущая стоимость совокупных сбережений за всю жизнь?

financiallyViable

boolean

Указывает, является ли этот сценарий финансово жизнеспособным. Будет ложным для сценариев с плохой финансовой жизнеспособностью (например, убыточных).

НаличныеПокупкаЭкономия

Стоимость и выгода от прямой покупки солнечной панели определенной конфигурации с определенным потреблением электроэнергии.

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

Количество лет до наступления окупаемости. Отрицательное значение означает, что окупаемость никогда не происходит в течение срока службы.

ПрофинансированоПокупкаСбережения

Стоимость и выгода от использования кредита на покупку солнечной панели определенной конфигурации с определенным потреблением электроэнергии.

JSON-представление
{
  "annualLoanPayment": {
    object (Money)
  },
  "rebateValue": {
    object (Money)
  },
  "loanInterestRate": number,
  "savings": {
    object (SavingsOverTime)
  }
}
Поля
annualLoanPayment

object ( Money )

Ежегодные выплаты по кредиту.

rebateValue

object ( Money )

Стоимость всех налоговых льгот (включая Федеральный инвестиционный налоговый кредит (ITC)).

loanInterestRate

number

Процентная ставка по кредитам принята в данном наборе расчетов.

savings

object ( SavingsOverTime )

Сколько сэкономлено (или нет) за период жизни.