L'API Solar lance une fonctionnalité expérimentale qui étend la couverture aux régions précédemment non prises en charge, en s'appuyant sur des modèles de machine learning appliqués à l'imagerie satellite. Pour accéder aux données solaires expérimentales, définissez le paramètre experiments
sur EXPANDED_COVERAGE
et le paramètre requiredQuality
sur BASE
.
Les données expérimentales sont disponibles pour les requêtes buildingInsights
et dataLayers
. Les sections suivantes décrivent des exemples de requêtes et de réponses.
Créer des insights
Le point de terminaison buildingInsights fournit des insights sur l'emplacement, les dimensions et le potentiel solaire d'un bâtiment. Pour demander des insights sur les bâtiments, envoyez une requête HTTP GET à l'adresse suivante :
https://solar.googleapis.com/v1/buildingInsights:findClosest?key=YOUR_API_KEY
Incluez les paramètres de l'URL de votre requête qui spécifient les coordonnées de latitude et de longitude de l'emplacement, ainsi que le niveau de qualité minimal requis autorisé dans les résultats.
L'exemple suivant demande des informations sur le bâtiment situé aux coordonnées de latitude = 4.655719 et de longitude = -74.128971. Pour demander des données expérimentales, définissez les paramètres suivants :
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"
Cette requête génère une réponse JSON au format suivant :
{ "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 } }
Calques de données
Le point de terminaison dataLayers fournit des informations détaillées sur l'ensoleillement d'une région entourant un emplacement spécifié. Le point de terminaison renvoie 17 fichiers TIFF téléchargeables, y compris un modèle numérique de surface (DSM), une couche composite RVB (imagerie aérienne) et une couche de masque qui identifie les limites de l'analyse, entre autres.
L'exemple suivant montre l'URL d'une requête REST à la méthode dataLayers
:
https://solar.googleapis.com/v1/dataLayers:get?parameters
Incluez les paramètres de l'URL de votre requête qui spécifient les éléments suivants :
- Coordonnées de latitude et de longitude du lieu
- Rayon (en mètres) de la région entourant le lieu
- Qualité minimale autorisée dans les résultats
Pour demander des données expérimentales, définissez les paramètres suivants :
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"
Cette requête génère une réponse JSON au format suivant :
{ "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" }
Pour envoyer une requête à l'URL de la réponse, ajoutez votre clé API à l'URL :
curl -X GET "https://solar.googleapis.com/v1/geoTiff:get?id=YTYwZDUzYTMxNjVmMjFlYWNjZmMyYzcxYTNhNWQ2OWItZTM0ZWRjZTQwNTZjZWUyYTNiNWE2ZjU5OTVkYWJjNTM6RFNNOkJBU0U&key=YOUR_API_KEY"
À l'exception du calque RVB, tous les fichiers TIFF s'affichent sous forme d'images vides dans les applications de visionneuse d'images. Pour afficher les fichiers TIFF téléchargés, importez-les dans un logiciel d'application de cartographie, tel que QGIS.
La spécification complète de cette requête et de cette réponse se trouve dans la documentation de référence.