Method: buildingInsights.findClosest

Permet de localiser le bâtiment le plus proche d'un point de requête. Renvoie une erreur avec le code NOT_FOUND si aucun bâtiment ne se trouve à environ 50 m du point de la requête.

Requête HTTP

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

L'URL utilise la syntaxe de transcodage gRPC.

Paramètres de requête

Paramètres
location

object (LatLng)

Obligatoire. Longitude et latitude à partir desquelles l'API recherche le bâtiment connu le plus proche.

requiredQuality

enum (ImageryQuality)

Facultatif. Niveau de qualité minimal autorisé dans les résultats. Aucun résultat de qualité inférieure ne sera renvoyé. Si vous ne spécifiez pas cette valeur, vous vous limitez à la qualité ÉCLAIRÉE uniquement.

Corps de la requête

Le corps de la requête doit être vide.

Corps de la réponse

Message de réponse pour Solar.FindClosestBuildingInsights. Informations sur l'emplacement, les dimensions et le potentiel solaire d'un bâtiment.

Si la requête aboutit, le corps de la réponse contient des données qui ont la structure suivante :

Représentation 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)
}
Champs
name

string

Nom de la ressource du bâtiment, au format buildings/{place_id}.

center

object (LatLng)

Un point près du centre du bâtiment.

boundingBox

object (LatLngBox)

Cadre de délimitation du bâtiment.

imageryDate

object (Date)

Date à laquelle les images sous-jacentes ont été acquises. Il s'agit d'une estimation approximative.

imageryProcessedDate

object (Date)

Date à laquelle le traitement de ces images a été terminé.

postalCode

string

Code postal (par exemple, (code postal américain) dans lequel se trouve ce bâtiment.

administrativeArea

string

Zone administrative 1 (par exemple, l'État aux États-Unis) qui contient cet immeuble. Par exemple, aux États-Unis, l'abréviation peut être "MA" ou "CA".

statisticalArea

string

Zone statistique (par exemple, (zone de recensement des États-Unis) dans laquelle se trouve ce bâtiment.

regionCode

string

Code de région du pays (ou de la région) dans lequel se trouve ce bâtiment.

solarPotential

object (SolarPotential)

Potentiel solaire du bâtiment.

imageryQuality

enum (ImageryQuality)

Qualité des images utilisées pour calculer les données de ce bâtiment.

Champs d'application des autorisations

Requiert le niveau d'accès OAuth suivant :

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

LatLngBox

Un cadre de délimitation en coordonnées de latitude et de longitude.

Représentation JSON
{
  "sw": {
    object (LatLng)
  },
  "ne": {
    object (LatLng)
  }
}
Champs
sw

object (LatLng)

Coin sud-ouest de la boîte.

ne

object (LatLng)

Coin nord-est de la boîte.

SolarPotential

Informations sur le potentiel solaire d'un bâtiment. Un certain nombre de champs sont définis en termes de "panneaux". Les champs panelCapacityWatts, panelHeightMeters et panelWidthMeters décrivent les paramètres du modèle de panneau utilisé dans ces calculs.

Représentation 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)
    }
  ]
}
Champs
maxArrayPanelsCount

integer

Taille du tableau maximal, c'est-à-dire nombre maximal de panneaux pouvant être installés sur le toit.

panelCapacityWatts

number

Capacité, en watts, du panneau utilisée dans les calculs.

panelHeightMeters

number

Hauteur, en mètres en mode portrait, du panneau utilisé dans les calculs.

panelWidthMeters

number

Largeur, en mètres en mode portrait, du panneau utilisé dans les calculs.

panelLifetimeYears

integer

Durée de vie prévue, en années, des panneaux solaires. Il est utilisé dans les calculs financiers.

maxArrayAreaMeters2

number

Taille, en mètres carrés, du tableau maximal.

maxSunshineHoursPerYear

number

Nombre maximal d'heures d'ensoleillement reçues par an, à n'importe quel point du toit. Les heures d'ensoleillement mesurent la quantité totale d'insolation (énergie) reçue par an. 1 heure d'ensoleillement = 1 kWh par kW (où kW fait référence à la capacité en kW dans des conditions de test standard).

carbonOffsetFactorKgPerMwh

number

Quantité équivalente de CO2 produite par MWh d'électricité du réseau. Il s'agit d'une mesure de l'intensité carbone de l'électricité du réseau remplacée par l'électricité solaire.

wholeRoofStats

object (SizeAndSunshineStats)

Taille totale et quantiles d'ensoleillement pour la partie du toit attribuée à un segment de toiture. Malgré son nom, cette zone n'inclut pas nécessairement l'ensemble du bâtiment. Consultez les buildingStats.

buildingStats

object (SizeAndSunshineStats)

Taille et quantiles d'ensoleillement pour l'ensemble du bâtiment, y compris les parties du toit qui n'ont pas été attribuées à un segment de toit. Étant donné que les orientations de ces parties ne sont pas bien caractérisées, l'estimation de la surface de toit est peu fiable, mais l'estimation de la surface au sol l'est. Il est possible d'obtenir une surface de toit plus fiable pour l'ensemble du bâtiment en étalonnant la surface de toit de wholeRoofStats par le ratio des surfaces au sol de buildingStats et wholeRoofStats.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

Taille et quantiles d'ensoleillement pour chaque segment de toiture

solarPanels[]

object (SolarPanel)

Chaque SolarPanel décrit un seul panneau solaire. Elles sont listées dans l'ordre dans lequel l'algorithme de mise en page des panneaux les a placées. Il s'agit généralement, mais pas toujours, de l'ordre décroissant de la production d'énergie annuelle.

solarPanelConfigs[]

object (SolarPanelConfig)

Chaque SolarPanelConfig décrit une disposition différente des panneaux solaires sur le toit. Ils sont classés par ordre croissant du nombre de panneaux. SolarPanelConfig avec panelsCount=N est basé sur les N premiers panneaux de la liste solarPanels. Ce champ n'est renseigné que si au moins quatre panneaux peuvent être installés sur un toit.

financialAnalyses[]

object (FinancialAnalysis)

Un FinancialAnalysis indique les économies réalisées en passant à l'énergie solaire, en supposant une facture mensuelle et un fournisseur d'électricité donnés. Elles sont classées par montant de facture mensuelle croissant. Ce champ sera vide pour les bâtiments situés dans des zones pour lesquelles l'API Solar ne dispose pas d'informations suffisantes pour effectuer des calculs financiers.

SizeAndSunshineStats

Quantiles de taille et d'ensoleillement d'un toit ou d'une partie de toit.

Représentation JSON
{
  "areaMeters2": number,
  "sunshineQuantiles": [
    number
  ],
  "groundAreaMeters2": number
}
Champs
areaMeters2

number

Surface du toit ou du segment de toit, en m². Il s'agit de la surface du toit (en tenant compte de l'inclinaison), et non de la surface au sol.

sunshineQuantiles[]

number

Quantiles de l'ensoleillement ponctuel dans la zone. Si N valeurs sont indiquées, elles représentent les (N-1) iles. Par exemple, s'il existe cinq valeurs, il s'agit des quartiles (min, 25%, 50%, 75%, max). Les valeurs sont exprimées en kWh/kW par an, comme maxSunshineHoursPerYear.

groundAreaMeters2

number

Superficie au sol couverte par le toit ou le segment de toit, en m².

RoofSegmentSizeAndSunshineStats

Informations sur la taille et les quantiles d'ensoleillement d'un segment de toiture.

Représentation JSON
{
  "stats": {
    object (SizeAndSunshineStats)
  },
  "center": {
    object (LatLng)
  },
  "boundingBox": {
    object (LatLngBox)
  },
  "pitchDegrees": number,
  "azimuthDegrees": number,
  "planeHeightAtCenterMeters": number
}
Champs
stats

object (SizeAndSunshineStats)

Taille totale et quantiles d'ensoleillement pour le segment de toiture.

center

object (LatLng)

Point situé près du centre du segment de toit.

boundingBox

object (LatLngBox)

Cadre de délimitation du segment de toit.

pitchDegrees

number

Angle du segment de toit par rapport au plan théorique du sol. 0 = parallèle au sol, 90 = perpendiculaire au sol.

azimuthDegrees

number

Direction indiquée par la boussole dans laquelle le segment de toiture pointe. 0 = Nord, 90 = Est, 180 = Sud. Pour un segment de toit "plat" (pitchDegrees très proche de 0), l'azimut n'est pas bien défini. Par souci de cohérence, nous le définissons arbitrairement sur 0 (Nord).

planeHeightAtCenterMeters

number

Hauteur du plan du segment de toit, en mètres au-dessus du niveau de la mer, au point désigné par center. Avec l'inclinaison, l'azimut et l'emplacement du centre, cela définit entièrement le plan du segment de toit.

SolarPanel

SolarPanel décrit la position, l'orientation et la production d'un seul panneau solaire. Pour en savoir plus sur les paramètres du panneau, consultez les champs panelHeightMeters, panelWidthMeters et panelCapacityWatts dans SolarPotential.

Représentation JSON
{
  "center": {
    object (LatLng)
  },
  "orientation": enum (SolarPanelOrientation),
  "yearlyEnergyDcKwh": number,
  "segmentIndex": integer
}
Champs
center

object (LatLng)

Centre du panneau.

orientation

enum (SolarPanelOrientation)

Orientation du panneau.

yearlyEnergyDcKwh

number

Quantité d'énergie solaire capturée par cette disposition au cours d'une année, en kWh CC.

segmentIndex

integer

Index dans roofSegmentStats de l'RoofSegmentSizeAndSunshineStats qui correspond au segment de toit sur lequel ce panneau est placé.

SolarPanelOrientation

Orientation d'un panneau solaire. Cette valeur doit être interprétée par rapport à l'azimut du segment de toit sur lequel le panneau est placé.

Enums
SOLAR_PANEL_ORIENTATION_UNSPECIFIED Aucune orientation de panneau n'est connue.
LANDSCAPE Le bord long d'un panneau LANDSCAPE est perpendiculaire à l'azimut du segment de toit sur lequel il est placé.
PORTRAIT Le bord long d'un panneau PORTRAIT est parallèle à l'azimut du segment de toit sur lequel il est placé.

SolarPanelConfig

SolarPanelConfig décrit un emplacement particulier des panneaux solaires sur le toit.

Représentation JSON
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "roofSegmentSummaries": [
    {
      object (RoofSegmentSummary)
    }
  ]
}
Champs
panelsCount

integer

Nombre total de panneaux. Notez que cette valeur est redondante avec (la somme) des champs correspondants dans roofSegmentSummaries.

yearlyEnergyDcKwh

number

Quantité d'énergie solaire capturée par cette disposition au cours d'une année, en kWh CC, en supposant que les panneaux décrits ci-dessus.

roofSegmentSummaries[]

object (RoofSegmentSummary)

Informations sur la production de chaque segment de toit qui comporte au moins un panneau dans cette mise en page. roofSegmentSummaries[i] décrit le i-ième segment de toit, y compris sa taille, sa production attendue et son orientation.

RoofSegmentSummary

Informations sur un segment de toiture du bâtiment, sur lequel sont disposés un certain nombre de panneaux.

Représentation JSON
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "pitchDegrees": number,
  "azimuthDegrees": number,
  "segmentIndex": integer
}
Champs
panelsCount

integer

Nombre total de panneaux dans ce segment.

yearlyEnergyDcKwh

number

Quantité d'énergie solaire captée par cette partie de la disposition au cours d'une année, en kWh CC, en supposant que les panneaux décrits ci-dessus.

pitchDegrees

number

Angle du segment de toit par rapport au plan théorique du sol. 0 = parallèle au sol, 90 = perpendiculaire au sol.

azimuthDegrees

number

Direction indiquée par la boussole dans laquelle le segment de toiture pointe. 0 = Nord, 90 = Est, 180 = Sud. Pour un segment de toit "plat" (pitchDegrees très proche de 0), l'azimut n'est pas bien défini. Par souci de cohérence, nous le définissons arbitrairement sur 0 (Nord).

segmentIndex

integer

Index dans roofSegmentStats de l'RoofSegmentSizeAndSunshineStats correspondant.

FinancialAnalysis

Analyse des coûts et des avantages de la configuration solaire optimale pour une facture d'électricité donnée.

Représentation JSON
{
  "monthlyBill": {
    object (Money)
  },
  "defaultBill": boolean,
  "averageKwhPerMonth": number,
  "financialDetails": {
    object (FinancialDetails)
  },
  "leasingSavings": {
    object (LeasingSavings)
  },
  "cashPurchaseSavings": {
    object (CashPurchaseSavings)
  },
  "financedPurchaseSavings": {
    object (FinancedPurchaseSavings)
  },
  "panelConfigIndex": integer
}
Champs
monthlyBill

object (Money)

Facture d'électricité mensuelle supposée pour cette analyse.

defaultBill

boolean

Indique si cette taille de facture est sélectionnée comme facture par défaut pour la zone dans laquelle se trouve le bâtiment. defaultBill doit être défini sur un seul FinancialAnalysis dans BuildingSolarPotential.

averageKwhPerMonth

number

Quantité d'électricité consommée par la maison en moyenne par mois, en fonction du montant de la facture et des tarifs d'électricité locaux.

financialDetails

object (FinancialDetails)

Informations financières qui s'appliquent quelle que soit la méthode de financement utilisée.

leasingSavings

object (LeasingSavings)

Coût et avantages du leasing des panneaux solaires

cashPurchaseSavings

object (CashPurchaseSavings)

Coût et avantages de l'achat des panneaux solaires en espèces.

financedPurchaseSavings

object (FinancedPurchaseSavings)

Coût et avantages de l'achat de panneaux solaires en les finançant

panelConfigIndex

integer

Indice dans solarPanelConfigs de la disposition solaire optimale pour cette taille de facture. Il peut s'agir de -1, ce qui indique qu'il n'y a pas de mise en page. Dans ce cas, les sous-messages restants seront ignorés.

Valeur monétaire

Représente un montant associé à un type de devise.

Représentation JSON
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
Champs
currencyCode

string

Code de devise à trois lettres défini par la norme ISO 4217.

units

string (int64 format)

Unités entières du montant. Par exemple, si currencyCode est défini sur "USD", une unité correspond à un dollar américain.

nanos

integer

Nombre de nano-unités (10^-9) du montant. La valeur doit être comprise entre -999 999 999 et +999 999 999 inclus. Si units est positif, nanos doit être positif ou nul. Si units est égal à zéro, nanos peut être positif, nul ou négatif. Si units est négatif, nanos doit être négatif ou nul. Par exemple, -1,75 $ est représenté par units=-1 et nanos=-750 000 000.

FinancialDetails

Détails d'une analyse financière. Certaines de ces informations sont déjà stockées à des niveaux supérieurs (par exemple, les frais à la charge de l'utilisateur). Les montants totaux sont calculés sur une période de durée de vie définie par le champ panelLifetimeYears dans SolarPotential. Remarque: Le coût d'achat des panneaux est indiqué dans le champ outOfPocketCost de CashPurchaseSavings.

Représentation 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
}
Champs
initialAcKwhPerYear

number

Nombre de kWh CA que les panneaux solaires devraient générer au cours de leur première année.

remainingLifetimeUtilityBill

object (Money)

Facture d'électricité pour l'électricité non produite par l'énergie solaire, pendant toute la durée de vie des panneaux.

federalIncentive

object (Money)

Montant des incitations fédérales disponibles. Cette information s'applique si l'utilisateur achète (avec ou sans prêt) les panneaux.

stateIncentive

object (Money)

Montant des incitations d'État disponibles. Cette information s'applique si l'utilisateur achète (avec ou sans prêt) les panneaux.

utilityIncentive

object (Money)

Montant de l'aide financière disponible grâce aux incitations des fournisseurs d'énergie. S'applique si l'utilisateur achète (avec ou sans prêt) les panneaux.

lifetimeSrecTotal

object (Money)

Montant d'argent que l'utilisateur recevra des crédits d'énergie renouvelable solaire sur la durée de vie des panneaux. Cela s'applique si l'utilisateur achète (avec ou sans prêt) les panneaux.

costOfElectricityWithoutSolar

object (Money)

Coût total de l'électricité que l'utilisateur aurait payé sur toute la durée de vie s'il n'avait pas installé de panneaux solaires.

netMeteringAllowed

boolean

Indique si la facturation nette est autorisée.

solarPercentage

number

Pourcentage (0-100) de l'énergie fournie par l'énergie solaire à l'utilisateur. Valable pour la première année, mais approximativement correct pour les années suivantes.

percentageExportedToGrid

number

Pourcentage (0-100) de la production d'électricité solaire que nous avons supposé avoir été exportée vers le réseau, sur la base du premier trimestre de production. Cela a une incidence sur les calculs si la facturation nette n'est pas autorisée.

LeasingSavings

Coût et avantages du leasing d'une configuration particulière de panneaux solaires pour une consommation d'électricité donnée.

Représentation JSON
{
  "leasesAllowed": boolean,
  "leasesSupported": boolean,
  "annualLeasingCost": {
    object (Money)
  },
  "savings": {
    object (SavingsOverTime)
  }
}
Champs
leasesAllowed

boolean

Indique si les baux sont autorisés dans cette juridiction (ils ne le sont pas dans certains États). Si ce champ est défini sur "false", les valeurs de ce message doivent probablement être ignorées.

leasesSupported

boolean

Indique si le moteur de calcul financier est compatible avec les baux dans cette juridiction. Si ce champ est défini sur "false", les valeurs de ce message doivent probablement être ignorées. Cela est indépendant de leasesAllowed: dans certaines zones, les baux sont autorisés, mais sous des conditions qui ne sont pas gérées par les modèles financiers.

annualLeasingCost

object (Money)

Coût annuel estimé du leasing.

savings

object (SavingsOverTime)

Quantité d'énergie économisée (ou non) sur toute la durée de vie.

SavingsOverTime

Informations financières partagées entre différentes méthodes de financement.

Représentation JSON
{
  "savingsYear1": {
    object (Money)
  },
  "savingsYear20": {
    object (Money)
  },
  "presentValueOfSavingsYear20": {
    object (Money)
  },
  "savingsLifetime": {
    object (Money)
  },
  "presentValueOfSavingsLifetime": {
    object (Money)
  },
  "financiallyViable": boolean
}
Champs
savingsYear1

object (Money)

Économies réalisées la première année après l'installation des panneaux.

savingsYear20

object (Money)

Économies réalisées au cours des vingt premières années après l'installation des panneaux.

presentValueOfSavingsYear20

object (Money)

En utilisant le taux d'actualisation supposé, quelle est la valeur actuelle des économies cumulées sur 20 ans ?

savingsLifetime

object (Money)

Économies sur toute la durée de vie du panneau.

presentValueOfSavingsLifetime

object (Money)

En utilisant le taux d'actualisation supposé, quelle est la valeur actuelle des économies cumulées sur toute la durée de vie ?

financiallyViable

boolean

Indique si ce scénario est financièrement viable. Valeur "false" pour les scénarios dont la viabilité financière est faible (par exemple, qui génèrent des pertes).

CashPurchaseSavings

Coût et avantages d'un achat direct d'une configuration particulière de panneaux solaires pour une consommation d'électricité donnée.

Représentation JSON
{
  "outOfPocketCost": {
    object (Money)
  },
  "upfrontCost": {
    object (Money)
  },
  "rebateValue": {
    object (Money)
  },
  "savings": {
    object (SavingsOverTime)
  },
  "paybackYears": number
}
Champs
outOfPocketCost

object (Money)

Coût initial avant les incitations fiscales: montant que vous devez payer de votre poche. À comparer à upfrontCost, qui correspond au prix après réductions fiscales.

upfrontCost

object (Money)

Coût initial après réductions fiscales: montant que vous devez payer au cours de la première année. À comparer à outOfPocketCost, qui est avant les incitations fiscales.

rebateValue

object (Money)

Valeur de toutes les remises fiscales.

savings

object (SavingsOverTime)

Economies réalisées (ou non) sur la durée de vie.

paybackYears

number

Nombre d'années avant le retour sur investissement. Une valeur négative signifie que le retour sur investissement n'est jamais atteint au cours de la durée de vie.

FinancedPurchaseSavings

Coût et avantages d'un emprunt pour acheter une configuration particulière de panneaux solaires avec une consommation d'électricité spécifique.

Représentation JSON
{
  "annualLoanPayment": {
    object (Money)
  },
  "rebateValue": {
    object (Money)
  },
  "loanInterestRate": number,
  "savings": {
    object (SavingsOverTime)
  }
}
Champs
annualLoanPayment

object (Money)

Paiements annuels du prêt.

rebateValue

object (Money)

Valeur de toutes les remises fiscales (y compris le crédit d'impôt fédéral sur l'investissement (ITC)).

loanInterestRate

number

Taux d'intérêt des prêts supposé dans cet ensemble de calculs.

savings

object (SavingsOverTime)

Economies réalisées (ou non) sur la durée de vie.