Method: buildingInsights.findClosest

Znajduje budynek najbliżej punktu zapytania. Zwraca błąd z kodem NOT_FOUND, jeśli w promieniu około 50 m od punktu zapytania nie ma 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)

To pole jest wymagane. Długość i szerokość geograficzna, od której interfejs API szuka najbliższego znanego budynku.

requiredQuality

enum (ImageryQuality)

Opcjonalnie. Minimalny poziom jakości dozwolony w wynikach. Nie zostaną zwrócone żadne wyniki o niższej jakości. Brak określenia tego ustawienia jest odpowiednikiem ograniczenia tylko do WYSOKIEJ jakości.

Treść żądania

Treść żądania musi być pusta.

Treść odpowiedzi

Odpowiedź na pytanie: Solar.FindClosestBuildingInsights. Informacje o położeniu, 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 building/<place ID>.

center

object (LatLng)

Punkt w pobliżu środka budynku.

boundingBox

object (LatLngBox)

Ramka ograniczająca budynku.

imageryDate

object (Date)

Data pozyskania zdjęć podstawowych. Podana wartość jest szacunkowa.

imageryProcessedDate

object (Date)

Po zakończeniu przetwarzania tego zdjęcia.

postalCode

string

Kod pocztowy (np. Kod pocztowy (USA), w którym znajduje się ten budynek.

administrativeArea

string

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

statisticalArea

string

Obszar statystyczny (np. spisu ludności Stanów Zjednoczonych), w którym znajduje się ten budynek.

regionCode

string

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

solarPotential

object (SolarPotential)

Potencjał energetyczny budynku.

imageryQuality

enum (ImageryQuality)

Jakość zdjęć użytych do obliczenia danych dla tego budynku.

Zakresy autoryzacji

Wymaga następującego zakresu OAuth:

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

LatLngBox

Ramka ograniczająca we współrzędnych szerokości/długości geograficznej.

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

object (LatLng)

Południowo-zachodni róg pola.

ne

object (LatLng)

Północno-wschodni róg pola.

SolarPotential

Informacje o potencjale słonecznym budynku. Wiele takich pól jest zdefiniowanych w postaci „paneli”. Pola panelCapacityWatts, panelHeightMeters i panelWidthMeters opisują parametry modelu panelu używanego 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 maksymalnej tablicy, czyli maksymalna liczba paneli, które można zmieścić na dachu.

panelCapacityWatts

number

Pojemność panelu użytego w obliczeniach (w watach).

panelHeightMeters

number

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

panelWidthMeters

number

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

panelLifetimeYears

integer

Przewidywany czas pracy paneli słonecznych w latach. Jest ona używana w obliczeniach finansowych.

maxArrayAreaMeters2

number

Rozmiar maksymalnej tablicy w metrach kwadratowych.

maxSunshineHoursPerYear

number

Maksymalna liczba godzin słońca w roku w dowolnym punkcie na dachu. Godziny słońca to miara łącznej ilości izolacji (energii) uzyskiwanej w ciągu roku. 1 godzina słońca = 1 kWh na kW (gdzie kW oznacza kW mocy obliczeniowej w standardowych warunkach testowania).

carbonOffsetFactorKgPerMwh

number

Równoważna ilość CO2 wyprodukowanego na MWh energii elektrycznej. Jest to wskaźnik emisji dwutlenku węgla z energii elektrycznej wymieszczonej przez energię słoneczną.

wholeRoofStats

object (SizeAndSunshineStats)

Łączny rozmiar i kwantyle światła słonecznego dla części dachu, która została przypisana do jakiegoś segmentu dachu. Wbrew nazwie może to nie obejmować całego budynku. Zobacz buildingStats.

buildingStats

object (SizeAndSunshineStats)

Rozmiar i kwantyle światła słonecznego dla całego budynku, w tym jego fragmentów, które nie zostały przypisane do niektórych segmentów dachów. Ze względu na to, że orientacja tych części nie jest dobrze scharakteryzowana, oszacowanie powierzchni dachu jest nierzetelne, ale szacowanie powierzchni gruntu jest wiarygodne. Bardziej miarodajną powierzchnię dachów może uzyskać, skalując powierzchnię dachu z wholeRoofStats przez proporcje powierzchni gruntu buildingStats i wholeRoofStats.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

Rozmiar i kwantyle światła słonecznego dla każdego segmentu dachów.

solarPanels[]

object (SolarPanel)

Każdy element SolarPanel opisuje 1 panel słoneczny. Są one wymienione w takiej kolejności, w jakiej został umieszczony przez algorytm układu panelu. Zwykle (choć nie zawsze) roczna produkcja energii jest produkowana w malejącym tempie.

solarPanelConfigs[]

object (SolarPanelConfig)

Każdy element SolarPanelConfig opisuje inny układ paneli słonecznych na dachu. Robią to w kolejności rosnącej liczby paneli. Wartość SolarPanelConfig z panelsCount=N jest tworzona na podstawie pierwszych N paneli na liście solarPanels. To pole jest wypełniane tylko wtedy, gdy na dachu zmieści się co najmniej 4 panele.

financialAnalyses[]

object (FinancialAnalysis)

FinancialAnalysis zapewnia oszczędności wynikające z korzystania z energii słonecznej przy założeniu danego rachunku miesięcznego i u dostawcy energii elektrycznej. Są one podzielone według rosnących miesięcznych kwot. To pole będzie puste w przypadku budynków znajdujących się na obszarach, o których interfejs Solar API nie ma wystarczających informacji do przeprowadzenia obliczeń finansowych.

SizeAndSunshineStats

Rozmiar i kwantyle słonecznego dachu lub jego części.

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

number

Powierzchnia segmentu dachu lub dachu w m^2. Jest to powierzchnia dachu (uwzględniająca przechylenie), a nie powierzchnia gruntu.

sunshineQuantiles[]

number

Kwantyle punktowego słońca w całym obszarze. Jeśli występują tu wartości N, oznacza to ilorazy (N-1). Jeśli np. dostępnych jest 5 wartości, będą to kwartyle (min., 25%, 50%, 75%, maksimum). Wartości są podawane w rocznych kWh/kW, np. maxSunshineHoursPerYear.

groundAreaMeters2

number

Powierzchnia podstawy terenu pokryta segmentem dachu lub dachu, w m^2.

RoofSegmentSizeAndSunshineStats

Informacje o rozmiarze i kwantylach słonecznych segmentu dachów.

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 światła słonecznego dla segmentu dachów.

center

object (LatLng)

Punkt w pobliżu środka segmentu dachu.

boundingBox

object (LatLngBox)

Ramka ograniczająca segmentu dachu.

pitchDegrees

number

Kąt segmentu dachu względem teoretycznej płaszczyzny podłoża. 0 = równoległe do ziemi, 90 = prostopadłe do ziemi.

azimuthDegrees

number

Kierunek kompasu, na który wskazuje segment dachu. 0 = północ, 90 = wschód, 180 = południe. W przypadku „płaskiego” segmentu dachów (pitchDegrees bardzo blisko 0) azymut nie jest dobrze zdefiniowany, więc dla spójności definiujemy go arbitralnie na wartość 0 (północ).

planeHeightAtCenterMeters

number

Wysokość płaszczyzny segmentu dachu (w metrach nad poziomem morza) w punkcie wskazanym przez center. Wraz z nachyleniem, azymutem i lokalizacją środkowa w pełni definiuje płaszczyznę segmentu dachu.

SolarPanel

Panel SolarPanel opisuje położenie, orientację i produkcję pojedynczego panelu słonecznego. Informacje o parametrach panelu znajdziesz w polach panelHeightMeters, panelWidthMeters i panelCapacityWatts w narzędziu 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 w kWh (prąd stały) przechwytuje ten układ w ciągu roku.

segmentIndex

integer

Indeks w roofSegmentStats z RoofSegmentSizeAndSunshineStats odpowiadającym segmentowi dachu, na którym jest umieszczony ten panel.

SolarPanelOrientation

Orientacja panelu słonecznego. Należy to interpretować względem azymutu segmentu dachu, na którym jest umieszczony panel.

Wartości w polu enum
SOLAR_PANEL_ORIENTATION_UNSPECIFIED Orientacja panelu nie jest znana.
LANDSCAPE Panel LANDSCAPE ma długą krawędź prostopadłą do kierunku azymutu segmentu dachu, na którym jest umieszczony.
PORTRAIT Panel PORTRAIT ma długą krawędź równoległą do kierunku azymutu segmentu dachu, na którym jest umieszczony.

SolarPanelConfig

Panel SolarPanelConfig opisuje konkretne umiejscowienie paneli słonecznych na dachu.

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

integer

Łączna liczba paneli. Pamiętaj, że jest to zbędne w odniesieniu do (sumy) odpowiednich pól w zasadzie roofSegmentSummaries.

yearlyEnergyDcKwh

number

Ile energii słonecznej przechwytywanej przez ten układ w ciągu roku (w kWh prądu stałego) przy założeniu, że panele opisane powyżej są opisane.

roofSegmentSummaries[]

object (RoofSegmentSummary)

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

RoofSegmentSummary

Informacje o segmencie dachu budynku, na którym umieszczono pewną 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 przechwytuje ten element układu w ciągu roku (w kWh prądu stałego) przy założeniu, że panele opisane powyżej są opisane powyżej.

pitchDegrees

number

Kąt segmentu dachu względem teoretycznej płaszczyzny podłoża. 0 = równoległe do ziemi, 90 = prostopadłe do ziemi.

azimuthDegrees

number

Kierunek kompasu, na który wskazuje segment dachu. 0 = północ, 90 = wschód, 180 = południe. W przypadku „płaskiego” segmentu dachów (pitchDegrees bardzo blisko 0) azymut nie jest dobrze zdefiniowany, więc dla spójności definiujemy go arbitralnie na wartość 0 (północ).

segmentIndex

integer

Indeksuj w roofSegmentStats z odpowiednich wartości RoofSegmentSizeAndSunshineStats.

FinancialAnalysis

Analiza kosztów i korzyści związanych z optymalnym układem fotowoltaicznym przy danym 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 zakładany przez tę analizę.

defaultBill

boolean

Określa, czy jest to rozmiar rachunku wybrany jako domyślny rachunek za obszar, w którym znajduje się ten budynek. Dokładnie jeden element FinancialAnalysis w tabeli BuildingSolarPotential powinien mieć ustawiony parametr defaultBill.

averageKwhPerMonth

number

Ile energii elektrycznej zużywa dom w średnim miesiącu na podstawie wysokości rachunku i lokalnych stawek za prąd.

financialDetails

object (FinancialDetails)

Informacje finansowe mające zastosowanie niezależnie od użytej metody finansowania.

leasingSavings

object (LeasingSavings)

Koszt i korzyści związane z dzierżawą paneli słonecznych.

cashPurchaseSavings

object (CashPurchaseSavings)

Koszt i korzyści związane z kupowaniem paneli słonecznych za gotówkę.

financedPurchaseSavings

object (FinancedPurchaseSavings)

Koszt i korzyści związane z zakupem paneli słonecznych w ramach finansowania zakupu.

panelConfigIndex

integer

Indeks w solarPanelConfigs przedstawiający optymalny układ fotowoltaiczny dla tego rachunku. Wartość -1 oznacza, że nie ma układu. W takim przypadku pozostałe wiadomości podrzędne zostaną pominięte.

Pieniądze

Reprezentuje kwotę pieniędzy z typem waluty.

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

string

Trzyliterowy kod waluty zgodny z normą ISO 4217.

units

string (int64 format)

Całkowite jednostki kwoty. Jeśli np. currencyCode to "USD", to 1 jednostka to 1 dolar amerykański.

nanos

integer

Liczba nano (10^-9) jednostek danej ilości. Wartość musi mieścić się w przedziale od -999 999 999 do +999 999 999 włącznie. Jeśli units jest liczbą dodatnią, nanos musi być liczbą dodatnią lub zerową. Jeśli units wynosi 0, nanos może być liczbą dodatnią, 0 lub ujemną. Jeśli units jest ujemny, nanos musi być ujemny lub wynosić zero. Na przykład wartość -1,75 USD jest obliczana 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. z własnej kieszeni). Łączne kwoty są podawane w okresie zdefiniowanym w polu panelLifetimeYears w narzędziu SolarPotential. Uwaga: koszt zakupu paneli z własnej kieszeni jest podany w polu outOfPocketCost w tabeli 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 kWh prądu zmiennego naszym zdaniem wygenerują panele słoneczne w pierwszym roku.

remainingLifetimeUtilityBill

object (Money)

Rachunek za media za energię elektryczną niewygenerowaną przez panel słoneczny, za cały okres eksploatacji paneli.

federalIncentive

object (Money)

Kwota środków dostępnych w ramach grantów federalnych; dotyczy to sytuacji, w których użytkownik kupuje panele (z pożyczką lub bez).

stateIncentive

object (Money)

Kwota środków dostępnych w programach publicznych. Ma to zastosowanie, jeśli użytkownik kupuje panele (z pożyczką lub bez).

utilityIncentive

object (Money)

Kwota środków dostępnych w programie zachęt za korzystanie z usług komunalnych; dotyczy to sytuacji, gdy użytkownik kupuje panele (z pożyczką lub bez).

lifetimeSrecTotal

object (Money)

Kwota, jaką użytkownik otrzyma w ramach kredytów związanych z odnawialną energią słoneczną w całym cyklu życia panelu; dotyczy to sytuacji, w których użytkownik kupi panele (z kredytem lub bez).

costOfElectricityWithoutSolar

object (Money)

Całkowity koszt energii elektrycznej, który użytkownik poniósłby w całym okresie, gdyby nie zainstalował instalacji fotowoltaicznych.

netMeteringAllowed

boolean

Określa, czy dozwolony jest pomiar sieci.

solarPercentage

number

Procent (0–100) energii dostarczonej przez użytkownika z energii słonecznej. Ważna przez pierwszy rok, ale mniej więcej poprawna w przypadku przyszłych lat.

percentageExportedToGrid

number

Przyjęliśmy, że wartość procentowa (0–100) produkcji energii słonecznej, którą zakładaliśmy, była eksportowana do sieci na podstawie pierwszego kwartału produkcji. Ma to wpływ na obliczenia, jeśli pomiar netto jest niedozwolony.

LeasingSavings

Koszt i korzyści związane z dzierżawą określonej konfiguracji paneli słonecznych o określonym zużyciu energii elektrycznej.

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

boolean

Czy w tym procesie dzierżawy są dozwolone (w niektórych stanach dzierżawa jest niedozwolona). Jeśli to pole ma wartość false, wartości w tym komunikacie należy prawdopodobnie zignorować.

leasesSupported

boolean

Czy dzierżawy są obsługiwane w tym procesie przez mechanizm obliczeń finansowych. Jeśli to pole ma wartość false, wartości w tym komunikacie należy prawdopodobnie zignorować. Ta wartość jest niezależna od leasesAllowed: w niektórych obszarach dzierżawy są dozwolone, ale pod pewnymi warunkami nie są obsługiwane przez modele finansowe.

annualLeasingCost

object (Money)

Szacowany roczny koszt leasingu.

savings

object (SavingsOverTime)

Ile zaoszczędzisz (lub nie) w danym okresie.

SavingsOverTime

Informacje finansowe udostępniane przez różne metody 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 instalacji paneli.

savingsYear20

object (Money)

Oszczędności w pierwszych 20 latach po instalacji paneli.

presentValueOfSavingsYear20

object (Money)

Jaka jest bieżąca wartość skumulowanych oszczędności z ostatnich 20 lat, jeśli uwzględnimy przypuszczalną stopę rabatową?

savingsLifetime

object (Money)

Oszczędności w całym cyklu życia panelu.

presentValueOfSavingsLifetime

object (Money)

Jaka jest bieżąca wartość skumulowanych oszczędności od początku śledzenia, jeśli uwzględnimy przypuszczalną stopę rabatową?

financiallyViable

boolean

Wskazuje, czy ten scenariusz jest opłacalny. Wartość „fałsz” w przypadku scenariuszy o niskiej zdolności finansowej (np. utraty pieniędzy).

CashPurchaseSavings

Koszt i korzyści związane z bezpośrednim zakupem określonej konfiguracji paneli słonecznych z określonym zużyciem energii elektrycznej.

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

object (Money)

Koszt początkowy przed zachętami podatkowymi: kwota, którą trzeba zapłacić z kieszeni. W przeciwieństwie do upfrontCost, który ma miejsce po zachętach podatkowych.

upfrontCost

object (Money)

Koszt początkowy po odjęciu zachęt podatkowych: jest to kwota, którą należy zapłacić w ciągu pierwszego roku. W przeciwieństwie do outOfPocketCost, który znajduje się przed zachętami podatkowymi.

rebateValue

object (Money)

Wartość wszystkich zwrotów podatku.

savings

object (SavingsOverTime)

Ile zaoszczędzisz (lub nie) w danym okresie.

paybackYears

number

Liczba lat do osiągnięcia zwrotu środków. Wartość ujemna oznacza, że zwrot środków nigdy nie występuje w okresie od początku śledzenia.

FinancedPurchaseSavings

Koszt i korzyści z użycia pożyczki na zakup określonej konfiguracji paneli słonecznych o określonym zużyciu energii elektrycznej.

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

object (Money)

Roczne spłaty pożyczki.

rebateValue

object (Money)

Wartość wszystkich zwrotów podatku (w tym podatku federalnego (ITC)).

loanInterestRate

number

Stopa oprocentowania kredytów obliczona w tym zestawie obliczeń.

savings

object (SavingsOverTime)

Ile zaoszczędzisz (lub nie) w danym okresie.