Method: buildingInsights.findClosest

Localise le bâtiment 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 dans un rayon d'environ 50 m autour 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 cherche 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 le spécifiez pas, cela équivaut uniquement à la qualité HAUTE.

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 building/<place ID>.

center

object (LatLng)

Point situé près du centre du bâtiment.

boundingBox

object (LatLngBox)

Cadre de délimitation du bâtiment.

imageryDate

object (Date)

Date d'acquisition des images sous-jacentes. Il s'agit d'une estimation.

imageryProcessedDate

object (Date)

Date à laquelle le traitement de cette image s'est terminé.

postalCode

string

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

administrativeArea

string

Région administrative 1 (par exemple, aux États-Unis, dans l'État) qui comprend ce bâtiment. Par exemple, aux États-Unis, l'abréviation peut être "MA" ou "CA".

statisticalArea

string

Région statistique (par exemple, dans lequel se trouve ce bâtiment.

regionCode

string

Code régional 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/longitude.

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

object (LatLng)

Angle sud-ouest de la boîte.

ne

object (LatLng)

Dans le 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 le nombre maximal de panneaux pouvant tenir sur le toit.

panelCapacityWatts

number

Capacité, en watts, du panneau utilisé 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. Ceci 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 enregistrées par an, à n'importe quel endroit du toit. Les heures d'ensoleillement sont une mesure de la quantité totale d'insolation (énergie) reçue chaque année. 1 heure d'ensoleillement = 1 kWh par kW (kW correspond au kW de capacité dans les conditions d'essai standards).

carbonOffsetFactorKgPerMwh

number

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

wholeRoofStats

object (SizeAndSunshineStats)

Quantiles de taille totale et d'ensoleillement pour la partie du toit qui a été attribuée à un segment de toit. Malgré le nom, cette catégorie n'inclut peut-être pas l'ensemble du bâtiment. Consultez les buildingStats.

buildingStats

object (SizeAndSunshineStats)

Quantiles de taille et d'ensoleillement de l'ensemble du bâtiment, y compris les parties du toit qui n'ont pas été affectées à une section 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 l'estimation de la surface au sol est fiable. Vous pouvez peut-être obtenir une surface de toit de l'ensemble du bâtiment plus fiable en échelonnant la surface du toit à partir 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 toit.

solarPanels[]

object (SolarPanel)

Chaque SolarPanel décrit un seul panneau solaire. Elles sont listées dans l'ordre dans lequel l'algorithme de disposition des panneaux a placé cet élément. En général, il s'agit d'un ordre décroissant de production énergétique.

solarPanelConfigs[]

object (SolarPanelConfig)

Chaque SolarPanelConfig décrit une disposition différente de panneaux solaires sur le toit. Ils apparaissent dans l'ordre dans lequel le nombre de panneaux augmente. L'élément SolarPanelConfig avec le paramètre 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 tenir sur un toit.

financialAnalyses[]

object (FinancialAnalysis)

Un FinancialAnalysis indique les économies réalisées grâce à l'énergie solaire, en supposant une facture mensuelle donnée et un fournisseur d'électricité donné. Ils sont classés 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

Taille et quantiles d'ensoleillement d'un toit ou d'une partie de celui-ci.

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

number

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

sunshineQuantiles[]

number

Quantiles de l'ensoleillement ponctuel dans la zone. S'il y a N valeurs ici, 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, par exemple maxSunshineHoursPerYear.

groundAreaMeters2

number

Zone de l'empreinte au sol couverte par le toit ou le segment du toit, en m^2.

RoofSegmentSizeAndSunshineStats

Informations sur la taille et les quantiles 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)

Quantiles de taille totale et d'ensoleillement pour le segment de toit.

center

object (LatLng)

Point près du centre du segment de toit.

boundingBox

object (LatLngBox)

Le cadre de délimitation du segment du toit.

pitchDegrees

number

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

azimuthDegrees

number

Direction vers laquelle pointe le segment de toit. 0 = Nord, 90 = Est, 180 = Sud. Pour un segment de toit "plate" (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. Consultez les champs panelHeightMeters, panelWidthMeters et panelCapacityWatts dans SolarPotential pour en savoir plus sur les paramètres du panneau.

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 captée par ce dispositif au cours d'une année, en kWh.

segmentIndex

integer

Indice dans roofSegmentStats du 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 du panneau n'est connue.
LANDSCAPE Le bord long d'un panneau LANDSCAPE est perpendiculaire à la direction en azimut du segment de toit sur lequel il est placé.
PORTRAIT Le bord long d'un panneau PORTRAIT est parallèle à la direction en azimut du segment de toit sur lequel il est placé.

SolarPanelConfig

SolarPanelConfig décrit un placement 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 cette valeur est redondante par rapport à la somme des champs correspondants dans roofSegmentSummaries.

yearlyEnergyDcKwh

number

Quantité d'énergie solaire captée par ce plan au cours de l'année, en kWh CC, sur la base des 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, la production prévue et son orientation.

RoofSegmentSummary

Informations relatives à une section de toit du bâtiment, sur laquelle sont placé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 sur ce segment.

yearlyEnergyDcKwh

number

Quantité d'énergie solaire captée par cette partie de l'agencement au cours de l'année, en kWh CC, sur la base des panneaux décrits ci-dessus.

pitchDegrees

number

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

azimuthDegrees

number

Direction vers laquelle pointe le segment de toit. 0 = Nord, 90 = Est, 180 = Sud. Pour un segment de toit "plate" (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 du coût et des avantages d'une installation solaire optimale pour une facture d'électricité spécifique.

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 par cette analyse.

defaultBill

boolean

Indique s'il s'agit de la taille du montant sélectionnée comme facture par défaut pour la zone dans laquelle se trouve ce bâtiment. Seul un FinancialAnalysis dans BuildingSolarPotential doit avoir defaultBill défini.

averageKwhPerMonth

number

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

financialDetails

object (FinancialDetails)

Informations financières applicables quelle que soit la méthode de financement utilisée.

leasingSavings

object (LeasingSavings)

Coût et avantages liés à la location de panneaux solaires

cashPurchaseSavings

object (CashPurchaseSavings)

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

financedPurchaseSavings

object (FinancedPurchaseSavings)

Coût et avantages liés à l'achat de panneaux solaires grâce au financement.

panelConfigIndex

integer

Indice en solarPanelConfigs de l'installation solaire optimale pour cette taille de bec. Elle peut être -1, indiquant qu'il n'y a pas de mise en page. Dans ce cas, les sous-messages restants seront omis.

Argent

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 correspond à "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, frais de poche). Les montants totaux correspondent à une période vie définie par le champ panelLifetimeYears dans SolarPotential. Remarque: Le coût total 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 la première année selon nous.

remainingLifetimeUtilityBill

object (Money)

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

federalIncentive

object (Money)

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

stateIncentive

object (Money)

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

utilityIncentive

object (Money)

Montant disponible des incitations auprès des fournisseurs d'énergie. Cette valeur s'applique si l'utilisateur achète les panneaux (avec ou sans prêt).

lifetimeSrecTotal

object (Money)

Montant que l'utilisateur recevra grâce aux crédits solaires pour énergie renouvelable pendant la durée de vie du panel. Ce montant 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é sur la durée de vie s'il n'avait pas installé d'énergie solaire.

netMeteringAllowed

boolean

Indique si la mesure nette est autorisée.

solarPercentage

number

Pourcentage (0-100) de l'énergie produite par l'utilisateur grâce à l'énergie solaire. Valable pour la première année, mais correcte pour les années suivantes.

percentageExportedToGrid

number

Selon nos estimations, le pourcentage (de 0 à 100) de la production d'électricité solaire a été exporté vers le réseau, d'après le premier trimestre de production. Cela a une incidence sur les calculs si le comptage net n'est pas autorisé.

LeasingSavings

Coût et avantages de la location d'une configuration particulière de panneaux solaires avec une consommation électrique particulière.

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 (non autorisés 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 baux sont pris en charge 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. Ceci est indépendant de leasesAllowed: dans certaines zones, les baux sont autorisés, mais dans 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) sur 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 au cours de la première année suivant l'installation des panneaux.

savingsYear20

object (Money)

Économies au cours des vingt ans qui suivent l'installation des panneaux.

presentValueOfSavingsYear20

object (Money)

En utilisant le taux de remise 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 de remise supposé, quelle est la valeur actuelle des économies cumulées sur la durée de vie ?

financiallyViable

boolean

Indique si ce scénario est financièrement viable. Sera "false" pour les scénarios avec une faible viabilité financière (par exemple, une perte d'argent).

CashPurchaseSavings

Coût et bénéfice de l'achat direct d'une configuration particulière de panneaux solaires avec 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 avantages fiscaux: montant qui doit être directement payé. À comparer au upfrontCost, qui tient compte des avantages fiscaux.

upfrontCost

object (Money)

Coût initial après avantages fiscaux: il s'agit du montant que vous devez payer la première année À comparer au outOfPocketCost, qui s'exécute avant l'application des incitations fiscales.

rebateValue

object (Money)

Valeur de tous les abattements fiscaux.

savings

object (SavingsOverTime)

Montant économisé (ou non) sur la durée de vie.

paybackYears

number

Nombre d'années avant l'amortissement. Une valeur négative signifie que l'amortissement n'est jamais effectué au cours de la durée de vie.

FinancedPurchaseSavings

Coût et avantage d'un prêt pour acheter une configuration particulière de panneaux solaires avec une consommation d'électricité donnée.

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

object (Money)

Paiements annuels de prêts

rebateValue

object (Money)

Valeur de tous les abattements fiscaux (y compris le crédit fédéral sur les investissements (ITC)).

loanInterestRate

number

Taux d'intérêt sur les prêts pris en compte dans cet ensemble de calculs.

savings

object (SavingsOverTime)

Montant économisé (ou non) sur la durée de vie.