Method: buildingInsights.findClosest

Ubica el edificio más cercano a un punto de consulta. Muestra un error con el código NOT_FOUND si no hay edificios a menos de 50 m del punto de búsqueda.

Solicitud HTTP

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

La URL usa la sintaxis de la transcodificación gRPC.

Parámetros de consulta

Parámetros
location

object (LatLng)

Obligatorio. La longitud y la latitud a partir de las cuales la API busca el edificio conocido más cercano.

requiredQuality

enum (ImageryQuality)

Opcional. Es el nivel de calidad mínimo permitido en los resultados. No se devolverá ningún resultado con una calidad inferior. No especificar esto equivale a restringirlo a ALTA calidad solamente.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Mensaje de respuesta para Solar.FindClosestBuildingInsights. Información sobre la ubicación, las dimensiones y el potencial solar de un edificio.

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Representación 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

El nombre de recurso del edificio, en formato building/<place ID>.

center

object (LatLng)

Un punto cerca del centro del edificio.

boundingBox

object (LatLngBox)

El cuadro delimitador del edificio.

imageryDate

object (Date)

Fecha en la que se adquirieron las imágenes subyacentes. Esto es aproximado.

imageryProcessedDate

object (Date)

Cuando se completó el procesamiento de estas imágenes.

postalCode

string

Código postal (p.ej., código postal de EE.UU.) donde está este edificio.

administrativeArea

string

Área administrativa 1 (p.ej., en los Estados Unidos, el estado) que contiene este edificio. Por ejemplo, en EE.UU., la abreviatura puede ser "MA" o "CA".

statisticalArea

string

Área estadística (p.ej., zona censal de EE.UU.) de este edificio.

regionCode

string

Es el código regional del país (o región) en el que se encuentra este edificio.

solarPotential

object (SolarPotential)

El potencial solar del edificio.

imageryQuality

enum (ImageryQuality)

La calidad de las imágenes usadas para calcular los datos de este edificio.

Permisos de autorización

Requiere el siguiente alcance de OAuth:

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

LatLngBox

Un cuadro delimitador en coordenadas de latitud y longitud.

Representación JSON
{
  "sw": {
    object (LatLng)
  },
  "ne": {
    object (LatLng)
  }
}
Campos
sw

object (LatLng)

Es la esquina suroeste del cuadro.

ne

object (LatLng)

Es la esquina noreste del cuadro.

SolarPotential

Información sobre el potencial solar de un edificio. Algunos de los campos de esta sección se definen en términos de "paneles". Los campos panelCapacityWatts, panelHeightMeters y panelWidthMeters describen los parámetros del modelo de panel que se usa en estos cálculos.

Representación 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

Tamaño del array máximo, es decir, el número máximo de paneles que pueden caber en el techo.

panelCapacityWatts

number

Capacidad en vatios del panel que se usó en los cálculos.

panelHeightMeters

number

Altura, en metros, en orientación vertical, del panel utilizado en los cálculos.

panelWidthMeters

number

Es el ancho, en metros, en orientación vertical, del panel que se usó en los cálculos.

panelLifetimeYears

integer

La vida útil esperada de los paneles solares, en años. Se usa en los cálculos financieros.

maxArrayAreaMeters2

number

Tamaño, en metros cuadrados, del array máximo.

maxSunshineHoursPerYear

number

Cantidad máxima de horas de sol recibidas por año, en cualquier punto del techo. Las horas de sol son una medida de la cantidad total de aislamiento (energía) que se recibe por año. 1 hora de sol = 1 kWh por kW (donde kW se refiere a kW de capacidad en las Condiciones de prueba estándar).

carbonOffsetFactorKgPerMwh

number

Cantidad equivalente de CO2 producido por MWh de electricidad de la red. Esta es una medida de la intensidad de carbono de la electricidad de la red desplazada por la electricidad solar.

wholeRoofStats

object (SizeAndSunshineStats)

Tamaño total y cuantiles de luz solar para la parte del techo que se asignó a algún tramo del techo. A pesar del nombre, es posible que no incluya todo el edificio. Consulta los buildingStats.

buildingStats

object (SizeAndSunshineStats)

Cuantiles de tamaño y luz solar para todo el edificio, incluidas las partes del techo que no se asignaron a algún tramo del techo. Debido a que las orientaciones de estas partes no están bien caracterizadas, la estimación del área del techo no es confiable, pero la estimación de la superficie del suelo sí. Es posible que se pueda obtener un área más confiable del techo del edificio escalando el área desde wholeRoofStats por la proporción de las áreas del suelo de buildingStats y wholeRoofStats.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

Cuantiles de tamaño y luz solar de cada segmento de techo

solarPanels[]

object (SolarPanel)

Cada SolarPanel describe un solo panel solar. Se enumeran en el orden en que el algoritmo de diseño de paneles lo colocó. Aunque no siempre es así, en orden descendente de producción de energía anual.

solarPanelConfigs[]

object (SolarPanelConfig)

Cada SolarPanelConfig describe una disposición diferente de paneles solares en el techo. Están en orden de cantidad cada vez mayor de paneles. El SolarPanelConfig con panelsCount=N se basa en los primeros N paneles de la lista solarPanels. Este campo solo se completa si pueden caber al menos 4 paneles en un techo.

financialAnalyses[]

object (FinancialAnalysis)

Un FinancialAnalysis permite ahorrar dinero al usar energía solar, siempre que se imponga una factura mensual determinada y un determinado proveedor de electricidad. Están en orden ascendente del importe de la factura mensual. Este campo estará vacío para los edificios en las áreas en las que la API de Solar no cuenta con información suficiente para realizar cálculos financieros.

SizeAndSunshineStats

Tamaño y cuantiles de sol de un techo, o parte de él

Representación JSON
{
  "areaMeters2": number,
  "sunshineQuantiles": [
    number
  ],
  "groundAreaMeters2": number
}
Campos
areaMeters2

number

El área del segmento de techo o techo, en m^2 Esta es la superficie del techo (tiene en cuenta la inclinación), no la superficie del suelo.

sunshineQuantiles[]

number

Cuantiles de la agudeza puntual en toda el área. Si hay N valores aquí, esto representa los IDs (N-1). Por ejemplo, si hay 5 valores, serían los cuartiles (mín., 25%, 50%, 75%, máx.). Los valores se muestran en kWh/kW anuales, como maxSunshineHoursPerYear.

groundAreaMeters2

number

El área de la superficie terrestre cubierta por el segmento del techo, en m^2.

RoofSegmentSizeAndSunshineStats

Información sobre el tamaño y los cuantiles de soledad de un tramo de techo.

Representación JSON
{
  "stats": {
    object (SizeAndSunshineStats)
  },
  "center": {
    object (LatLng)
  },
  "boundingBox": {
    object (LatLngBox)
  },
  "pitchDegrees": number,
  "azimuthDegrees": number,
  "planeHeightAtCenterMeters": number
}
Campos
stats

object (SizeAndSunshineStats)

Cuantiles de tamaño total y luz solar para el tramo del techo.

center

object (LatLng)

Un punto cerca del centro del tramo de techo.

boundingBox

object (LatLngBox)

El cuadro delimitador del tramo de techo.

pitchDegrees

number

Ángulo del tramo del techo en relación con el plano terrestre teórico. 0 = paralelo al suelo, 90 = perpendicular al suelo.

azimuthDegrees

number

Dirección de la brújula hacia la que apunta el tramo del techo. 0 = Norte, 90 = Este, 180 = Sur. En el caso de un segmento de techo "plano" (pitchDegrees muy cerca de 0), el acimut no está bien definido, por lo que, para mantener la coherencia, lo definimos arbitrariamente como 0 (norte).

planeHeightAtCenterMeters

number

La altura del plano del tramo del techo, en metros sobre el nivel del mar, en el punto designado por center. Junto con la inclinación, el azimut y la ubicación central, esto define por completo el plano del tramo del techo.

SolarPanel

SolarPanel describe la posición, orientación y producción de un solo panel solar. Consulta los campos panelHeightMeters, panelWidthMeters y panelCapacityWatts en SolarPotential para obtener información sobre los parámetros del panel.

Representación JSON
{
  "center": {
    object (LatLng)
  },
  "orientation": enum (SolarPanelOrientation),
  "yearlyEnergyDcKwh": number,
  "segmentIndex": integer
}
Campos
center

object (LatLng)

El centro del panel.

orientation

enum (SolarPanelOrientation)

La orientación del panel.

yearlyEnergyDcKwh

number

Cuánta energía solar captura este diseño a lo largo de un año, en kWh de CC.

segmentIndex

integer

Índice en roofSegmentStats de RoofSegmentSizeAndSunshineStats que corresponde al segmento de techo en el que se colocó este panel.

SolarPanelOrientation

La orientación de un panel solar. Esto se debe interpretar en relación con el azimut del tramo del techo en el que se coloca el panel.

Enumeradores
SOLAR_PANEL_ORIENTATION_UNSPECIFIED No se conoce la orientación del panel.
LANDSCAPE Un panel LANDSCAPE tiene su borde largo perpendicular a la dirección azimut del tramo del techo en el que se coloca.
PORTRAIT Un panel PORTRAIT tiene su borde largo paralelo a la dirección azimut del tramo del techo en el que se coloca.

SolarPanelConfig

SolarPanelConfig describe una ubicación particular de paneles solares en el techo.

Representación JSON
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "roofSegmentSummaries": [
    {
      object (RoofSegmentSummary)
    }
  ]
}
Campos
panelsCount

integer

Cantidad total de paneles Ten en cuenta que esto es redundante (la suma de) los campos correspondientes en roofSegmentSummaries.

yearlyEnergyDcKwh

number

Cuánta energía solar captura este diseño en el transcurso de un año, en kWh de CC, suponiendo los paneles descritos anteriormente.

roofSegmentSummaries[]

object (RoofSegmentSummary)

Información sobre la producción de cada tramo del techo que tenga, al menos, un panel en este diseño. roofSegmentSummaries[i] describe el i-th tramo del techo, incluidos su tamaño, la producción esperada y la orientación.

RoofSegmentSummary

Información sobre un tramo del techo del edificio, con algunos paneles sobre él.

Representación JSON
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "pitchDegrees": number,
  "azimuthDegrees": number,
  "segmentIndex": integer
}
Campos
panelsCount

integer

Indica la cantidad total de paneles en este segmento.

yearlyEnergyDcKwh

number

Indica cuánta energía solar capta esta parte del diseño en el transcurso de un año, en kWh de CC, suponiendo los paneles descritos anteriormente.

pitchDegrees

number

Ángulo del tramo del techo en relación con el plano terrestre teórico. 0 = paralelo al suelo, 90 = perpendicular al suelo.

azimuthDegrees

number

Dirección de la brújula hacia la que apunta el tramo del techo. 0 = Norte, 90 = Este, 180 = Sur. En el caso de un segmento de techo "plano" (pitchDegrees muy cerca de 0), el acimut no está bien definido, por lo que, para mantener la coherencia, lo definimos arbitrariamente como 0 (norte).

segmentIndex

integer

Índice en roofSegmentStats del RoofSegmentSizeAndSunshineStats correspondiente.

FinancialAnalysis

Análisis del costo y los beneficios de la disposición óptima de paneles solares para un tamaño particular de factura eléctrica

Representación 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)

Es la factura de electricidad mensual que supone este análisis.

defaultBill

boolean

Indica si este tamaño de factura se seleccionó como la factura predeterminada del área en la que se encuentra este edificio. Exactamente un FinancialAnalysis en BuildingSolarPotential debe tener defaultBill establecido.

averageKwhPerMonth

number

Indica cuánta electricidad consume la casa en un mes promedio en función del tamaño de la factura y las tarifas de electricidad locales.

financialDetails

object (FinancialDetails)

Información financiera que se aplica sin importar el método de financiación utilizado.

leasingSavings

object (LeasingSavings)

Costo y beneficio de alquilar los paneles solares

cashPurchaseSavings

object (CashPurchaseSavings)

Costo y beneficios de comprar los paneles solares con dinero en efectivo

financedPurchaseSavings

object (FinancedPurchaseSavings)

El costo y los beneficios de comprar los paneles solares mediante la financiación de la compra

panelConfigIndex

integer

Índice en el solarPanelConfigs del diseño de energía solar óptimo para este tamaño de factura. Puede ser -1, lo que indica que no hay diseño. En este caso, se omitirán los submensajes restantes.

Dinero

Representa un importe de dinero con su tipo de moneda.

Representación JSON
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
Campos
currencyCode

string

El código de moneda de tres letras definido en ISO 4217.

units

string (int64 format)

La unidad entera del importe. Por ejemplo, si currencyCode es "USD", entonces 1 unidad es un dólar estadounidense.

nanos

integer

Número de unidades nano (10^-9) del importe. Debe ser un valor entre -999,999,999 y +999,999,999. Si units es positivo, nanos debe ser positivo o cero. Si units es cero, nanos puede ser positivo, cero o negativo. Si units es negativo, nanos debe ser negativo o cero. Por ejemplo, $-1.75 se representa como units=-1 y nanos=-750,000,000.

FinancialDetails

Detalles de un análisis financiero. Algunos de estos detalles ya se almacenaron en niveles superiores (p.ej., costo adicional). Los importes totales corresponden a un período de ciclo de vida definido por el campo panelLifetimeYears en SolarPotential. Nota: El costo de compra de los paneles se proporciona en el campo outOfPocketCost de CashPurchaseSavings.

Representación 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

Cuántos kWh de CA creemos que generarán los paneles solares en el primer año

remainingLifetimeUtilityBill

object (Money)

Factura de un servicio público de electricidad no producida por energía solar durante la vida útil de los paneles

federalIncentive

object (Money)

Cantidad de dinero disponible de incentivos federales; esto se aplica si el usuario compra (con o sin un préstamo) los paneles.

stateIncentive

object (Money)

Importe de dinero disponible de incentivos estatales; esto se aplica si el usuario compra (con o sin un préstamo) los paneles.

utilityIncentive

object (Money)

Cantidad de dinero disponible a través de incentivos de servicios públicos; esto se aplica si el usuario compra (con o sin un préstamo) los paneles.

lifetimeSrecTotal

object (Money)

Importe de dinero que recibirá el usuario por créditos de energía solar renovable durante la vida útil del panel; esto se aplica si el usuario compra los paneles (con o sin préstamo).

costOfElectricityWithoutSolar

object (Money)

Es el costo total de la electricidad que el usuario habría pagado durante el período de su vida útil si no hubiese instalado la energía solar.

netMeteringAllowed

boolean

Indica si se permite la medición neta.

solarPercentage

number

Porcentaje (0-100) de la energía que proporciona el usuario mediante energía solar. Válida durante el primer año, pero aproximadamente correcta para años futuros.

percentageExportedToGrid

number

El porcentaje (0-100) de producción de electricidad solar que suponemos que se exportó a la red, en función del primer trimestre de producción. Esto afecta los cálculos si no se permite la medición neta.

LeasingSavings

Costo y beneficio de alquilar una configuración particular de paneles solares con un consumo de electricidad determinado.

Representación JSON
{
  "leasesAllowed": boolean,
  "leasesSupported": boolean,
  "annualLeasingCost": {
    object (Money)
  },
  "savings": {
    object (SavingsOverTime)
  }
}
Campos
leasesAllowed

boolean

Si se permiten contratos de alquiler en esta jurista (no se permiten en algunos estados). Si el campo es falso, es probable que se deban ignorar los valores de este mensaje.

leasesSupported

boolean

Si el motor de cálculo financiero respalda los arrendamientos en esta jurista Si el campo es falso, es probable que se deban ignorar los valores de este mensaje. Esto es independiente de leasesAllowed: en algunas áreas, se permiten los contratos de alquiler, pero en condiciones que no se manejan con los modelos financieros.

annualLeasingCost

object (Money)

Costo de alquiler anual estimado.

savings

object (SavingsOverTime)

Cuánto se ahorra (o no) durante el período de vigencia.

SavingsOverTime

Información financiera que se comparte entre distintos métodos de financiación.

Representación JSON
{
  "savingsYear1": {
    object (Money)
  },
  "savingsYear20": {
    object (Money)
  },
  "presentValueOfSavingsYear20": {
    object (Money)
  },
  "savingsLifetime": {
    object (Money)
  },
  "presentValueOfSavingsLifetime": {
    object (Money)
  },
  "financiallyViable": boolean
}
Campos
savingsYear1

object (Money)

Ahorros durante el primer año después de la instalación del panel

savingsYear20

object (Money)

Ahorros durante los primeros veinte años posteriores a la instalación del panel.

presentValueOfSavingsYear20

object (Money)

Usando la tasa de descuento supuesta, ¿cuál es el valor actual de los ahorros acumulados de 20 años?

savingsLifetime

object (Money)

Ahorros en toda la vida útil del panel.

presentValueOfSavingsLifetime

object (Money)

Usando la tasa de descuento asumida, ¿cuál es el valor actual de los ahorros acumulados del ciclo de vida del cliente?

financiallyViable

boolean

Indica si esta situación es financieramente viable. Será falso para situaciones con mala viabilidad financiera (p.ej., pérdida de dinero).

CashPurchaseSavings

Costo y beneficio de la compra directa de una configuración particular de paneles solares con un consumo de electricidad determinado.

Representación JSON
{
  "outOfPocketCost": {
    object (Money)
  },
  "upfrontCost": {
    object (Money)
  },
  "rebateValue": {
    object (Money)
  },
  "savings": {
    object (SavingsOverTime)
  },
  "paybackYears": number
}
Campos
outOfPocketCost

object (Money)

Costo inicial sin incentivos fiscales: importe que se debe pagar de bolsillo. Compara esto con upfrontCost, que es después de los incentivos fiscales.

upfrontCost

object (Money)

Costo inicial después de los incentivos fiscales: es el importe que se debe pagar durante el primer año. Compara esto con outOfPocketCost, que es antes de los incentivos fiscales.

rebateValue

object (Money)

El valor de todos los reembolsos de impuestos.

savings

object (SavingsOverTime)

Cuánto se ahorra (o no) durante el período de vigencia.

paybackYears

number

Número de años que faltan para la recuperación del capital invertido. Un valor negativo significa que la recuperación nunca se produce dentro del período del ciclo de vida del cliente.

FinancedPurchaseSavings

El costo y el beneficio de usar un préstamo para comprar una configuración determinada de paneles solares con un consumo de electricidad determinado.

Representación JSON
{
  "annualLoanPayment": {
    object (Money)
  },
  "rebateValue": {
    object (Money)
  },
  "loanInterestRate": number,
  "savings": {
    object (SavingsOverTime)
  }
}
Campos
annualLoanPayment

object (Money)

Pagos anuales de préstamos

rebateValue

object (Money)

El valor de todos los reembolsos de impuestos (incluido el crédito tributario sobre las inversiones federales (ITC)).

loanInterestRate

number

Es la tasa de interés de los préstamos que se supone en este conjunto de cálculos.

savings

object (SavingsOverTime)

Cuánto se ahorra (o no) durante el período de vigencia.