Method: buildingInsights.findClosest

Localiza o edifício mais próximo de um ponto de consulta. Retorna um erro com o código NOT_FOUND se não houver edifícios a aproximadamente 50 m do ponto da consulta.

Solicitação HTTP

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

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de consulta

Parâmetros
location

object (LatLng)

Obrigatório. A longitude e a latitude em que a API procura o edifício conhecido mais próximo.

requiredQuality

enum (ImageryQuality)

Opcional. O nível mínimo de qualidade permitido nos resultados. Nenhum resultado com qualidade inferior a esse será retornado. Não especificar isso é equivalente a restringir apenas a qualidade ALTA.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Mensagem de resposta para Solar.FindClosestBuildingInsights. Informações sobre a localização, as dimensões e o potencial solar de um edifício.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação 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)
}
Campos
name

string

O nome do recurso do edifício, no formato buildings/{place_id}.

center

object (LatLng)

Um ponto próximo ao centro do edifício.

boundingBox

object (LatLngBox)

A caixa delimitadora do edifício.

imageryDate

object (Date)

Data em que as imagens foram adquiridas. Isso é aproximado.

imageryProcessedDate

object (Date)

Quando o processamento foi concluído nas imagens.

postalCode

string

CEP (por exemplo, CEP dos EUA) em que o edifício está localizado.

administrativeArea

string

Área administrativa 1 (por exemplo, o estado nos EUA) que contém o edifício. Por exemplo, nos EUA, a abreviação pode ser "MA" ou "CA".

statisticalArea

string

Área estatística (por exemplo, setor censitário dos EUA) em que o edifício está.

regionCode

string

Código da região do país (ou região) em que o edifício está.

solarPotential

object (SolarPotential)

Potencial solar do edifício.

imageryQuality

enum (ImageryQuality)

A qualidade das imagens usadas para calcular os dados do edifício.

Escopos de autorização

Requer o seguinte escopo OAuth:

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

LatLngBox

Uma caixa delimitadora em coordenadas lat/lng.

Representação JSON
{
  "sw": {
    object (LatLng)
  },
  "ne": {
    object (LatLng)
  }
}
Campos
sw

object (LatLng)

O canto sudoeste da caixa.

ne

object (LatLng)

O canto nordeste da caixa.

SolarPotential

Informações sobre o potencial solar de um edifício. Vários campos são definidos em termos de "painéis". Os campos panelCapacityWatts, panelHeightMeters e panelWidthMeters descrevem os parâmetros do modelo de painel usado nesses cálculos.

Representação 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)
    }
  ]
}
Campos
maxArrayPanelsCount

integer

Tamanho da matriz máxima, ou seja, o número máximo de painéis que cabem no telhado.

panelCapacityWatts

number

Capacidade, em watts, do painel usado nos cálculos.

panelHeightMeters

number

Altura, em metros na orientação retrato, do painel usado nos cálculos.

panelWidthMeters

number

Largura, em metros na orientação retrato, do painel usado nos cálculos.

panelLifetimeYears

integer

A vida útil esperada, em anos, dos painéis solares. Ele é usado nos cálculos financeiros.

maxArrayAreaMeters2

number

Tamanho, em metros quadrados, da matriz máxima.

maxSunshineHoursPerYear

number

Número máximo de horas de sol recebidas por ano em qualquer ponto do telhado. As horas de sol são uma medida da quantidade total de insolação (energia) recebida por ano. 1 hora de sol = 1 kWh por kW (onde kW se refere à capacidade em condições de teste padrão).

carbonOffsetFactorKgPerMwh

number

Quantidade equivalente de CO2 produzida por MWh de eletricidade da rede. Essa é uma medida da intensidade de carbono da eletricidade da rede deslocada pela eletricidade solar.

wholeRoofStats

object (SizeAndSunshineStats)

Tamanho total e quantis de luz solar para a parte do telhado atribuída a algum segmento. Apesar do nome, isso pode não incluir todo o edifício. Consulte buildingStats.

buildingStats

object (SizeAndSunshineStats)

Tamanho e cuantels de luz solar para todo o edifício, incluindo partes do telhado que não foram atribuídas a algum segmento do telhado. Como as orientações dessas partes não são bem caracterizadas, a estimativa da área do telhado não é confiável, mas a estimativa da área do solo é. Talvez seja possível obter uma área do telhado de todo o edifício mais confiável ao dimensionar a área do telhado de wholeRoofStats pela proporção das áreas do solo de buildingStats e wholeRoofStats.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

Quantis de tamanho e luz solar para cada segmento do telhado.

solarPanels[]

object (SolarPanel)

Cada SolarPanel descreve um único painel solar. Eles são listados na ordem em que o algoritmo de layout do painel os colocou. Isso geralmente ocorre em ordem decrescente da produção anual de energia, mas nem sempre.

solarPanelConfigs[]

object (SolarPanelConfig)

Cada SolarPanelConfig descreve um arranjo diferente de painéis solares no telhado. Elas estão em ordem crescente de número de painéis. O SolarPanelConfig com panelsCount=N é baseado nos primeiros N painéis na lista solarPanels. Esse campo só será preenchido se pelo menos quatro painéis couberem em um telhado.

financialAnalyses[]

object (FinancialAnalysis)

Um FinancialAnalysis mostra a economia com a energia solar, considerando uma conta mensal e um determinado fornecedor de eletricidade. Eles estão em ordem crescente do valor da fatura mensal. Esse campo vai ficar vazio para edifícios em áreas em que a API Solar não tem informações suficientes para realizar cálculos financeiros.

SizeAndSunshineStats

Quantis de tamanho e insolação de um telhado ou parte dele.

Representação JSON
{
  "areaMeters2": number,
  "sunshineQuantiles": [
    number
  ],
  "groundAreaMeters2": number
}
Campos
areaMeters2

number

A área do telhado ou do segmento do telhado, em m^2. Essa é a área do telhado (considerando a inclinação), não a área do terreno.

sunshineQuantiles[]

number

Quantis da insolação por ponto na área. Se houver N valores aqui, isso representa os percentis (N-1). Por exemplo, se houver cinco valores, eles serão os quartis (mínimo, 25%, 50%, 75%, máximo). Os valores são em kWh/kW anuais, como maxSunshineHoursPerYear.

groundAreaMeters2

number

A área do terreno coberta pelo telhado ou segmento do telhado, em m^2.

RoofSegmentSizeAndSunshineStats

Informações sobre o tamanho e os quantis de insolação de um segmento de telhado.

Representação JSON
{
  "stats": {
    object (SizeAndSunshineStats)
  },
  "center": {
    object (LatLng)
  },
  "boundingBox": {
    object (LatLngBox)
  },
  "pitchDegrees": number,
  "azimuthDegrees": number,
  "planeHeightAtCenterMeters": number
}
Campos
stats

object (SizeAndSunshineStats)

Tamanho total e quartis de luz solar para o segmento do telhado.

center

object (LatLng)

Um ponto próximo ao centro do segmento do telhado.

boundingBox

object (LatLngBox)

A caixa delimitadora do segmento do telhado.

pitchDegrees

number

Ângulo do segmento do telhado em relação ao plano teórico do solo. 0 = paralelo ao solo, 90 = perpendicular ao solo.

azimuthDegrees

number

Direção da bússola para onde o segmento do telhado está apontando. 0 = Norte, 90 = Leste, 180 = Sul. Para um segmento de telhado "plano" (pitchDegrees muito próximo de 0), o azimute não é bem definido. Portanto, para manter a consistência, definimos arbitrariamente como 0 (norte).

planeHeightAtCenterMeters

number

A altura do plano do segmento do telhado, em metros acima do nível do mar, no ponto designado por center. Junto com o ângulo de inclinação, azimute e localização central, isso define totalmente o plano do segmento do telhado.

SolarPanel

SolarPanel descreve a posição, a orientação e a produção de um único painel solar. Consulte os campos panelHeightMeters, panelWidthMeters e panelCapacityWatts em SolarPotential para informações sobre os parâmetros do painel.

Representação JSON
{
  "center": {
    object (LatLng)
  },
  "orientation": enum (SolarPanelOrientation),
  "yearlyEnergyDcKwh": number,
  "segmentIndex": integer
}
Campos
center

object (LatLng)

O centro do painel.

orientation

enum (SolarPanelOrientation)

A orientação do painel.

yearlyEnergyDcKwh

number

Quanta energia solar esse layout captura ao longo de um ano, em CC kWh.

segmentIndex

integer

Índice em roofSegmentStats do RoofSegmentSizeAndSunshineStats que corresponde ao segmento do telhado em que o painel está colocado.

SolarPanelOrientation

A orientação de um painel solar. Isso precisa ser interpretado em relação ao azimute do segmento do telhado em que o painel está colocado.

Enums
SOLAR_PANEL_ORIENTATION_UNSPECIFIED Nenhuma orientação do painel é conhecida.
LANDSCAPE O painel LANDSCAPE tem a borda longa perpendicular à direção do azimute do segmento do telhado em que está colocado.
PORTRAIT O painel PORTRAIT tem a borda longa paralela à direção do azimute do segmento do telhado em que ele está colocado.

SolarPanelConfig

SolarPanelConfig descreve uma posição específica de painéis solares no telhado.

Representação JSON
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "roofSegmentSummaries": [
    {
      object (RoofSegmentSummary)
    }
  ]
}
Campos
panelsCount

integer

Número total de painéis. Isso é redundante com (a soma de) os campos correspondentes em roofSegmentSummaries.

yearlyEnergyDcKwh

number

Quanta energia solar esse layout captura ao longo de um ano, em CC kWh, supondo os painéis descritos acima.

roofSegmentSummaries[]

object (RoofSegmentSummary)

Informações sobre a produção de cada segmento de telhado que carrega pelo menos um painel nesse layout. roofSegmentSummaries[i] descreve o segmento de telhado i, incluindo o tamanho, a produção esperada e a orientação.

RoofSegmentSummary

Informações sobre um segmento de telhado do edifício, com alguns painéis colocados nele.

Representação JSON
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "pitchDegrees": number,
  "azimuthDegrees": number,
  "segmentIndex": integer
}
Campos
panelsCount

integer

O número total de painéis neste segmento.

yearlyEnergyDcKwh

number

Quanta energia solar essa parte do layout captura ao longo de um ano, em CC kWh, considerando os painéis descritos acima.

pitchDegrees

number

Ângulo do segmento do telhado em relação ao plano teórico do solo. 0 = paralelo ao solo, 90 = perpendicular ao solo.

azimuthDegrees

number

Direção da bússola para onde o segmento do telhado está apontando. 0 = Norte, 90 = Leste, 180 = Sul. Para um segmento de telhado "plano" (pitchDegrees muito próximo de 0), o azimute não é bem definido. Portanto, para manter a consistência, definimos arbitrariamente como 0 (norte).

segmentIndex

integer

Índice em roofSegmentStats do RoofSegmentSizeAndSunshineStats correspondente.

FinancialAnalysis

Análise do custo e dos benefícios do layout solar ideal para um tamanho específico de conta de luz.

Representação JSON
{
  "monthlyBill": {
    object (Money)
  },
  "defaultBill": boolean,
  "averageKwhPerMonth": number,
  "financialDetails": {
    object (FinancialDetails)
  },
  "leasingSavings": {
    object (LeasingSavings)
  },
  "cashPurchaseSavings": {
    object (CashPurchaseSavings)
  },
  "financedPurchaseSavings": {
    object (FinancedPurchaseSavings)
  },
  "panelConfigIndex": integer
}
Campos
monthlyBill

object (Money)

A conta de luz mensal que essa análise assume.

defaultBill

boolean

Se esse é o tamanho de conta selecionado como padrão para a área em que o edifício está. Exatamente um FinancialAnalysis em BuildingSolarPotential precisa ter defaultBill definido.

averageKwhPerMonth

number

Quanta eletricidade a casa usa em um mês médio, com base no tamanho da conta e nas tarifas locais de eletricidade.

financialDetails

object (FinancialDetails)

Informações financeiras que se aplicam independentemente do método de financiamento usado.

leasingSavings

object (LeasingSavings)

Custo e benefício do aluguel dos painéis solares.

cashPurchaseSavings

object (CashPurchaseSavings)

Custo e benefício de comprar os painéis solares com dinheiro.

financedPurchaseSavings

object (FinancedPurchaseSavings)

Custo e benefício da compra de painéis solares com financiamento.

panelConfigIndex

integer

Índice em solarPanelConfigs do layout solar ideal para esse tamanho de conta. Pode ser -1, indicando que não há layout. Nesse caso, as submensagens restantes serão omitidas.

Dinheiro

Representa um montante em dinheiro com o respectivo tipo de moeda.

Representação JSON
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
Campos
currencyCode

string

O código de moeda de três letras definido no ISO 4217.

units

string (int64 format)

As unidades inteiras do montante. Por exemplo, se currencyCode for "USD", então 1 unidade equivalerá a um dólar americano.

nanos

integer

Número de unidades nano (10^-9) do montante. É necessário que o valor fique entre -999.999.999 e +999.999.999 (inclusive os dois limites). Se units for positivo, nanos será positivo ou zero. Se units for zero, nanos poderá ser positivo, zero ou negativo. Se units for negativo, nanos será negativo ou zero. Por exemplo,US $-1,75 é representado como units=-1 e nanos=-750.000.000.

FinancialDetails

Detalhes de uma análise financeira. Alguns desses detalhes já estão armazenados em níveis mais altos (por exemplo, custo próprio). Os valores totais são calculados em um período de vida útil definido pelo campo panelLifetimeYears em SolarPotential. Observação: o custo de compra dos painéis é informado no campo outOfPocketCost em CashPurchaseSavings.

Representação 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
}
Campos
initialAcKwhPerYear

number

Quantas kWh de corrente alternada os painéis solares vão gerar no primeiro ano.

remainingLifetimeUtilityBill

object (Money)

Conta de luz para eletricidade não produzida por energia solar, durante a vida útil dos painéis.

federalIncentive

object (Money)

Quantidade de dinheiro disponível de incentivos federais; isso se aplica se o usuário comprar (com ou sem um empréstimo) os painéis.

stateIncentive

object (Money)

Valor disponível de incentivos estaduais; isso se aplica se o usuário comprar (com ou sem um empréstimo) os painéis.

utilityIncentive

object (Money)

Valor disponível em incentivos de serviços públicos. Isso se aplica se o usuário comprar os painéis (com ou sem um empréstimo).

lifetimeSrecTotal

object (Money)

Valor que o usuário vai receber dos créditos de energia renovável solar durante a vida útil do painel. Isso se aplica se o usuário comprar os painéis (com ou sem empréstimo).

costOfElectricityWithoutSolar

object (Money)

O custo total de eletricidade que o usuário teria pago durante o período de vida útil se não tivesse instalado painéis solares.

netMeteringAllowed

boolean

Se a compensação de energia é permitida.

solarPercentage

number

Porcentagem (0 a 100) da energia do usuário fornecida por energia solar. Válido para o primeiro ano, mas aproximadamente correto para anos futuros.

percentageExportedToGrid

number

A porcentagem (0 a 100) da produção de energia solar que presumimos ter sido exportada para a rede, com base no primeiro trimestre de produção. Isso afeta os cálculos se a compensação de energia não for permitida.

LeasingSavings

Custo e benefício do aluguel de uma configuração específica de painéis solares com um uso específico de eletricidade.

Representação JSON
{
  "leasesAllowed": boolean,
  "leasesSupported": boolean,
  "annualLeasingCost": {
    object (Money)
  },
  "savings": {
    object (SavingsOverTime)
  }
}
Campos
leasesAllowed

boolean

Se os contratos de arrendamento são permitidos nessa jurisdição (eles não são permitidos em alguns estados). Se esse campo for falso, os valores dessa mensagem provavelmente serão ignorados.

leasesSupported

boolean

Se o mecanismo de cálculo financeiro oferece suporte a aluguéis nesta jurisdição. Se esse campo for falso, os valores dessa mensagem provavelmente serão ignorados. Isso é independente de leasesAllowed: em algumas áreas, os aluguéis são permitidos, mas sob condições que não são tratadas pelos modelos financeiros.

annualLeasingCost

object (Money)

Custo anual estimado do leasing.

savings

object (SavingsOverTime)

Quanto é economizado (ou não) durante o período de vida útil.

SavingsOverTime

Informações financeiras compartilhadas entre diferentes métodos de pagamento.

Representação JSON
{
  "savingsYear1": {
    object (Money)
  },
  "savingsYear20": {
    object (Money)
  },
  "presentValueOfSavingsYear20": {
    object (Money)
  },
  "savingsLifetime": {
    object (Money)
  },
  "presentValueOfSavingsLifetime": {
    object (Money)
  },
  "financiallyViable": boolean
}
Campos
savingsYear1

object (Money)

Economia no primeiro ano após a instalação do painel.

savingsYear20

object (Money)

Economia nos primeiros 20 anos após a instalação do painel.

presentValueOfSavingsYear20

object (Money)

Usando a taxa de desconto presumida, qual é o valor presente da economia cumulativa de 20 anos?

savingsLifetime

object (Money)

Economia em todo o ciclo de vida do painel.

presentValueOfSavingsLifetime

object (Money)

Usando a taxa de desconto presumida, qual é o valor presente das economias cumulativas da vida útil?

financiallyViable

boolean

Indica se esse cenário é financeiramente viável. Será falso para cenários com baixa viabilidade financeira (por exemplo, perda de dinheiro).

CashPurchaseSavings

Custo e benefício de uma compra direta de uma configuração específica de painéis solares com um uso específico de eletricidade.

Representação JSON
{
  "outOfPocketCost": {
    object (Money)
  },
  "upfrontCost": {
    object (Money)
  },
  "rebateValue": {
    object (Money)
  },
  "savings": {
    object (SavingsOverTime)
  },
  "paybackYears": number
}
Campos
outOfPocketCost

object (Money)

Custo inicial antes dos incentivos fiscais: o valor que precisa ser pago com recursos próprios. Compare com upfrontCost, que é após incentivos fiscais.

upfrontCost

object (Money)

Custo inicial após incentivos fiscais: é o valor que precisa ser pago durante o primeiro ano. Compare com outOfPocketCost, que é antes dos incentivos fiscais.

rebateValue

object (Money)

O valor de todos os reembolsos de impostos.

savings

object (SavingsOverTime)

Quanto é economizado (ou não) durante o período de validade.

paybackYears

number

Número de anos até o retorno do investimento. Um valor negativo significa que o retorno nunca ocorre no período de validade.

FinancedPurchaseSavings

Custo e benefício de usar um empréstimo para comprar uma configuração específica de painéis solares com um uso específico de eletricidade.

Representação JSON
{
  "annualLoanPayment": {
    object (Money)
  },
  "rebateValue": {
    object (Money)
  },
  "loanInterestRate": number,
  "savings": {
    object (SavingsOverTime)
  }
}
Campos
annualLoanPayment

object (Money)

Pagamentos anuais de empréstimos.

rebateValue

object (Money)

O valor de todos os reembolsos de impostos (incluindo o crédito fiscal federal de investimento (ITC, na sigla em inglês)).

loanInterestRate

number

A taxa de juros dos empréstimos assumidos neste conjunto de cálculos.

savings

object (SavingsOverTime)

Quanto é economizado (ou não) durante o período de validade.