বিল্ডিংইনসাইটস এন্ডপয়েন্ট একটি বিল্ডিংয়ের অবস্থান, মাত্রা এবং সৌর সম্ভাবনা সম্পর্কে অন্তর্দৃষ্টি প্রদান করে। বিশেষ করে, আপনি সম্পর্কে তথ্য পেতে পারেন:
- সৌর সম্ভাবনা, সৌর প্যানেলের আকার, বার্ষিক পরিমাণ সূর্যালোক, কার্বন অফসেট ফ্যাক্টর এবং আরও অনেক কিছু সহ
- সৌর প্যানেলের অবস্থান, অভিযোজন, এবং শক্তি উৎপাদন
- সর্বোত্তম সৌর বিন্যাসের আনুমানিক মাসিক শক্তি বিল এবং সংশ্লিষ্ট খরচ এবং সুবিধা
সোলার এপিআই কীভাবে সৌর সম্ভাবনা এবং রোদকে সংজ্ঞায়িত করে সে সম্পর্কে আরও জানতে, সোলার এপিআই ধারণাগুলি দেখুন।
APIs এক্সপ্লোরার আপনাকে লাইভ অনুরোধ করতে দেয় যাতে আপনি API এবং API বিকল্পগুলির সাথে পরিচিত হতে পারেন:
বিল্ডিং অন্তর্দৃষ্টি অনুরোধ সম্পর্কে
বিল্ডিং অন্তর্দৃষ্টি অনুরোধ করতে, এখানে একটি HTTP GET অনুরোধ পাঠান:
https://solar.googleapis.com/v1/buildingInsights:findClosest?key=YOUR_API_KEY
আপনার অনুরোধ URL প্যারামিটারগুলি অন্তর্ভুক্ত করুন যা অবস্থানের অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক এবং ফলাফলগুলিতে অনুমোদিত ন্যূনতম প্রয়োজনীয় মানের স্তর নির্দিষ্ট করে৷
উদাহরণ বিল্ডিং অন্তর্দৃষ্টি অনুরোধ
নিম্নলিখিত উদাহরণটি অক্ষাংশ = 37.4450 এবং দ্রাঘিমাংশ = -122.1390 এর স্থানাঙ্কে অবস্থানের জন্য অন্তর্দৃষ্টি তথ্যের জন্য অনুরোধ করে:
প্রতিক্রিয়াতে URL-এ একটি অনুরোধ করতে, URL-এ আপনার API কী যুক্ত করুন:
curl -X GET "https://solar.googleapis.com/v1/buildingInsights:findClosest?location.latitude=37.4450 &location.longitude=-122.1390 &requiredQuality=HIGH &key= YOUR_API_KEY "
এছাড়াও আপনি আপনার ব্রাউজারের URL বারে cURL অনুরোধে URL পেস্ট করে HTTP অনুরোধ করতে পারেন। API কী পাস করা আপনাকে আরও ভাল ব্যবহার এবং বিশ্লেষণ ক্ষমতা এবং প্রতিক্রিয়া ডেটাতে আরও ভাল অ্যাক্সেস নিয়ন্ত্রণ সরবরাহ করে।
দ্রষ্টব্য: এই বিন্যাসটি শুধুমাত্র পরীক্ষার পরিবেশের জন্য। আরও তথ্যের জন্য, OAuth ব্যবহার করুন দেখুন।
উত্তরে URL-এ একটি অনুরোধ করতে, আপনার বিলিং প্রকল্পের নাম এবং আপনার OAuth টোকেন পাস করুন:
curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "X-Goog-User-Project:PROJECT_NUMBER_OR_ID " \ "https://solar.googleapis.com/v1/buildingInsights:findClosest?location.latitude=37.4450&location.longitude=-122.1390"
প্রতিক্রিয়াতে URL-এ একটি অনুরোধ করতে, অনুরোধে আপনার API কী বা OAuth টোকেন অন্তর্ভুক্ত করুন। এখানে একটি উদাহরণ যা একটি API কী ব্যবহার করে:
/** * Fetches the building insights information from the Solar API. * https://developers.google.com/maps/documentation/solar/building-insights * * @param {LatLng} location Point of interest as latitude longitude. * @param {string} apiKey Google Cloud API key. * @return {Promise<DataLayersResponse>} Building Insights response. */ export async function findClosestBuilding( location: google.maps.LatLng, apiKey: string, ): Promise<BuildingInsightsResponse> { const args = { 'location.latitude': location.lat().toFixed(5), 'location.longitude': location.lng().toFixed(5), }; console.log('GET buildingInsights\n', args); const params = new URLSearchParams({ ...args, key: apiKey }); // https://developers.google.com/maps/documentation/solar/reference/rest/v1/buildingInsights/findClosest return fetch(`https://solar.googleapis.com/v1/buildingInsights:findClosest?${params}`).then( async (response) => { const content = await response.json(); if (response.status != 200) { console.error('findClosestBuilding\n', content); throw content; } console.log('buildingInsightsResponse', content); return content; }, ); }
ডেটা টাইপ সংজ্ঞা
নিম্নলিখিত ডেটা প্রকারগুলি সমর্থিত:
export interface DataLayersResponse { imageryDate: Date; imageryProcessedDate: Date; dsmUrl: string; rgbUrl: string; maskUrl: string; annualFluxUrl: string; monthlyFluxUrl: string; hourlyShadeUrls: string[]; imageryQuality: 'HIGH' | 'MEDIUM' | 'LOW'; } export interface Bounds { north: number; south: number; east: number; west: number; } // https://developers.google.com/maps/documentation/solar/reference/rest/v1/buildingInsights/findClosest export interface BuildingInsightsResponse { name: string; center: LatLng; boundingBox: LatLngBox; imageryDate: Date; imageryProcessedDate: Date; postalCode: string; administrativeArea: string; statisticalArea: string; regionCode: string; solarPotential: SolarPotential; imageryQuality: 'HIGH' | 'MEDIUM' | 'LOW'; } export interface SolarPotential { maxArrayPanelsCount: number; panelCapacityWatts: number; panelHeightMeters: number; panelWidthMeters: number; panelLifetimeYears: number; maxArrayAreaMeters2: number; maxSunshineHoursPerYear: number; carbonOffsetFactorKgPerMwh: number; wholeRoofStats: SizeAndSunshineStats; buildingStats: SizeAndSunshineStats; roofSegmentStats: RoofSegmentSizeAndSunshineStats[]; solarPanels: SolarPanel[]; solarPanelConfigs: SolarPanelConfig[]; financialAnalyses: object; } export interface SizeAndSunshineStats { areaMeters2: number; sunshineQuantiles: number[]; groundAreaMeters2: number; } export interface RoofSegmentSizeAndSunshineStats { pitchDegrees: number; azimuthDegrees: number; stats: SizeAndSunshineStats; center: LatLng; boundingBox: LatLngBox; planeHeightAtCenterMeters: number; } export interface SolarPanel { center: LatLng; orientation: 'LANDSCAPE' | 'PORTRAIT'; segmentIndex: number; yearlyEnergyDcKwh: number; } export interface SolarPanelConfig { panelsCount: number; yearlyEnergyDcKwh: number; roofSegmentSummaries: RoofSegmentSummary[]; } export interface RoofSegmentSummary { pitchDegrees: number; azimuthDegrees: number; panelsCount: number; yearlyEnergyDcKwh: number; segmentIndex: number; } export interface LatLng { latitude: number; longitude: number; } export interface LatLngBox { sw: LatLng; ne: LatLng; } export interface Date { year: number; month: number; day: number; } export interface RequestError { error: { code: number; message: string; status: string; }; }
উদাহরণ প্রতিক্রিয়া বস্তু
এই অনুরোধটি ফর্মটিতে একটি JSON প্রতিক্রিয়া তৈরি করে:
{ "name": "buildings/ChIJh0CMPQW7j4ARLrRiVvmg6Vs", "center": { "latitude": 37.4449439, "longitude": -122.13914659999998 }, "imageryDate": { "year": 2022, "month": 8, "day": 14 }, "postalCode": "94303", "administrativeArea": "CA", "statisticalArea": "06085511100", "regionCode": "US", "solarPotential": { "maxArrayPanelsCount": 1163, "maxArrayAreaMeters2": 1903.5983, "maxSunshineHoursPerYear": 1802, "carbonOffsetFactorKgPerMwh": 428.9201, "wholeRoofStats": { "areaMeters2": 2399.3958, "sunshineQuantiles": [ 351, 1396, 1474, 1527, 1555, 1596, 1621, 1640, 1664, 1759, 1864 ], "groundAreaMeters2": 2279.71 }, "roofSegmentStats": [ { "pitchDegrees": 11.350553, "azimuthDegrees": 269.6291, "stats": { "areaMeters2": 452.00052, "sunshineQuantiles": [ 408, 1475, 1546, 1575, 1595, 1606, 1616, 1626, 1635, 1643, 1761 ], "groundAreaMeters2": 443.16 }, "center": { "latitude": 37.444972799999995, "longitude": -122.13936369999999 }, "boundingBox": { "sw": { "latitude": 37.444732099999996, "longitude": -122.1394224 }, "ne": { "latitude": 37.4451909, "longitude": -122.13929279999999 } }, "planeHeightAtCenterMeters": 10.7835045 }, /.../ ], "solarPanelConfigs": [ { "panelsCount": 4, "yearlyEnergyDcKwh": 1819.8662, "roofSegmentSummaries": [ { "pitchDegrees": 12.273684, "azimuthDegrees": 179.12555, "panelsCount": 4, "yearlyEnergyDcKwh": 1819.8663, "segmentIndex": 1 } ] }, /.../ ] "financialAnalyses": [ { "monthlyBill": { "currencyCode": "USD", "units": "20" }, "panelConfigIndex": -1 }, { "monthlyBill": { "currencyCode": "USD", "units": "25" }, "panelConfigIndex": -1 }, { "monthlyBill": { "currencyCode": "USD", "units": "30" }, "panelConfigIndex": -1 }, { "monthlyBill": { "currencyCode": "USD", "units": "35" }, "panelConfigIndex": 0, "financialDetails": { "initialAcKwhPerYear": 1546.8864, "remainingLifetimeUtilityBill": { "currencyCode": "USD", "units": "2563" }, "federalIncentive": { "currencyCode": "USD", "units": "1483" }, "stateIncentive": { "currencyCode": "USD" }, "utilityIncentive": { "currencyCode": "USD" }, "lifetimeSrecTotal": { "currencyCode": "USD" }, "costOfElectricityWithoutSolar": { "currencyCode": "USD", "units": "10362" }, "netMeteringAllowed": true, "solarPercentage": 86.7469, "percentageExportedToGrid": 52.136684 }, "leasingSavings": { "leasesAllowed": true, "leasesSupported": true, "annualLeasingCost": { "currencyCode": "USD", "units": "335", "nanos": 85540771 }, "savings": { "savingsYear1": { "currencyCode": "USD", "units": "-10" }, "savingsYear20": { "currencyCode": "USD", "units": "1098" }, "presentValueOfSavingsYear20": { "currencyCode": "USD", "units": "568", "nanos": 380859375 }, "financiallyViable": true, "savingsLifetime": { "currencyCode": "USD", "units": "1098" }, "presentValueOfSavingsLifetime": { "currencyCode": "USD", "units": "568", "nanos": 380859375 } } }, "cashPurchaseSavings": { "outOfPocketCost": { "currencyCode": "USD", "units": "5704" }, "upfrontCost": { "currencyCode": "USD", "units": "4221" }, "rebateValue": { "currencyCode": "USD", "units": "1483", "nanos": 40039063 }, "paybackYears": 11.5, "savings": { "savingsYear1": { "currencyCode": "USD", "units": "325" }, "savingsYear20": { "currencyCode": "USD", "units": "7799" }, "presentValueOfSavingsYear20": { "currencyCode": "USD", "units": "1083", "nanos": 500244141 }, "financiallyViable": true, "savingsLifetime": { "currencyCode": "USD", "units": "7799" }, "presentValueOfSavingsLifetime": { "currencyCode": "USD", "units": "1083", "nanos": 500244141 } } }, "financedPurchaseSavings": { "annualLoanPayment": { "currencyCode": "USD", "units": "335", "nanos": 85540771 }, "rebateValue": { "currencyCode": "USD" }, "loanInterestRate": 0.05, "savings": { "savingsYear1": { "currencyCode": "USD", "units": "-10" }, "savingsYear20": { "currencyCode": "USD", "units": "1098" }, "presentValueOfSavingsYear20": { "currencyCode": "USD", "units": "568", "nanos": 380859375 }, "financiallyViable": true, "savingsLifetime": { "currencyCode": "USD", "units": "1098" }, "presentValueOfSavingsLifetime": { "currencyCode": "USD", "units": "568", "nanos": 380859375 } } } }, ], /.../ "panelCapacityWatts": 400, "panelHeightMeters": 1.879, "panelWidthMeters": 1.045, "panelLifetimeYears": 20, "buildingStats": { "areaMeters2": 2533.1233, "sunshineQuantiles": [ 348, 1376, 1460, 1519, 1550, 1590, 1618, 1638, 1662, 1756, 1864 ], "groundAreaMeters2": 2356.03 }, "solarPanels": [ { "center": { "latitude": 37.4449659, "longitude": -122.139089 }, "orientation": "LANDSCAPE", "yearlyEnergyDcKwh": 455.40714, "segmentIndex": 1 }, /.../ ] "imageryQuality": "HIGH", "imageryProcessedDate": { "year": 2023, "month": 8, "day": 4 } }
প্যানেল বসানোর জন্য ছাদের অংশ নির্বাচন করুন
কিছু ক্ষেত্রে, আপনি সৌর প্যানেল বসানোর জন্য নির্দিষ্ট ছাদের অংশ নির্বাচন করতে পারেন। roofSegmentStats
একটি প্রদত্ত ছাদের অংশের আকার, অভিযোজন এবং রৌদ্রের পরিমাণ সম্পর্কে তথ্য প্রদান করে:
"roofSegmentStats": [ { "pitchDegrees": 11.350553, "azimuthDegrees": 269.6291, "stats": { "areaMeters2": 452.00052, "sunshineQuantiles": [409.601, 1482.1255, 1553.5117, 1582.7875, 1602.3456, 1613.7804, 1623.6434, 1634.0812, 1642.697, 1651.0267, 1771.4792], "groundAreaMeters2": 443.16 }, "center": { "latitude": 37.4449728, "longitude": -122.1393637 }, "boundingBox": { "sw": { "latitude": 37.4447321, "longitude": -122.1394224 }, "ne": { "latitude": 37.4451909, "longitude": -122.1392928 } }, "planeHeightAtCenterMeters": 10.7835045 }, { "pitchDegrees": 12.273684, "azimuthDegrees": 179.12555, "stats": { "areaMeters2": 309.87268, "sunshineQuantiles": [650.5504, 1701.709, 1745.0032, 1768.4081, 1779.1625, 1787.4258, 1794.9333, 1801.3938, 1806.7461, 1814.0724, 1845.8717], "groundAreaMeters2": 302.79 }, "center": { "latitude": 37.4449286, "longitude": -122.1389889 }, "boundingBox": { "sw": { "latitude": 37.4448617, "longitude": -122.1392095 }, "ne": { "latitude": 37.444982, "longitude": -122.1387809 } }, "planeHeightAtCenterMeters": 10.67585 }, /.../ ],
এই বৈশিষ্ট্যগুলির উপর ভিত্তি করে, আপনি শুধুমাত্র একটি নির্দিষ্ট ছাদের অংশে স্থাপিত প্যানেলগুলি নির্বাচন করতে পারেন। buildingInsights
এন্ডপয়েন্টের মাধ্যমে ফিরে আসা প্রতিটি প্যানেলে একটি segmentIndex
মান রয়েছে যা নির্দেশ করে যে প্যানেলটি কোন ছাদের সেগমেন্টে স্থাপন করা হয়েছে:
{ "panelsCount": 142, "yearlyEnergyDcKwh": 101170.17, "roofSegmentSummaries": [ { "pitchDegrees": 12.273684, "azimuthDegrees": 179.12555, "panelsCount": 122, "yearlyEnergyDcKwh": 87260.48, "segmentIndex": 1 }, { "pitchDegrees": 11.245564, "azimuthDegrees": 179.204, "panelsCount": 18, "yearlyEnergyDcKwh": 12544.052, "segmentIndex": 3 }, { "pitchDegrees": 2.5699794, "azimuthDegrees": 86.05642, "panelsCount": 1, "yearlyEnergyDcKwh": 681.69183, "segmentIndex": 10 }, { "pitchDegrees": 0.10844088, "azimuthDegrees": 0, "panelsCount": 1, "yearlyEnergyDcKwh": 683.9312, "segmentIndex": 14 } ] },
নির্দিষ্ট বৈশিষ্ট্য সহ ছাদের অংশগুলিতে প্যানেল নির্বাচন করতে, আপনি segmentIndex
দ্বারা ফিল্টার করতে পারেন। উদাহরণস্বরূপ, আপনি যদি ছাদের দক্ষিণ-মুখী অংশে প্যানেল স্থাপন করতে চান, তাহলে চিহ্নিত করুন কোন ছাদের সেগমেন্টের azimuthDegrees
মান 90 এবং 270 এর মধ্যে আছে, তারপর সেই ছাদের অংশগুলির জন্য সম্পূর্ণ প্যানেল তালিকা ফিল্টার করতে সংশ্লিষ্ট segmentIndex
ইনডেক্স ব্যবহার করুন।
এটা চেষ্টা করুন!
APIs এক্সপ্লোরার আপনাকে নমুনা অনুরোধ করতে দেয় যাতে আপনি API এবং API বিকল্পগুলির সাথে পরিচিত হতে পারেন।
পৃষ্ঠার ডানদিকে API আইকন api নির্বাচন করুন।
ঐচ্ছিকভাবে অনুরোধের পরামিতি সম্পাদনা করুন।
এক্সিকিউট বোতামটি নির্বাচন করুন। ডায়ালগে, আপনি অনুরোধ করতে যে অ্যাকাউন্টটি ব্যবহার করতে চান সেটি বেছে নিন।
APIs এক্সপ্লোরার প্যানেলে, APIs এক্সপ্লোরার উইন্ডোটি প্রসারিত করতে ফুলস্ক্রিন আইকন পূর্ণস্ক্রীন নির্বাচন করুন।