Using Earth engine examples
Uncomment the following line to install geemap if needed.
# !pip install -U geemap
import ee
import geemap
import json
Change file download location. Also added f.json to repo.
url = 'https://github.com/gee-community/geemap/blob/master/geemap/data/gee_f.json'
geemap.download_file(url)
with open('gee_f.json', encoding="utf-8") as f:
functions = json.load(f)
functions.keys()
[(x['name'], len(x['contents'])) for x in functions['examples']]
details = [
(dataset['name'], dataset['code'])
for x in functions['examples']
for dataset in x['contents']
if x['name'] == 'Datasets'
]
details[0]
def get_py(js):
try:
return geemap.js_snippet_to_py(
js, add_new_cell=False, import_ee=False, import_geemap=False, show_map=False
)
except:
return None
results_convert = [get_py(js) for _, js in details]
len(details), len(results_convert)
Except for 2 cases, converts ran without error.
len([x for x in results_convert if x])
from geemap import datasets
len(datasets.get_ee_stac_list())
known_datasets = set(name.replace('/', '_') for name in datasets.get_ee_stac_list())
known_code = set(name for name, _ in details)
len(known_code & known_datasets)
Sometimes there is a 2 example available for a dataset, mostly FeatureViews.
excess = known_code - known_datasets
len(excess)
excess_no_featureview = set(x.replace('_FeatureView', '') for x in known_code)
len(excess_no_featureview - known_datasets)
Leftovers
(excess_no_featureview - known_datasets)
missing_code = known_datasets - known_code
len(missing_code)
These are also missing in gee itself (logically as these load from f.json).
Deprecated stuff afaik, s.a. Landsat LT1
missing_code
from geemap import common
[x['title'] for x in common.search_ee_data('LANDSAT L1T')][:5]
[(x['uid'], x['title']) for x in common.search_ee_data('MODIS MYD')][:5]