Method: buildingInsights.findClosest

Individua l'edificio il cui centroide è più vicino a un punto di query. Restituisce un errore con codice NOT_FOUND se non sono presenti edifici entro circa 50 metri 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 di qualità inferiore. Se non lo specifichi, equivale a limitare la qualità a ALTA.

exactQualityRequired

boolean

Facoltativo. Se richiedere la qualità esatta delle immagini. Se impostato su false, il campo requiredQuality viene interpretato come la qualità minima richiesta, in modo che le immagini di qualità ALTA possano essere restituite quando requiredQuality è impostato su MEDIA. Se impostato su true, requiredQuality viene interpretato come la qualità esatta richiesta e vengono restituite solo immagini di qualità MEDIUM se requiredQuality è impostato su MEDIUM.

experiments[]

enum (Experiment)

Facoltativo. Specifica le funzionalità pre-GA da attivare.

Corpo della richiesta

Il corpo della richiesta deve essere vuoto.

Corpo della risposta

Messaggio di risposta per Solar.FindClosestBuildingInsights. Informazioni sulla posizione, le dimensioni e il 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 di delimitazione dell'edificio.

imageryDate

object (Date)

Data di acquisizione delle immagini sottostanti. Questo valore è approssimativo.

imageryProcessedDate

object (Date)

Al termine dell'elaborazione di queste immagini.

postalCode

string

Codice postale (ad es. codice postale statunitense) in cui si trova l'edificio.

administrativeArea

string

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

statisticalArea

string

Area statistica (ad es. sezione di censimento statunitense) in cui si trova questo edificio.

regionCode

string

Il codice regione del paese (o della regione) in cui si trova questo edificio.

solarPotential

object (SolarPotential)

Potenziale solare dell'edificio.

imageryQuality

enum (ImageryQuality)

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

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

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

LatLngBox

Un riquadro di delimitazione in coordinate di latitudine/longitudine.

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

Dimensione del pannello massimo, ovvero il numero massimo di pannelli che possono essere installati sul tetto.

panelCapacityWatts

number

Capacità, in watt, del pannello utilizzato 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 da qualsiasi punto del tetto. Le ore di sole sono una misura della quantità totale di insolazione (energia) ricevuta all'anno. 1 ora di sole = 1 kWh per kW (dove kW si riferisce a kW di capacità in condizioni di test standard).

carbonOffsetFactorKgPerMwh

number

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

wholeRoofStats

object (SizeAndSunshineStats)

Quantili di dimensioni e luce solare per la parte del tetto assegnata a un segmento del tetto. Nonostante il nome, potrebbe non includere l'intero edificio. Leggi i buildingStats.

buildingStats

object (SizeAndSunshineStats)

Quantili di dimensioni e luce solare per l'intero edificio, comprese le parti del tetto non assegnate a un segmento. Poiché gli orientamenti di queste parti non sono ben caratterizzati, la stima della superficie del tetto non è affidabile, mentre la stima della superficie del terreno è affidabile. È possibile ottenere una superficie del tetto dell'intero edificio più affidabile scalando la superficie del tetto di wholeRoofStats in base al rapporto tra le aree di buildingStats e wholeRoofStats.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

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

solarPanels[]

object (SolarPanel)

Ogni SolarPanel descrive un singolo pannello solare. Sono elencati nell'ordine in cui l'algoritmo di layout del pannello li ha posizionati. Di solito, anche se non sempre, sono in ordine decrescente di produzione di energia annua.

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 riquadri dell'elenco solarPanels. Questo campo viene compilato solo se sul tetto possono essere installati almeno 4 pannelli.

financialAnalyses[]

object (FinancialAnalysis)

Un FinancialAnalysis indica il risparmio derivante dall'installazione di pannelli solari, presupponendo una determinata bolletta mensile e un determinato fornitore di elettricità. Sono in ordine crescente in base all'importo della fattura mensile. Questo campo sarà vuoto per gli edifici nelle aree per cui l'API Solar non dispone di informazioni sufficienti per eseguire calcoli finanziari.

SizeAndSunshineStats

Quantili di dimensioni e soleggiamento 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 di tetto, in m^2. Si tratta dell'area del tetto (tenendo conto dell'inclinazione), non dell'area di impronta a terra.

sunshineQuantiles[]

number

Quantili dell'insolazione puntuale nell'area. Se sono presenti N valori, questi rappresentano gli (N-1)-ili. Ad esempio, se ci sono 5 valori, questi saranno i quartili (minimo, 25%, 50%, 75%, massimo). I valori sono in kWh/kW annui, ad esempio maxSunshineHoursPerYear.

groundAreaMeters2

number

L'area di impronta a terra coperta dal tetto o dal segmento di tetto, in m².

RoofSegmentSizeAndSunshineStats

Informazioni sui quantili di dimensioni e soleggiamento di un segmento del tetto.

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

object (SizeAndSunshineStats)

Quantili di dimensione totale e luce solare per il segmento del tetto.

center

object (LatLng)

Un punto vicino al centro del segmento del tetto.

boundingBox

object (LatLngBox)

Il riquadro di delimitazione del segmento del tetto.

pitchDegrees

number

Angolo del segmento del tetto rispetto al piano di terra teorico. 0 = parallelo al suolo, 90 = perpendicolare al suolo.

azimuthDegrees

number

Direzione della bussola in cui è rivolto il segmento del tetto. 0 = Nord, 90 = Est, 180 = Sud. Per un segmento di tetto "piatto" (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 segmento del tetto, in metri sopra il livello del mare, nel punto indicato da center. Insieme all'inclinazione, all'azimut e alla posizione centrale, definisce completamente il piano del segmento del tetto.

SolarPanel

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

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

object (LatLng)

Il centro del pannello.

orientation

enum (SolarPanelOrientation)

L'orientamento del pannello.

yearlyEnergyDcKwh

number

Quanta energia solare cattura questo layout nel corso di un anno, in kWh CC.

segmentIndex

integer

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

SolarPanelOrientation

L'orientamento di un pannello solare. Deve essere interpretato rispetto all'azimut del segmento del tetto su cui è posizionato il pannello.

Enum
SOLAR_PANEL_ORIENTATION_UNSPECIFIED Non è noto alcun orientamento del pannello.
LANDSCAPE Un pannello LANDSCAPE ha il lato lungo perpendicolare alla direzione dell'azimut del segmento di tetto su cui è posizionato.
PORTRAIT Un pannello PORTRAIT ha il lato lungo parallelo alla direzione dell'azimut del segmento di tetto su cui è posizionato.

SolarPanelConfig

SolarPanelConfig descrive un particolare 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 valore è ridondante rispetto alla somma dei campi corrispondenti in roofSegmentSummaries.

yearlyEnergyDcKwh

number

Quanta energia solare cattura questo layout nel corso di un anno, in kWh CC, supponendo che i pannelli siano quelli descritti sopra.

roofSegmentSummaries[]

object (RoofSegmentSummary)

Informazioni sulla produzione di ogni segmento del tetto che trasporta almeno un pannello in questo layout. roofSegmentSummaries[i] descrive l'i-esimo segmento del tetto, incluse le 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 panel in questo segmento.

yearlyEnergyDcKwh

number

Quanta energia solare cattura questa parte del layout nel corso di un anno, in kWh CC, supponendo che i pannelli siano quelli descritti sopra.

pitchDegrees

number

Angolo del segmento del tetto rispetto al piano di terra teorico. 0 = parallelo al suolo, 90 = perpendicolare al suolo.

azimuthDegrees

number

Direzione della bussola in cui è rivolto il segmento del tetto. 0 = Nord, 90 = Est, 180 = Sud. Per un segmento di tetto "piatto" (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 della disposizione ottimale dei pannelli solari per una determinata bolletta dell'elettricità.

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'energia elettrica che questa analisi presuppone.

defaultBill

boolean

Indica se questa è la dimensione della bolletta selezionata come predefinita per l'area in cui si trova l'edificio. Esattamente un FinancialAnalysis in BuildingSolarPotential deve avere defaultBill impostato.

averageKwhPerMonth

number

La quantità di elettricità che la casa utilizza in un mese medio, in base all'importo della bolletta e alle tariffe locali dell'elettricità.

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 finanziando l'acquisto.

panelConfigIndex

integer

Indice in solarPanelConfigs del layout solare ottimale per questo importo della bolletta. Può essere -1, a indicare che non esiste un layout. In questo caso, i messaggi secondari rimanenti verranno omessi.

Denaro

Rappresenta un importo di denaro con il relativo tipo di valuta.

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

string

Il codice valuta di tre lettere definito nello standard ISO 4217.

units

string (int64 format)

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

nanos

integer

Numero di unità nano (10^-9) dell'importo. Il valore deve essere compreso tra -999.999.999 e +999.999.999 inclusi. 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 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à memorizzati a livelli superiori (ad es. costi vivi). Gli importi totali in denaro si riferiscono a un periodo di tempo definito dal campo panelLifetimeYears in SolarPotential. Nota: il costo di acquisto dei pannelli a carico dell'utente è indicato nel campo outOfPocketCost di 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

Quanti kWh CA riteniamo che i pannelli solari genereranno nel primo anno.

remainingLifetimeUtilityBill

object (Money)

Bolletta dell'elettricità non prodotta dall'impianto solare, per la durata dei pannelli.

federalIncentive

object (Money)

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

stateIncentive

object (Money)

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

utilityIncentive

object (Money)

Importo di denaro disponibile dagli incentivi per le utenze; questo si applica se l'utente acquista (con o senza prestito) i pannelli.

lifetimeSrecTotal

object (Money)

L'importo di denaro che l'utente riceverà dai crediti per l'energia rinnovabile solare durante la durata del pannello; questo si applica se l'utente acquista (con o senza prestito) i pannelli.

costOfElectricityWithoutSolar

object (Money)

Il costo totale dell'elettricità che l'utente avrebbe pagato durante il periodo di lifetime se non avesse installato l'impianto solare.

netMeteringAllowed

boolean

Se la misurazione netta è consentita.

solarPercentage

number

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

percentageExportedToGrid

number

La percentuale (0-100) di produzione di elettricità solare che abbiamo ipotizzato sia 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 particolare configurazione di pannelli solari con un particolare consumo 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, i valori in questo messaggio devono probabilmente essere ignorati.

leasesSupported

boolean

Indica se i contratti di leasing sono supportati in questa giurisdizione dal motore di calcolo finanziario. Se questo campo è falso, i valori in questo messaggio devono probabilmente 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 annuale stimato del leasing.

savings

object (SavingsOverTime)

Quanto viene risparmiato (o meno) nel periodo di validità.

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 dei pannelli.

presentValueOfSavingsYear20

object (Money)

Utilizzando il tasso di sconto presunto, qual è il valore attuale del risparmio cumulativo di 20 anni?

savingsLifetime

object (Money)

Risparmi nell'intera durata del pannello.

presentValueOfSavingsLifetime

object (Money)

Utilizzando il tasso di sconto presunto, qual è il valore attuale del risparmio cumulativo nel corso della vita?

financiallyViable

boolean

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

CashPurchaseSavings

Costo e vantaggio di un acquisto diretto di una particolare configurazione di pannelli solari con un particolare consumo 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. A differenza di upfrontCost, che è al netto degli incentivi fiscali.

upfrontCost

object (Money)

Costo iniziale dopo gli incentivi fiscali: è l'importo da pagare durante il primo anno. Contrasta con outOfPocketCost, che sono incentivi al lordo delle imposte.

rebateValue

object (Money)

Il valore di tutti gli sgravi fiscali.

savings

object (SavingsOverTime)

Quanto viene risparmiato (o meno) nel periodo di validità.

paybackYears

number

Numero di anni prima del recupero. Un valore negativo significa che il rimborso non si verifica mai durante il periodo di vita.

FinancedPurchaseSavings

Costo e vantaggio dell'utilizzo di un prestito per acquistare una particolare configurazione di pannelli solari con un particolare 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 d'imposta federale per gli investimenti).

loanInterestRate

number

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

savings

object (SavingsOverTime)

Quanto viene risparmiato (o meno) nel periodo di validità.