Method: buildingInsights.findClosest

Menemukan gedung terdekat ke titik kueri. Menampilkan error dengan kode NOT_FOUND jika tidak ada bangunan dalam jarak sekitar 50 m dari titik kueri.

Permintaan HTTP

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

URL menggunakan sintaksis gRPC Transcoding.

Parameter kueri

Parameter
location

object (LatLng)

Wajib. Bujur dan lintang tempat API mencari gedung terdekat yang diketahui.

requiredQuality

enum (ImageryQuality)

Opsional. Tingkat kualitas minimum yang diizinkan dalam hasil. Tidak ada hasil dengan kualitas yang lebih rendah dari ini yang akan ditampilkan. Jika tidak ditentukan, hal ini sama dengan membatasi kualitas ke TINGGI saja.

Isi permintaan

Isi permintaan harus kosong.

Isi respons

Pesan respons untuk Solar.FindClosestBuildingInsights. Informasi tentang lokasi, dimensi, dan potensi tenaga surya bangunan.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi 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)
}
Kolom
name

string

Nama resource untuk bangunan, dengan format buildings/{place_id}.

center

object (LatLng)

Titik di dekat pusat bangunan.

boundingBox

object (LatLngBox)

Kotak pembatas bangunan.

imageryDate

object (Date)

Tanggal saat gambar pokok diperoleh. Ini adalah perkiraan.

imageryProcessedDate

object (Date)

Saat pemrosesan gambar ini selesai.

postalCode

string

Kode pos (misalnya, Kode pos AS) yang memuat bangunan ini.

administrativeArea

string

Wilayah administratif 1 (misalnya, di AS, negara bagian) yang berisi bangunan ini. Misalnya, di Amerika Serikat, singkatannya mungkin "MA" atau "CA".

statisticalArea

string

Area statistik (misalnya, Jalur sensus AS) tempat bangunan ini berada.

regionCode

string

Kode wilayah untuk negara (atau wilayah) tempat gedung ini berada.

solarPotential

object (SolarPotential)

Potensi tenaga surya bangunan.

imageryQuality

enum (ImageryQuality)

Kualitas gambar yang digunakan untuk menghitung data untuk bangunan ini.

Cakupan otorisasi

Memerlukan cakupan OAuth berikut:

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

LatLngBox

Kotak pembatas dalam koordinat lintang/bujur.

Representasi JSON
{
  "sw": {
    object (LatLng)
  },
  "ne": {
    object (LatLng)
  }
}
Kolom
sw

object (LatLng)

Sudut barat daya kotak.

ne

object (LatLng)

Sudut timur laut kotak.

SolarPotential

Informasi tentang potensi tenaga surya sebuah bangunan. Sejumlah kolom dalam hal ini ditentukan dalam istilah "panel". Kolom panelCapacityWatts, panelHeightMeters, dan panelWidthMeters menjelaskan parameter model panel yang digunakan dalam penghitungan ini.

Representasi 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)
    }
  ]
}
Kolom
maxArrayPanelsCount

integer

Ukuran array maksimum - yaitu, jumlah maksimum panel yang dapat muat di atap.

panelCapacityWatts

number

Kapasitas, dalam watt, panel yang digunakan dalam penghitungan.

panelHeightMeters

number

Tinggi, dalam meter dalam orientasi potret, dari panel yang digunakan dalam penghitungan.

panelWidthMeters

number

Lebar, dalam meter dalam orientasi potret, dari panel yang digunakan dalam penghitungan.

panelLifetimeYears

integer

Masa aktif yang diharapkan, dalam tahun, dari panel surya. Nilai ini digunakan dalam penghitungan keuangan.

maxArrayAreaMeters2

number

Ukuran, dalam meter persegi, dari array maksimum.

maxSunshineHoursPerYear

number

Jumlah maksimum jam sinar matahari yang diterima per tahun, di setiap titik di atap. Jam sinar matahari adalah ukuran jumlah total insolasi (energi) yang diterima per tahun. 1 jam sinar matahari = 1 kWh per kW (dengan kW mengacu pada kapasitas kW dalam Kondisi Pengujian Standar).

carbonOffsetFactorKgPerMwh

number

Jumlah CO2 yang dihasilkan per MWh listrik jaringan yang setara. Ini adalah ukuran intensitas karbon listrik jaringan yang tergantikan oleh listrik surya.

wholeRoofStats

object (SizeAndSunshineStats)

Total ukuran dan kuantil sinar matahari untuk bagian atap yang ditetapkan ke beberapa segmen atap. Meskipun namanya demikian, ini mungkin tidak mencakup seluruh gedung. Lihat buildingStats.

buildingStats

object (SizeAndSunshineStats)

Ukuran dan kuantil sinar matahari untuk seluruh bangunan, termasuk bagian atap yang tidak ditetapkan ke beberapa segmen atap. Karena orientasi bagian-bagian ini tidak dikarakterisasi dengan baik, estimasi area atap tidak dapat diandalkan, tetapi estimasi area tanah dapat diandalkan. Mungkin area atap seluruh bangunan yang lebih andal dapat diperoleh dengan menskalakan area atap dari wholeRoofStats dengan rasio area tanah buildingStats dan wholeRoofStats.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

Ukuran dan kuantil sinar matahari untuk setiap segmen atap.

solarPanels[]

object (SolarPanel)

Setiap SolarPanel menjelaskan satu panel surya. Panel tersebut tercantum dalam urutan yang ditetapkan oleh algoritma tata letak panel. Hal ini biasanya, meskipun tidak selalu, dalam urutan menurun produksi energi tahunan.

solarPanelConfigs[]

object (SolarPanelConfig)

Setiap SolarPanelConfig menjelaskan pengaturan panel surya yang berbeda di atap. Panel tersebut diurutkan berdasarkan peningkatan jumlah panel. SolarPanelConfig dengan panelsCount=N didasarkan pada panel N pertama dalam daftar solarPanels. Kolom ini hanya diisi jika setidaknya 4 panel dapat muat di atap.

financialAnalyses[]

object (FinancialAnalysis)

FinancialAnalysis memberikan penghematan dari penggunaan panel surya dengan asumsi tagihan bulanan tertentu dan penyedia listrik tertentu. Tagihan tersebut diurutkan berdasarkan urutan jumlah tagihan bulanan yang meningkat. Kolom ini akan kosong untuk bangunan di area yang tidak memiliki cukup informasi untuk melakukan komputasi keuangan oleh Solar API.

SizeAndSunshineStats

Ukuran dan kuantil keteduhan atap, atau bagian atap.

Representasi JSON
{
  "areaMeters2": number,
  "sunshineQuantiles": [
    number
  ],
  "groundAreaMeters2": number
}
Kolom
areaMeters2

number

Area atap atau segmen atap, dalam m^2. Ini adalah area atap (dengan mempertimbangkan kemiringan), bukan area jejak tanah.

sunshineQuantiles[]

number

Kuartil tingkat cerah titik di seluruh area. Jika ada nilai N di sini, nilai ini mewakili (N-1)-iles. Misalnya, jika ada 5 nilai, nilai tersebut akan menjadi kuartil (min, 25%, 50%, 75%, maks). Nilainya dalam kWh/kW tahunan seperti maxSunshineHoursPerYear.

groundAreaMeters2

number

Area jejak tanah yang tertutup oleh atap atau segmen atap, dalam m^2.

RoofSegmentSizeAndSunshineStats

Informasi tentang ukuran dan kuantil keteduhan segmen atap.

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

object (SizeAndSunshineStats)

Total ukuran dan kuantil sinar matahari untuk segmen atap.

center

object (LatLng)

Titik di dekat bagian tengah segmen atap.

boundingBox

object (LatLngBox)

Kotak pembatas segmen atap.

pitchDegrees

number

Sudut segmen atap relatif terhadap bidang tanah teoretis. 0 = sejajar dengan tanah, 90 = tegak lurus dengan tanah.

azimuthDegrees

number

Arah kompas yang ditunjuk oleh segmen atap. 0 = Utara, 90 = Timur, 180 = Selatan. Untuk segmen atap "datar" (pitchDegrees sangat dekat dengan 0), azimuth tidak ditentukan dengan baik, sehingga untuk konsistensi, kami menentukannya secara arbitrer menjadi 0 (Utara).

planeHeightAtCenterMeters

number

Ketinggian bidang segmen atap, dalam meter di atas permukaan laut, pada titik yang ditetapkan oleh center. Bersama dengan kemiringan, azimuth, dan lokasi pusat, hal ini sepenuhnya menentukan bidang segmen atap.

SolarPanel

SolarPanel menjelaskan posisi, orientasi, dan produksi satu panel surya. Lihat kolom panelHeightMeters, panelWidthMeters, dan panelCapacityWatts di SolarPotential untuk mengetahui informasi tentang parameter panel.

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

object (LatLng)

Bagian tengah panel.

orientation

enum (SolarPanelOrientation)

Orientasi panel.

yearlyEnergyDcKwh

number

Jumlah energi sinar matahari yang ditangkap tata letak ini selama setahun, dalam kWh DC.

segmentIndex

integer

Indeks di roofSegmentStats dari RoofSegmentSizeAndSunshineStats yang sesuai dengan segmen atap tempat panel ini ditempatkan.

SolarPanelOrientation

Orientasi panel surya. Ini harus ditafsirkan relatif terhadap azimuth segmen atap tempat panel ditempatkan.

Enum
SOLAR_PANEL_ORIENTATION_UNSPECIFIED Tidak ada orientasi panel yang diketahui.
LANDSCAPE Tepi panjang panel LANDSCAPE tegak lurus dengan arah azimuth segmen atap tempat panel tersebut ditempatkan.
PORTRAIT Tepi panjang panel PORTRAIT sejajar dengan arah azimuth segmen atap tempat panel tersebut ditempatkan.

SolarPanelConfig

SolarPanelConfig menjelaskan penempatan panel surya tertentu di atap.

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

integer

Jumlah total panel. Perhatikan bahwa ini berlebihan untuk (jumlah) kolom yang sesuai di roofSegmentSummaries.

yearlyEnergyDcKwh

number

Jumlah energi sinar matahari yang ditangkap tata letak ini selama setahun, dalam kWh DC, dengan asumsi panel yang dijelaskan di atas.

roofSegmentSummaries[]

object (RoofSegmentSummary)

Informasi tentang produksi setiap segmen atap yang membawa setidaknya satu panel dalam tata letak ini. roofSegmentSummaries[i] menjelaskan segmen atap ke-i, termasuk ukuran, produksi yang diharapkan, dan orientasinya.

RoofSegmentSummary

Informasi tentang segmen atap di bangunan, dengan beberapa panel yang ditempatkan di atasnya.

Representasi JSON
{
  "panelsCount": integer,
  "yearlyEnergyDcKwh": number,
  "pitchDegrees": number,
  "azimuthDegrees": number,
  "segmentIndex": integer
}
Kolom
panelsCount

integer

Jumlah total panel di segmen ini.

yearlyEnergyDcKwh

number

Jumlah energi sinar matahari yang ditangkap bagian tata letak ini selama setahun, dalam kWh DC, dengan asumsi panel yang dijelaskan di atas.

pitchDegrees

number

Sudut segmen atap relatif terhadap bidang tanah teoretis. 0 = sejajar dengan tanah, 90 = tegak lurus dengan tanah.

azimuthDegrees

number

Arah kompas yang ditunjuk oleh segmen atap. 0 = Utara, 90 = Timur, 180 = Selatan. Untuk segmen atap "datar" (pitchDegrees sangat dekat dengan 0), azimuth tidak ditentukan dengan baik, sehingga untuk konsistensi, kami menentukannya secara arbitrer menjadi 0 (Utara).

segmentIndex

integer

Indeks di roofSegmentStats dari RoofSegmentSizeAndSunshineStats yang sesuai.

FinancialAnalysis

Analisis biaya dan manfaat tata letak surya yang optimal untuk ukuran tagihan listrik tertentu.

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

object (Money)

Tagihan listrik bulanan yang diasumsikan dalam analisis ini.

defaultBill

boolean

Apakah ini adalah ukuran tagihan yang dipilih sebagai tagihan default untuk area tempat gedung ini berada. Tepat satu FinancialAnalysis di BuildingSolarPotential harus memiliki defaultBill yang ditetapkan.

averageKwhPerMonth

number

Jumlah listrik yang digunakan rumah dalam sebulan rata-rata, berdasarkan jumlah tagihan dan tarif listrik lokal.

financialDetails

object (FinancialDetails)

Informasi keuangan yang berlaku terlepas dari metode pembiayaan yang digunakan.

leasingSavings

object (LeasingSavings)

Biaya dan manfaat leasing panel surya.

cashPurchaseSavings

object (CashPurchaseSavings)

Biaya dan manfaat membeli panel surya dengan uang tunai.

financedPurchaseSavings

object (FinancedPurchaseSavings)

Biaya dan manfaat membeli panel surya dengan pembiayaan pembelian.

panelConfigIndex

integer

Indeks di solarPanelConfigs dari tata letak surya yang optimal untuk ukuran tagihan ini. Nilai ini dapat berupa -1 yang menunjukkan bahwa tidak ada tata letak. Dalam hal ini, subpesan yang tersisa akan dihilangkan.

Uang

Mewakili jumlah uang dengan jenis mata uangnya.

Representasi JSON
{
  "currencyCode": string,
  "units": string,
  "nanos": integer
}
Kolom
currencyCode

string

Kode mata uang tiga huruf yang ditentukan dalam ISO 4217.

units

string (int64 format)

Seluruh unit jumlahnya. Misalnya jika currencyCode adalah "USD", maka 1 unit adalah satu dolar AS.

nanos

integer

Jumlah unit nano (10^-9) dari jumlah. Nilainya harus antara -999.999.999 dan +999.999.999 inklusif. Jika units positif, nanos harus positif atau nol. Jika units nol, nanos dapat positif, nol, atau negatif. Jika units negatif, nanos harus negatif atau nol. Misalnya $-1,75 direpresentasikan sebagai units=-1 dan nanos=-750.000.000.

FinancialDetails

Detail analisis keuangan. Beberapa detail ini sudah disimpan di tingkat yang lebih tinggi (misalnya, biaya langsung). Total jumlah uang adalah selama periode masa aktif yang ditentukan oleh kolom panelLifetimeYears di SolarPotential. Catatan: Biaya pembelian panel secara langsung diberikan di kolom outOfPocketCost di CashPurchaseSavings.

Representasi 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
}
Kolom
initialAcKwhPerYear

number

Jumlah kWh AC yang menurut kami akan dihasilkan panel surya pada tahun pertamanya.

remainingLifetimeUtilityBill

object (Money)

Tagihan utilitas untuk listrik yang tidak dihasilkan oleh tenaga surya, selama masa pakai panel.

federalIncentive

object (Money)

Jumlah uang yang tersedia dari insentif federal; ini berlaku jika pengguna membeli (dengan atau tanpa pinjaman) panel.

stateIncentive

object (Money)

Jumlah uang yang tersedia dari insentif negara bagian; ini berlaku jika pengguna membeli (dengan atau tanpa pinjaman) panel.

utilityIncentive

object (Money)

Jumlah uang yang tersedia dari insentif utilitas; ini berlaku jika pengguna membeli (dengan atau tanpa pinjaman) panel.

lifetimeSrecTotal

object (Money)

Jumlah uang yang akan diterima pengguna dari Solar Renewable Energy Credits selama masa aktif panel; hal ini berlaku jika pengguna membeli (dengan atau tanpa pinjaman) panel.

costOfElectricityWithoutSolar

object (Money)

Total biaya listrik yang akan dibayar pengguna selama periode masa aktif jika mereka tidak menginstal panel surya.

netMeteringAllowed

boolean

Apakah pengukuran bersih diizinkan.

solarPercentage

number

Persentase (0-100) daya pengguna yang disediakan oleh tenaga surya. Berlaku untuk tahun pertama, tetapi kira-kira benar untuk tahun-tahun mendatang.

percentageExportedToGrid

number

Persentase (0-100) produksi listrik surya yang kami asumsikan diekspor ke jaringan, berdasarkan kuartal pertama produksi. Hal ini memengaruhi penghitungan jika pengukuran bersih tidak diizinkan.

LeasingSavings

Biaya dan manfaat menyewa konfigurasi panel surya tertentu dengan penggunaan listrik tertentu.

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

boolean

Apakah sewa diizinkan di wilayah hukum ini (sewa tidak diizinkan di beberapa negara bagian). Jika kolom ini salah, nilai dalam pesan ini mungkin harus diabaikan.

leasesSupported

boolean

Apakah sewa didukung di wilayah hukum ini oleh mesin penghitungan keuangan. Jika kolom ini salah, nilai dalam pesan ini mungkin harus diabaikan. Hal ini tidak bergantung pada leasesAllowed: di beberapa area, sewa diizinkan, tetapi dalam kondisi yang tidak ditangani oleh model keuangan.

annualLeasingCost

object (Money)

Perkiraan biaya sewa tahunan.

savings

object (SavingsOverTime)

Jumlah yang disimpan (atau tidak) selama periode masa aktif.

SavingsOverTime

Informasi keuangan yang dibagikan di antara berbagai metode pembiayaan.

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

object (Money)

Penghematan pada tahun pertama setelah pemasangan panel.

savingsYear20

object (Money)

Penghematan dalam dua puluh tahun pertama setelah pemasangan panel.

presentValueOfSavingsYear20

object (Money)

Dengan menggunakan tingkat diskon yang diasumsikan, berapa nilai sekarang dari penghematan kumulatif selama 20 tahun?

savingsLifetime

object (Money)

Penghematan di seluruh masa aktif panel.

presentValueOfSavingsLifetime

object (Money)

Dengan menggunakan tingkat diskon yang diasumsikan, berapa nilai sekarang dari penghematan kumulatif sepanjang waktu?

financiallyViable

boolean

Menunjukkan apakah skenario ini layak secara finansial. Akan bernilai salah untuk skenario dengan kelayakan finansial yang buruk (misalnya, merugi).

CashPurchaseSavings

Biaya dan manfaat pembelian langsung konfigurasi panel surya tertentu dengan penggunaan listrik tertentu.

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

object (Money)

Biaya awal sebelum insentif pajak: jumlah yang harus dibayar secara mandiri. Berbeda dengan upfrontCost, yang merupakan insentif setelah pajak.

upfrontCost

object (Money)

Biaya awal setelah insentif pajak: jumlah yang harus dibayar selama tahun pertama. Berbeda dengan outOfPocketCost, yang merupakan sebelum insentif pajak.

rebateValue

object (Money)

Nilai semua potongan pajak.

savings

object (SavingsOverTime)

Jumlah yang disimpan (atau tidak) selama periode masa aktif.

paybackYears

number

Jumlah tahun hingga pengembalian modal terjadi. Nilai negatif berarti pengembalian modal tidak pernah terjadi dalam periode masa aktif.

FinancedPurchaseSavings

Biaya dan manfaat menggunakan pinjaman untuk membeli konfigurasi panel surya tertentu dengan penggunaan listrik tertentu.

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

object (Money)

Pembayaran pinjaman tahunan.

rebateValue

object (Money)

Nilai semua potongan pajak (termasuk Federal Investment Tax Credit (ITC)).

loanInterestRate

number

Suku bunga pinjaman yang diasumsikan dalam kumpulan penghitungan ini.

savings

object (SavingsOverTime)

Jumlah yang disimpan (atau tidak) selama periode masa aktif.