earthengine-api 1.5.24rc0__py3-none-any.whl → 1.6.0__py3-none-any.whl
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.
Potentially problematic release.
This version of earthengine-api might be problematic. Click here for more details.
- {earthengine_api-1.5.24rc0.dist-info → earthengine_api-1.6.0.dist-info}/METADATA +1 -1
- earthengine_api-1.6.0.dist-info/RECORD +107 -0
- ee/__init__.py +11 -10
- ee/_arg_types.py +2 -1
- ee/_cloud_api_utils.py +7 -6
- ee/_helpers.py +3 -2
- ee/apifunction.py +11 -9
- ee/apitestcase.py +2 -1
- ee/batch.py +46 -42
- ee/blob.py +2 -2
- ee/classifier.py +57 -59
- ee/cli/commands.py +9 -7
- ee/cli/utils.py +13 -9
- ee/clusterer.py +39 -41
- ee/collection.py +42 -42
- ee/computedobject.py +10 -10
- ee/confusionmatrix.py +8 -8
- ee/customfunction.py +2 -2
- ee/data.py +15 -14
- ee/daterange.py +9 -9
- ee/deprecation.py +13 -11
- ee/deserializer.py +5 -5
- ee/dictionary.py +11 -11
- ee/ee_array.py +17 -17
- ee/ee_date.py +22 -22
- ee/ee_list.py +15 -15
- ee/ee_number.py +5 -5
- ee/ee_string.py +6 -6
- ee/ee_types.py +2 -2
- ee/element.py +14 -14
- ee/errormargin.py +3 -3
- ee/feature.py +67 -70
- ee/featurecollection.py +30 -32
- ee/filter.py +88 -90
- ee/function.py +3 -3
- ee/geometry.py +61 -62
- ee/image.py +216 -209
- ee/image_converter.py +2 -2
- ee/imagecollection.py +23 -20
- ee/join.py +13 -15
- ee/kernel.py +55 -57
- ee/oauth.py +26 -20
- ee/pixeltype.py +5 -5
- ee/projection.py +4 -3
- ee/reducer.py +39 -41
- ee/serializer.py +4 -4
- ee/table_converter.py +3 -2
- ee/terrain.py +6 -8
- ee/tests/_cloud_api_utils_test.py +1 -1
- ee/tests/_helpers_test.py +1 -1
- ee/tests/batch_test.py +1 -1
- ee/tests/data_test.py +2 -2
- ee/tests/ee_test.py +3 -3
- ee/tests/errormargin_test.py +1 -1
- ee/tests/image_converter_test.py +2 -2
- ee/tests/pixeltype_test.py +1 -2
- ee/tests/projection_test.py +2 -3
- ee/tests/table_converter_test.py +2 -2
- earthengine_api-1.5.24rc0.dist-info/RECORD +0 -107
- {earthengine_api-1.5.24rc0.dist-info → earthengine_api-1.6.0.dist-info}/WHEEL +0 -0
- {earthengine_api-1.5.24rc0.dist-info → earthengine_api-1.6.0.dist-info}/entry_points.txt +0 -0
- {earthengine_api-1.5.24rc0.dist-info → earthengine_api-1.6.0.dist-info}/licenses/LICENSE +0 -0
- {earthengine_api-1.5.24rc0.dist-info → earthengine_api-1.6.0.dist-info}/top_level.txt +0 -0
ee/reducer.py
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"""A wrapper for Reducers."""
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
-
from typing import Optional
|
|
5
|
-
|
|
6
4
|
from ee import _arg_types
|
|
7
5
|
from ee import apifunction
|
|
8
6
|
from ee import computedobject
|
|
@@ -100,11 +98,11 @@ class Reducer(computedobject.ComputedObject):
|
|
|
100
98
|
@staticmethod
|
|
101
99
|
def autoHistogram(
|
|
102
100
|
# pylint: disable=invalid-name
|
|
103
|
-
maxBuckets:
|
|
104
|
-
minBucketWidth:
|
|
105
|
-
maxRaw:
|
|
101
|
+
maxBuckets: _arg_types.Integer | None = None,
|
|
102
|
+
minBucketWidth: _arg_types.Number | None = None,
|
|
103
|
+
maxRaw: _arg_types.Integer | None = None,
|
|
106
104
|
# pylint: enable=invalid-name
|
|
107
|
-
cumulative:
|
|
105
|
+
cumulative: _arg_types.Bool | None = None,
|
|
108
106
|
) -> Reducer:
|
|
109
107
|
"""Returns an ee.Reducer that computes a histogram of the inputs.
|
|
110
108
|
|
|
@@ -201,8 +199,8 @@ class Reducer(computedobject.ComputedObject):
|
|
|
201
199
|
self,
|
|
202
200
|
reducer2: _arg_types.Reducer,
|
|
203
201
|
# pylint: disable=invalid-name
|
|
204
|
-
outputPrefix:
|
|
205
|
-
sharedInputs:
|
|
202
|
+
outputPrefix: _arg_types.String | None = None,
|
|
203
|
+
sharedInputs: _arg_types.Bool | None = None,
|
|
206
204
|
# pylint: enable=invalid-name
|
|
207
205
|
) -> Reducer:
|
|
208
206
|
"""Returns a Reducer that runs two reducers in parallel.
|
|
@@ -289,7 +287,7 @@ class Reducer(computedobject.ComputedObject):
|
|
|
289
287
|
|
|
290
288
|
return apifunction.ApiFunction.call_('Reducer.covariance')
|
|
291
289
|
|
|
292
|
-
def disaggregate(self, axis:
|
|
290
|
+
def disaggregate(self, axis: _arg_types.Integer | None = None) -> Reducer:
|
|
293
291
|
"""Returns a Reducer that separates aggregate inputs.
|
|
294
292
|
|
|
295
293
|
Separates aggregate inputs (Arrays, Lists, or Dictionaries) into individual
|
|
@@ -363,7 +361,7 @@ class Reducer(computedobject.ComputedObject):
|
|
|
363
361
|
min: _arg_types.Number, # pylint: disable=redefined-builtin
|
|
364
362
|
max: _arg_types.Number, # pylint: disable=redefined-builtin
|
|
365
363
|
steps: _arg_types.Integer,
|
|
366
|
-
cumulative:
|
|
364
|
+
cumulative: _arg_types.Bool | None = None,
|
|
367
365
|
) -> Reducer:
|
|
368
366
|
"""Returns a fixed histogram reducer.
|
|
369
367
|
|
|
@@ -443,9 +441,9 @@ class Reducer(computedobject.ComputedObject):
|
|
|
443
441
|
@staticmethod
|
|
444
442
|
def geometricMedian(
|
|
445
443
|
numX: _arg_types.Integer, # pylint: disable=invalid-name
|
|
446
|
-
eta:
|
|
444
|
+
eta: _arg_types.Number | None = None,
|
|
447
445
|
# pylint: disable-next=invalid-name
|
|
448
|
-
initialStepSize:
|
|
446
|
+
initialStepSize: _arg_types.Number | None = None,
|
|
449
447
|
) -> Reducer:
|
|
450
448
|
"""Returns a reducer that computes the geometric median across the inputs.
|
|
451
449
|
|
|
@@ -467,8 +465,8 @@ class Reducer(computedobject.ComputedObject):
|
|
|
467
465
|
|
|
468
466
|
def group(
|
|
469
467
|
self,
|
|
470
|
-
groupField:
|
|
471
|
-
groupName:
|
|
468
|
+
groupField: _arg_types.Integer | None = None,
|
|
469
|
+
groupName: _arg_types.String | None = None,
|
|
472
470
|
) -> Reducer:
|
|
473
471
|
"""Returns a reducer groups reducer records by the value of a given input.
|
|
474
472
|
|
|
@@ -487,9 +485,9 @@ class Reducer(computedobject.ComputedObject):
|
|
|
487
485
|
@staticmethod
|
|
488
486
|
def histogram(
|
|
489
487
|
# pylint: disable=invalid-name
|
|
490
|
-
maxBuckets:
|
|
491
|
-
minBucketWidth:
|
|
492
|
-
maxRaw:
|
|
488
|
+
maxBuckets: _arg_types.Integer | None = None,
|
|
489
|
+
minBucketWidth: _arg_types.Number | None = None,
|
|
490
|
+
maxRaw: _arg_types.Integer | None = None,
|
|
493
491
|
# pylint: enable=invalid-name
|
|
494
492
|
) -> Reducer:
|
|
495
493
|
"""Returns a reducer that will compute a histogram of the inputs.
|
|
@@ -512,9 +510,9 @@ class Reducer(computedobject.ComputedObject):
|
|
|
512
510
|
# pylint: disable=invalid-name
|
|
513
511
|
minPercentile: _arg_types.Number,
|
|
514
512
|
maxPercentile: _arg_types.Number,
|
|
515
|
-
maxBuckets:
|
|
516
|
-
minBucketWidth:
|
|
517
|
-
maxRaw:
|
|
513
|
+
maxBuckets: _arg_types.Integer | None = None,
|
|
514
|
+
minBucketWidth: _arg_types.Number | None = None,
|
|
515
|
+
maxRaw: _arg_types.Integer | None = None,
|
|
518
516
|
# pylint: enable=invalid-name
|
|
519
517
|
) -> Reducer:
|
|
520
518
|
"""Returns an interval mean reducer.
|
|
@@ -547,7 +545,7 @@ class Reducer(computedobject.ComputedObject):
|
|
|
547
545
|
@staticmethod
|
|
548
546
|
def kendallsCorrelation(
|
|
549
547
|
# pylint: disable-next=invalid-name
|
|
550
|
-
numInputs:
|
|
548
|
+
numInputs: _arg_types.Integer | None = None,
|
|
551
549
|
) -> Reducer:
|
|
552
550
|
"""Returns a reducer that computes the Kendall's Tau-b rank correlation.
|
|
553
551
|
|
|
@@ -609,7 +607,7 @@ class Reducer(computedobject.ComputedObject):
|
|
|
609
607
|
@staticmethod
|
|
610
608
|
def linearRegression(
|
|
611
609
|
numX: _arg_types.Integer, # pylint: disable=invalid-name
|
|
612
|
-
numY:
|
|
610
|
+
numY: _arg_types.Integer | None = None, # pylint: disable=invalid-name
|
|
613
611
|
) -> Reducer:
|
|
614
612
|
"""Returns a linear regression reducer.
|
|
615
613
|
|
|
@@ -635,7 +633,7 @@ class Reducer(computedobject.ComputedObject):
|
|
|
635
633
|
@staticmethod
|
|
636
634
|
def max(
|
|
637
635
|
# pylint: disable-next=invalid-name
|
|
638
|
-
numInputs:
|
|
636
|
+
numInputs: _arg_types.Integer | None = None,
|
|
639
637
|
) -> Reducer:
|
|
640
638
|
"""Returns a reducer that outputs the maximum value of its (first) input.
|
|
641
639
|
|
|
@@ -660,9 +658,9 @@ class Reducer(computedobject.ComputedObject):
|
|
|
660
658
|
@staticmethod
|
|
661
659
|
def median(
|
|
662
660
|
# pylint: disable=invalid-name
|
|
663
|
-
maxBuckets:
|
|
664
|
-
minBucketWidth:
|
|
665
|
-
maxRaw:
|
|
661
|
+
maxBuckets: _arg_types.Integer | None = None,
|
|
662
|
+
minBucketWidth: _arg_types.Number | None = None,
|
|
663
|
+
maxRaw: _arg_types.Integer | None = None,
|
|
666
664
|
# pylint: enable=invalid-name
|
|
667
665
|
) -> Reducer:
|
|
668
666
|
"""Returns a reducer that will compute the median of the inputs.
|
|
@@ -687,7 +685,7 @@ class Reducer(computedobject.ComputedObject):
|
|
|
687
685
|
@staticmethod
|
|
688
686
|
def min(
|
|
689
687
|
# pylint: disable-next=invalid-name
|
|
690
|
-
numInputs:
|
|
688
|
+
numInputs: _arg_types.Integer | None = None,
|
|
691
689
|
) -> Reducer:
|
|
692
690
|
"""Returns a reducer that outputs the minimum value of its first input.
|
|
693
691
|
|
|
@@ -712,9 +710,9 @@ class Reducer(computedobject.ComputedObject):
|
|
|
712
710
|
@staticmethod
|
|
713
711
|
def mode(
|
|
714
712
|
# pylint: disable=invalid-name
|
|
715
|
-
maxBuckets:
|
|
716
|
-
minBucketWidth:
|
|
717
|
-
maxRaw:
|
|
713
|
+
maxBuckets: _arg_types.Integer | None = None,
|
|
714
|
+
minBucketWidth: _arg_types.Number | None = None,
|
|
715
|
+
maxRaw: _arg_types.Integer | None = None,
|
|
718
716
|
# pylint: enable=invalid-name
|
|
719
717
|
) -> Reducer:
|
|
720
718
|
"""Returns a reducer that will compute the mode of the inputs.
|
|
@@ -760,10 +758,10 @@ class Reducer(computedobject.ComputedObject):
|
|
|
760
758
|
def percentile(
|
|
761
759
|
percentiles: _arg_types.List,
|
|
762
760
|
# pylint: disable=invalid-name
|
|
763
|
-
outputNames:
|
|
764
|
-
maxBuckets:
|
|
765
|
-
minBucketWidth:
|
|
766
|
-
maxRaw:
|
|
761
|
+
outputNames: _arg_types.List | None = None,
|
|
762
|
+
maxBuckets: _arg_types.Integer | None = None,
|
|
763
|
+
minBucketWidth: _arg_types.Number | None = None,
|
|
764
|
+
maxRaw: _arg_types.Integer | None = None,
|
|
767
765
|
# pylint: enable=invalid-name
|
|
768
766
|
) -> Reducer:
|
|
769
767
|
"""Returns a reducer that will compute the specified percentiles.
|
|
@@ -818,8 +816,8 @@ class Reducer(computedobject.ComputedObject):
|
|
|
818
816
|
@staticmethod
|
|
819
817
|
def ridgeRegression(
|
|
820
818
|
numX: _arg_types.Integer, # pylint: disable=invalid-name
|
|
821
|
-
numY:
|
|
822
|
-
lambda_:
|
|
819
|
+
numY: _arg_types.Integer | None = None, # pylint: disable=invalid-name
|
|
820
|
+
lambda_: _arg_types.Number | None = None,
|
|
823
821
|
**kwargs,
|
|
824
822
|
) -> Reducer:
|
|
825
823
|
# pylint: disable=g-doc-args
|
|
@@ -862,8 +860,8 @@ class Reducer(computedobject.ComputedObject):
|
|
|
862
860
|
@staticmethod
|
|
863
861
|
def robustLinearRegression(
|
|
864
862
|
numX: _arg_types.Integer, # pylint: disable=invalid-name
|
|
865
|
-
numY:
|
|
866
|
-
beta:
|
|
863
|
+
numY: _arg_types.Integer | None = None, # pylint: disable=invalid-name
|
|
864
|
+
beta: _arg_types.Number | None = None,
|
|
867
865
|
) -> Reducer:
|
|
868
866
|
"""Returns a robust linear regression reducer.
|
|
869
867
|
|
|
@@ -979,7 +977,7 @@ class Reducer(computedobject.ComputedObject):
|
|
|
979
977
|
def toCollection(
|
|
980
978
|
# pylint: disable=invalid-name
|
|
981
979
|
propertyNames: _arg_types.List,
|
|
982
|
-
numOptional:
|
|
980
|
+
numOptional: _arg_types.Integer | None = None,
|
|
983
981
|
# pylint: enable=invalid-name
|
|
984
982
|
) -> Reducer:
|
|
985
983
|
"""Returns a reducer that collects its inputs into a FeatureCollection.
|
|
@@ -998,8 +996,8 @@ class Reducer(computedobject.ComputedObject):
|
|
|
998
996
|
@staticmethod
|
|
999
997
|
def toList(
|
|
1000
998
|
# pylint: disable=invalid-name
|
|
1001
|
-
tupleSize:
|
|
1002
|
-
numOptional:
|
|
999
|
+
tupleSize: _arg_types.Integer | None = None,
|
|
1000
|
+
numOptional: _arg_types.Integer | None = None,
|
|
1003
1001
|
# pylint: enable=invalid-name
|
|
1004
1002
|
) -> Reducer:
|
|
1005
1003
|
"""Returns a reducer that collects its inputs into a list.
|
ee/serializer.py
CHANGED
|
@@ -160,8 +160,8 @@ class Serializer:
|
|
|
160
160
|
'type':
|
|
161
161
|
'Dictionary',
|
|
162
162
|
'value':
|
|
163
|
-
|
|
164
|
-
for key, value in obj.items()
|
|
163
|
+
{key: self._encode_value(value)
|
|
164
|
+
for key, value in obj.items()}
|
|
165
165
|
}
|
|
166
166
|
else:
|
|
167
167
|
raise ee_exception.EEException('Cannot encode object: %s' % obj)
|
|
@@ -403,8 +403,8 @@ class _ExpressionOptimizer:
|
|
|
403
403
|
reference_counts[reference] += 1
|
|
404
404
|
|
|
405
405
|
self._visit_all_values_in_expression(increment_reference_count)
|
|
406
|
-
return
|
|
407
|
-
if count == 1
|
|
406
|
+
return {reference for reference, count in reference_counts.items()
|
|
407
|
+
if count == 1}
|
|
408
408
|
|
|
409
409
|
def optimize(self) -> Any:
|
|
410
410
|
"""Optimises the expression, returning the optimised form."""
|
ee/table_converter.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"""Converters used in the table data fetching methods."""
|
|
2
2
|
|
|
3
|
-
from
|
|
3
|
+
from collections.abc import Iterator
|
|
4
|
+
from typing import Any, Optional, Union
|
|
4
5
|
|
|
5
6
|
|
|
6
7
|
class TableConverter:
|
|
@@ -51,7 +52,7 @@ class GeoPandasConverter(TableConverter):
|
|
|
51
52
|
return list(features)
|
|
52
53
|
|
|
53
54
|
|
|
54
|
-
_TABLE_DATA_CONVERTERS: dict[str,
|
|
55
|
+
_TABLE_DATA_CONVERTERS: dict[str, type[TableConverter]] = {
|
|
55
56
|
'PANDAS_DATAFRAME': PandasConverter,
|
|
56
57
|
'GEOPANDAS_GEODATAFRAME': GeoPandasConverter,
|
|
57
58
|
}
|
ee/terrain.py
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
"""A namespace for Terrain."""
|
|
2
2
|
from __future__ import annotations
|
|
3
3
|
|
|
4
|
-
from typing import Optional
|
|
5
|
-
|
|
6
4
|
from ee import _arg_types
|
|
7
5
|
from ee import apifunction
|
|
8
6
|
from ee import image as ee_image
|
|
@@ -54,8 +52,8 @@ class Terrain:
|
|
|
54
52
|
@staticmethod
|
|
55
53
|
def fillMinima(
|
|
56
54
|
image: _arg_types.Image,
|
|
57
|
-
borderValue:
|
|
58
|
-
neighborhood:
|
|
55
|
+
borderValue: _arg_types.Integer | None = None,
|
|
56
|
+
neighborhood: _arg_types.Integer | None = None,
|
|
59
57
|
) -> ee_image.Image:
|
|
60
58
|
"""Returns an ee.Image with local minima filled.
|
|
61
59
|
|
|
@@ -76,8 +74,8 @@ class Terrain:
|
|
|
76
74
|
image: _arg_types.Image,
|
|
77
75
|
azimuth: _arg_types.Number,
|
|
78
76
|
zenith: _arg_types.Number,
|
|
79
|
-
neighborhoodSize:
|
|
80
|
-
hysteresis:
|
|
77
|
+
neighborhoodSize: _arg_types.Integer | None = None,
|
|
78
|
+
hysteresis: _arg_types.Bool | None = None,
|
|
81
79
|
) -> ee_image.Image:
|
|
82
80
|
"""Returns an ee.Image with the hill shadow.
|
|
83
81
|
|
|
@@ -109,8 +107,8 @@ class Terrain:
|
|
|
109
107
|
@staticmethod
|
|
110
108
|
def hillshade(
|
|
111
109
|
input: _arg_types.Image,
|
|
112
|
-
azimuth:
|
|
113
|
-
elevation:
|
|
110
|
+
azimuth: _arg_types.Number | None = None,
|
|
111
|
+
elevation: _arg_types.Number | None = None,
|
|
114
112
|
) -> ee_image.Image:
|
|
115
113
|
"""Returns an ee.Image with a simple hillshade from a DEM.
|
|
116
114
|
|
|
@@ -414,7 +414,7 @@ class CloudApiUtilsTest(unittest.TestCase):
|
|
|
414
414
|
self.assertEqual({'width': 123, 'height': 123},
|
|
415
415
|
_cloud_api_utils.convert_to_grid_dimensions(123))
|
|
416
416
|
self.assertEqual({'width': 123, 'height': 123},
|
|
417
|
-
_cloud_api_utils.convert_to_grid_dimensions(
|
|
417
|
+
_cloud_api_utils.convert_to_grid_dimensions(123))
|
|
418
418
|
self.assertEqual({'width': 123, 'height': 234},
|
|
419
419
|
_cloud_api_utils.convert_to_grid_dimensions((123, 234)))
|
|
420
420
|
|
ee/tests/_helpers_test.py
CHANGED
|
@@ -25,7 +25,7 @@ class ProfilingTest(apitestcase.ApiTestCase):
|
|
|
25
25
|
is_get_profiles = isinstance(
|
|
26
26
|
value, computedobject.ComputedObject
|
|
27
27
|
) and value.func == apifunction.ApiFunction.lookup('Profile.getProfiles')
|
|
28
|
-
return 'hooked
|
|
28
|
+
return f'hooked={hooked} getProfiles={is_get_profiles}'
|
|
29
29
|
|
|
30
30
|
def testProfilePrinting(self):
|
|
31
31
|
ee.data.computeValue = self.MockValue
|
ee/tests/batch_test.py
CHANGED
|
@@ -59,7 +59,7 @@ class TaskTest(unittest.TestCase):
|
|
|
59
59
|
|
|
60
60
|
def testStartWithoutConfig(self):
|
|
61
61
|
task = batch.Task('an id', 'a task type', 'a state')
|
|
62
|
-
self.assertIsNone(
|
|
62
|
+
self.assertIsNone(task.config)
|
|
63
63
|
with self.assertRaisesRegex(ee.EEException, 'Task config'):
|
|
64
64
|
task.start()
|
|
65
65
|
|
ee/tests/data_test.py
CHANGED
|
@@ -315,8 +315,8 @@ class DataTest(unittest.TestCase):
|
|
|
315
315
|
update_mask = mock_update_asset.call_args[0][2]
|
|
316
316
|
self.assertSetEqual(
|
|
317
317
|
set(update_mask),
|
|
318
|
-
|
|
319
|
-
'properties.\"system:time_start\"'
|
|
318
|
+
{'properties.\"mYPropErTy\"',
|
|
319
|
+
'properties.\"system:time_start\"'})
|
|
320
320
|
|
|
321
321
|
def testListAssets(self):
|
|
322
322
|
cloud_api_resource = mock.MagicMock()
|
ee/tests/ee_test.py
CHANGED
|
@@ -460,9 +460,9 @@ class EETestCase(apitestcase.ApiTestCase):
|
|
|
460
460
|
|
|
461
461
|
def testNonAsciiDocumentation(self):
|
|
462
462
|
"""Verifies that non-ASCII characters in documentation work."""
|
|
463
|
-
foo =
|
|
464
|
-
bar =
|
|
465
|
-
baz =
|
|
463
|
+
foo = '\uFB00\u00F6\u01EB'
|
|
464
|
+
bar = 'b\u00E4r'
|
|
465
|
+
baz = 'b\u00E2\u00DF'
|
|
466
466
|
|
|
467
467
|
def MockAlgorithms():
|
|
468
468
|
return {
|
ee/tests/errormargin_test.py
CHANGED
|
@@ -26,7 +26,7 @@ class ErrorMarginTest(apitestcase.ApiTestCase):
|
|
|
26
26
|
self.assertEqual(errormargin_func, errormargin.func)
|
|
27
27
|
|
|
28
28
|
self.assertFalse(errormargin.isVariable())
|
|
29
|
-
self.assertEqual(
|
|
29
|
+
self.assertEqual({UNIT, VALUE}, set(errormargin.args))
|
|
30
30
|
expected_unit = {
|
|
31
31
|
'result': '0',
|
|
32
32
|
'values': {'0': {'constantValue': 'projected'}},
|
ee/tests/image_converter_test.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
"""Tests for the image_converter module."""
|
|
3
3
|
|
|
4
|
-
from typing import Optional
|
|
4
|
+
from typing import Optional
|
|
5
5
|
|
|
6
6
|
from absl.testing import parameterized
|
|
7
7
|
import numpy
|
|
@@ -20,7 +20,7 @@ class ImageConverterTest(parameterized.TestCase):
|
|
|
20
20
|
def test_from_file_format(
|
|
21
21
|
self,
|
|
22
22
|
data_format: str,
|
|
23
|
-
expected: Optional[
|
|
23
|
+
expected: Optional[type[image_converter.ImageConverter]],
|
|
24
24
|
) -> None:
|
|
25
25
|
"""Verifies `from_file_format` returns the correct converter class."""
|
|
26
26
|
if expected is None:
|
ee/tests/pixeltype_test.py
CHANGED
|
@@ -78,7 +78,7 @@ class PixelTypeTest(apitestcase.ApiTestCase):
|
|
|
78
78
|
|
|
79
79
|
self.assertFalse(pixeltype.isVariable())
|
|
80
80
|
self.assertEqual(
|
|
81
|
-
|
|
81
|
+
{DIMENSIONS_KEY, MAX_VALUE_KEY, MIN_VALUE_KEY, PRECISION_KEY},
|
|
82
82
|
set(pixeltype.args),
|
|
83
83
|
)
|
|
84
84
|
expected_dimensions = {'result': '0', 'values': {'0': {'constantValue': 2}}}
|
|
@@ -294,7 +294,6 @@ class PixelTypeTest(apitestcase.ApiTestCase):
|
|
|
294
294
|
expect = pixeltype_noargs_expr('int16')
|
|
295
295
|
expression = ee.PixelType.int16()
|
|
296
296
|
result = json.loads(expression.serialize())
|
|
297
|
-
print(json.dumps(result, indent=2))
|
|
298
297
|
self.assertEqual(expect, result)
|
|
299
298
|
|
|
300
299
|
def test_int32(self):
|
ee/tests/projection_test.py
CHANGED
|
@@ -44,7 +44,7 @@ class ProjectionTest(apitestcase.ApiTestCase):
|
|
|
44
44
|
projection_func = ee.ApiFunction.lookup('Projection')
|
|
45
45
|
self.assertEqual(projection_func, projection.func)
|
|
46
46
|
self.assertFalse(projection.isVariable())
|
|
47
|
-
self.assertEqual(
|
|
47
|
+
self.assertEqual({'crs', 'transform'}, set(projection.args))
|
|
48
48
|
self.assertEqual(EPSG_4326, projection.args['crs'])
|
|
49
49
|
expected_transform = {
|
|
50
50
|
'result': '0',
|
|
@@ -71,7 +71,7 @@ class ProjectionTest(apitestcase.ApiTestCase):
|
|
|
71
71
|
|
|
72
72
|
projection_func = ee.ApiFunction.lookup('Projection')
|
|
73
73
|
self.assertEqual(projection_func, projection.func)
|
|
74
|
-
self.assertEqual(
|
|
74
|
+
self.assertEqual({'crs', 'transformWkt'}, set(projection.args))
|
|
75
75
|
self.assertEqual(EPSG_4326, projection.args['crs'])
|
|
76
76
|
expected_transform_wkt = {
|
|
77
77
|
'result': '0',
|
|
@@ -169,7 +169,6 @@ class ProjectionTest(apitestcase.ApiTestCase):
|
|
|
169
169
|
})
|
|
170
170
|
expression = ee.Projection(EPSG_4326).nominalScale()
|
|
171
171
|
result = json.loads(expression.serialize())
|
|
172
|
-
print(result)
|
|
173
172
|
self.assertEqual(expect, result)
|
|
174
173
|
|
|
175
174
|
def test_scale(self):
|
ee/tests/table_converter_test.py
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env python3
|
|
2
2
|
"""Tests for the table_converter module."""
|
|
3
3
|
|
|
4
|
-
from typing import Any, Optional
|
|
4
|
+
from typing import Any, Optional
|
|
5
5
|
|
|
6
6
|
from absl.testing import parameterized
|
|
7
7
|
import geopandas
|
|
@@ -28,7 +28,7 @@ class TableConverterTest(parameterized.TestCase):
|
|
|
28
28
|
def test_from_file_format(
|
|
29
29
|
self,
|
|
30
30
|
data_format: str,
|
|
31
|
-
expected: Optional[
|
|
31
|
+
expected: Optional[type[table_converter.TableConverter]],
|
|
32
32
|
) -> None:
|
|
33
33
|
"""Verifies `from_file_format` returns the correct converter class."""
|
|
34
34
|
if expected is None:
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
earthengine_api-1.5.24rc0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
|
|
2
|
-
ee/__init__.py,sha256=XVqYtJ6kFOdmQuIJuBsOAHi_Luge0cPfpOduWcM98R4,16838
|
|
3
|
-
ee/_arg_types.py,sha256=AHSPCNoJt1PPO0OTzCby-BxtQ1-SQ29vtHa3sl65H-M,2635
|
|
4
|
-
ee/_cloud_api_utils.py,sha256=MU0ClQVZ5g79um27zcxt0A6bZSt2Pdwcd2nKz6KicU8,32466
|
|
5
|
-
ee/_helpers.py,sha256=VPVxUSKZggPbkygWivInv86bE8TpP5hVU6qAtYcKbqQ,4678
|
|
6
|
-
ee/_utils.py,sha256=SAXQ_ZefZUaOtyV6Lp3pdYqEFqblMEA6Bvxz0ltLjzA,1329
|
|
7
|
-
ee/apifunction.py,sha256=f2IVdqMZcj0uIsk7Ku0-1EzPg9NuXt_CSlNc1opfYQQ,8792
|
|
8
|
-
ee/apitestcase.py,sha256=ARg3YZaQktYqO7PPvAdYQWU2e3kN6KfcfR8pWvPHSKc,14932
|
|
9
|
-
ee/batch.py,sha256=dgXBddhKrHMi8JBqhb2FbgPYJRrokM7fxuxCcIanaek,82672
|
|
10
|
-
ee/blob.py,sha256=cKv_FGsunBqK06zm92HZbW400XMmFjGc9KB6qjBytDM,3205
|
|
11
|
-
ee/classifier.py,sha256=bvXDGZN9_XyGeDPc72mU-Y5piw1uus5vRec0Kitm7NY,23610
|
|
12
|
-
ee/clusterer.py,sha256=ndim_Iu3BFuOOw46mry1XKSEx_4SmAcLYZvOYIdCaFM,12402
|
|
13
|
-
ee/collection.py,sha256=aZVWqXwGHVwO4B7wkTCsYODUDEtDQSgs-4Zo2OKgKek,32427
|
|
14
|
-
ee/computedobject.py,sha256=sBWH4p1YoJrv10QQ1nzquOH69IepM9xTlR91Gna24_I,9112
|
|
15
|
-
ee/confusionmatrix.py,sha256=gSRG9xUv62psM86J9bpQm7d2lWOTue9ZWFooevMX-64,4260
|
|
16
|
-
ee/customfunction.py,sha256=CLtngmgRbzQ5bVXWjU283-dwikhCATDbBdNMUlbQD5g,7397
|
|
17
|
-
ee/data.py,sha256=y6_S2zAA9T78BpwwGDjdzGzbCqy040o_du6jCMEaAHc,88666
|
|
18
|
-
ee/daterange.py,sha256=8DWQw5ysVuju7a9PKaXHc6g0Bk3WF0QKbaKD5rpwbxs,5003
|
|
19
|
-
ee/deprecation.py,sha256=nyrT4dUumGp5Z1tR7kvszFlyh1rbTQbke6SaJKmsa-w,6062
|
|
20
|
-
ee/deserializer.py,sha256=sIQB-4jcZFmG40jMfxTFc1Eq9RaMxsH4WbYqhvaKSO0,8432
|
|
21
|
-
ee/dictionary.py,sha256=RH_mJQ6yYPgkHKFk1zJpjxtzWVyErnv2tLNft-TkJ_I,10548
|
|
22
|
-
ee/ee_array.py,sha256=oCKU3s-UGIWF4_gzOrWwesd8A5HFF0h22l5ruohtCIA,36369
|
|
23
|
-
ee/ee_date.py,sha256=qooNVKSNyCDQ1dQfoV4qOQC8B6hhjWH6vCYtg4qY2NM,10833
|
|
24
|
-
ee/ee_exception.py,sha256=uN3X76HuhicU0LTxqRKQu1ZU6L7zw0GuABgsBTT-Ycw,164
|
|
25
|
-
ee/ee_list.py,sha256=KI4RfMeYyGHN-XwPru9vqtqpsKWAHWhXNiZoZo9vBkI,19876
|
|
26
|
-
ee/ee_number.py,sha256=zb5LyiA4j24ml-B8ib4DTFne0Dzry2K4bSYhEdturtI,22615
|
|
27
|
-
ee/ee_string.py,sha256=gNMEJIWxRGiAa-FQrHYeAtEqdU9vJgXv4zyas3DHRZQ,7761
|
|
28
|
-
ee/ee_types.py,sha256=MWfXc0h3KgT8bLraI6qw-b0D3ogVkY5aDZKM3eoTsJA,3089
|
|
29
|
-
ee/element.py,sha256=EgRf6YYn5ZNGVHJLRkAaYJv4qjw7bg483y2oPi1hc24,6299
|
|
30
|
-
ee/encodable.py,sha256=ZzZBOVOEwc8a8Dby3oHwIhW-5za-4tvLDE0Q2oVaNwQ,1884
|
|
31
|
-
ee/errormargin.py,sha256=RVVVUIvAatipOol8UKCiRm5uUronipo0-o-ZbcAsE_M,3055
|
|
32
|
-
ee/feature.py,sha256=WftCIcSnWaoD7ZLb4AmBlHgdZbapc5oWCU0z4vl3a2g,30537
|
|
33
|
-
ee/featurecollection.py,sha256=0lHdbt-4OUSJitNXPYrfzb1Czzx7M-KkLs2Mg9Dj42U,14498
|
|
34
|
-
ee/filter.py,sha256=YFkir1W4QOBvoWM8OF_LdcEBDZu5YNGey4hgA0iILUw,35616
|
|
35
|
-
ee/function.py,sha256=wafVmduEdmT9vK2EsQLYfqAojKXMXaFhQpuk6El6wbw,7057
|
|
36
|
-
ee/geometry.py,sha256=YChyZ86DxpJcLEnjcTYFwqJSvL9uZfIEVmBnoCkHN7Y,59576
|
|
37
|
-
ee/image.py,sha256=RFlQEJ_xDqc-TbhzRAtEFKaBfmfMVhyCgwr5Q_sRh40,171630
|
|
38
|
-
ee/image_converter.py,sha256=QKVevJUoptYjAt778eQ99BkxvmI8W_Tv2iyiiW-k_AI,1500
|
|
39
|
-
ee/imagecollection.py,sha256=RFVjm-BgI8-3IjDTSCurgMMbyORP7yhB5cPvQAkSSoA,27122
|
|
40
|
-
ee/join.py,sha256=bzdGeNSIOYZf9MD5gekDRpQ9oAOuKsSftrPM3e7xssQ,7646
|
|
41
|
-
ee/kernel.py,sha256=xppt5uEQnP1BQl0XxJ8XT-pwbFl_MdggZWfBSQRGA9I,15196
|
|
42
|
-
ee/mapclient.py,sha256=QpUpKreEgOkjSXQBnfyViCwLQGiumHbKr-EA076XLYk,17500
|
|
43
|
-
ee/model.py,sha256=nXn0qhwKgiTA6xOUQ7aFe0o6Mis68hiywLoY9twLOj0,12185
|
|
44
|
-
ee/oauth.py,sha256=US64sivVT9WyFoN3aHQEKEztg1ssUm76GY4B0SLm8nw,21900
|
|
45
|
-
ee/pixeltype.py,sha256=Q1wa9RbXpMLCjY1SKIaaIJpFgscfDInkOa19S8DPrEA,5229
|
|
46
|
-
ee/projection.py,sha256=kd7i22y_xV175R1rMntczZAteXflflU6UFrev854x88,5857
|
|
47
|
-
ee/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
48
|
-
ee/reducer.py,sha256=lO4zuuZ5bSrK_wvmm6hBcAcZ33ebhvmHeYCyFLStmro,33886
|
|
49
|
-
ee/serializer.py,sha256=oT5XBf8YsuvkDLvScmzJBHsoLWQ1olL36MkcZvWrg_k,22817
|
|
50
|
-
ee/table_converter.py,sha256=XeLPo1EU1g2qZ8bSA2-qE8XPSW1mOZod7jpwClpkBRY,2067
|
|
51
|
-
ee/terrain.py,sha256=eDXtUVJkdQqvsjQmygCgHTLJKPB0FLi7H849NegDyp8,4910
|
|
52
|
-
ee/cli/__init__.py,sha256=YjzBDuYi6fiOv77Xfl-Qib2O6gRZj9z7Sx2Zz6teTXU,33
|
|
53
|
-
ee/cli/commands.py,sha256=o_Mv0OcgI1k_ddOz-_M6Q13iNZOQ5OSifug3cPwxGXM,71425
|
|
54
|
-
ee/cli/eecli.py,sha256=iws34w24UJI6H7Wl9WsEUwy-uN57Pw-bgHtr2f92olY,3044
|
|
55
|
-
ee/cli/eecli_wrapper.py,sha256=Z7R3IJcht2uG1h57oY7BSrkPiwQzNmmYlyCSX1_7L7c,1089
|
|
56
|
-
ee/cli/utils.py,sha256=Gnd5It-ty5rJyRcIG_fCPUdFNX79K__C1vf3REvq3t0,13845
|
|
57
|
-
ee/tests/_cloud_api_utils_test.py,sha256=SANsImcCZDnEcbV0nBFwT5QYM76XtAuppFns5SurM-o,18816
|
|
58
|
-
ee/tests/_helpers_test.py,sha256=exOYxGKSiXHKQF3Tn189LVfP7wcAXbmAy3BkS0690yY,1941
|
|
59
|
-
ee/tests/_utils_test.py,sha256=bOarVj3U-VFo9Prog8WQN_hAOMwJOiWKJxevUbdFPBQ,2753
|
|
60
|
-
ee/tests/algorithms.json,sha256=Vx1Kx_MhHv0z0B3WTeVAvchM8xVd3zYE7L-qT3gDGzA,729368
|
|
61
|
-
ee/tests/apifunction_test.py,sha256=62El-6jcgQmD7qt9eEDdM7IeIQmpV8M5xQ439g-zfN4,3767
|
|
62
|
-
ee/tests/batch_test.py,sha256=UdNmismzpVhH_h_iTNvfHIru9Sa8RyoN2WVSmwScZF4,62212
|
|
63
|
-
ee/tests/blob_test.py,sha256=2Y-btrQ8FQqmf1ccYR8hLzdCaM5uoHfSoB7a5OziTxA,3575
|
|
64
|
-
ee/tests/classifier_test.py,sha256=K6-wNZ2uh9oPYo7BV0vtfU73SBFpeNcFRMRmvEFc6Pg,19087
|
|
65
|
-
ee/tests/cloud_api_discovery_document.json,sha256=SnOeL8One57YdeHa7XxGZM-ptDPCeDSymBc7-Bo_hkA,41154
|
|
66
|
-
ee/tests/clusterer_test.py,sha256=B4m06wAtBeqvnIhRD2lnNy1UHDB_caleK_CqcrAU8dk,11620
|
|
67
|
-
ee/tests/collection_test.py,sha256=dnZwFADWQ8oShJHRTcYSzuP-waAxetTdM_CtVckWbMM,7563
|
|
68
|
-
ee/tests/computedobject_test.py,sha256=B27rDq9Urpvy0WqpdbKRYbt6AcT1i93HX-es7hrhWVY,4840
|
|
69
|
-
ee/tests/confusionmatrix_test.py,sha256=46JJh1-91AiYISXWZ6-2lvY5_Njvc8ompO9kmwqlFdg,7437
|
|
70
|
-
ee/tests/data_test.py,sha256=HNHI2RDL9oFzA_-dG48zYtpc10I9HeCdFa5vtyndInY,35299
|
|
71
|
-
ee/tests/daterange_test.py,sha256=a5fpg2lko3kCJzxQPCoAc_vjXkKy2zYcXbeSZKAFovI,8583
|
|
72
|
-
ee/tests/deprecation_test.py,sha256=_sCs59l6c-ijeyt5yPO-IRJsh8GGPp7ArSg3Y12u4mQ,8352
|
|
73
|
-
ee/tests/deserializer_test.py,sha256=-tbrL0cjrXdSLF7M3wl-QQuj6TjXJdkjp7RZvVErUy4,3427
|
|
74
|
-
ee/tests/dictionary_test.py,sha256=_OCE4i-NWECPnnrT4C54nUZ_2V8PyZvpTqAdKHAkvq8,11809
|
|
75
|
-
ee/tests/ee_array_test.py,sha256=JVXShdbOVOjlfSpNgYc_NVrknQatuPOZ19fG0Ii5yVU,50268
|
|
76
|
-
ee/tests/ee_date_test.py,sha256=8rLUXfjyiW3LiBOCSneA7ZGgmoFgN5oZr58x5THtKGY,11106
|
|
77
|
-
ee/tests/ee_list_test.py,sha256=yd2EWZGdg7pLJhsHSR5AbK58ZhT31GY-n2o1dDT3p9A,21797
|
|
78
|
-
ee/tests/ee_number_test.py,sha256=3MxX8Awie_L3FfwyltrL2UXNdqTyvtYJB9qIi73wlPM,33442
|
|
79
|
-
ee/tests/ee_string_test.py,sha256=9QuseILwZtbcczCyNyJ751kva96_9gPKXLRdgkgWMPs,9389
|
|
80
|
-
ee/tests/ee_test.py,sha256=t_YzfCBkKkqf4MM9yT8pN2Rb2S3FNp_3-CvkKe-uEHc,17064
|
|
81
|
-
ee/tests/ee_types_test.py,sha256=oRnqplaTWg47zuYfAYTTVwembCnw8XT20HPNMdAvgNE,921
|
|
82
|
-
ee/tests/element_test.py,sha256=Kqu_Z65FQcYHX4LebKm3LD0mWkRTRZccs-qAGz3bLsE,1964
|
|
83
|
-
ee/tests/errormargin_test.py,sha256=UVi3YcpUvo4nQCJJ3hE5a28bBTWeDt1gYvkZ2tkTNco,5066
|
|
84
|
-
ee/tests/feature_test.py,sha256=9SotWgRsQ48xZ9N-grlEWZjeamsWweXPS4sMSZCGX-s,22505
|
|
85
|
-
ee/tests/featurecollection_test.py,sha256=b3SwieXb8nyRzAlwKK_nSa4xGcy5AynIDZ1A3sV02Es,38440
|
|
86
|
-
ee/tests/filter_test.py,sha256=d-KQ_zI-r7BAMazKqqHMMzNUZdeC46BZiciMfthKEO8,35033
|
|
87
|
-
ee/tests/function_test.py,sha256=NbluwBCuWUZSzbMLAa04OP_qd95ibMjJWWNuM2P3Izo,3121
|
|
88
|
-
ee/tests/geometry_point_test.py,sha256=w9MYTwvw2Co9rIjffFB0ezQ_jZz8nxbdgOcyhqTTmjk,15093
|
|
89
|
-
ee/tests/geometry_test.py,sha256=z010i7CgwX8taJGk0NaMh6ArUDTIZllFgyZrMSpNFlI,30732
|
|
90
|
-
ee/tests/image_converter_test.py,sha256=kBFq3Ij2mNuAAMoUDqyT0IH2XzHtn9MCiijzyQxGifU,1891
|
|
91
|
-
ee/tests/image_test.py,sha256=_SJmee7orPot26vbxKEZcNZ6OsrNrxv3ToInWYLNZLM,150917
|
|
92
|
-
ee/tests/imagecollection_test.py,sha256=qosRZXCbhwFuy8qR7DbA-FMl4ktW7Y2cUJHeXLcszpg,38444
|
|
93
|
-
ee/tests/join_test.py,sha256=pFILq3qM27rO64WYbBC1A_Gs8_pabRv68X7MU_EM_cw,7630
|
|
94
|
-
ee/tests/kernel_test.py,sha256=ZblWHqgleJ-7C4lnL7awxfR1mcYtcxpXkkKUziKG2cA,19249
|
|
95
|
-
ee/tests/model_test.py,sha256=f2oLaDaAEr23QjkIAhBKY1Mt8CSRmo5N1-fyYRGd5j8,12053
|
|
96
|
-
ee/tests/oauth_test.py,sha256=hAGvot2xj1MFW6IdD1QAmSNIiuu4z4gCs3beRhp3U_k,2277
|
|
97
|
-
ee/tests/pixeltype_test.py,sha256=FpO2So2Bt_VeibrwGSo2Y1kgvOXEbLNBy_DC2Z292SA,10069
|
|
98
|
-
ee/tests/projection_test.py,sha256=_U5zDA3bBvLtathGNZHE8AvOXcJq4VjCwg6Tvy695no,6899
|
|
99
|
-
ee/tests/reducer_test.py,sha256=NYJTmX6AmBZyXGjOkgUh4t3tB6E8_vGlPYQIxJQbV9Q,31518
|
|
100
|
-
ee/tests/serializer_test.py,sha256=xZQBQMDK8dlGYLS-6s1JHhR1L5FKoaIwEkxdKlcpQTE,8802
|
|
101
|
-
ee/tests/table_converter_test.py,sha256=UJgt8ck06c9jHL-VOpKSD5VJcH-Wnw-TibtQpONsLbw,3379
|
|
102
|
-
ee/tests/terrain_test.py,sha256=8TmvGconOR-GkGrll4joXhpU9zi0b_8GFxvX_JlcCos,4328
|
|
103
|
-
earthengine_api-1.5.24rc0.dist-info/METADATA,sha256=nEsAmGCtTsSwVhSwcimB4iJhHwYWIBfVRrm9M7QQPPY,2146
|
|
104
|
-
earthengine_api-1.5.24rc0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
105
|
-
earthengine_api-1.5.24rc0.dist-info/entry_points.txt,sha256=-Ax4SCU-S474r8OD2LIxata6PRmkZoDrppQ4fP_exNc,50
|
|
106
|
-
earthengine_api-1.5.24rc0.dist-info/top_level.txt,sha256=go5zOwCgm5lIS3yTR-Vsxp1gNI4qdS-MP5eY-7zMxVY,3
|
|
107
|
-
earthengine_api-1.5.24rc0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|