Method: buildingInsights.findClosest

Individua l'edificio più vicino a un punto di query. Restituisce un errore con codice NOT_FOUND se non sono presenti edifici nel raggio di circa 50 m dal punto di query.

Richiesta HTTP

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

L'URL utilizza la sintassi di transcodifica gRPC.

Parametri di query

Parametri
location

object (LatLng)

Obbligatorio. La longitudine e la latitudine da cui l'API cerca l'edificio noto più vicino.

requiredQuality

enum (ImageryQuality)

Facoltativo. Il livello di qualità minimo consentito nei risultati. Non verrà restituito alcun risultato con una qualità inferiore a questa. Se non lo specifichi, la ricerca è limitata solo alla qualità ALTA.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

Messaggio di risposta per Solar.FindClosestBuildingInsights. Informazioni sulla posizione, sulle dimensioni e sul potenziale solare di un edificio.

In caso di esito positivo, il corpo della risposta contiene dati con la seguente struttura:

Rappresentazione 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)
}
Campi
name

string

Il nome della risorsa per l'edificio, nel formato buildings/{place_id}.

center

object (LatLng)

Un punto vicino al centro dell'edificio.

boundingBox

object (LatLngBox)

Il riquadro delimitatore dell'edificio.

imageryDate

object (Date)

Data di acquisizione delle immagini sottostanti. Si tratta di una stima approssimativa.

imageryProcessedDate

object (Date)

Al termine dell'elaborazione di queste immagini.

postalCode

string

Codice postale (ad es. (codice postale statunitense) che contiene l'edificio.

administrativeArea

string

L'area amministrativa 1 (ad es. lo stato negli Stati Uniti) che contiene l'edificio. Ad esempio, negli Stati Uniti l'abbreviazione potrebbe essere "MA" o "CA".

statisticalArea

string

Area statistica (ad es. sezione di censimento degli Stati Uniti) in cui si trova l'edificio.

regionCode

string

Codice della regione in cui si trova l'edificio.

solarPotential

object (SolarPotential)

Potenziale solare dell'edificio.

imageryQuality

enum (ImageryQuality)

La qualità delle immagini utilizzate per calcolare i dati di questo edificio.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

LatLngBox

Un riquadro di delimitazione in coordinate lat/lng.

Rappresentazione JSON
{
  "sw": {
    object (LatLng)
  },
  "ne": {
    object (LatLng)
  }
}
Campi
sw

object (LatLng)

L'angolo sud-ovest della scatola.

ne

object (LatLng)

L'angolo nord-est della scatola.

SolarPotential

Informazioni sul potenziale solare di un edificio. Alcuni campi sono definiti in termini di "riquadri". I campi panelCapacityWatts, panelHeightMeters e panelWidthMeters descrivono i parametri del modello di pannello utilizzato in questi calcoli.

Rappresentazione 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)
    }
  ]
}
Campi
maxArrayPanelsCount

integer

Dimensioni dell'array massimo, ovvero il numero massimo di pannelli che possono essere montati sul tetto.

panelCapacityWatts

number

Capacità, in watt, del pannello utilizzata nei calcoli.

panelHeightMeters

number

Altezza, in metri in orientamento verticale, del pannello utilizzato nei calcoli.

panelWidthMeters

number

Larghezza, in metri in orientamento verticale, del pannello utilizzato nei calcoli.

panelLifetimeYears

integer

La durata prevista, in anni, dei pannelli solari. Questo valore viene utilizzato nei calcoli finanziari.

maxArrayAreaMeters2

number

Dimensioni, in metri quadrati, dell'array massimo.

maxSunshineHoursPerYear

number

Numero massimo di ore di sole ricevute all'anno in qualsiasi punto del tetto. Le ore di sole misurano la quantità totale di insolazione (energia) ricevuta ogni anno. 1 ora di sole = 1 kWh per kW (dove kW si riferisce ai kW di capacità nelle condizioni di test standard).

carbonOffsetFactorKgPerMwh

number

Quantità equivalente di CO2 prodotta per MWh di elettricità di rete. Si tratta di una misura dell'intensità di carbonio dell'elettricità di rete sostituita dall'elettricità solare.

wholeRoofStats

object (SizeAndSunshineStats)

Dimensioni totali e quantili di luce solare per la parte del tetto assegnata a un determinato segmento. Nonostante il nome, l'intero edificio potrebbe non essere incluso. Leggi i buildingStats.

buildingStats

object (SizeAndSunshineStats)

Quantili di dimensioni e irraggiamento solare per l'intero edificio, incluse le parti del tetto che non sono state assegnate a un segmento del tetto. Poiché l'orientamento di queste parti non è ben definito, la stima della superficie del tetto non è affidabile, ma la stima della superficie del suolo è affidabile. È possibile ottenere una superficie del tetto dell'intero edificio più affidabile moltiplicando la superficie del tetto di wholeRoofStats per il rapporto tra le aree del suolo di buildingStats e wholeRoofStats.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

Quantili di dimensioni e irraggiamento solare per ogni segmento del tetto.

solarPanels[]

object (SolarPanel)

Ogni SolarPanel descrive un singolo pannello solare. Sono elencati nell'ordine in cui sono stati posizionati dall'algoritmo di layout del riquadro. In genere, anche se non sempre, in ordine decrescente di produzione di energia annuale.

solarPanelConfigs[]

object (SolarPanelConfig)

Ogni SolarPanelConfig descrive una disposizione diversa dei pannelli solari sul tetto. Sono in ordine crescente di numero di pannelli. SolarPanelConfig con panelsCount=N si basa sui primi N pannelli nell'elenco solarPanels. Questo campo viene compilato solo se su un tetto possono essere installati almeno 4 pannelli.

financialAnalyses[]

object (FinancialAnalysis)

Un FinancialAnalysis indica il risparmio derivante dall'utilizzo dell'energia solare, ipotizzando una determinata bolletta mensile e un determinato fornitore di energia elettrica. Sono in ordine crescente di importo della fattura mensile. Questo campo sarà vuoto per gli edifici in aree per le quali l'API Solar non dispone di informazioni sufficienti per eseguire calcoli finanziari.

SizeAndSunshineStats

Quantili di dimensioni e insolazione di un tetto o di una parte di un tetto.

Rappresentazione JSON
{
  "areaMeters2": number,
  "sunshineQuantiles": [
    number
  ],
  "groundAreaMeters2": number
}
Campi
areaMeters2

number

L'area del tetto o del segmento del tetto, in m². Si tratta dell'area del tetto (tenendo conto dell'inclinazione), non dell'area del suolo.

sunshineQuantiles[]

number

Quantili dell'insolazione puntuale nell'area. Se sono presenti N valori, questi rappresentano le (N-1)-ile. Ad esempio, se sono presenti 5 valori, questi saranno i quartili (min, 25%, 50%, 75%, max). I valori sono in kWh/kW annuali, ad esempio maxSunshineHoursPerYear.

groundAreaMeters2

number

L'area al suolo coperta dal tetto o dal segmento di tetto, in m².

RoofSegmentSizeAndSunshineStats

Informazioni sulle dimensioni e sui quantili di insolazione di un segmento di tetto.

Rappresentazione JSON
{
  "stats": {
    object (SizeAndSunshineStats)
  },
  "center": {
    object (LatLng)
  },
  "boundingBox": {
    object (LatLngBox)
  },
  "pitchDegrees": number,
  "azimuthDegrees": number,
  "planeHeightAtCenterMeters": number
}
Campi
stats

object (SizeAndSunshineStats)

Dimensioni totali e quantili di irraggiamento solare per il segmento del tetto.

center

object (LatLng)

Un punto vicino al centro del tratto del tetto.

boundingBox

object (LatLngBox)

Il riquadro delimitatore del tratto del tetto.

pitchDegrees

number

Angolo del tratto del tetto rispetto al piano del suolo teorico. 0 = parallelo al suolo, 90 = perpendicolare al suolo.

azimuthDegrees

number

La direzione indicata dalla bussola del segmento del tetto. 0 = Nord, 90 = Est, 180 = Sud. Per un segmento di tetto "piano" (pitchDegrees molto vicino a 0), l'azimut non è ben definito, quindi per coerenza lo definiamo arbitrariamente come 0 (Nord).

planeHeightAtCenterMeters

number

L'altezza del piano del tratto del tetto, in metri sul livello del mare, nel punto indicato da center. Insieme all'inclinazione, all'azimut e alla posizione del centro, definisce completamente il piano del segmento del tetto.

SolarPanel

SolarPanel descrive la posizione, l'orientamento e la produzione di un singolo pannello solare. Consulta i campi panelHeightMeters, panelWidthMeters e panelCapacityWatts in SolarPotential per informazioni sui parametri del riquadro.

Rappresentazione JSON
{
  "center": {
    object (LatLng)
  },
  "orientation": enum (SolarPanelOrientation),
  "yearlyEnergyDcKwh": number,
  "segmentIndex": integer
}
Campi
center

object (LatLng)

Il centro del riquadro.

orientation

enum (SolarPanelOrientation)

L'orientamento del riquadro.

yearlyEnergyDcKwh

number

Quantità di energia solare catturata da questo layout nel corso di un anno, in kWh CC.

segmentIndex

integer

Indice in roofSegmentStats del RoofSegmentSizeAndSunshineStats che corrisponde al tratto del tetto su cui è posizionato questo pannello.

SolarPanelOrientation

L'orientamento di un pannello solare. Questo valore deve essere interpretato in base all'azimut del tratto di tetto su cui è posizionato il pannello.

Enum
SOLAR_PANEL_ORIENTATION_UNSPECIFIED L'orientamento del pannello non è noto.
LANDSCAPE Il lato lungo di un pannello LANDSCAPE è perpendicolare alla direzione di azimut del tratto di tetto su cui è posizionato.
PORTRAIT Il lato lungo di un pannello PORTRAIT è parallelo alla direzione di azimut del tratto di tetto su cui è posizionato.

SolarPanelConfig

SolarPanelConfig descrive un determinato posizionamento dei pannelli solari sul tetto.

Rappresentazione JSON
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "roofSegmentSummaries": [
    {
      object (RoofSegmentSummary)
    }
  ]
}
Campi
panelsCount

integer

Numero totale di pannelli. Tieni presente che questo è ridondante rispetto alla somma dei campi corrispondenti in roofSegmentSummaries.

yearlyEnergyDcKwh

number

Quantità di energia solare catturata da questo layout nel corso di un anno, in kWh CC, supponendo i pannelli descritti sopra.

roofSegmentSummaries[]

object (RoofSegmentSummary)

Informazioni sulla produzione di ogni segmento del tetto che supporta almeno un pannello in questo layout. roofSegmentSummaries[i] descrive il i-esimo segmento del tetto, incluse le sue dimensioni, la produzione prevista e l'orientamento.

RoofSegmentSummary

Informazioni su un segmento del tetto dell'edificio, con un certo numero di pannelli posizionati sopra.

Rappresentazione JSON
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "pitchDegrees": number,
  "azimuthDegrees": number,
  "segmentIndex": integer
}
Campi
panelsCount

integer

Il numero totale di pannelli in questo segmento.

yearlyEnergyDcKwh

number

Quantità di energia solare catturata da questa parte del layout nel corso di un anno, in kWh CC, assumendo i pannelli descritti sopra.

pitchDegrees

number

Angolo del tratto del tetto rispetto al piano del suolo teorico. 0 = parallelo al suolo, 90 = perpendicolare al suolo.

azimuthDegrees

number

La direzione indicata dalla bussola del segmento del tetto. 0 = Nord, 90 = Est, 180 = Sud. Per un segmento di tetto "piano" (pitchDegrees molto vicino a 0), l'azimut non è ben definito, quindi per coerenza lo definiamo arbitrariamente come 0 (Nord).

segmentIndex

integer

Indice in roofSegmentStats del RoofSegmentSizeAndSunshineStats corrispondente.

FinancialAnalysis

Analisi dei costi e dei vantaggi dell'impianto solare ottimale per una determinata dimensione della bolletta elettrica.

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

object (Money)

La bolletta mensile dell'elettricità assunta da questa analisi.

defaultBill

boolean

Indica se si tratta della dimensione della fattura selezionata come predefinita per la zona in cui si trova l'edificio. Per FinancialAnalysis in BuildingSolarPotential deve essere impostato defaultBill.

averageKwhPerMonth

number

La quantità di elettricità utilizzata dalla casa in un mese medio, in base alle dimensioni della bolletta e alle tariffe dell'elettricità locali.

financialDetails

object (FinancialDetails)

Informazioni finanziarie che si applicano indipendentemente dal metodo di finanziamento utilizzato.

leasingSavings

object (LeasingSavings)

Costo e vantaggio del leasing dei pannelli solari.

cashPurchaseSavings

object (CashPurchaseSavings)

Costo e vantaggio dell'acquisto dei pannelli solari in contanti.

financedPurchaseSavings

object (FinancedPurchaseSavings)

Costo e vantaggio dell'acquisto dei pannelli solari tramite il finanziamento dell'acquisto.

panelConfigIndex

integer

Indice in solarPanelConfigs del layout solare ottimale per questa dimensione della fattura. Può essere -1 per indicare che non è presente alcun layout. In questo caso, i messaggi secondari rimanenti verranno omessi.

Denaro

Rappresenta un importo con il relativo tipo di valuta.

Rappresentazione JSON
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
Campi
currencyCode

string

Il codice valuta di tre lettere definito in ISO 4217.

units

string (int64 format)

Le unità intere dell'importo. Ad esempio, se currencyCode è "USD", 1 unità equivale a un dollaro statunitense.

nanos

integer

Numero di nano (10^-9) unità dell'importo. Il valore deve essere compreso tra -999.999.999 e +999.999.999 compresi. Se units è positivo, nanos deve essere positivo o zero. Se units è zero, nanos può essere positivo, zero o negativo. Se units è negativo, nanos deve essere negativo o uguale a zero. Ad esempio, -1,75 $ è rappresentato come units=-1 e nanos=-750.000.000.

FinancialDetails

Dettagli di un'analisi finanziaria. Alcuni di questi dettagli sono già archiviati a livelli superiori (ad es. costo a carico dell'utente). Gli importi totali si riferiscono a un periodo di tempo definito dal campo panelLifetimeYears in SolarPotential. Nota: il costo di acquisto dei pannelli è indicato nel campo outOfPocketCost in CashPurchaseSavings.

Rappresentazione 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
}
Campi
initialAcKwhPerYear

number

La quantità di kWh CA che riteniamo che i pannelli solari genereranno nel primo anno.

remainingLifetimeUtilityBill

object (Money)

Bolletta della società di servizi pubblici per l'elettricità non prodotta dall'impianto solare, per l'intera durata dei pannelli.

federalIncentive

object (Money)

Importo disponibile degli incentivi federali; si applica se l'utente acquista (con o senza un prestito) i pannelli.

stateIncentive

object (Money)

Importo di denaro disponibile dagli incentivi statali; si applica se l'utente acquista (con o senza un prestito) i pannelli.

utilityIncentive

object (Money)

Importo disponibile dagli incentivi delle società di servizi pubblici; si applica se l'utente acquista (con o senza un prestito) i pannelli.

lifetimeSrecTotal

object (Money)

Importo che l'utente riceverà dai crediti per energia rinnovabile solare durante la vita utile del pannello; questo vale se l'utente acquista (con o senza un prestito) i pannelli.

costOfElectricityWithoutSolar

object (Money)

Costo totale dell'elettricità che l'utente avrebbe pagato nel periodo di tempo del lifetime se non avesse installato un impianto solare.

netMeteringAllowed

boolean

Indica se la misurazione del consumo netto è consentita.

solarPercentage

number

Percentuale (0-100) dell'energia dell'utente fornita dall'energia solare. Valida per il primo anno, ma approssimativamente corretta per gli anni futuri.

percentageExportedToGrid

number

La percentuale (0-100) di produzione di energia elettrica solare che abbiamo ipotizzato essere stata esportata nella rete, in base al primo trimestre di produzione. Ciò influisce sui calcoli se la misurazione netta non è consentita.

LeasingSavings

Costo e vantaggio del leasing di una determinata configurazione di pannelli solari con un determinato utilizzo di elettricità.

Rappresentazione JSON
{
  "leasesAllowed": boolean,
  "leasesSupported": boolean,
  "annualLeasingCost": {
    object (Money)
  },
  "savings": {
    object (SavingsOverTime)
  }
}
Campi
leasesAllowed

boolean

Se i contratti di locazione sono consentiti in questa giurisdizione (non sono consentiti in alcuni stati). Se questo campo è falso, è probabile che i valori in questo messaggio debbano essere ignorati.

leasesSupported

boolean

Indica se i leasing sono supportati in questa giurisdizione dal motore di calcolo finanziario. Se questo campo è falso, è probabile che i valori in questo messaggio debbano essere ignorati. Questo è indipendente da leasesAllowed: in alcune aree i leasing sono consentiti, ma a condizioni che non sono gestite dai modelli finanziari.

annualLeasingCost

object (Money)

Costo di leasing annuale stimato.

savings

object (SavingsOverTime)

Quanto viene risparmiato (o meno) nel periodo di tempo del ciclo di vita.

SavingsOverTime

Informazioni finanziarie condivise tra diversi metodi di finanziamento.

Rappresentazione JSON
{
  "savingsYear1": {
    object (Money)
  },
  "savingsYear20": {
    object (Money)
  },
  "presentValueOfSavingsYear20": {
    object (Money)
  },
  "savingsLifetime": {
    object (Money)
  },
  "presentValueOfSavingsLifetime": {
    object (Money)
  },
  "financiallyViable": boolean
}
Campi
savingsYear1

object (Money)

Risparmio nel primo anno dopo l'installazione del pannello.

savingsYear20

object (Money)

Risparmi nei primi venti anni dopo l'installazione del pannello.

presentValueOfSavingsYear20

object (Money)

Utilizzando il tasso di sconto presunto, qual è il valore attuale dei risparmi cumulativi di 20 anni?

savingsLifetime

object (Money)

Risparmio nell'intero ciclo di vita del panel.

presentValueOfSavingsLifetime

object (Money)

Utilizzando il tasso di sconto presunto, qual è il valore attuale dei risparmi cumulativi per tutta la vita?

financiallyViable

boolean

Indica se questo scenario è finanziariamente sostenibile. Sarà falso per gli scenari con scarsa sostenibilità finanziaria (ad es. perdita di denaro).

CashPurchaseSavings

Costo e vantaggio di un acquisto diretto di una determinata configurazione di pannelli solari con un determinato utilizzo di elettricità.

Rappresentazione JSON
{
  "outOfPocketCost": {
    object (Money)
  },
  "upfrontCost": {
    object (Money)
  },
  "rebateValue": {
    object (Money)
  },
  "savings": {
    object (SavingsOverTime)
  },
  "paybackYears": number
}
Campi
outOfPocketCost

object (Money)

Costo iniziale prima degli incentivi fiscali: l'importo che deve essere pagato di tasca propria. È diverso da upfrontCost, che si riferisce al costo dopo gli incentivi fiscali.

upfrontCost

object (Money)

Costo iniziale dopo gli incentivi fiscali: l'importo da pagare durante il primo anno. A differenza di outOfPocketCost, che è prima degli incentivi fiscali.

rebateValue

object (Money)

Il valore di tutti gli sgravi fiscali.

savings

object (SavingsOverTime)

Quanto viene risparmiato (o meno) nel periodo di tempo del ciclo di vita.

paybackYears

number

Numero di anni fino al ritorno sull'investimento. Un valore negativo indica che il ritorno sull'investimento non si verifica mai nel periodo di tempo del lifetime.

FinancedPurchaseSavings

Costo e vantaggio dell'utilizzo di un prestito per acquistare una determinata configurazione di pannelli solari con un determinato consumo di elettricità.

Rappresentazione JSON
{
  "annualLoanPayment": {
    object (Money)
  },
  "rebateValue": {
    object (Money)
  },
  "loanInterestRate": number,
  "savings": {
    object (SavingsOverTime)
  }
}
Campi
annualLoanPayment

object (Money)

Pagamenti annuali del prestito.

rebateValue

object (Money)

Il valore di tutti gli sgravi fiscali (incluso il credito fiscale per gli investimenti federali (ITC)).

loanInterestRate

number

Il tasso di interesse sui prestiti assunto in questo insieme di calcoli.

savings

object (SavingsOverTime)

Quanto viene risparmiato (o meno) nel periodo di tempo del ciclo di vita.