Method: buildingInsights.findClosest

Ubica el edificio cuyo centroide está más cerca de un punto de consulta. Devuelve un error con el código NOT_FOUND si no hay edificios a aproximadamente 50 m del punto de la 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. 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 devolverá ningún resultado con una calidad inferior a esta. Si no se especifica, equivale a restringir la búsqueda solo a la calidad ALTA.

exactQualityRequired

boolean

Opcional. Indica si se requiere la calidad exacta de las imágenes. Si se establece como falso, el campo requiredQuality se interpreta como la calidad mínima requerida, de modo que se pueden mostrar imágenes de calidad ALTA cuando requiredQuality se establece como MEDIA. Si se establece en verdadero, requiredQuality se interpreta como la calidad exacta requerida y solo se muestra la calidad de las imágenes MEDIUM si requiredQuality se establece en MEDIUM.

experiments[]

enum (Experiment)

Opcional. Especifica las funciones previas a la DG que se habilitarán.

Cuerpo de la solicitud

El cuerpo de la solicitud debe estar vacío.

Cuerpo de la respuesta

Mensaje de respuesta para Solar.FindClosestBuildingInsights. Es 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

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)

Fecha en que se adquirieron las imágenes subyacentes. Este valor es aproximado.

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 estadística (p.ej., sector censal de EE.UU.) en el que se encuentra este 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 usan 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

Es 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 sudoeste del cuadro.

ne

object (LatLng)

Es la esquina noreste del cuadro.

SolarPotential

Es información sobre el potencial solar de un edificio. Varios campos de este objeto 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, la cantidad máxima de paneles que pueden caber en el techo.

panelCapacityWatts

number

Capacidad, en vatios, del panel que se usa en los cálculos.

panelHeightMeters

number

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

panelWidthMeters

number

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. Este valor 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 que recibe por año cualquier punto del techo. 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

Cantidad equivalente de CO2 producido por cada MWh de electricidad de la red. Esta es una medida de la intensidad de carbono de la electricidad de la red que se reemplaza por la electricidad solar.

wholeRoofStats

object (SizeAndSunshineStats)

Cuantiles de tamaño total y luz solar para la parte del techo que se asignó a algún segmento 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 ningún segmento del techo. Dado 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 del techo de wholeRoofStats según la proporción de las áreas de la planta baja de buildingStats y wholeRoofStats.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

Son los cuantiles de tamaño y luz solar para cada segmento del 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 mayor a menor 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 según la cantidad de paneles, de menor a mayor. El SolarPanelConfig con panelsCount=N se basa en los primeros N paneles de la lista solarPanels. Este campo solo se propaga si caben al menos 4 paneles en un techo.

financialAnalyses[]

object (FinancialAnalysis)

Un FinancialAnalysis proporciona los ahorros que se obtienen al usar energía solar, suponiendo una factura mensual y un proveedor de electricidad determinados. Están ordenados de menor a mayor 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

Son los cuantiles de tamaño y exposición al sol 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 segmento del techo, en m². Esta es el área del techo (que tiene en cuenta la inclinación), no el área de la huella en el suelo.

sunshineQuantiles[]

number

Cuantiles de la exposición solar puntual en toda el área. Si hay N valores aquí, esto representa los (N-1)-iles. Por ejemplo, si hay 5 valores, serían los cuartiles (mín., 25%, 50%, 75%, 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 m².

RoofSegmentSizeAndSunshineStats

Es información sobre los cuantiles de tamaño y soleamiento 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)

Son los cuantiles de tamaño total y luz solar del tramo del techo.

center

object (LatLng)

Es un punto cerca del centro del segmento del techo.

boundingBox

object (LatLngBox)

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

pitchDegrees

number

Ángulo del segmento del techo en relación con el plano del suelo teórico. 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

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)

Es el centro del panel.

orientation

enum (SolarPanelOrientation)

Es la orientación del panel.

yearlyEnergyDcKwh

number

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

segmentIndex

integer

Índice en roofSegmentStats del RoofSegmentSizeAndSunshineStats que corresponde al tramo 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.

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

SolarPanelConfig

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

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

integer

Es la cantidad total de paneles. Ten en cuenta que este campo es redundante con los campos correspondientes en roofSegmentSummaries (la suma de ellos).

yearlyEnergyDcKwh

number

Cuánta energía solar capta este diseño a lo largo de un año, en kWh de CC, suponiendo que se utilizan los paneles descritos anteriormente

roofSegmentSummaries[]

object (RoofSegmentSummary)

Es la información sobre la producción de cada segmento del techo que contiene al menos un panel en este diseño. roofSegmentSummaries[i] describe el i-ésimo segmento del techo, incluido su tamaño, la producción esperada y la orientación.

RoofSegmentSummary

Es información sobre un segmento del techo del edificio, con una cierta cantidad de paneles colocados en él.

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

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

pitchDegrees

number

Ángulo del segmento del techo en relación con el plano del suelo teórico. 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

Índice en roofSegmentStats del RoofSegmentSizeAndSunshineStats correspondiente.

FinancialAnalysis

Análisis del costo y los beneficios de la distribución óptima de paneles solares para un importe determinado de la factura de electricidad

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 mensual de electricidad que se supone en este análisis.

defaultBill

boolean

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

averageKwhPerMonth

number

Cuánta electricidad usa la casa en un mes promedio, según el importe de la factura y las tarifas eléctricas locales

financialDetails

object (FinancialDetails)

Es la información financiera que se aplica independientemente del método de financiación utilizado.

leasingSavings

object (LeasingSavings)

Costo y beneficio del alquiler de los paneles solares

cashPurchaseSavings

object (CashPurchaseSavings)

Costo y beneficio de comprar los paneles solares en efectivo

financedPurchaseSavings

object (FinancedPurchaseSavings)

Costo y beneficio de comprar los paneles solares financiando la compra

panelConfigIndex

integer

Í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 definido en la norma 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 totales de dinero se calculan para un período de duración definido por el campo panelLifetimeYears en SolarPotential. Nota: El costo de bolsillo de la compra de los paneles se indica 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

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

remainingLifetimeUtilityBill

object (Money)

Factura de servicios públicos por la electricidad no producida por energía solar, durante la vida útil de los paneles.

federalIncentive

object (Money)

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

stateIncentive

object (Money)

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

utilityIncentive

object (Money)

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

lifetimeSrecTotal

object (Money)

Es la cantidad de dinero que el usuario recibirá por 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 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

Porcentaje (de 0 a 100) de la energía del usuario que proviene de la energía solar. Es válido para el primer año, pero es aproximadamente correcto para los años futuros.

percentageExportedToGrid

number

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

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

boolean

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

leasesSupported

boolean

Indica si el motor de cálculo financiero admite arrendamientos en esta jurisdicción. Si este campo es falso, probablemente se deban ignorar los valores de este mensaje. Esto es independiente de leasesAllowed: En algunas áreas, se permiten los arrendamientos, pero bajo condiciones que no se contemplan en los modelos financieros.

annualLeasingCost

object (Money)

Costo anual estimado del alquiler.

savings

object (SavingsOverTime)

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

SavingsOverTime

Es la información financiera que se comparte entre los 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 supuesta, ¿cuál es el valor actual de los ahorros acumulados en 20 años?

savingsLifetime

object (Money)

Ahorros durante todo el ciclo de vida del panel

presentValueOfSavingsLifetime

object (Money)

Con la tasa de descuento supuesta, ¿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 las situaciones con poca viabilidad financiera (p.ej., pérdidas económicas).

CashPurchaseSavings

Costo y beneficio de la compra directa de una configuración particular de paneles solares con un uso de electricidad específico.

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 bolsillo. Compara esto con upfrontCost, que incluye 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 son los incentivos antes de impuestos.

rebateValue

object (Money)

Es el valor de todas las devoluciones de impuestos.

savings

object (SavingsOverTime)

Indica cuánto se ahorra (o no) durante el período.

paybackYears

number

Cantidad de años hasta que se produce la recuperación. Un valor negativo significa que la recuperació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 de electricidad específico.

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 por Inversión [ITC] federal).

loanInterestRate

number

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

savings

object (SavingsOverTime)

Indica cuánto se ahorra (o no) durante el período.