@googlemaps/solar 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- // Copyright 2025 Google LLC
1
+ // Copyright 2026 Google LLC
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -85,8 +85,20 @@ message FindClosestBuildingInsightsRequest {
85
85
  // imagery is returned if `required_quality` is set to `MEDIUM`.
86
86
  bool exact_quality_required = 4 [(google.api.field_behavior) = OPTIONAL];
87
87
 
88
- // Optional. Specifies the pre-GA features to enable.
88
+ // Optional. Specifies the pre-GA experiments to enable. Requests using this
89
+ // field are classified as a pre-GA offering under the [Google Maps Platform
90
+ // Service Specific
91
+ // Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms).
92
+ // See [launch stage
93
+ // descriptions](https://cloud.google.com/maps-platform/terms/launch-stages)
94
+ // for more details.
89
95
  repeated Experiment experiments = 5 [(google.api.field_behavior) = OPTIONAL];
96
+
97
+ // Optional. A list of
98
+ // [additional_insights][google.maps.solar.v1.FindClosestBuildingInsightsRequest.additional_insights]
99
+ // to be included in the response.
100
+ repeated AdditionalInsights additional_insights = 6
101
+ [(google.api.field_behavior) = OPTIONAL];
90
102
  }
91
103
 
92
104
  // A bounding box in lat/lng coordinates.
@@ -102,6 +114,30 @@ message LatLngBox {
102
114
  // Information about the location, dimensions, and solar potential of a
103
115
  // building.
104
116
  message BuildingInsights {
117
+ // Information about solar arrays detected on the building.
118
+ message DetectedArrays {
119
+ // Indicates the detection status of solar arrays for this building.
120
+ enum DetectionStatus {
121
+ // Unspecified status.
122
+ DETECTION_STATUS_UNSPECIFIED = 0;
123
+
124
+ // Detected solar array data is unavailable for this building.
125
+ DETECTION_STATUS_DATA_UNAVAILABLE = 1;
126
+
127
+ // At least one solar array has been detected for this building.
128
+ DETECTION_STATUS_ARRAYS_DETECTED = 2;
129
+
130
+ // No solar arrays detected for this building.
131
+ DETECTION_STATUS_NO_ARRAYS_DETECTED = 3;
132
+ }
133
+
134
+ // Indicates the detection status of solar arrays for this building.
135
+ DetectionStatus detection_status = 1;
136
+
137
+ // The date indicating when the latest solar array data was captured.
138
+ google.type.Date latest_capture_date = 3;
139
+ }
140
+
105
141
  // The resource name for the building, of the format `buildings/{place_id}`.
106
142
  string name = 1;
107
143
 
@@ -135,6 +171,11 @@ message BuildingInsights {
135
171
 
136
172
  // The quality of the imagery used to compute the data for this building.
137
173
  ImageryQuality imagery_quality = 10;
174
+
175
+ // Solar arrays detected on the building. This field is only populated if
176
+ // DETECTED_ARRAYS is included in the request's
177
+ // [FindClosestBuildingInsightsRequest.additional_insights][google.maps.solar.v1.FindClosestBuildingInsightsRequest.additional_insights].
178
+ DetectedArrays detected_arrays = 12;
138
179
  }
139
180
 
140
181
  // Information about the solar potential of a building. A number of
@@ -202,7 +243,7 @@ message SolarPotential {
202
243
  // Size and sunlight quantiles for each roof segment.
203
244
  repeated RoofSegmentSizeAndSunshineStats roof_segment_stats = 6;
204
245
 
205
- // Each [SolarPanel] [google.maps.solar.v1.SolarPanel]
246
+ // Each [SolarPanel][google.maps.solar.v1.SolarPanel]
206
247
  // describes a single solar panel. They are listed in the order that
207
248
  // the panel layout algorithm placed this. This is usually, though
208
249
  // not always, in decreasing order of annual energy production.
@@ -566,7 +607,13 @@ message GetDataLayersRequest {
566
607
  // imagery is returned if `required_quality` is set to `MEDIUM`.
567
608
  bool exact_quality_required = 7 [(google.api.field_behavior) = OPTIONAL];
568
609
 
569
- // Optional. Specifies the pre-GA experiments to enable.
610
+ // Optional. Specifies the pre-GA experiments to enable. Requests using this
611
+ // field are classified as a pre-GA offering under the [Google Maps Platform
612
+ // Service Specific
613
+ // Terms](https://cloud.google.com/maps-platform/terms/maps-service-terms).
614
+ // See [launch stage descriptions](
615
+ // https://cloud.google.com/maps-platform/terms/launch-stages) for more
616
+ // details.
570
617
  repeated Experiment experiments = 8 [(google.api.field_behavior) = OPTIONAL];
571
618
  }
572
619
 
@@ -658,6 +705,21 @@ message GetGeoTiffRequest {
658
705
  string id = 1 [(google.api.field_behavior) = REQUIRED];
659
706
  }
660
707
 
708
+ // Additional building information such as roof geometry and
709
+ // solar panel arrays that can be returned in BuildingInsights.
710
+ //
711
+ // New values may be added to this enum in the future.
712
+ enum AdditionalInsights {
713
+ // The default value. The default BuildingInsights will be returned.
714
+ ADDITIONAL_INSIGHTS_UNSPECIFIED = 0;
715
+
716
+ // Determines whether the response will include the detected arrays.
717
+ //
718
+ // If specified, the `detected_arrays` field will be populated in the
719
+ // response.
720
+ DETECTED_ARRAYS = 2;
721
+ }
722
+
661
723
  // What subset of the solar information to return.
662
724
  enum DataLayerView {
663
725
  // Equivalent to FULL.
@@ -127,6 +127,9 @@ export namespace google {
127
127
 
128
128
  /** FindClosestBuildingInsightsRequest experiments */
129
129
  experiments?: (google.maps.solar.v1.Experiment[]|null);
130
+
131
+ /** FindClosestBuildingInsightsRequest additionalInsights */
132
+ additionalInsights?: (google.maps.solar.v1.AdditionalInsights[]|null);
130
133
  }
131
134
 
132
135
  /** Represents a FindClosestBuildingInsightsRequest. */
@@ -150,6 +153,9 @@ export namespace google {
150
153
  /** FindClosestBuildingInsightsRequest experiments. */
151
154
  public experiments: google.maps.solar.v1.Experiment[];
152
155
 
156
+ /** FindClosestBuildingInsightsRequest additionalInsights. */
157
+ public additionalInsights: google.maps.solar.v1.AdditionalInsights[];
158
+
153
159
  /**
154
160
  * Creates a new FindClosestBuildingInsightsRequest instance using the specified properties.
155
161
  * @param [properties] Properties to set
@@ -366,6 +372,9 @@ export namespace google {
366
372
 
367
373
  /** BuildingInsights imageryQuality */
368
374
  imageryQuality?: (google.maps.solar.v1.ImageryQuality|keyof typeof google.maps.solar.v1.ImageryQuality|null);
375
+
376
+ /** BuildingInsights detectedArrays */
377
+ detectedArrays?: (google.maps.solar.v1.BuildingInsights.IDetectedArrays|null);
369
378
  }
370
379
 
371
380
  /** Represents a BuildingInsights. */
@@ -410,6 +419,9 @@ export namespace google {
410
419
  /** BuildingInsights imageryQuality. */
411
420
  public imageryQuality: (google.maps.solar.v1.ImageryQuality|keyof typeof google.maps.solar.v1.ImageryQuality);
412
421
 
422
+ /** BuildingInsights detectedArrays. */
423
+ public detectedArrays?: (google.maps.solar.v1.BuildingInsights.IDetectedArrays|null);
424
+
413
425
  /**
414
426
  * Creates a new BuildingInsights instance using the specified properties.
415
427
  * @param [properties] Properties to set
@@ -488,6 +500,123 @@ export namespace google {
488
500
  public static getTypeUrl(typeUrlPrefix?: string): string;
489
501
  }
490
502
 
503
+ namespace BuildingInsights {
504
+
505
+ /** Properties of a DetectedArrays. */
506
+ interface IDetectedArrays {
507
+
508
+ /** DetectedArrays detectionStatus */
509
+ detectionStatus?: (google.maps.solar.v1.BuildingInsights.DetectedArrays.DetectionStatus|keyof typeof google.maps.solar.v1.BuildingInsights.DetectedArrays.DetectionStatus|null);
510
+
511
+ /** DetectedArrays latestCaptureDate */
512
+ latestCaptureDate?: (google.type.IDate|null);
513
+ }
514
+
515
+ /** Represents a DetectedArrays. */
516
+ class DetectedArrays implements IDetectedArrays {
517
+
518
+ /**
519
+ * Constructs a new DetectedArrays.
520
+ * @param [properties] Properties to set
521
+ */
522
+ constructor(properties?: google.maps.solar.v1.BuildingInsights.IDetectedArrays);
523
+
524
+ /** DetectedArrays detectionStatus. */
525
+ public detectionStatus: (google.maps.solar.v1.BuildingInsights.DetectedArrays.DetectionStatus|keyof typeof google.maps.solar.v1.BuildingInsights.DetectedArrays.DetectionStatus);
526
+
527
+ /** DetectedArrays latestCaptureDate. */
528
+ public latestCaptureDate?: (google.type.IDate|null);
529
+
530
+ /**
531
+ * Creates a new DetectedArrays instance using the specified properties.
532
+ * @param [properties] Properties to set
533
+ * @returns DetectedArrays instance
534
+ */
535
+ public static create(properties?: google.maps.solar.v1.BuildingInsights.IDetectedArrays): google.maps.solar.v1.BuildingInsights.DetectedArrays;
536
+
537
+ /**
538
+ * Encodes the specified DetectedArrays message. Does not implicitly {@link google.maps.solar.v1.BuildingInsights.DetectedArrays.verify|verify} messages.
539
+ * @param message DetectedArrays message or plain object to encode
540
+ * @param [writer] Writer to encode to
541
+ * @returns Writer
542
+ */
543
+ public static encode(message: google.maps.solar.v1.BuildingInsights.IDetectedArrays, writer?: $protobuf.Writer): $protobuf.Writer;
544
+
545
+ /**
546
+ * Encodes the specified DetectedArrays message, length delimited. Does not implicitly {@link google.maps.solar.v1.BuildingInsights.DetectedArrays.verify|verify} messages.
547
+ * @param message DetectedArrays message or plain object to encode
548
+ * @param [writer] Writer to encode to
549
+ * @returns Writer
550
+ */
551
+ public static encodeDelimited(message: google.maps.solar.v1.BuildingInsights.IDetectedArrays, writer?: $protobuf.Writer): $protobuf.Writer;
552
+
553
+ /**
554
+ * Decodes a DetectedArrays message from the specified reader or buffer.
555
+ * @param reader Reader or buffer to decode from
556
+ * @param [length] Message length if known beforehand
557
+ * @returns DetectedArrays
558
+ * @throws {Error} If the payload is not a reader or valid buffer
559
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
560
+ */
561
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.maps.solar.v1.BuildingInsights.DetectedArrays;
562
+
563
+ /**
564
+ * Decodes a DetectedArrays message from the specified reader or buffer, length delimited.
565
+ * @param reader Reader or buffer to decode from
566
+ * @returns DetectedArrays
567
+ * @throws {Error} If the payload is not a reader or valid buffer
568
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
569
+ */
570
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.maps.solar.v1.BuildingInsights.DetectedArrays;
571
+
572
+ /**
573
+ * Verifies a DetectedArrays message.
574
+ * @param message Plain object to verify
575
+ * @returns `null` if valid, otherwise the reason why it is not
576
+ */
577
+ public static verify(message: { [k: string]: any }): (string|null);
578
+
579
+ /**
580
+ * Creates a DetectedArrays message from a plain object. Also converts values to their respective internal types.
581
+ * @param object Plain object
582
+ * @returns DetectedArrays
583
+ */
584
+ public static fromObject(object: { [k: string]: any }): google.maps.solar.v1.BuildingInsights.DetectedArrays;
585
+
586
+ /**
587
+ * Creates a plain object from a DetectedArrays message. Also converts values to other types if specified.
588
+ * @param message DetectedArrays
589
+ * @param [options] Conversion options
590
+ * @returns Plain object
591
+ */
592
+ public static toObject(message: google.maps.solar.v1.BuildingInsights.DetectedArrays, options?: $protobuf.IConversionOptions): { [k: string]: any };
593
+
594
+ /**
595
+ * Converts this DetectedArrays to JSON.
596
+ * @returns JSON object
597
+ */
598
+ public toJSON(): { [k: string]: any };
599
+
600
+ /**
601
+ * Gets the default type url for DetectedArrays
602
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
603
+ * @returns The default type url
604
+ */
605
+ public static getTypeUrl(typeUrlPrefix?: string): string;
606
+ }
607
+
608
+ namespace DetectedArrays {
609
+
610
+ /** DetectionStatus enum. */
611
+ enum DetectionStatus {
612
+ DETECTION_STATUS_UNSPECIFIED = 0,
613
+ DETECTION_STATUS_DATA_UNAVAILABLE = 1,
614
+ DETECTION_STATUS_ARRAYS_DETECTED = 2,
615
+ DETECTION_STATUS_NO_ARRAYS_DETECTED = 3
616
+ }
617
+ }
618
+ }
619
+
491
620
  /** Properties of a SolarPotential. */
492
621
  interface ISolarPotential {
493
622
 
@@ -2387,6 +2516,12 @@ export namespace google {
2387
2516
  public static getTypeUrl(typeUrlPrefix?: string): string;
2388
2517
  }
2389
2518
 
2519
+ /** AdditionalInsights enum. */
2520
+ enum AdditionalInsights {
2521
+ ADDITIONAL_INSIGHTS_UNSPECIFIED = 0,
2522
+ DETECTED_ARRAYS = 2
2523
+ }
2524
+
2390
2525
  /** DataLayerView enum. */
2391
2526
  enum DataLayerView {
2392
2527
  DATA_LAYER_VIEW_UNSPECIFIED = 0,