Method: buildingInsights.findClosest

Localise le bâtiment dont le centroïde est le plus proche d'un point de requête. Renvoie une erreur avec le code NOT_FOUND s'il n'y a aucun bâtiment à environ 50 mètres du point de 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 de valeur, la qualité sera limitée à HIGH.

exactQualityRequired

boolean

Facultatif. Indique si la qualité exacte des images est requise. Si la valeur est définie sur "false", le champ requiredQuality est interprété comme la qualité minimale requise. Ainsi, des images de haute qualité peuvent être renvoyées lorsque requiredQuality est défini sur "MEDIUM". Si la valeur est définie sur "true", requiredQuality est interprété comme la qualité exacte requise et seules les images de qualité MEDIUM sont renvoyées si requiredQuality est défini sur MEDIUM.

experiments[]

enum (Experiment)

Facultatif. Spécifie les fonctionnalités de pré-DG à activer.

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 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 approximation.

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 de niveau 1 (par exemple, l'État aux États-Unis) dans laquelle se trouve ce bâtiment. Par exemple, aux États-Unis, l'abréviation peut être "MA" ou "CA".

statisticalArea

string

Zone statistique (par exemple, Zone de recensement aux É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

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)

Angle sud-ouest de la boîte.

ne

object (LatLng)

Angle 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 le nombre maximal de panneaux pouvant être installés sur le toit.

panelCapacityWatts

number

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

panelHeightMeters

number

Hauteur, en mètres, du panneau utilisé dans les calculs en orientation Portrait.

panelWidthMeters

number

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

panelLifetimeYears

integer

Durée de vie attendue des panneaux solaires, en années. Cette valeur est utilisée dans les calculs financiers.

maxArrayAreaMeters2

number

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

maxSunshineHoursPerYear

number

Nombre maximal d'heures d'ensoleillement reçues par an, pour n'importe quel point du toit. Les heures d'ensoleillement sont une mesure de la quantité totale d'ensoleillement (é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'énergie solaire.

wholeRoofStats

object (SizeAndSunshineStats)

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

buildingStats

object (SizeAndSunshineStats)

Quantiles de taille et 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. Comme les orientations de ces parties ne sont pas bien caractérisées, l'estimation de la surface du toit n'est pas fiable, mais celle 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 mettant à l'échelle la surface de toit de wholeRoofStats par le rapport des surfaces au sol de buildingStats et wholeRoofStats.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

Quantiles de taille et d'ensoleillement pour chaque segment de toit.

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 annuelle d'énergie.

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. Le 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 grâce à l'énergie solaire, en fonction d'une facture mensuelle et d'un fournisseur d'électricité donnés. Elles sont classées par ordre croissant du montant de la facture mensuelle. Ce champ sera vide pour les bâtiments situés dans des zones pour lesquelles l'API Solar ne dispose pas de suffisamment d'informations 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 de la partie du toit, en m². Il s'agit de la superficie du toit (en tenant compte de l'inclinaison), et non de la superficie au sol.

sunshineQuantiles[]

number

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

groundAreaMeters2

number

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

RoofSegmentSizeAndSunshineStats

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

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 toit.

center

object (LatLng)

Un point proche 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 de masse théorique. 0 = parallèle au sol, 90 = perpendiculaire au sol.

azimuthDegrees

number

Direction de la boussole vers laquelle pointe le segment de toit. 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 le pitch, 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)

Le centre du panneau.

orientation

enum (SolarPanelOrientation)

Orientation du panneau.

yearlyEnergyDcKwh

number

Quantité d'énergie solaire captée par cette configuration au cours d'une année, en kWh de courant continu.

segmentIndex

integer

Index dans roofSegmentStats de RoofSegmentSizeAndSunshineStats correspondant 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 L'orientation du panneau est inconnue.
LANDSCAPE Un panneau LANDSCAPE a son bord long perpendiculaire à la direction de l'azimut du segment de toit sur lequel il est placé.
PORTRAIT Le bord long d'un panneau PORTRAIT est parallèle à la direction de l'azimut du segment de toit sur lequel il est placé.

SolarPanelConfig

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

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

integer

Nombre total de panneaux. Notez que cela est redondant par rapport à (la somme de) les champs correspondants dans roofSegmentSummaries.

yearlyEnergyDcKwh

number

Quantité d'énergie solaire captée par cette configuration au cours d'une année, en kWh (courant continu), en supposant que les panneaux décrits ci-dessus soient utilisés.

roofSegmentSummaries[]

object (RoofSegmentSummary)

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

RoofSegmentSummary

Informations sur un segment de toit du bâtiment, avec un certain nombre de panneaux placés dessus.

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 l'aménagement au cours d'une année, en kWh de courant continu, en supposant les panneaux décrits ci-dessus.

pitchDegrees

number

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

azimuthDegrees

number

Direction de la boussole vers laquelle pointe le segment de toit. 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 du RoofSegmentSizeAndSunshineStats correspondant.

FinancialAnalysis

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

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 sur laquelle repose cette analyse.

defaultBill

boolean

Indique si la taille de facture sélectionnée est celle par défaut pour la zone dans laquelle se trouve ce bâtiment. Exactement un FinancialAnalysis dans BuildingSolarPotential doit avoir defaultBill défini.

averageKwhPerMonth

number

La quantité d'électricité consommée par la maison au cours d'un mois moyen, en fonction du montant de la facture et des tarifs locaux de l'électricité.

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 de la location des panneaux solaires.

cashPurchaseSavings

object (CashPurchaseSavings)

Coût et avantages de l'achat de panneaux solaires au comptant.

financedPurchaseSavings

object (FinancedPurchaseSavings)

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

panelConfigIndex

integer

Indice solarPanelConfigs de la disposition solaire optimale pour ce montant de facture. Cette valeur peut être égale à -1, ce qui indique qu'il n'y a pas de mise en page. Dans ce cas, les sous-messages restants seront omis.

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. Certains de ces détails sont déjà stockés à des niveaux supérieurs (par exemple, les frais à votre charge). Les montants totaux sont calculés sur une période définie par le champ panelLifetimeYears dans SolarPotential. Remarque : Le coût à votre charge pour l'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 en courant alternatif que nous pensons que les panneaux solaires généreront au cours de leur première année.

remainingLifetimeUtilityBill

object (Money)

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

federalIncentive

object (Money)

Montant disponible grâce aux incitations fédérales. Cela s'applique si l'utilisateur achète les panneaux (avec ou sans prêt).

stateIncentive

object (Money)

Montant disponible grâce aux incitations de l'État. Cela s'applique si l'utilisateur achète les panneaux (avec ou sans prêt).

utilityIncentive

object (Money)

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

lifetimeSrecTotal

object (Money)

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

costOfElectricityWithoutSolar

object (Money)

Coût total de l'électricité que l'utilisateur aurait payé au cours de la période 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 de l'utilisateur fournie par l'énergie solaire. Valable pour la première année, mais approximatif pour les années suivantes.

percentageExportedToGrid

number

Pourcentage (de 0 à 100) de la production d'électricité solaire que nous avons supposé être exportée vers le réseau, en fonction du premier trimestre de production. Cela affecte les calculs si la facturation nette n'est pas autorisée.

LeasingSavings

Coût et avantages de la location d'une configuration spécifique de panneaux solaires avec une consommation d'électricité spécifique.

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

boolean

Si les contrats de location 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 les contrats de location sont acceptés dans cette juridiction par le moteur de calcul financier. 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 contrats de location 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é de la location.

savings

object (SavingsOverTime)

Montant économisé (ou non) au cours de la période.

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 20 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 réalisées pendant 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 la durée de vie ?

financiallyViable

boolean

Indique si ce scénario est viable financièrement. La valeur sera "false" pour les scénarios dont la viabilité financière est faible (par exemple, ceux qui entraînent des pertes d'argent).

CashPurchaseSavings

Coût et avantages d'un achat direct d'une configuration spécifique de panneaux solaires avec une consommation d'électricité spécifique.

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 à payer de votre poche. À comparer à upfrontCost, qui correspond aux incitations fiscales.

upfrontCost

object (Money)

Coût initial après les incitations fiscales : il s'agit du montant à payer la première année. À comparer à outOfPocketCost, qui correspond aux incitations fiscales.

rebateValue

object (Money)

Valeur de tous les abattements fiscaux.

savings

object (SavingsOverTime)

Montant économisé (ou non) au cours de la période.

paybackYears

number

Nombre d'années avant l'amortissement. Une valeur négative signifie que le retour sur investissement ne se produit jamais au cours de la période de vie.

FinancedPurchaseSavings

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

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 tous les abattements fiscaux (y compris le crédit d'impôt fédéral pour l'investissement).

loanInterestRate

number

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

savings

object (SavingsOverTime)

Montant économisé (ou non) au cours de la période.