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 dentro de un radio de aproximadamente 50 m del punto de consulta.

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 latitud desde las que 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 mostrará ningún resultado con una calidad inferior a esta. Si no se especifica, se limita solo a la calidad ALTA.

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

Es el nombre del recurso del edificio, con el formato buildings/{place_id}.

center

object (LatLng)

Un punto cerca del centro del edificio

boundingBox

object (LatLngBox)

Es el cuadro de límite del edificio.

imageryDate

object (Date)

Es la fecha en que se adquirieron las imágenes subyacentes. Esta es una aproximación.

imageryProcessedDate

object (Date)

Indica cuándo se completó el procesamiento de estas imágenes.

postalCode

string

Código postal (p.ej., código postal de EE.UU.) en el que se encuentra el edificio.

administrativeArea

string

Es el área administrativa 1 (p. ej., en EE.UU., el estado) que contiene este edificio. Por ejemplo, en EE.UU., la abreviatura podría ser “MA” o “CA”.

statisticalArea

string

Área de estadísticas (p.ej., distrito censal de EE.UU.) en el que se encuentra el edificio.

regionCode

string

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

solarPotential

object (SolarPotential)

Potencial solar del edificio

imageryQuality

enum (ImageryQuality)

Es la calidad de las imágenes que se usaron 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 de límite 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 campos 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

Es el tamaño del array máximo, es decir, la cantidad máxima de paneles que pueden caber en el techo.

panelCapacityWatts

number

Es la capacidad, en vatios, del panel que se usa en los cálculos.

panelHeightMeters

number

Es la altura, en metros en orientación vertical, del panel que se usa en los cálculos.

panelWidthMeters

number

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

panelLifetimeYears

integer

Es la vida útil esperada, en años, de los paneles solares. Esto se usa en los cálculos financieros.

maxArrayAreaMeters2

number

Es el tamaño, en metros cuadrados, del array máximo.

maxSunshineHoursPerYear

number

Es la cantidad máxima de horas de sol recibidas por año en cualquier punto de la azotea. Las horas de sol son una medida de la cantidad total de insolación (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 condiciones de prueba estándar).

carbonOffsetFactorKgPerMwh

number

Es la 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 segmento de techo. A pesar del nombre, es posible que no incluya todo el edificio. Consulta los buildingStats.

buildingStats

object (SizeAndSunshineStats)

Tamaño y cuantiles de luz solar para todo el edificio, incluidas las partes de la azotea que no se asignaron a ningún segmento de la azotea. 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 del área del suelo sí lo es. Es posible que se pueda obtener un área de techo más confiable para todo el edificio si se ajusta el área de techo de wholeRoofStats por la proporción de las áreas de planta de buildingStats y wholeRoofStats.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

Cuantiles de tamaño y luz solar para 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 del panel los colocó. Por lo general, aunque no siempre, se ordenan de forma decreciente según la producción anual de energía.

solarPanelConfigs[]

object (SolarPanelConfig)

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

financialAnalyses[]

object (FinancialAnalysis)

Un FinancialAnalysis indica los ahorros que se obtienen al pasarse a la energía solar, suponiendo una factura mensual y un proveedor de electricidad determinados. Están ordenados de forma ascendente según el importe de la factura mensual. Este campo estará vacío para los edificios en áreas para las que la API de Solar no tiene suficiente información para realizar cálculos financieros.

SizeAndSunshineStats

Cuantiles de tamaño y soleamiento de un techo o parte de un techo.

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

number

Es el área del techo o del tramo del techo, en m2. Esta es el área del techo (se considera la inclinación), no el área de la huella en el suelo.

sunshineQuantiles[]

number

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

groundAreaMeters2

number

Es el área de la huella en el suelo que cubre el techo o el segmento del techo, en m2.

RoofSegmentSizeAndSunshineStats

Información sobre el tamaño y los cuantiles de insolación de un segmento de techo.

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

object (SizeAndSunshineStats)

Tamaño total y cuantiles de luz solar para el segmento de techo

center

object (LatLng)

Un punto cerca del centro del segmento del techo.

boundingBox

object (LatLngBox)

Es el cuadro de límite del segmento de techo.

pitchDegrees

number

Es el ángulo del segmento de techo en relación con el plano teórico del suelo. 0 = paralelo al suelo, 90 = perpendicular al suelo.

azimuthDegrees

number

Es la dirección de la brújula hacia la que apunta el segmento del techo. 0 = Norte, 90 = Este, 180 = Sur. Para un segmento de techo "plano" (pitchDegrees muy cerca de 0), el azimut no está bien definido, por lo que, para mantener la coherencia, lo definimos de forma arbitraria como 0 (norte).

planeHeightAtCenterMeters

number

Es la altura del plano del segmento 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 segmento del techo.

SolarPanel

SolarPanel describe la posición, la orientación y la 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)

Es la orientación del panel.

yearlyEnergyDcKwh

number

Cantidad de energía solar que captura este diseño a lo largo de un año, en kWh de CC.

segmentIndex

integer

Es el índice en roofSegmentStats del RoofSegmentSizeAndSunshineStats que corresponde al segmento de techo en el que se coloca este panel.

SolarPanelOrientation

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

Enumeraciones
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 del azimut del segmento de techo en el que se coloca.
PORTRAIT Un panel PORTRAIT tiene su borde largo paralelo a la dirección del azimut del segmento de techo en el que se coloca.

SolarPanelConfig

SolarPanelConfig describe una ubicación particular de los 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 con (la suma de) los campos correspondientes en roofSegmentSummaries.

yearlyEnergyDcKwh

number

Cantidad de energía solar que captura este diseño a lo largo de un año, en kWh de CC, si se supone que se usan los paneles descritos anteriormente.

roofSegmentSummaries[]

object (RoofSegmentSummary)

Información sobre la producción de cada segmento de techo que lleva al menos un panel en este diseño. roofSegmentSummaries[i] describe el segmento de techo i, incluido su tamaño, producción esperada y orientación.

RoofSegmentSummary

Información sobre un segmento de techo del edificio, con una cantidad determinada de paneles.

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

integer

Es la cantidad total de paneles en este segmento.

yearlyEnergyDcKwh

number

Cantidad de energía solar que capta esta parte del diseño a lo largo de un año, en kWh de CC, si se supone que se usan los paneles descritos anteriormente.

pitchDegrees

number

Es el ángulo del segmento de techo en relación con el plano teórico del suelo. 0 = paralelo al suelo, 90 = perpendicular al suelo.

azimuthDegrees

number

Es la dirección de la brújula hacia la que apunta el segmento del techo. 0 = Norte, 90 = Este, 180 = Sur. Para un segmento de techo "plano" (pitchDegrees muy cerca de 0), el azimut no está bien definido, por lo que, para mantener la coherencia, lo definimos de forma arbitraria como 0 (norte).

segmentIndex

integer

Es el índice en roofSegmentStats del RoofSegmentSizeAndSunshineStats correspondiente.

FinancialAnalysis

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

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)

La factura eléctrica mensual que supone este análisis.

defaultBill

boolean

Indica si este es el tamaño de factura seleccionado para ser la factura predeterminada del área en la que se encuentra el edificio. Exactamente un FinancialAnalysis en BuildingSolarPotential debe tener defaultBill configurado.

averageKwhPerMonth

number

La cantidad de electricidad que consume la casa en un mes promedio, según el tamaño de la factura y las tarifas locales de electricidad.

financialDetails

object (FinancialDetails)

Es la información financiera que se aplica independientemente de la forma de financiación que se utilice.

leasingSavings

object (LeasingSavings)

Costo y beneficio de alquilar los paneles solares.

cashPurchaseSavings

object (CashPurchaseSavings)

Costo y beneficio de comprar los paneles solares con efectivo.

financedPurchaseSavings

object (FinancedPurchaseSavings)

Costo y beneficio de comprar los paneles solares financiando la compra.

panelConfigIndex

integer

Es el índice en solarPanelConfigs del diseño 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

Es el código de moneda de tres letras, según ISO 4217.

units

string (int64 format)

La unidad entera del importe. Por ejemplo, si currencyCode es "USD", 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

Son los detalles de un análisis financiero. Algunos de estos detalles ya se almacenan en niveles superiores (p.ej., el costo de bolsillo). Los importes monetarios totales se calculan durante un período de vida definido por el campo panelLifetimeYears en SolarPotential. Nota: El costo de compra de los paneles se indica en el campo outOfPocketCost en 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

Es la cantidad de kWh de CA que creemos que generarán los paneles solares en su primer año.

remainingLifetimeUtilityBill

object (Money)

Factura de electricidad por la electricidad que no se produce con energía solar, durante la vida útil de los paneles.

federalIncentive

object (Money)

Es la cantidad de dinero disponible de los incentivos federales. Esto se aplica si el usuario compra (con o sin un préstamo) los paneles.

stateIncentive

object (Money)

Es la cantidad de dinero disponible de los incentivos estatales. Esto se aplica si el usuario compra (con o sin un préstamo) los paneles.

utilityIncentive

object (Money)

Es la cantidad de dinero disponible de los incentivos de la empresa de servicios públicos. Esto se aplica si el usuario compra (con o sin un préstamo) los paneles.

lifetimeSrecTotal

object (Money)

Es la cantidad de dinero que el usuario recibirá de los créditos de energía renovable solar durante la vida útil de los paneles. Esto se aplica si el usuario compra los paneles (con o sin un préstamo).

costOfElectricityWithoutSolar

object (Money)

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

netMeteringAllowed

boolean

Indica si se permite la medición neta.

solarPercentage

number

Es el porcentaje (de 0 a 100) de la energía del usuario que se suministra a través de energía solar. Es válida para el primer año, pero es aproximadamente correcta para los años futuros.

percentageExportedToGrid

number

El porcentaje (0-100) de producción de electricidad solar que suponemos que se exportó a la red, según el 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 uso específico de electricidad.

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

boolean

Si se permiten los arrendamientos en esta jurisdicción (no se permiten en algunos estados) Si este campo es falso, es probable que se deban ignorar los valores de este mensaje.

leasesSupported

boolean

Indica si el motor de cálculo financiero admite los arrendamientos en esta jurisdicción. Si este 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 arrendamientos, pero en condiciones que los modelos financieros no controlan.

annualLeasingCost

object (Money)

Es el costo anual estimado del arrendamiento.

savings

object (SavingsOverTime)

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

SavingsOverTime

Información financiera que se comparte entre diferentes 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 en el primer año después de la instalación de los paneles.

savingsYear20

object (Money)

Ahorros en los primeros veinte años después de la instalación de los paneles.

presentValueOfSavingsYear20

object (Money)

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

savingsLifetime

object (Money)

Ahorros durante todo el ciclo de vida del panel

presentValueOfSavingsLifetime

object (Money)

Con la tasa de descuento asumida, ¿cuál es el valor actual de los ahorros acumulados durante la vida útil?

financiallyViable

boolean

Indica si esta situación es viable financieramente. Será falso para situaciones con baja 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 uso específico de electricidad.

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

object (Money)

Costo inicial antes de los incentivos fiscales: Es el importe que se debe pagar de forma personal. 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)

Es el valor de todos los reembolsos de impuestos.

savings

object (SavingsOverTime)

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

paybackYears

number

Cantidad de años hasta que se produce el retorno de la inversión. Un valor negativo significa que el retorno de la inversión nunca se produce dentro del período de vida útil.

FinancedPurchaseSavings

Costo y beneficio de usar un préstamo para comprar una configuración particular de paneles solares con un uso específico de electricidad.

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

object (Money)

Pagos anuales del préstamo

rebateValue

object (Money)

Es el valor de todas las devoluciones de impuestos (incluido el Crédito fiscal federal por inversión (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 vida útil.