Rozszerzony zasięg (funkcja eksperymentalna)

Deweloperzy z Europejskiego Obszaru Gospodarczego (EOG)

Wprowadzamy eksperymentalną funkcję interfejsu Solar API, która rozszerza zasięg na regiony, które wcześniej nie były obsługiwane. Działa ona na podstawie modeli uczenia maszynowego stosowanych do zdjęć satelitarnych. Aby uzyskać dostęp do eksperymentalnych danych dotyczących energii słonecznej, ustaw parametr experiments na EXPANDED_COVERAGE, a parametr requiredQuality na BASE.

Dane eksperymentalne są dostępne w przypadku próśb buildingInsightsdataLayers. W sekcjach poniżej znajdziesz przykładowe żądania i odpowiedzi.

Statystyki dotyczące budynków

Punkt końcowy buildingInsights udostępnia informacje o lokalizacji, wymiarach i potencjale solarnym budynku. Aby poprosić o statystyki dotyczące kompilacji, wyślij żądanie HTTP GET do:

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

Dołącz do adresu URL żądania parametry, które określają współrzędne szerokości i długości geograficznej lokalizacji oraz minimalny wymagany poziom jakości dopuszczalny w wynikach.

W tym przykładzie wysyłamy prośbę o informacje o budynku w lokalizacji o współrzędnych geograficznych: szerokość geograficzna = 4,655719 i długość geograficzna = -74,128971. Aby poprosić o dane eksperymentalne, ustaw te parametry:

  • 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"

To żądanie generuje odpowiedź w formacie JSON w postaci:

{
  "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
  }
}

Warstwy danych

Punkt końcowy dataLayers udostępnia szczegółowe informacje o energii słonecznej w regionie otaczającym określoną lokalizację. Punkt końcowy zwraca 17 plików TIFF do pobrania, w tym cyfrowy model powierzchni (DSM), złożoną warstwę RGB (zdjęcia lotnicze) i warstwę maski, która identyfikuje granice analizy.

Poniższy przykład przedstawia adres URL żądania REST do metody dataLayers:

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

Dołącz do adresu URL żądania parametry, które określają:

  • Współrzędne geograficzne lokalizacji.
  • Promień (w metrach) regionu otaczającego lokalizację.
  • Minimalna jakość dozwolona w wynikach

Aby poprosić o dane eksperymentalne, ustaw te parametry:

  • 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"

To żądanie generuje odpowiedź w formacie 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"
}

Aby wysłać żądanie na adres URL w odpowiedzi, dołącz do niego klucz interfejsu API:

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

Z wyjątkiem warstwy RGB wszystkie pliki TIFF będą wyświetlane jako puste obrazy w aplikacjach do przeglądania obrazów. Aby wyświetlić pobrane pliki TIFF, zaimportuj je do aplikacji do mapowania, np. QGIS.

Pełna specyfikacja tego żądania i odpowiedzi znajduje się w dokumentacji referencyjnej.

.