پوشش گسترده (تجربی)

توسعه‌دهندگان منطقه اقتصادی اروپا (EEA)

رابط برنامه‌نویسی کاربردی خورشیدی (Solar API) در حال راه‌اندازی یک ویژگی آزمایشی است که پوشش را به مناطقی که قبلاً پشتیبانی نشده بودند، بر اساس مدل‌های یادگیری ماشینی اعمال شده بر تصاویر ماهواره‌ای، گسترش می‌دهد. برای دسترسی به داده‌های خورشیدی آزمایشی، پارامتر experiments را روی EXPANDED_COVERAGE و پارامتر requiredQuality را روی BASE تنظیم کنید.

داده‌های آزمایشی برای درخواست‌های buildingInsights و dataLayers در دسترس است. بخش‌های زیر نمونه درخواست‌ها و پاسخ‌ها را شرح می‌دهند.

ایجاد بینش

نقطه پایانی buildingInsights اطلاعاتی در مورد مکان، ابعاد و پتانسیل خورشیدی یک ساختمان ارائه می‌دهد. برای درخواست اطلاعات ساختمان، یک درخواست HTTP GET به آدرس زیر ارسال کنید:

https://solar.googleapis.com/v1/buildingInsights:findClosest?key=YOUR_API_KEY

پارامترهای URL درخواست خود را که مختصات عرض و طول جغرافیایی مکان و حداقل سطح کیفیت مورد نیاز مجاز در نتایج را مشخص می‌کنند، وارد کنید.

مثال زیر اطلاعات بینش ساختمان را برای موقعیت مکانی در مختصات عرض جغرافیایی = ۴.۶۵۵۷۱۹ و طول جغرافیایی = -۷۴.۱۲۸۹۷۱ درخواست می‌کند. برای درخواست داده‌های تجربی، پارامترهای زیر را تنظیم کنید:

  • requiredQuality = BASE
  • experiments = EXPANDED_COVERAGE
curl -X GET "https://solar.googleapis.com/v1/buildingInsights:findClosest?location.latitude=4.655719&location.longitude=-74.128971&requiredQuality=BASE&experiments=EXPANDED_COVERAGE&key=YOUR_API_KEY"

آن درخواست یک پاسخ JSON به شکل زیر تولید می‌کند:

{
  "name": "buildings/ChIJW2GaKXecP44RaeGtGpQtk4Q",
  "center": {
    "latitude": 4.6557664,
    "longitude": -74.1289303
  },
  "imageryDate": {
    "year": 2024,
    "month": 2,
    "day": 19
  },
  "regionCode": "CO",
  "solarPotential": {
    "maxArrayPanelsCount": 351,
    "maxArrayAreaMeters2": 689.20776,
    "maxSunshineHoursPerYear": 1631.7008,
    "carbonOffsetFactorKgPerMwh": 122.99986,
    "wholeRoofStats": {
      "areaMeters2": 1078.406,
      "sunshineQuantiles": [
        562.9261,
        930.9767,
        1165.876,
        1221.8761,
        1333.0057,
        1485.7363,
        1563.2417,
        1593.266,
        1610.5652,
        1621.5986,
        1640.6102
      ],
      "groundAreaMeters2": 1050.76
    },
    "roofSegmentStats": [
      {
        "pitchDegrees": 38.58091,
        "azimuthDegrees": 41.91368,
        "stats": {
          "areaMeters2": 23.153826,
          "sunshineQuantiles": [
            582.9132,
            612.5797,
            673.3435,
            762.14233,
            899.41864,
            1031.1329,
            1103.8121,
            1135.5204,
            1150.2969,
            1158.215,
            1170.5475
          ],
          "groundAreaMeters2": 18.1
        },
        "center": {
          "latitude": 4.6554996,
          "longitude": -74.128966699999992
        },
        "boundingBox": {
          "sw": {
            "latitude": 4.655472,
            "longitude": -74.1290005
          },
          "ne": {
            "latitude": 4.6555371999999995,
            "longitude": -74.1289328
          }
        },
        "planeHeightAtCenterMeters": 2552.031
      },
      /.../
    ]
    "solarPanelConfigs": [
      {
        "panelsCount": 4,
        "yearlyEnergyDcKwh": 2609.5698,
        "roofSegmentSummaries": [
          {
            "pitchDegrees": 10.260736,
            "azimuthDegrees": 131.22626,
            "panelsCount": 1,
            "yearlyEnergyDcKwh": 652.84863,
            "segmentIndex": 6
          },
          {
            "pitchDegrees": 8.649131,
            "azimuthDegrees": 145.79407,
            "panelsCount": 1,
            "yearlyEnergyDcKwh": 652.3829,
            "segmentIndex": 11
          },
          {
            "pitchDegrees": 5.061984,
            "azimuthDegrees": 12.690001,
            "panelsCount": 2,
            "yearlyEnergyDcKwh": 1304.3383,
            "segmentIndex": 12
          }
        ]
      },
      /.../
    ]
    "panelCapacityWatts": 400,
    "panelHeightMeters": 1.879,
    "panelWidthMeters": 1.045,
    "panelLifetimeYears": 20,
    "buildingStats": {
      "areaMeters2": 1143.155,
      "sunshineQuantiles": [
        557,
        883.26263,
        1146.4794,
        1209.3063,
        1278.1102,
        1465.2921,
        1557.7494,
        1590.9565,
        1609.4994,
        1621.1909,
        1640.6102
      ],
      "groundAreaMeters2": 1089.35
    },
    "solarPanels": [
      {
        "center": {
          "latitude": 4.6560077,
          "longitude": -74.12885
        },
        "orientation": "PORTRAIT",
        "yearlyEnergyDcKwh": 653.14404,
        "segmentIndex": 12
      },
      /.../
    ]
    },
  "boundingBox": {
    "sw": {
      "latitude": 4.6554716,
      "longitude": -74.129243899999992
    },
    "ne": {
      "latitude": 4.6560513,
      "longitude": -74.128623900000008
    }
  },
  "imageryQuality": "BASE",
  "imageryProcessedDate": {
    "year": 2024,
    "month": 7,
    "day": 21
  }
}

لایه‌های داده

نقطه پایانی dataLayers اطلاعات خورشیدی دقیقی را برای منطقه‌ای اطراف یک مکان مشخص ارائه می‌دهد. این نقطه پایانی ۱۷ فایل TIFF قابل دانلود، از جمله یک مدل سطح دیجیتال (DSM)، لایه کامپوزیت RGB (تصاویر ماهواره‌ای) و یک لایه ماسک که مرزهای تجزیه و تحلیل را مشخص می‌کند، را برمی‌گرداند.

مثال زیر آدرس اینترنتی (URL) یک درخواست REST به متد dataLayers را نشان می‌دهد:

https://solar.googleapis.com/v1/dataLayers:get?parameters

پارامترهای URL درخواست خود را که موارد زیر را مشخص می‌کنند، وارد کنید:

  • مختصات طول و عرض جغرافیایی محل مورد نظر
  • شعاع (برحسب متر) ناحیه اطراف محل
  • حداقل کیفیت مجاز در نتایج

برای درخواست داده‌های آزمایشی، پارامترهای زیر را تنظیم کنید:

  • requiredQuality = BASE
  • experiments = EXPANDED_COVERAGE
curl -X GET "https://solar.googleapis.com/v1/dataLayers:get?location.latitude=4.655719&location.longitude=-74.128971&radiusMeters=100&requiredQuality=BASE&experiments=EXPANDED_COVERAGE&key=YOUR_API_KEY"

آن درخواست یک پاسخ JSON به شکل زیر تولید می‌کند:

{
  "imageryDate": {
    "year": 2024,
    "month": 2,
    "day": 19
  },
  "imageryProcessedDate": {
    "year": 2024,
    "month": 7,
    "day": 21
  },
  "dsmUrl": "https://solar.googleapis.com/v1/geoTiff:get?id=YTYwZDUzYTMxNjVmMjFlYWNjZmMyYzcxYTNhNWQ2OWItZTM0ZWRjZTQwNTZjZWUyYTNiNWE2ZjU5OTVkYWJjNTM6RFNNOkJBU0U",
  "rgbUrl": "https://solar.googleapis.com/v1/geoTiff:get?id=MWU2NmYxNmU3M2JlYmY5NDJkZmVmMjQ0NDViMjFjYTgtZWVhYjRiN2U0YWJlNzM2Nzk1MzUxZTQ4YTgxNjZiM2M6UkdCOkJBU0U",
  "maskUrl": "https://solar.googleapis.com/v1/geoTiff:get?id=ZGU4NzhmNDg0YjE2OGYwYTdjN2EyYmVlMDQxYTM5NDMtNDk2NGQwNzBhMzAwYzBkYTEwZDNmYjgzNTk4ODkyY2I6TUFTSzpCQVNF",
  "annualFluxUrl": "https://solar.googleapis.com/v1/geoTiff:get?id=NmRiZDQ0NDFkNWE5NDU2Nzc2ZTU1Mzg0MDY0YzFhMWMtMDg2ZDMyZjVkYTMzMDhiZmI5NzM1MzY0YmRjZmFiM2I6QU5OVUFMX0ZMVVg6QkFTRQ",
  "monthlyFluxUrl": "https://solar.googleapis.com/v1/geoTiff:get?id=NTAyMDJkMTVmMjJiZGYyOTNiMDFhMWEzNDJkZjAwNTctZDRjMjY3ZjU1YjQ2ZjE4ZTNkNjE1YmU5NTlmOThlZjM6TU9OVEhMWV9GTFVYOkJBU0U",
  "hourlyShadeUrls": [
    "https://solar.googleapis.com/v1/geoTiff:get?id=NWNkZmM0NTcwYTE5ODQzMmI0MmQ1NDM4NzY4MTc5MzEtOWE0MTBjNDkwM2IxZjA0MmI1ZTNmNTg1NTY0MTNkZjI6SE9VUkxZX1NIQURFOkJBU0U",
    "https://solar.googleapis.com/v1/geoTiff:get?id=Y2YwNDY4MzQ1YzhkMjBlZjU5M2NiNDRmMmM0ODRiNTUtNjMwOWM2NDBjZmI5OTdkMDA3ZGQzOWY2YmI1ZTk2NWM6SE9VUkxZX1NIQURFOkJBU0U",
    /.../
  ],
  "imageryQuality": "BASE"
}

برای ارسال درخواست به URL در پاسخ، کلید API خود را به URL اضافه کنید:

curl -X GET "https://solar.googleapis.com/v1/geoTiff:get?id=YTYwZDUzYTMxNjVmMjFlYWNjZmMyYzcxYTNhNWQ2OWItZTM0ZWRjZTQwNTZjZWUyYTNiNWE2ZjU5OTVkYWJjNTM6RFNNOkJBU0U&key=YOUR_API_KEY"

به استثنای لایه RGB، تمام فایل‌های TIFF در برنامه‌های نمایش تصویر به صورت تصاویر خالی نمایش داده می‌شوند. برای مشاهده فایل‌های TIFF دانلود شده، آنها را به یک نرم‌افزار نقشه‌برداری مانند QGIS وارد کنید.

مشخصات کامل این درخواست و پاسخ در مستندات مرجع آمده است.