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 à moins de 50 m 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 à celle-ci ne sera renvoyé. Si vous ne le faites pas, cela revient à restreindre l'accès au contenu de haute qualité 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 ressource du bâtiment, au format building/<place ID>.

center

object (LatLng)

Point proche 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 de fin du traitement de ces images.

postalCode

string

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

administrativeArea

string

Région administrative 1 (par exemple, aux États-Unis, l'État) 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, secteur de recensement américain) dans lequel 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 aux 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)

Le coin nord-est de la boîte.

SolarPotential

Informations sur le potentiel solaire d'un bâtiment. Les champs qu'il contient sont définis comme des "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 de l'ensemble 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 attendue des panneaux solaires, en années. Il sera utilisé dans les calculs financiers.

maxArrayAreaMeters2

number

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

maxSunshineHoursPerYear

number

Nombre maximal d'heures d'ensoleillement enregistrées par an, en tout point du toit. Les heures d'ensoleillement correspondent à la quantité totale d'isolation (énergie) reçue par an. 1 heure d'ensoleillement = 1 kWh par kW (le kW correspond alors à la capacité en kW dans des conditions de test standards).

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é produite par le réseau électrique déplacée par l'énergie solaire.

wholeRoofStats

object (SizeAndSunshineStats)

Quantiles de taille totale et d'ensoleillement de la partie de toit attribuée à un segment de toit. Malgré son nom, il est possible que l'ensemble du bâtiment ne soit pas visible. 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. L'orientation de ces parties n'étant pas bien définie, l'estimation de la surface de toit n'est pas fiable, mais l'estimation de la surface au sol est fiable. Il est possible que vous puissiez obtenir une surface de toit complète plus fiable en redimensionnant la surface de toit à partir 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 disposition des panneaux a placé cet élément. Cela se produit généralement, mais pas toujours, dans l'ordre décroissant de la production énergétique annuelle.

solarPanelConfigs[]

object (SolarPanelConfig)

Chaque SolarPanelConfig décrit une disposition différente des panneaux solaires installés sur le toit. Elles sont affichées par ordre croissant 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 tenir sur un toit.

financialAnalyses[]

object (FinancialAnalysis)

Une FinancialAnalysis représente les économies réalisées en passant au solaire, sur la base d'une facture mensuelle et d'un fournisseur d'électricité donnés. Ils sont présentés par ordre croissant du montant de la facture mensuelle. Ce champ est 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 d'un toit.

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

number

Superficie du toit ou de la section de toit, en m^2. Il s'agit de la surface du toit (qui tient 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 des valeurs N ici, cela représente les (N-1)-iles. Par exemple, s'il y a 5 valeurs, il y aura les 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 la section du toit, en m^2.

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)

Quantiles de taille totale et d'ensoleillement du segment de toit.

center

object (LatLng)

Point proche du centre de la section 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 sol théorique. 0 = parallèle au sol, 90 = perpendiculaire au sol.

azimuthDegrees

number

Sens de la boussole vers lequel pointe la section de toit. 0 = nord, 90 = est, 180 = sud. Pour un plat segment de toit (pitchDegrees très proche de 0), l'azimut n'est pas bien défini. Par conséquent, par souci de cohérence, nous le définissons arbitrairement comme 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. Conjointement à l'inclinaison, à l'azimut et à l'emplacement au centre, cela définit complètement le plan du segment de toit.

SolarPanel

SolarPanel décrit la position, l'orientation et la production d'un 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 recueillie par ce modèle au cours d'une année (en kWh)

segmentIndex

integer

Indice en roofSegmentStats de la 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 L'orientation du panneau n'est pas connue.
LANDSCAPE Le bord long d'un panneau LANDSCAPE est 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 le 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 cette installation sur une année, en kWh (pour les panneaux décrits ci-dessus).

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-ième segment de toit, y compris sa taille, sa production et son orientation.

RoofSegmentSummary

Informations sur une section 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 sur 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, en supposant les panneaux décrits ci-dessus).

pitchDegrees

number

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

azimuthDegrees

number

Sens de la boussole vers lequel pointe la section de toit. 0 = nord, 90 = est, 180 = sud. Pour un plat segment de toit (pitchDegrees très proche de 0), l'azimut n'est pas bien défini. Par conséquent, par souci de cohérence, nous le définissons arbitrairement comme 0 (Nord).

segmentIndex

integer

Index dans roofSegmentStats du RoofSegmentSizeAndSunshineStats correspondant.

FinancialAnalysis

Analyse du coût et des avantages d'un aménagement optimal de panneaux solaires 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 calculée par cette analyse.

defaultBill

boolean

Indique s'il s'agit de la taille du bec sélectionné comme facture par défaut pour la zone où se trouve ce bâtiment. defaultBill doit être défini pour exactement un FinancialAnalysis dans BuildingSolarPotential.

averageKwhPerMonth

number

Consommation d'électricité de la maison par mois moyen, basée sur le montant de la facture et les tarifs d'électricité locaux.

financialDetails

object (FinancialDetails)

Informations financières qui s'appliquent quel que soit le mode de financement utilisé.

leasingSavings

object (LeasingSavings)

Coût et avantages de la location des panneaux solaires

cashPurchaseSavings

object (CashPurchaseSavings)

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

financedPurchaseSavings

object (FinancedPurchaseSavings)

Coût et avantages d'acheter les panneaux solaires en finançant l'achat.

panelConfigIndex

integer

Indice en solarPanelConfigs de l'installation solaire optimale pour ce montant de bec. La valeur peut être -1, indiquant qu'il n'y a pas de mise en page. Dans ce cas, les sous-messages restants sont 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 dans 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. Certaines de ces informations sont déjà stockées à des niveaux supérieurs (par exemple, le coût hors de votre poche). Les montants totaux correspondent à une période définie par le champ panelLifetimeYears dans SolarPotential. Remarque: Le coût réel de 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 que les panneaux solaires vont produire, selon nous, au cours de leur première année.

remainingLifetimeUtilityBill

object (Money)

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

federalIncentive

object (Money)

le 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)

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

utilityIncentive

object (Money)

Montant disponible grâce aux avantages offerts par les 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 en crédits d'énergie solaire renouvelable pendant la durée de vie du panneau 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é sur la période de vie s'il n'avait pas installé de panneaux solaires.

netMeteringAllowed

boolean

Indique si la mesure nette est autorisée.

solarPercentage

number

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

percentageExportedToGrid

number

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

LeasingSavings

Coût et avantages 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 jurisprudence (les baux ne sont pas autorisés dans certains États). Si ce champ est défini sur "false", vous devez probablement ignorer les valeurs de ce message.

leasesSupported

boolean

Indique si les baux sont compatibles avec cette jurisprudence par le moteur de calcul financier. Si ce champ est défini sur "false", vous devez probablement ignorer les valeurs de ce message. Cela est indépendant de leasesAllowed: dans certains pays, 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) au cours de 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 pendant la première année suivant l'installation des panneaux

savingsYear20

object (Money)

Économies pendant les 20 premières années après l'installation des panneaux.

presentValueOfSavingsYear20

object (Money)

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

financiallyViable

boolean

Indique si ce scénario est financièrement viable. Cette valeur est "false" dans des scénarios à faible viabilité financière (par exemple, perte d'argent).

CashPurchaseSavings

Coût et avantages de l'achat direct d'une configuration particulière de panneaux solaires avec une consommation d'électricité particulière.

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 payé directement. À comparer à upfrontCost, qui s'applique après les incitations fiscales.

upfrontCost

object (Money)

Coût initial après avantages fiscaux: il s'agit du montant qui doit être payé la première année. À comparer à outOfPocketCost, qui s'applique avant les incitations fiscales.

rebateValue

object (Money)

Valeur de tous les abattements fiscaux.

savings

object (SavingsOverTime)

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

paybackYears

number

Nombre d'années avant l'amortissement Une valeur négative signifie que l'amortissement ne se produit jamais pendant la durée de vie.

FinancedPurchaseSavings

Coût et avantages d'un prêt pour l'achat d'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)

Remboursements de prêts annuels

rebateValue

object (Money)

Valeur de tous les abattements fiscaux (y compris les crédits d'impôt sur les investissements fédéraux).

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) au cours de la durée de vie.