Расширенный охват (экспериментальный)

Solar API запускает экспериментальную функцию, которая расширяет покрытие на ранее неподдерживаемые регионы на основе моделей машинного обучения, применяемых к спутниковым снимкам. Чтобы получить доступ к экспериментальным солнечным данным, установите параметр experiments на EXPANDED_COVERAGE и параметр requiredQuality на BASE .

Экспериментальные данные доступны для запросов buildingInsights и dataLayers . В следующих разделах описываются примеры запросов и ответов.

Построение идей

Конечная точка buildingInsights предоставляет сведения о местоположении, размерах и солнечном потенциале здания. Чтобы запросить сведения о здании, отправьте запрос HTTP GET по адресу:

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

Включите параметры URL-адреса запроса, которые указывают координаты широты и долготы местоположения, а также минимально допустимый уровень качества в результатах.

Следующий пример запрашивает информацию о здании для местоположения с координатами широты = 4.655719 и долготы = -74.128971. Чтобы запросить экспериментальные данные, задайте следующие параметры:

  • 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 предоставляет подробную информацию о солнечной активности для региона, окружающего указанное местоположение. Конечная точка возвращает 17 загружаемых файлов 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.

Полная спецификация этого запроса и ответа приведена в справочной документации .