Method: buildingInsights.findClosest

Localiza o edifício cujo centroide está mais próximo de um ponto de consulta. Retorna um erro com o código NOT_FOUND se não houver edifícios em um raio de aproximadamente 50 metros do ponto de 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 de onde 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 essa será retornado. Não especificar isso é equivalente a restringir apenas à qualidade ALTA.

exactQualityRequired

boolean

Opcional. Se a qualidade exata das imagens é necessária. Se definido como "false", o campo requiredQuality será interpretado como a qualidade mínima necessária. Assim, imagens de alta qualidade poderão ser retornadas quando requiredQuality for definido como "MEDIUM". Se definido como "true", requiredQuality será interpretado como a qualidade exata necessária, e somente imagens de qualidade MEDIUM serão retornadas se requiredQuality for definido como MEDIUM.

experiments[]

enum (Experiment)

Opcional. Especifica os recursos pré-GA a serem ativados.

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 para o prédio, no formato buildings/{place_id}.

center

object (LatLng)

Um ponto perto do centro do edifício.

boundingBox

object (LatLngBox)

A caixa delimitadora do edifício.

imageryDate

object (Date)

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

imageryProcessedDate

object (Date)

Quando o processamento dessas imagens foi concluído.

postalCode

string

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

administrativeArea

string

Área administrativa 1 (por exemplo, nos EUA, o estado) que contém este 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á localizado.

regionCode

string

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

solarPotential

object (SolarPotential)

Potencial solar do edifício.

imageryQuality

enum (ImageryQuality)

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

Escopos de autorização

Requer o seguinte escopo OAuth:

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

LatLngBox

Uma caixa delimitadora em coordenadas de latitude/longitude.

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 podem ser instalados 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. Isso é 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 (em que kW se refere a kW de capacidade em condições de teste padrão).

carbonOffsetFactorKgPerMwh

number

Quantidade equivalente de CO₂ produzido por MWh de eletricidade da rede. Essa é uma medida da intensidade de carbono da eletricidade da rede substituída 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)

Quantis de tamanho e luz solar para todo o edifício, incluindo partes do telhado que não foram atribuídas a algum segmento. 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 é. É possível obter uma área de telhado mais confiável para todo o edifício dimensionando a área do telhado de wholeRoofStats pela proporção das áreas de solo de buildingStats e wholeRoofStats.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

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

solarPanels[]

object (SolarPanel)

Cada SolarPanel descreve um único painel solar. Elas são listadas na ordem em que o algoritmo de layout do painel as colocou. Isso geralmente, mas nem sempre, está em ordem decrescente de produção anual de energia.

solarPanelConfigs[]

object (SolarPanelConfig)

Cada SolarPanelConfig descreve uma disposição diferente de painéis solares no telhado. Eles estão em ordem crescente de número de painéis. O SolarPanelConfig com panelsCount=N é baseado nos primeiros N painéis da lista solarPanels. Esse campo só será preenchido se for possível instalar pelo menos quatro painéis em um telhado.

financialAnalyses[]

object (FinancialAnalysis)

Uma FinancialAnalysis mostra a economia de usar energia solar considerando uma conta mensal e um provedor de eletricidade específicos. Eles estão em ordem crescente de valor da fatura mensal. Esse campo vai ficar em branco para edifícios em áreas em que a API Solar não tem informações suficientes para fazer 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². Essa é a área do telhado (considerando a inclinação), não a área da pegada no solo.

sunshineQuantiles[]

number

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

groundAreaMeters2

number

A área de pegada no solo coberta pelo telhado ou segmento de telhado, em m².

RoofSegmentSizeAndSunshineStats

Informações sobre os quantis de tamanho e 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 quantis de luz solar para o segmento do telhado.

center

object (LatLng)

Um ponto perto do 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 chão, 90 = perpendicular ao chão.

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 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 a inclinação, o azimute e a 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 kWh CC.

segmentIndex

integer

Índice em roofSegmentStats do RoofSegmentSizeAndSunshineStats que corresponde ao segmento do telhado em que este 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.

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

SolarPanelConfig

SolarPanelConfig descreve um posicionamento específico 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 para (a soma dos) campos correspondentes em roofSegmentSummaries.

yearlyEnergyDcKwh

number

A quantidade de energia solar que esse layout captura ao longo de um ano, em kWh CC, considerando os painéis descritos acima.

roofSegmentSummaries[]

object (RoofSegmentSummary)

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

RoofSegmentSummary

Informações sobre um segmento de telhado no edifício, com um determinado número de 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 kWh CC, 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 chão, 90 = perpendicular ao chão.

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 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 determinado valor 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 considera.

defaultBill

boolean

Indica se esse é o tamanho da fatura selecionado como padrão para a área em que o edifício está localizado. Exatamente um FinancialAnalysis em BuildingSolarPotential precisa ter defaultBill definido.

averageKwhPerMonth

number

A quantidade de eletricidade que a casa usa em um mês comum, com base no valor da conta e nas taxas de eletricidade locais.

financialDetails

object (FinancialDetails)

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

leasingSavings

object (LeasingSavings)

Custo e benefício da locação dos painéis solares.

cashPurchaseSavings

object (CashPurchaseSavings)

Custo e benefício de comprar os painéis solares à vista.

financedPurchaseSavings

object (FinancedPurchaseSavings)

Custo e benefício de comprar os painéis solares financiando a compra.

panelConfigIndex

integer

Índice em solarPanelConfigs do layout solar ideal para esse valor de conta. Pode ser -1, indicando que não há layout. Nesse caso, as outras submensagens 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 de bolso). Os valores totais são referentes a um período de ciclo de vida 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

Quantos kWh de CA acreditamos que os painéis solares vão gerar no primeiro ano.

remainingLifetimeUtilityBill

object (Money)

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

federalIncentive

object (Money)

Valor disponível de incentivos federais, que se aplica se o usuário comprar os painéis (com ou sem empréstimo).

stateIncentive

object (Money)

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

utilityIncentive

object (Money)

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

lifetimeSrecTotal

object (Money)

Valor em dinheiro 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)

Custo total de eletricidade que o usuário teria pago durante o período de vida útil se não tivesse instalado energia solar.

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 os anos seguintes.

percentageExportedToGrid

number

A porcentagem (0 a 100) da produção de eletricidade 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 de alugar 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 locação são permitidos nessa jurisdição (em alguns estados, eles não são permitidos). Se esse campo for "false", os valores nesta mensagem provavelmente serão ignorados.

leasesSupported

boolean

Se os contratos de locação são aceitos nessa jurisdição pelo mecanismo de cálculo financeiro. Se esse campo for "false", os valores nesta mensagem provavelmente serão ignorados. Isso é independente de leasesAllowed: em algumas áreas, os contratos de locação são permitidos, mas sob condições que não são processadas pelos modelos financeiros.

annualLeasingCost

object (Money)

Custo anual estimado do contrato de locação.

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 financiamento.

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 dos painéis.

savingsYear20

object (Money)

Economia nos primeiros 20 anos após a instalação dos painéis.

presentValueOfSavingsYear20

object (Money)

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

savingsLifetime

object (Money)

Economia durante todo o ciclo de vida do painel.

presentValueOfSavingsLifetime

object (Money)

Usando a taxa de desconto presumida, qual é o valor atual da economia cumulativa ao longo da vida útil?

financiallyViable

boolean

Indica se esse cenário é financeiramente viável. Será "false" em cenários com baixa viabilidade financeira (por exemplo, prejuízo).

CashPurchaseSavings

Custo e benefício da 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 do próprio bolso. Contraste com upfrontCost, que é após os incentivos fiscais.

upfrontCost

object (Money)

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

rebateValue

object (Money)

O valor de todos os descontos fiscais.

savings

object (SavingsOverTime)

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

paybackYears

number

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

FinancedPurchaseSavings

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

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

object (Money)

Pagamentos anuais do empréstimo.

rebateValue

object (Money)

O valor de todos os incentivos fiscais (incluindo o crédito tributário de investimento federal, ITC).

loanInterestRate

number

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

savings

object (SavingsOverTime)

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