Method: buildingInsights.findClosest

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

HTTP-запрос

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

В URL-адресе используется синтаксис транскодирования gRPC .

Параметры запроса

Параметры
location

object ( LatLng )

Обязательный параметр. Долгота и широта, от которых API ищет ближайшее известное здание.

requiredQuality

enum ( ImageryQuality )

Необязательно. Минимально допустимый уровень качества результатов. Результаты с более низким качеством не будут возвращены. Неуказание этого параметра означает ограничение только ВЫСОКИМ качеством.

exactQualityRequired

boolean

Необязательный параметр. Указывает, следует ли требовать точного качества изображений. Если установлено значение false, поле requiredQuality интерпретируется как минимально необходимое качество, так что изображения ВЫСОКОГО качества могут быть возвращены, если requiredQuality установлено на MEDIUM. Если установлено значение true, requiredQuality интерпретируется как точно необходимое качество, и возвращаются только изображения MEDIUM качества, если requiredQuality установлено на MEDIUM .

experiments[]

enum ( Experiment )

Необязательно. Указывает, какие предварительные эксперименты следует включить. Запросы, использующие это поле, классифицируются как предварительные предложения в соответствии с условиями предоставления услуг платформы Google Maps . Дополнительные сведения см. в описаниях этапов запуска .

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 )

На здании обнаружены солнечные батареи. Это поле заполняется только в том случае, если параметр DETECTED_ARRAYS включен в запрос FindClosestBuildingInsightsRequest.additional_insights .

Области полномочий

Требуется следующая область действия OAuth:

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

Дополнительные сведения

В BuildingInsights можно получить дополнительную информацию о здании, такую ​​как геометрия крыши и расположение солнечных панелей.

Перечисления
ADDITIONAL_INSIGHTS_UNSPECIFIED Значение по умолчанию. Будет возвращено значение BuildingInsights по умолчанию.
DETECTED_ARRAYS

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

Если указано иное, поле detectedArrays будет заполнено в ответе.

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, производимое на 1 МВт·ч электроэнергии из сети. Это показатель углеродной интенсивности электроэнергии из сети, замещаемой солнечной электроэнергией.

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 показывает экономию от перехода на солнечную энергию при заданном ежемесячном счете и заданном поставщике электроэнергии. Значения представлены в порядке возрастания суммы ежемесячного счета. Это поле будет пустым для зданий в районах, для которых API солнечной энергии не располагает достаточной информацией для выполнения финансовых расчетов.

SizeAndSunshineStats

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

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

number

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

sunshineQuantiles[]

number

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

groundAreaMeters2

number

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

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

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

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

integer

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

yearlyEnergyDcKwh

number

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

roofSegmentSummaries[]

object ( RoofSegmentSummary )

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

Сводка сегмента крыши

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

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 )

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

Обнаруженные массивы

Информация об обнаруженных на здании солнечных батареях.

JSON-представление
{
  "detectionStatus": enum (DetectionStatus),
  "latestCaptureDate": {
    object (Date)
  }
}
Поля
detectionStatus

enum ( DetectionStatus )

Указывает на статус обнаружения солнечных батарей на данном здании.

latestCaptureDate

object ( Date )

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

Статус обнаружения

Указывает на статус обнаружения солнечных батарей на данном здании.

Перечисления
DETECTION_STATUS_UNSPECIFIED Статус не указан.
DETECTION_STATUS_DATA_UNAVAILABLE Данные о наличии солнечных батарей для этого здания отсутствуют.
DETECTION_STATUS_ARRAYS_DETECTED На этом здании обнаружена как минимум одна солнечная батарея.
DETECTION_STATUS_NO_ARRAYS_DETECTED На этом здании не обнаружено солнечных батарей.