Method: buildingInsights.findClosest

Menemukan gedung yang terdekat dengan 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 diisi. Bujur dan lintang tempat API mencari bangunan terdekat yang diketahui.

requiredQuality

enum (ImageryQuality)

Opsional. Tingkat kualitas minimum yang diizinkan dalam hasil. Hasil dengan kualitas lebih rendah dari ini tidak akan ditampilkan. Tidak menetapkan ini sama dengan membatasi kualitas TINGGI saja.

Isi permintaan

Isi permintaan harus kosong.

Isi respons

Pesan respons untuk Solar.FindClosestBuildingInsights. Informasi tentang lokasi, dimensi, dan potensi tenaga surya dari 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 fasilitas untuk gedung, dengan format building/<place ID>.

center

object (LatLng)

Titik di dekat pusat bangunan.

boundingBox

object (LatLngBox)

Kotak pembatas bangunan.

imageryDate

object (Date)

Tanggal pengambilan gambar yang mendasari. Ini merupakan perkiraan.

imageryProcessedDate

object (Date)

Saat pemrosesan selesai pada gambar ini.

postalCode

string

Kode pos (misalnya, (kode pos Amerika Serikat)) di gedung ini.

administrativeArea

string

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

statisticalArea

string

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

regionCode

string

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

solarPotential

object (SolarPotential)

Potensi tenaga surya dari bangunan.

imageryQuality

enum (ImageryQuality)

Kualitas citra 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 lat/lng.

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 dari bangunan. Sejumlah bidang 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 ditampung di atap.

panelCapacityWatts

number

Kapasitas panel yang digunakan dalam perhitungan, dalam watt.

panelHeightMeters

number

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

panelWidthMeters

number

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

panelLifetimeYears

integer

Masa pakai panel surya yang diharapkan, dalam hitungan tahun. Sumber data 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, pada 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 (di mana kW mengacu pada kW kapasitas berdasarkan Kondisi Pengujian Standar).

carbonOffsetFactorKgPerMwh

number

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

wholeRoofStats

object (SizeAndSunshineStats)

Kuantil ukuran total dan sinar matahari untuk bagian atap yang ditetapkan ke beberapa segmen atap. Terlepas dari namanya, galeri ini mungkin tidak mencakup keseluruhan bangunan. Lihat buildingStats.

buildingStats

object (SizeAndSunshineStats)

Kuantil ukuran dan sinar matahari untuk seluruh bangunan, termasuk bagian atap yang tidak ditetapkan ke beberapa segmen atap. Karena orientasi bagian-bagian ini tidak ditentukan dengan baik, perkiraan luas atap tidak dapat diandalkan, tetapi perkiraan luas tanah dapat diandalkan. Mungkin keseluruhan area atap bangunan yang lebih andal dapat diperoleh dengan menskalakan area atap dari wholeRoofStats dengan rasio luas tanah buildingStats dan wholeRoofStats.

roofSegmentStats[]

object (RoofSegmentSizeAndSunshineStats)

Kuantil ukuran dan sinar matahari untuk setiap segmen atap.

solarPanels[]

object (SolarPanel)

Setiap SolarPanel mendeskripsikan satu panel surya. Mereka dicantumkan sesuai urutan yang ditempatkan oleh algoritma tata letak panel. Hal ini biasanya, meskipun tidak selalu, dalam mengurangi urutan produksi energi tahunan.

solarPanelConfigs[]

object (SolarPanelConfig)

Setiap SolarPanelConfig menjelaskan susunan panel surya yang berbeda di atap. Urutannya sesuai dengan jumlah panel yang terus bertambah. SolarPanelConfig dengan panelsCount=N didasarkan pada N panel pertama dalam daftar solarPanels. Kolom ini hanya diisi jika setidaknya 4 panel dapat dimuat di atap.

financialAnalyses[]

object (FinancialAnalysis)

FinancialAnalysis memberikan penghematan dari penggunaan tenaga surya dengan asumsi tagihan bulanan tertentu dan penyedia listrik tertentu. Urutannya sesuai dengan urutan jumlah tagihan bulanan yang meningkat. Kolom ini akan kosong untuk bangunan di area yang informasinya tidak dimiliki oleh Solar API untuk melakukan komputasi keuangan.

SizeAndSunshineStats

Kuantil ukuran dan kecerahan atap, atau bagian dari atap.

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

number

Luas segmen atap, dalam m^2. Ini adalah area atap (memperhitungkan kemiringan), bukan area jejak tanah.

sunshineQuantiles[]

number

Quantile cerahnya matahari di seluruh area. Jika ada nilai N di sini, ini mewakili iles (N-1). Misalnya, jika ada 5 nilai, maka mereka akan menjadi kuartil (min, 25%, 50%, 75%, maks). Nilainya dalam kWh/kW tahunan seperti maxSunshineHoursPerYear.

groundAreaMeters2

number

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

RoofSegmentSizeAndSunshineStats

Informasi tentang kuantil ukuran dan cerahnya segmen atap.

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

object (SizeAndSunshineStats)

Kuantil ukuran total dan 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 ke arah segmen atap. 0 = Utara, 90 = Timur, 180 = Selatan. Untuk "datar" segmen atap (pitchDegrees sangat mendekati 0), azimut tidak didefinisikan dengan baik, sehingga untuk konsistensi, kami menentukannya secara arbitrer sebagai 0 (Utara).

planeHeightAtCenterMeters

number

Ketinggian bidang segmen atap, dalam meter di atas permukaan laut, di titik yang ditentukan oleh center. Bersama dengan pitch, azimut, dan lokasi tengah, alat ini sepenuhnya menentukan bidang segmen atap.

SolarPanel

Panel Surya 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 diperoleh tata letak ini selama setahun, dalam DC kWh.

segmentIndex

integer

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

SolarPanelOrientation

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

Enum
SOLAR_PANEL_ORIENTATION_UNSPECIFIED Tidak ada orientasi panel yang diketahui.
LANDSCAPE Panel LANDSCAPE memiliki tepi panjang yang tegak lurus terhadap arah azimuth segmen atap tempat panel ini diletakkan.
PORTRAIT Panel PORTRAIT memiliki tepi panjang yang sejajar dengan arah azimut dari 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 terkait di roofSegmentSummaries.

yearlyEnergyDcKwh

number

Jumlah energi sinar matahari yang ditangkap tata letak ini selama setahun, dalam DC kWh, 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, dan orientasi yang diharapkan.

RoofSegmentSummary

Informasi tentang segmen atap pada bangunan, dengan beberapa panel diletakkan 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

Berapa banyak energi sinar matahari yang ditangkap bagian tata letak ini selama setahun, dalam DC kWh, 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 ke arah segmen atap. 0 = Utara, 90 = Timur, 180 = Selatan. Untuk "datar" segmen atap (pitchDegrees sangat mendekati 0), azimut tidak didefinisikan dengan baik, sehingga untuk konsistensi, kami menentukannya secara arbitrer sebagai 0 (Utara).

segmentIndex

integer

Indeks dalam roofSegmentStats dari RoofSegmentSizeAndSunshineStats yang sesuai.

FinancialAnalysis

Analisis biaya dan manfaat tata letak panel 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 oleh analisis ini.

defaultBill

boolean

Apakah ini ukuran tagihan yang dipilih untuk menjadi tagihan default untuk area tempat bangunan ini berada. Tepat satu FinancialAnalysis di BuildingSolarPotential harus memiliki defaultBill yang disetel.

averageKwhPerMonth

number

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

financialDetails

object (FinancialDetails)

Informasi keuangan yang berlaku terlepas dari metode pembiayaan yang digunakan.

leasingSavings

object (LeasingSavings)

Biaya dan manfaat sewa panel surya.

cashPurchaseSavings

object (CashPurchaseSavings)

Biaya dan manfaat membeli panel surya dengan uang tunai.

financedPurchaseSavings

object (FinancedPurchaseSavings)

Biaya dan manfaat pembelian panel surya dengan membiayai pembelian.

panelConfigIndex

integer

Indeks dalam solarPanelConfigs dari tata letak panel surya yang optimal untuk ukuran tagihan ini. Nilainya bisa -1 yang menunjukkan bahwa tidak ada tata letak. Dalam hal ini, subpesan yang tersisa akan dihilangkan.

Uang

Menyatakan 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 tersebut. Nilainya harus antara -999.999.999 dan +999.999.999 inklusif. Jika units positif, nanos harus positif atau nol. Jika units nol, nanos bisa 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 pada tingkat yang lebih tinggi (misalnya, biaya sendiri). Jumlah uang total selama jangka waktu yang ditentukan oleh kolom panelLifetimeYears di SolarPotential. Catatan: Biaya langsung untuk pembelian panel diberikan dalam 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

Menurut kami, berapa banyak kWh AC yang akan dihasilkan oleh panel surya di tahun pertama.

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 itu.

stateIncentive

object (Money)

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

utilityIncentive

object (Money)

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

lifetimeSrecTotal

object (Money)

Jumlah uang yang akan diterima pengguna dari Kredit Energi Terbarukan Tenaga Surya selama masa pakai panel; ini berlaku jika pengguna membeli (dengan atau tanpa pinjaman) panel itu.

costOfElectricityWithoutSolar

object (Money)

Total biaya listrik yang akan dibayarkan pengguna selama masa pakai jika mereka tidak memasang tenaga surya.

netMeteringAllowed

boolean

Apakah pengukuran jaringan diizinkan.

solarPercentage

number

Persentase (0-100) dari daya pengguna yang dipasok oleh panel surya. Berlaku untuk tahun pertama, tetapi kurang lebih benar untuk tahun-tahun mendatang.

percentageExportedToGrid

number

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

LeasingSavings

Biaya dan manfaat sewa 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 dalam hukum ini (penyewaan tidak diizinkan di beberapa negara bagian). Jika kolom ini salah, nilai dalam pesan ini mungkin harus diabaikan.

leasesSupported

boolean

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

annualLeasingCost

object (Money)

Estimasi biaya sewa tahunan.

savings

object (SavingsOverTime)

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

SavingsOverTime

Informasi keuangan yang dibagikan di antara berbagai metode pendanaan.

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

object (Money)

Penghematan dalam tahun pertama setelah pemasangan panel.

savingsYear20

object (Money)

Penghematan dalam dua puluh tahun pertama setelah pemasangan panel.

presentValueOfSavingsYear20

object (Money)

Dengan menggunakan asumsi tingkat diskonto, berapa nilai sekarang dari penghematan kumulatif 20 tahun?

savingsLifetime

object (Money)

Penghematan sepanjang waktu panel.

presentValueOfSavingsLifetime

object (Money)

Dengan menggunakan asumsi tingkat diskon, berapa nilai tabungan umur kumulatif saat ini?

financiallyViable

boolean

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

CashPurchaseSavings

Biaya dan manfaat dari pembelian langsung untuk 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 dibayarkan langsung ke kantong. Berbeda dengan upfrontCost, yang ditetapkan setelah insentif pajak.

upfrontCost

object (Money)

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

rebateValue

object (Money)

Nilai semua potongan pajak.

savings

object (SavingsOverTime)

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

paybackYears

number

Jumlah tahun hingga pembayaran kembali dilakukan. Nilai negatif berarti pengembalian barang tidak pernah terjadi dalam jangka waktu.

FinancedPurchaseSavings

Biaya dan manfaat penggunaan 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 rabat pajak (termasuk Kredit Pajak Investasi Federal (ITC)).

loanInterestRate

number

Suku bunga pinjaman yang diasumsikan dalam rangkaian penghitungan ini.

savings

object (SavingsOverTime)

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