Method: buildingInsights.findClosest

Znajduje najbliższy budynek do punktu zapytania. Zwraca błąd o kodze NOT_FOUND, jeśli w odległości około 50 m od punktu zapytania nie ma żadnych budynków.

Żądanie HTTP

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

Adres URL używa składni transkodowania gRPC.

Parametry zapytania

Parametry
location

object (LatLng)

Wymagane. Długość i szerokość geograficzna, na podstawie których interfejs API wyszukuje najbliższy znany budynek.

requiredQuality

enum (ImageryQuality)

Opcjonalnie: Minimalny dozwolony poziom jakości w wynikach. Nie zostaną zwrócone żadne wyniki o niższej jakości. Nie podanie tej opcji jest równoznaczne z ograniczeniem do jakości WYSOKA.

Treść żądania

Treść żądania musi być pusta.

Treść odpowiedzi

Wiadomość z odpowiedzią dotyczącą Solar.FindClosestBuildingInsights. informacje o lokalizacji, wymiarach i potencjale słonecznym budynku;

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis 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)
}
Pola
name

string

Nazwa zasobu budynku w formacie buildings/{place_id}.

center

object (LatLng)

Punkt w pobliżu środka budynku.

boundingBox

object (LatLngBox)

Ramka ograniczająca budynku.

imageryDate

object (Date)

Data pozyskania obrazów. Jest to wartość przybliżona.

imageryProcessedDate

object (Date)

Data zakończenia przetwarzania tych obrazów.

postalCode

string

Kod pocztowy (np. kod pocztowy (np. amerykański kod pocztowy) budynku, w którym znajduje się budynek.

administrativeArea

string

Obszar administracyjny 1 (np. stan w Stanach Zjednoczonych), w którym znajduje się budynek. Na przykład w Stanach Zjednoczonych może to być „MA” lub „CA”.

statisticalArea

string

Obszar statystyczny (np. (US Census Tract) budynku, w którym się znajduje.

regionCode

string

Kod regionu kraju (lub regionu), w którym znajduje się budynek.

solarPotential

object (SolarPotential)

Potencjał paneli słonecznych w budynku.

imageryQuality

enum (ImageryQuality)

Jakość zdjęć użytych do obliczenia danych dotyczących tego budynku.

Zakresy autoryzacji

Wymaga następującego zakresu OAuth:

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

LatLngBox

ramka ograniczająca w szerokości i długości geograficznej,

Zapis JSON
{
  "sw": {
    object (LatLng)
  },
  "ne": {
    object (LatLng)
  }
}
Pola
sw

object (LatLng)

Południowo-zachodni róg pudełka.

ne

object (LatLng)

Północno-wschodni róg pudełka.

SolarPotential

Informacje o potencjale budynku w zakresie wykorzystania energii słonecznej. Niektóre pola są zdefiniowane w terminach „paneli”. Pola panelCapacityWatts, panelHeightMeterspanelWidthMeters opisują parametry modelu panelu użytego w tych obliczeniach.

Zapis 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)
    }
  ]
}
Pola
maxArrayPanelsCount

integer

Rozmiar maksymalnego modułu – czyli maksymalna liczba paneli, które mieszczą się na dachu.

panelCapacityWatts

number

Pojemność panelu w watach użyta w obliczeniach.

panelHeightMeters

number

Wysokość panelu używanego w obliczeniach w orientacji pionowej w metrach.

panelWidthMeters

number

Szerokość panelu używanego w obliczeniach w orientacji pionowej w metrach.

panelLifetimeYears

integer

Przewidywana długość życia paneli słonecznych w latach. Jest on używany w obliczeniach finansowych.

maxArrayAreaMeters2

number

Maksymalny rozmiar tablicy w metrach kwadratowych.

maxSunshineHoursPerYear

number

Maksymalna liczba godzin nasłonecznienia w roku w dowolnym punkcie dachu. Liczba godzin nasłonecznienia to wskaźnik łącznej ilości energii słonecznej w danym roku. 1 godzina nasłonecznienia = 1 kWh na kW (gdzie kW odnosi się do mocy w standardowych warunkach testowych).

carbonOffsetFactorKgPerMwh

number

Równoważna ilość CO2 wytworzona na MWh energii elektrycznej z sieci. Jest to miara emisji CO2 z elektroenergetyki sieciowej zastąpionej przez energię słoneczną.

wholeRoofStats

object (SizeAndSunshineStats)

Łączny rozmiar i kwantile nasłonecznienia dla części dachu przypisanej do danego segmentu dachu. Mimo nazwy może nie obejmować całego budynku. Zobacz buildingStats.

buildingStats

object (SizeAndSunshineStats)

Rozmiary i wartości kwantyli nasłonecznienia dla całego budynku, w tym części dachu, które nie zostały przypisane do żadnego segmentu dachu. Ponieważ orientacja tych części nie jest dobrze określona, szacunkowa powierzchnia dachu jest niewiarygodna, ale szacunkowa powierzchnia gruntu jest wiarygodna. Bardziej wiarygodną powierzchnię dachu całego budynku można uzyskać, skalując powierzchnię dachu z wholeRoofStats za pomocą współczynnika powierzchni na poziomie buildingStatswholeRoofStats.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

Kwantyle wielkości i nasłonecznienia dla każdego segmentu dachu.

solarPanels[]

object (SolarPanel)

Każdy element SolarPanel opisuje pojedynczy panel słoneczny. Są one wymienione w kolejności, w jakiej algorytm układu panelu je umieścił. Zwykle, choć nie zawsze, jest to kolejność malejąca produkcji energii w ciągu roku.

solarPanelConfigs[]

object (SolarPanelConfig)

Każdy element SolarPanelConfig opisuje inny układ paneli słonecznych na dachu. Są one uporządkowane według rosnącej liczby paneli. Wartość SolarPanelConfigpanelsCount=N jest obliczana na podstawie pierwszych N paneli na liście solarPanels. To pole jest wypełniane tylko wtedy, gdy na dachu mieści się co najmniej 4 panele.

financialAnalyses[]

object (FinancialAnalysis)

FinancialAnalysis podaje oszczędności wynikające z zastosowania energii słonecznej przy założeniu określonego miesięcznego rachunku i określonego dostawcy energii elektrycznej. Są one uporządkowane według rosnącej kwoty miesięcznego rachunku. To pole będzie puste w przypadku budynków w obszarach, w których interfejs Solar API nie ma wystarczającej ilości informacji do wykonania obliczeń finansowych.

SizeAndSunshineStats

wielkość i ilość słońca na dachu lub jego części;

Zapis JSON
{
  "areaMeters2": number,
  "sunshineQuantiles": [
    number
  ],
  "groundAreaMeters2": number
}
Pola
areaMeters2

number

Powierzchnia dachu lub jego segmentu w m2. Jest to powierzchnia dachu (uwzględniająca nachylenie), a nie powierzchnia styku z podłożem.

sunshineQuantiles[]

number

Kwantyle nasłonecznienia w przypadku poszczególnych punktów na obszarze. Jeśli jest tu N wartości, oznacza to, że są to iły (N-1). Jeśli na przykład jest 5 wartości, będą to kwartyle (min, 25%, 50%, 75%, max). Wartości są podawane w kWh/kW rocznie, np. maxSunshineHoursPerYear.

groundAreaMeters2

number

Powierzchnia rzutu poziomego pokryta przez dach lub jego segment w m2.

RoofSegmentSizeAndSunshineStats

Informacje o rozmiarze i wartościach kwantyli nasłonecznienia segmentu dachu.

Zapis JSON
{
  "stats": {
    object (SizeAndSunshineStats)
  },
  "center": {
    object (LatLng)
  },
  "boundingBox": {
    object (LatLngBox)
  },
  "pitchDegrees": number,
  "azimuthDegrees": number,
  "planeHeightAtCenterMeters": number
}
Pola
stats

object (SizeAndSunshineStats)

Łączny rozmiar i kwantyle nasłonecznienia dla segmentu dachu.

center

object (LatLng)

Punkt w pobliżu środka segmentu dachu.

boundingBox

object (LatLngBox)

Ramka ograniczająca segmentu dachu.

pitchDegrees

number

Kąt nachylenia dachu względem teoretycznej płaszczyzny poziomej. 0 = równolegle do podłoża, 90 = prostopadle do podłoża.

azimuthDegrees

number

Kierunek kompasu, w którym skierowany jest dach. 0 = północ, 90 = wschód, 180 = południe. W przypadku „płaskiego” segmentu dachu (pitchDegrees bardzo zbliżone do 0) azymut nie jest dobrze zdefiniowany, więc dla zachowania spójności definiujemy go dowolnie jako 0 (północ).

planeHeightAtCenterMeters

number

Wysokość płaszczyzny segmentu dachu w metrach nad poziomem morza w punkcie oznaczonym jako center. Wraz z kątem nachylenia, azymutem i lokalizacją środka określa płaszczyznę segmentu dachu.

SolarPanel

SolarPanel opisuje położenie, orientację i produkcję pojedynczego panelu słonecznego. Informacje o parametrach panelu znajdziesz w polu panelHeightMeters, panelWidthMeterspanelCapacityWatts w pliku SolarPotential.

Zapis JSON
{
  "center": {
    object (LatLng)
  },
  "orientation": enum (SolarPanelOrientation),
  "yearlyEnergyDcKwh": number,
  "segmentIndex": integer
}
Pola
center

object (LatLng)

środek panelu,

orientation

enum (SolarPanelOrientation)

Orientacja panelu.

yearlyEnergyDcKwh

number

Ile energii słonecznej gromadzi ta konfiguracja w ciągu roku (w DC kWh).

segmentIndex

integer

Indeks w roofSegmentStats RoofSegmentSizeAndSunshineStats, który odpowiada segmentowi dachu, na którym znajduje się panel.

SolarPanelOrientation

Orientacja panelu słonecznego. Należy go interpretować w stosunku do azymutu segmentu dachu, na którym znajduje się panel.

Wartości w polu enum
SOLAR_PANEL_ORIENTATION_UNSPECIFIED Nieznana orientacja panelu.
LANDSCAPE Długa krawędź panelu LANDSCAPE jest prostopadła do kierunku azymutalnego segmentu dachu, na którym jest umieszczony.
PORTRAIT Długa krawędź panelu PORTRAIT jest równoległa do kierunku azymutalnego segmentu dachu, na którym jest umieszczony.

SolarPanelConfig

SolarPanelConfig opisuje konkretne umieszczenie paneli słonecznych na dachu.

Zapis JSON
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "roofSegmentSummaries": [
    {
      object (RoofSegmentSummary)
    }
  ]
}
Pola
panelsCount

integer

Łączna liczba paneli. Pamiętaj, że to pole jest zbędne, ponieważ odpowiada sumie odpowiednich pól w tabeli roofSegmentSummaries.

yearlyEnergyDcKwh

number

Ile energii słonecznej gromadzi ta konfiguracja w ciągu roku (w kWh DC) przy założeniu, że panele są takie jak opisane powyżej.

roofSegmentSummaries[]

object (RoofSegmentSummary)

Informacje o produkcji każdego segmentu dachu, który zawiera co najmniej 1 panel w tym układzie. roofSegmentSummaries[i] opisuje i-ty segment dachu, w tym jego rozmiar, oczekiwaną produkcję i orientację.

RoofSegmentSummary

Informacje o danym fragmencie dachu budynku z określoną liczbą paneli.

Zapis JSON
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "pitchDegrees": number,
  "azimuthDegrees": number,
  "segmentIndex": integer
}
Pola
panelsCount

integer

Łączna liczba paneli w tym segmencie.

yearlyEnergyDcKwh

number

Ile energii słonecznej w kWh DC przechwytuje ta część układu w ciągu roku, przy założeniu, że panele są takie jak opisane powyżej.

pitchDegrees

number

Kąt nachylenia dachu względem teoretycznej płaszczyzny poziomej. 0 = równolegle do podłoża, 90 = prostopadle do podłoża.

azimuthDegrees

number

Kierunek kompasu, w którym skierowany jest dach. 0 = północ, 90 = wschód, 180 = południe. W przypadku „płaskiego” segmentu dachu (pitchDegrees bardzo zbliżone do 0) azymut nie jest dobrze zdefiniowany, więc dla zachowania spójności definiujemy go dowolnie jako 0 (północ).

segmentIndex

integer

Indeks w roofSegmentStats odpowiadającej RoofSegmentSizeAndSunshineStats.

FinancialAnalysis

Analiza kosztów i korzyści z optymalnego rozmieszczenia paneli słonecznych w przypadku konkretnej wysokości rachunku za prąd.

Zapis JSON
{
  "monthlyBill": {
    object (Money)
  },
  "defaultBill": boolean,
  "averageKwhPerMonth": number,
  "financialDetails": {
    object (FinancialDetails)
  },
  "leasingSavings": {
    object (LeasingSavings)
  },
  "cashPurchaseSavings": {
    object (CashPurchaseSavings)
  },
  "financedPurchaseSavings": {
    object (FinancedPurchaseSavings)
  },
  "panelConfigIndex": integer
}
Pola
monthlyBill

object (Money)

Miesięczny rachunek za prąd, który jest brany pod uwagę w ramach tej analizy.

defaultBill

boolean

Określa, czy jest to rachunek wybrany jako domyślny rachunek dla obszaru, na którym znajduje się budynek. Dokładnie 1 element FinancialAnalysisBuildingSolarPotential powinien mieć ustawioną wartość defaultBill.

averageKwhPerMonth

number

Ile energii zużywa dom w przeciętnym miesiącu na podstawie wysokości rachunku i lokalnych stawek za energię elektryczną.

financialDetails

object (FinancialDetails)

Informacje finansowe, które mają zastosowanie niezależnie od używanej metody finansowania.

leasingSavings

object (LeasingSavings)

Koszt i korzyści z wynajmu paneli słonecznych.

cashPurchaseSavings

object (CashPurchaseSavings)

Koszt i korzyść z zakupu paneli słonecznych za gotówkę.

financedPurchaseSavings

object (FinancedPurchaseSavings)

Koszty i korzyści z zakupu paneli słonecznych z finansowaniem.

panelConfigIndex

integer

Indeks w solarPanelConfigs optymalnego układu paneli słonecznych dla tego rozmiaru rachunku. Może to być wartość -1, która oznacza brak układu. W takim przypadku pozostałe komunikaty podrzędne zostaną pominięte.

Pieniądze

Reprezentuje kwotę pieniędzy z typu waluty.

Zapis JSON
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
Pola
currencyCode

string

Trzyliterowy kod waluty zdefiniowany w normie ISO 4217.

units

string (int64 format)

Całkowita kwota. Jeśli na przykład currencyCode ma wartość "USD", to 1 jednostka to 1 dolar amerykański.

nanos

integer

Liczba nano (10^-9) jednostek wartości. Wartość musi się mieścić w przedziale od -999 999 999 do +999 999 999. Jeśli units jest dodatnia, nanos musi być dodatnia lub równa zero. Jeśli units = 0, nanos może być dodatnia, równa zero lub ujemna. Jeśli units jest ujemna, nanos musi być ujemna lub równa zero. Na przykład wartość -1,75 USD jest reprezentowana jako units=-1 i nanos=-750 000 000.

FinancialDetails

Szczegóły analizy finansowej. Niektóre z tych informacji są już przechowywane na wyższych poziomach (np. koszty własne). Łączna kwota pieniędzy jest obliczana w całym okresie użytkowania zdefiniowanym w polu panelLifetimeYears w kampanii SolarPotential. Uwaga: koszt zakupu paneli jest podany w polu outOfPocketCost w dokumentie CashPurchaseSavings.

Zapis 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
}
Pola
initialAcKwhPerYear

number

Ile MWh prądu zmiennego według nas wygenerują panele słoneczne w pierwszym roku.

remainingLifetimeUtilityBill

object (Money)

Rachunek za dostawę energii elektrycznej, która nie jest produkowana przez panele słoneczne, za okres użytkowania paneli.

federalIncentive

object (Money)

Kwota środków dostępna z federalnych zachęt; dotyczy to sytuacji, gdy użytkownik kupuje panele (z pożyczką lub bez niej).

stateIncentive

object (Money)

kwota środków dostępnych z dofinansowania państwowego; dotyczy to sytuacji, gdy użytkownik kupuje panele (z pożyczką lub bez niej).

utilityIncentive

object (Money)

Kwota środków dostępna z zachęt do oszczędzania energii; dotyczy to sytuacji, gdy użytkownik kupuje panele (z pożyczką lub bez niej).

lifetimeSrecTotal

object (Money)

Kwota pieniędzy, jaką użytkownik otrzyma z tytułu Odnawialnych źródeł energii słonecznej w ciągu całego okresu użytkowania panelu; dotyczy to sytuacji, gdy użytkownik kupuje panele (z pożyczką lub bez niej).

costOfElectricityWithoutSolar

object (Money)

Łączny koszt energii elektrycznej, jaki użytkownik musiałby zapłacić w całym okresie użytkowania, gdyby nie zainstalował paneli słonecznych.

netMeteringAllowed

boolean

Czy rozliczenie net-metering jest dozwolone.

solarPercentage

number

Odsetek (0–100) energii elektrycznej dostarczanej użytkownikowi przez panele słoneczne. Ważne w przypadku pierwszego roku, ale przybliżone w przypadku kolejnych lat.

percentageExportedToGrid

number

Odsetek (0–100) produkcji energii słonecznej, który według naszych założeń został wyeksportowany do sieci na podstawie danych z pierwszego kwartału produkcji. Wpływa to na obliczenia, jeśli rozliczenie net-metering nie jest dozwolone.

LeasingSavings

Koszty i korzyści z wynajmu określonej konfiguracji paneli słonecznych przy określonym zużyciu energii.

Zapis JSON
{
  "leasesAllowed": boolean,
  "leasesSupported": boolean,
  "annualLeasingCost": {
    object (Money)
  },
  "savings": {
    object (SavingsOverTime)
  }
}
Pola
leasesAllowed

boolean

Czy umowa najmu jest dozwolona w danym kraju (w niektórych stanach umowy najmu są niedozwolone). Jeśli to pole ma ustawioną wartość fałsz, wartości w tym komunikacie powinny być zignorowane.

leasesSupported

boolean

Określa, czy w danym kraju/regionie wynajem jest obsługiwany przez mechanizm obliczania finansowego. Jeśli to pole ma ustawioną wartość fałsz, wartości w tym komunikacie powinny być zignorowane. Nie ma to nic wspólnego z modelami finansowymi: w niektórych regionach leasing jest dozwolony, ale pod warunkami, które nie są obsługiwane przez modele finansowe.leasesAllowed

annualLeasingCost

object (Money)

Szacowany roczny koszt leasingu.

savings

object (SavingsOverTime)

Ile oszczędza się (lub nie) w okresie życia.

SavingsOverTime

informacje finansowe, które są udostępniane między różnymi metodami finansowania;

Zapis JSON
{
  "savingsYear1": {
    object (Money)
  },
  "savingsYear20": {
    object (Money)
  },
  "presentValueOfSavingsYear20": {
    object (Money)
  },
  "savingsLifetime": {
    object (Money)
  },
  "presentValueOfSavingsLifetime": {
    object (Money)
  },
  "financiallyViable": boolean
}
Pola
savingsYear1

object (Money)

Oszczędności w pierwszym roku po zainstalowaniu panelu.

savingsYear20

object (Money)

Oszczędności w ciągu pierwszych 20 lat od zainstalowania panelu.

presentValueOfSavingsYear20

object (Money)

Korzystając z założonej stopy dyskonta, jaka jest wartość bieżąca oszczędności kumulatywnych na przestrzeni 20 lat?

savingsLifetime

object (Money)

Oszczędności w całym okresie działania panelu.

presentValueOfSavingsLifetime

object (Money)

Korzystając z założonej stopy dyskonta, jaka jest bieżąca wartość skumulowanych oszczędności na całe życie?

financiallyViable

boolean

Wskazuje, czy ten scenariusz jest opłacalny. Wartość false w przypadku scenariuszy o słabej rentowności finansowej (np. przynoszących straty).

CashPurchaseSavings

Koszt i korzyść z bezpośredniego zakupu określonej konfiguracji paneli słonecznych przy określonym zużyciu energii.

Zapis JSON
{
  "outOfPocketCost": {
    object (Money)
  },
  "upfrontCost": {
    object (Money)
  },
  "rebateValue": {
    object (Money)
  },
  "savings": {
    object (SavingsOverTime)
  },
  "paybackYears": number
}
Pola
outOfPocketCost

object (Money)

Początkowy koszt przed zachętami podatkowymi: kwota, którą należy zapłacić z własnych środków. W przeciwieństwie do upfrontCost, który jest po uwzględnieniu ulg podatkowych.

upfrontCost

object (Money)

Początkowy koszt po uwzględnieniu ulg podatkowych: jest to kwota, którą należy zapłacić w pierwszym roku. Porównaj to z wartością outOfPocketCost, która nie uwzględnia zachęt podatkowych.

rebateValue

object (Money)

Wartość wszystkich zwrotów podatku.

savings

object (SavingsOverTime)

Ile oszczędza się (lub nie) w okresie życia.

paybackYears

number

Liczba lat do zwrotu kosztów. Wartość ujemna oznacza, że zwrot nigdy nie występuje w okresie życia.

FinancedPurchaseSavings

Koszty i korzyści z kredytu na zakup określonej konfiguracji paneli słonecznych przy określonym zużyciu energii.

Zapis JSON
{
  "annualLoanPayment": {
    object (Money)
  },
  "rebateValue": {
    object (Money)
  },
  "loanInterestRate": number,
  "savings": {
    object (SavingsOverTime)
  }
}
Pola
annualLoanPayment

object (Money)

roczne spłaty kredytu,

rebateValue

object (Money)

wartość wszystkich ulg podatkowych (w tym federalnego kredytu inwestycyjnego).

loanInterestRate

number

Oprocentowanie kredytów przyjęte w tym zestawie obliczeń.

savings

object (SavingsOverTime)

Ile oszczędza się (lub nie) w okresie życia.