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 dentro de aproximadamente 50 m 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 a partir das quais a API procura o edifício conhecido mais próximo.

requiredQuality

enum (ImageryQuality)

Opcional. O nível de qualidade mínimo permitido nos resultados. Nenhum resultado com qualidade inferior a essa será retornado. Não especificar isso equivale 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 o local, dimensões e potencial solar de uma construção.

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 building/<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 a imagem subjacente foi adquirida. Esses valores são aproximados.

imageryProcessedDate

object (Date)

Quando o processamento das imagens foi concluído.

postalCode

string

Código postal (por exemplo, CEP dos EUA).

administrativeArea

string

Área político-administrativa 1 (por exemplo, o estado nos EUA) 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 prédio está.

regionCode

string

Código regional do país (ou região) do edifício.

solarPotential

object (SolarPotential)

Potencial solar do edifício.

imageryQuality

enum (ImageryQuality)

A qualidade das imagens usadas para calcular os dados desta construção.

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

O tamanho da matriz máxima, ou seja, o número máximo de painéis que podem caber 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, por qualquer ponto no 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 a kW de capacidade nas condições de teste padrão).

carbonOffsetFactorKgPerMwh

number

Quantidade equivalente de CO2 produzido por MWh de energia elétrica. Esta é uma medida da intensidade de carbono da eletricidade de rede deslocada pela eletricidade solar.

wholeRoofStats

object (SizeAndSunshineStats)

Tamanho total e quantis de luz solar para a parte do telhado que foi atribuída a algum segmento do telhado. Apesar do nome, a construção pode não incluir a construção inteira. Consulte os buildingStats.

buildingStats

object (SizeAndSunshineStats)

Tamanho e quantis de luz solar para toda a construção, incluindo partes do telhado que não foram atribuídas a algum segmento do telhado. Como as orientações dessas peças não estão bem caracterizadas, a estimativa da área do telhado não é confiável, mas a estimativa da área do solo é confiável. Uma área de telhado de um edifício mais confiável pode ser obtida dimensionando a área do telhado de wholeRoofStats pela proporção das áreas do solo de buildingStats e wholeRoofStats.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

Tamanho e quantis de 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 o colocou. Isso geralmente, embora não sempre, esteja 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 de solarPanels. Este campo só é preenchido se pelo menos quatro painéis podem caber em um telhado.

financialAnalyses[]

object (FinancialAnalysis)

O FinancialAnalysis calcula a economia de energia solar, presumindo uma determinada conta mensal e uma determinada fornecedora de energia elétrica. Elas estão em ordem crescente do valor da fatura mensal. Esse campo vai ficar vazio para edifícios em áreas onde a API Solar não tem informações suficientes para fazer cálculos financeiros.

SizeAndSunshineStats

Quantis de tamanho e ventilação de um telhado, ou parte de um telhado.

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

number

A área do telhado ou segmento do telhado, em m^2. Esta é a área do telhado (considerando a inclinação), não a área de cobertura do solo.

sunshineQuantiles[]

number

Quantis da precisão pontual na área. Se houver N valores, isso vai representar os {1/}-iles (N-1). Por exemplo, se houver cinco valores, eles seriam os quartis (mín., 25%, 50%, 75%, máx). Os valores são em kWh/kW anuais, como maxSunshineHoursPerYear.

groundAreaMeters2

number

A área da pegada do solo coberta pelo telhado ou segmento do telhado, em m^2.

RoofSegmentSizeAndSunshineStats

Informações sobre o tamanho e os quantis de solidade 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 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 do solo teórico. 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 fins de consistência, o definimos arbitrariamente como 0 (Norte).

planeHeightAtCenterMeters

number

A altura do plano do trecho do telhado, em metros acima do nível do mar, no ponto designado por center. Juntamente com a inclinação, o azimute e a localização central, isso define completamente o plano do segmento do telhado.

SolarPanel

SolarPanel descreve a posição, orientação e produção de um único painel solar. Consulte os campos panelHeightMeters, panelWidthMeters e panelCapacityWatts em SolarPotential para ver 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 que este layout captura ao longo de um ano, em DC kWh.

segmentIndex

integer

Índice em roofSegmentStats do RoofSegmentSizeAndSunshineStats que corresponde ao segmento do telhado em que esse painel é colocado.

SolarPanelOrientation

A orientação de um painel solar. Isso deve ser interpretado em relação ao azimute do segmento do telhado no qual o painel é colocado.

Enums
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 é colocado.
PORTRAIT Um painel PORTRAIT tem a borda longa paralela à direção do azimute do segmento do telhado em que ele é colocado.

SolarPanelConfig

SolarPanelConfig descreve um determinado posicionamento 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 em relação à soma dos campos correspondentes em roofSegmentSummaries.

yearlyEnergyDcKwh

number

Quanta energia solar é capturada por um ano, em kWh, DC, considerando os painéis descritos acima.

roofSegmentSummaries[]

object (RoofSegmentSummary)

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

RoofSegmentSummary

Informações sobre um trecho de telhado de um edifício, com um número de painéis posicionados 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, supondo os painéis descritos acima.

pitchDegrees

number

Ângulo do segmento do telhado em relação ao plano do solo teórico. 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 fins de consistência, o definimos arbitrariamente como 0 (Norte).

segmentIndex

integer

Índice em roofSegmentStats do RoofSegmentSizeAndSunshineStats correspondente.

FinancialAnalysis

Análise do custo e dos benefícios do layout de painéis solares ideal para um determinado tamanho 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 esta análise pressupõe.

defaultBill

boolean

Indica 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 o defaultBill definido.

averageKwhPerMonth

number

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

financialDetails

object (FinancialDetails)

Informações financeiras aplicáveis independentemente do método de financiamento usado.

leasingSavings

object (LeasingSavings)

Custo e benefício de alugar os painéis solares.

cashPurchaseSavings

object (CashPurchaseSavings)

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

financedPurchaseSavings

object (FinancedPurchaseSavings)

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

panelConfigIndex

integer

Índice em solarPanelConfigs do layout solar ideal para este tamanho de bico. O valor 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", 1 unidade equivale 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 terá que ser positivo ou zero. Se units for zero, nanos poderá ser positivo, zero ou negativo. Se units for negativo, nanos precisará 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 uso do bolso). Os valores totais monetários são referentes a um período de vida útil definido pelo campo panelLifetimeYears em SolarPotential. Observação: o custo que cabe no bolso da compra dos painéis é fornecido no campo outOfPocketCost no 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 achamos que os painéis solares vão gerar no primeiro ano.

remainingLifetimeUtilityBill

object (Money)

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

federalIncentive

object (Money)

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

stateIncentive

object (Money)

Quantidade de dinheiro disponível dos incentivos do estado. Aplicável se o usuário compra (com ou sem um empréstimo) os painéis.

utilityIncentive

object (Money)

Quantidade de dinheiro disponível de incentivos de serviços públicos. Aplicável se o usuário compra (com ou sem um empréstimo) os painéis.

lifetimeSrecTotal

object (Money)

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

costOfElectricityWithoutSolar

object (Money)

Custo total de eletricidade que o usuário teria pago ao longo do ciclo de vida se não instalasse energia solar.

netMeteringAllowed

boolean

Indica se a medição líquida é permitida.

solarPercentage

number

Porcentagem (0 a 100) de energia do usuário fornecida por energia solar. Válida para o primeiro ano, mas aproximadamente correta para os próximos anos.

percentageExportedToGrid

number

A porcentagem (0 a 100) de produção de eletricidade solar que assumimos foi exportada para a rede, com base no primeiro trimestre de produção. Isso afetará os cálculos se a medição líquida não for permitida.

LeasingSavings

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

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

boolean

Se as arrendamentos são permitidos neste direito (arrendas não são permitidas em alguns estados). Se este campo for falso, os valores nesta mensagem provavelmente serão ignorados.

leasesSupported

boolean

Indica se os arrendamentos são suportados nesta jurisdição pelo mecanismo de cálculo financeiro. Se este campo for falso, os valores nesta mensagem provavelmente serão ignorados. Isso é independente da leasesAllowed: em algumas áreas, as locações são permitidas, mas em condições que não são tratadas pelos modelos financeiros.

annualLeasingCost

object (Money)

Custo estimado 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 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 atual da economia cumulativa em 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 atual da economia cumulativa durante a vida útil?

financiallyViable

boolean

Indica se este 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 definitiva de uma configuração específica de painéis solares com um uso de eletricidade específico.

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 deve ser pago imediatamente. Contraste com upfrontCost, que está depois de 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 está 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 vida útil.

paybackYears

number

Número de anos até que o retorno seja realizado. Um valor negativo significa que o retorno não ocorre no período da 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 uso de eletricidade específico.

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

object (Money)

Pagamentos de empréstimo anuais.

rebateValue

object (Money)

O valor de todos os reembolsos de impostos (incluindo o Crédito de Tributo Federal de Investimento (ITC, na sigla em inglês).

loanInterestRate

number

A taxa de juros sobre empréstimos presumidas neste conjunto de cálculos.

savings

object (SavingsOverTime)

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