CryoTEMPO-EOLIS products over Austfonna Basin 3

Introduction

This example shows how to use Specklia to retrieve CryoTEMPO-EOLIS Point and Gridded Product data over Austfonna Basin 3.

You can view the code below or click here to run it yourself in Google Colab!

Environment Setup

To run this notebook, you will need to make sure that the folllowing packages are installed in your python environment (all can be installed via pip/conda):

  • matplotlib

  • geopandas

  • contextily

  • ipykernel

  • shapely

  • specklia

If you are using the Google Colab environment, these packages will be installed in the next cell. Please note this step may take a few minutes.

[1]:
import sys
if 'google.colab' in sys.modules:
    %pip install rasterio --no-binary rasterio
    %pip install specklia
    %pip install matplotlib
    %pip install geopandas
    %pip install contextily
    %pip install shapely
    %pip install python-dotenv

Now, let’s import the packages and create a Specklia client to work with:

[2]:
# fix an issue that can sometimes occur with rasterio using the wrong version of proj
import os
import pyproj
os.environ['PROJ_LIB'] = pyproj.datadir.get_data_dir()

from datetime import datetime
import pprint
from time import perf_counter

import contextily as ctx
from dotenv import load_dotenv
import geopandas as gpd
from IPython.display import display
import matplotlib.colors as mcolors
import matplotlib.pyplot as plt
import numpy as np
from pandas import Timedelta
import shapely
from specklia import Specklia

# load a demonstration API key from a .env file.
load_dotenv()

# Specify polygon colors to match another Earthwave product, https://cs2eo.org.
data_coverage_color = np.array([52, 211, 153])/255
geo_filter_colour = np.array([96, 165, 250])/255

# To run this code yourself, first generate your own key using https://specklia.earthwave.co.uk.
if 'DEMO_API_KEY' in os.environ:
    client = Specklia(os.environ['DEMO_API_KEY'])
else:
    user_api_key = input('Please generate your own key using https://specklia.earthwave.co.uk/ApiKeys and paste it here:')
    client = Specklia(user_api_key)

Listing groups and datasets

The demonstration user has the same permissions as a freshly created Specklia user. Let’s list the groups they are a part of and the datasets they can access:

[3]:
display(client.list_groups())
group_name group_id
0 all_users all_users
1 demonstration_user 4ccfc777-c420-4ebc-afba-15bfcc2774b0
[4]:
available_datasets = client.list_datasets()
display(available_datasets)
dataset_id owning_group_id dataset_name description columns epsg4326_coverage min_timestamp max_timestamp last_queried_timestamp storage_tech owning_group_name created_timestamp last_modified_timestamp size_rows size_uncompressed_bytes
0 05cffaba-1849-4c90-811f-062465a150e7 all_users CryoTEMPO-EOLIS Gridded Product CryoTEMPO-EOLIS Elevation Over Land Ice from S... [{'name': 'time', 'type': 'int', 'description'... MULTIPOLYGON (((13.54446 77.9679, 13.64956 78.... 2010-08-15 00:00:00.000 2025-02-15 00:00:00.000 2025-07-04 09:19:04.112 OLAP all_users 2023-11-30 13:39:12.780 2025-06-09 14:54:33.691 281573972 46878008996
1 7b9350b7-0184-4710-beae-65ce8423af37 all_users CryoTEMPO-EOLIS Point Product CryoTEMPO-EOLIS Elevation Over Land Ice from S... [{'name': 'time', 'type': 'int', 'description'... MULTIPOLYGON (((-121.10458 -85.34508, -121.103... 2010-07-16 00:08:48.000 2025-03-31 23:21:55.000 2025-07-04 09:13:57.082 OLAP all_users 2023-11-30 14:27:18.254 2025-06-11 02:29:39.790 112700523715 16937039282354
2 5ad51abc-9d48-42b5-9851-1187463a79d5 all_users CryoTEMPO Inland Water Thematic Product Baseli... CryoTEMPO Inland Water product providing water... [{'name': 'wsh_mle4', 'type': 'float', 'descri... MULTIPOLYGON (((13.89497 62.89651, 13.83991 62... 2010-07-16 19:30:09.000 2023-10-31 19:22:49.000 2025-06-05 13:37:42.291 OLAP all_users 2024-01-10 17:05:38.039 2024-01-11 00:10:09.690 1032630 163196916
3 b2349ad2-d9ce-46b7-a3a2-15acbf129e67 all_users RGIv7 Glaciers Randolph Glacier Inventory v7 Glaciers [{'name': 'rgi_id', 'type': 'str', 'descriptio... MULTIPOLYGON (((-63.87645 -64.79776, -64.05784... 2023-12-12 10:25:58.000 2023-12-12 10:25:58.000 2025-07-04 09:18:02.626 OLTP all_users NaT NaT 274531 776552448
4 58473d18-0bd4-42fe-b1f6-4348c21b6db1 all_users IMBIE Polygons Icesheet Mass Balance Intercomparison Exercise... [{'name': 'ice_sheet', 'type': 'str', 'descrip... MULTIPOLYGON (((-83.81796 -83.039, -84.43742 -... 2023-12-12 10:25:58.500 2023-12-12 10:25:58.500 2025-07-04 09:10:40.435 OLTP all_users NaT NaT 122 32485376
5 76a42372-f792-41f1-81e4-77c6ae73f872 all_users CryoTEMPO Coastal Ocean Thematic Product Basel... CryoTEMPO Coastal Ocean product providing alon... [{'name': 'sla', 'type': 'float', 'description... MULTIPOLYGON (((-3.82482 31.48007, -3.82482 31... 2010-07-16 00:47:36.000 2023-10-31 23:58:25.000 2025-06-20 10:54:39.801 OLAP all_users 2024-01-11 09:42:25.370 2024-01-11 20:22:07.569 38890488 7001761856
6 2550e489-de77-4477-bcac-f2409fbf6a46 all_users CryoTEMPO Sea Ice Thematic Product Baseline B CryoTEMPO Sea Ice product providing radar and ... [{'name': 'instrument_mode', 'type': 'float', ... MULTIPOLYGON (((-152.23343 60.68671, -152.0764... 2010-11-01 00:22:24.000 2023-12-31 23:55:31.000 2025-07-04 09:12:49.869 OLAP all_users 2024-03-02 09:31:09.290 2024-03-08 15:09:43.588 638077885 86920318910
7 16ef369d-c7bf-4a47-9ea5-9b6010f5fd7a all_users CryoTEMPO Polar Ocean Thematic Product Baseline B CryoTEMPO Polar Ocean product providing sea le... [{'name': 'dynamic_ocean_topography', 'type': ... MULTIPOLYGON (((78.50538 70.35213, 78.27979 70... 2010-08-01 00:37:22.000 2023-12-31 23:55:31.000 2025-07-04 09:12:23.721 OLAP all_users 2024-03-05 10:25:59.266 2024-03-08 11:25:06.217 1358354076 226346930728
8 db056d0f-cbe0-47b0-83cf-f89bf11e8881 all_users CryoTEMPO Land Ice Thematic Product Baseline B CryoTEMPO Land Ice product providing surface e... [{'name': 'instrument_mode', 'type': 'float', ... MULTIPOLYGON (((-44.58417 -71.68364, -44.79148... 2010-07-16 00:08:47.000 2024-01-01 00:00:16.000 2025-07-04 09:13:04.673 OLAP all_users 2024-03-09 20:53:02.831 2024-04-09 12:21:44.152 1144437670 175667589060
9 3bc644c6-b4af-4075-8f49-d18122c0a4f5 all_users RGIv7 First Order Regions Randolph Glacier Inventory v7 First Order Regions [{'name': 'o1region', 'type': 'str', 'descript... MULTIPOLYGON (((-12.17943 -60.39706, -12.13433... 2023-12-12 10:25:58.500 2023-12-12 10:25:58.500 2025-07-04 09:10:40.623 OLTP all_users NaT NaT 21 3084288
10 a84945c3-c851-49fd-b8a5-7066abfb281f all_users RGIv7 Second Order Regions Randolph Glacier Inventory v7 Second Order Reg... [{'name': 'o1region', 'type': 'str', 'descript... MULTIPOLYGON (((-167.14364 -79.75724, -167.029... 2023-12-12 10:25:58.500 2023-12-12 10:25:58.500 2025-07-04 09:10:41.197 OLTP all_users NaT NaT 91 4268032
11 9794dc78-6eec-415f-8662-f9474e3bcf46 all_users CryoTEMPO Coastal Ocean Thematic Product Basel... CryoTEMPO Coastal Ocean product providing alon... [{'name': 'sla', 'type': 'float', 'description... MULTIPOLYGON (((-20.42621 19.8743, -20.52155 1... 2010-07-16 00:47:36.000 2025-02-28 22:57:27.000 2025-06-26 00:18:32.432 OLAP all_users 2024-07-05 14:07:32.026 2025-06-15 22:11:53.623 218973802 39959191088
12 88e7d77b-ccac-4695-8647-ff1e82046e16 all_users CryoTEMPO Inland Water Thematic Product Baseli... CryoTEMPO Inland Water product providing water... [{'name': 'wsh_mle4', 'type': 'float', 'descri... MULTIPOLYGON (((-102.76808 58.84063, -102.7228... 2010-07-16 19:30:11.000 2025-02-28 22:57:41.000 2025-07-02 03:30:37.960 OLAP all_users 2024-07-05 15:38:42.685 2025-06-11 20:41:56.481 904998 183007948
13 7bfed064-49bd-4055-bc01-89f3c8b8959e all_users CryoTEMPO Land Ice Thematic Product Baseline C CryoTEMPO Land Ice product providing surface e... [{'name': 'instrument_mode', 'type': 'float', ... MULTIPOLYGON (((-54.27053 -60.0199, -54.41956 ... 2010-07-16 00:08:47.000 2025-03-01 00:00:15.000 2025-06-25 07:11:23.743 OLAP all_users 2024-07-05 20:45:55.979 2025-06-12 01:38:00.020 1243344251 192520694238
14 e39ed572-7e7b-4d8a-83e9-91a505c78ac8 all_users CryoTEMPO Sea Ice Thematic Product Baseline C CryoTEMPO Sea Ice product providing radar and ... [{'name': 'instrument_mode', 'type': 'float', ... MULTIPOLYGON (((-41.10758 59.47584, -40.98076 ... 2010-07-16 00:04:56.000 2025-02-28 23:53:57.000 2025-06-25 07:12:58.928 OLAP all_users 2024-07-08 16:13:15.476 2025-06-12 11:39:14.042 1402441494 195047519740
15 5de85669-9bac-4408-a10e-65f2f3dac8ca all_users CryoTEMPO Summer Sea Ice Thematic Product Base... CryoTEMPO Summer Sea Ice product providing rad... [{'name': 'instrument_mode', 'type': 'float', ... MULTIPOLYGON (((-143.65309 57.59378, -143.5419... 2011-04-01 00:01:28.000 2024-10-31 23:28:47.000 2025-06-25 07:13:27.886 OLAP all_users 2024-07-19 16:00:20.719 2025-06-12 19:27:15.386 643812947 72362502778
16 3a64b3f9-8a80-4e3d-900a-bb72078bd787 all_users CryoTEMPO Polar Ocean Thematic Product Baseline C CryoTEMPO Polar Ocean product providing sea le... [{'name': 'dynamic_ocean_topography', 'type': ... MULTIPOLYGON (((-1.57767 -71.56588, -1.56899 -... 2010-07-16 00:04:56.000 2025-02-28 23:53:57.000 2025-06-25 07:12:07.966 OLAP all_users 2025-01-15 14:45:00.324 2025-06-12 16:15:27.373 2809524820 460656488276
17 2c91f1e9-d263-4864-8411-031d4b5dd007 all_users CryoSat-2 Predicted Ground Tracks Reference nadir ground tracks for CryoSat-2 pr... [{'name': 'orbit_number', 'type': 'int', 'desc... POLYGON ((-180 60.76792, -180 60.86094, -180 6... 2024-12-23 01:25:29.000 2025-12-25 22:52:40.937 2025-06-27 10:32:11.555 OLAP all_users 2025-04-23 17:01:22.182 2025-04-23 20:53:05.891 15893017 2066092210

Plotting dataset spatial coverage

There’s a lot of information here. Let’s plot the geospatial coverage of the Point and Gridded product datasets, using Contextily to add a satellite background map. Note that as of 30th June 2023, only products covering Svalbard have been loaded. We will be loading more in the second half of 2023.

All background satellite imagery tiles are provided by the Esri World Imagery Service via Contextily.

[5]:
eolis_datasets = {}
for ds_name in ['CryoTEMPO-EOLIS Point Product', 'CryoTEMPO-EOLIS Gridded Product']:
    eolis_datasets[ds_name] = available_datasets[
        available_datasets['dataset_name'] == ds_name].iloc[0]

    print(f"{ds_name} contains data timestamped between \n"
        f"{eolis_datasets[ds_name]['min_timestamp']} "
        f"and {eolis_datasets[ds_name]['max_timestamp']}\n")

    print(f"{ds_name} has the following columns:")
    pprint.PrettyPrinter(indent=2, width=120).pprint(eolis_datasets[ds_name]['columns'])
    print("\n\n")

    desired_dataset_spatial_coverage = gpd.GeoDataFrame(
        geometry=[eolis_datasets[ds_name]['epsg4326_coverage']], crs=4326)

    # we create two plots, one for each hemisphere, to minimise distortion
    # and illustrate that multiple regions may be present within the same dataset
    for crs, hemisphere_name, hemisphere_bounding_box in [
            (3413, 'northern', (-180, 0, 180, 90)),
            (3031, 'southern', (-180, -90, 180, 0))
            ]:

        cropped_data = desired_dataset_spatial_coverage.clip(hemisphere_bounding_box)

        if len(cropped_data) > 0:
            transformed_cropped_data = cropped_data.to_crs(crs)
            ax = transformed_cropped_data.plot(
                figsize=(10, 10), alpha=0.5, color=data_coverage_color, edgecolor=data_coverage_color)

            ax.set_xlabel('x (m)')
            ax.set_ylabel('y (m)')
            ax.set_title(f"{ds_name} spatial coverage, {hemisphere_name} hemisphere (EPSG {crs})")

            # The basemap reprojection crashes when data crosses the top-left quadrant.
            # Draw the basemap as two hemispheres to get around this bug.
            xlim, ylim = ax.get_xlim(), ax.get_ylim()
            ax.set_xlim(1, 2)
            ax.set_ylim(1, 2)
            ctx.add_basemap(ax, source=ctx.providers.Esri.WorldImagery, crs=crs, attribution=False, zoom=1)
            ax.set_xlim(-2, -1)
            ax.set_ylim(-2, -1)
            ctx.add_basemap(ax, source=ctx.providers.Esri.WorldImagery, crs=crs, attribution=False, zoom=1)
            ax.set_xlim(*xlim)
            ax.set_ylim(*ylim)
CryoTEMPO-EOLIS Point Product contains data timestamped between
2010-07-16 00:08:48 and 2025-03-31 23:21:55

CryoTEMPO-EOLIS Point Product has the following columns:
[ { 'description': 'Measurement of time',
    'max_value': 1743463315,
    'min_value': 1279238928,
    'name': 'time',
    'type': 'int',
    'unit': 'Seconds from 1970 in the UTC timezone'},
  { 'description': 'x spatial position on the x axis using the projection defined for the region',
    'max_value': 4822187.5,
    'min_value': -3967621.5,
    'name': 'x',
    'type': 'float',
    'unit': 'metres'},
  { 'description': 'y spatial position on the y axis using the projection defined for the region',
    'max_value': 7328183.5,
    'min_value': -5005945.5,
    'name': 'y',
    'type': 'float',
    'unit': 'metres'},
  { 'description': 'Elevation estimate for a point in space and time',
    'max_value': 7327.7109375,
    'min_value': -150.98846435546875,
    'name': 'elevation',
    'type': 'float',
    'unit': 'metres'},
  { 'description': 'Uncertainty estimate for a point in space and time',
    'max_value': 24.9919490814209,
    'min_value': 0.5143656134605408,
    'name': 'uncertainty',
    'type': 'float',
    'unit': 'metres'},
  { 'description': 'Indicates whether a point is from the Swath processing 1 or is a POCA input 0',
    'max_value': 1,
    'min_value': 0,
    'name': 'is_swath',
    'type': 'int',
    'unit': 'swath1 poca0'},
  { 'description': 'Numeric id that uses the Variable Attribute as a String Lookup',
    'max_value': 2147477784,
    'min_value': -2147469836,
    'name': 'input_file_id',
    'type': 'int',
    'unit': 'Numeric Id'}]



CryoTEMPO-EOLIS Gridded Product contains data timestamped between
2010-08-15 00:00:00 and 2025-02-15 00:00:00

CryoTEMPO-EOLIS Gridded Product has the following columns:
[ { 'description': 'Measurement of time',
    'max_value': 1739577600,
    'min_value': 1281830400,
    'name': 'time',
    'type': 'int',
    'unit': 'Seconds from 1970 in the UTC timezone'},
  { 'description': 'Polar Stereographic EPSG 3413 X Coordinate',
    'max_value': 2679000.0,
    'min_value': -3967000.0,
    'name': 'x',
    'type': 'float',
    'unit': 'metres'},
  { 'description': 'Polar Stereographic EPSG 3413 Y Coordinate',
    'max_value': 7075000.0,
    'min_value': -3343000.0,
    'name': 'y',
    'type': 'float',
    'unit': 'metres'},
  { 'description': 'CryoTEMPO-EOLIS Gridded Elevation',
    'max_value': 6640.46728515625,
    'min_value': -121.99847412109375,
    'name': 'elevation',
    'type': 'float',
    'unit': 'metres'},
  { 'description': 'CryoTEMPO-EOLIS Gridded Uncertainty',
    'max_value': 19.99614715576172,
    'min_value': 0.2786601483821869,
    'name': 'uncertainty',
    'type': 'float',
    'unit': 'metres'},
  { 'description': 'The minimum x boundary of the grid cell',
    'max_value': 2678000.0,
    'min_value': -3968000.0,
    'name': 'x_bnds_min',
    'type': 'float',
    'unit': 'metres'},
  { 'description': 'The maximum x boundary of the grid cell',
    'max_value': 2680000.0,
    'min_value': -3966000.0,
    'name': 'x_bnds_max',
    'type': 'float',
    'unit': 'metres'},
  { 'description': 'The minimum y boundary of the grid cell',
    'max_value': 7074000.0,
    'min_value': -3344000.0,
    'name': 'y_bnds_min',
    'type': 'float',
    'unit': 'metres'},
  { 'description': 'The maximum y boundary of the grid cell',
    'max_value': 7076000.0,
    'min_value': -3342000.0,
    'name': 'y_bnds_max',
    'type': 'float',
    'unit': 'metres'}]



../_images/example_notebooks_austfonna_basin_3_10_1.png
../_images/example_notebooks_austfonna_basin_3_10_2.png
../_images/example_notebooks_austfonna_basin_3_10_3.png
../_images/example_notebooks_austfonna_basin_3_10_4.png

Querying RGI polygons

In this example, we are interested in studying Austfonna Basin 3. Conveniently, Specklia contains all RGI v7.0 glacier boundary definitions. Let’s retrieve the RGI v7.0 boundary of Basin 3 from Specklia and take a look.

Firstly, we need to define a rough polygon covering the area to query the RGIv7 polygons from Specklia.

[6]:
austfonna_extent = shapely.from_wkt(
    'POLYGON ((19.27002 79.492646, 23.862305 79.075977, 28.630371 79.843346, 25.708008 80.441282, 19.27002 79.492646))')
austfonna_extent_gdf = gpd.GeoSeries(austfonna_extent, crs=4326)
# We plot in the WGS 84 / NSIDC Sea Ice Polar Stereographic North CRS (EPSG 3413).
ax = austfonna_extent_gdf.to_crs(3413).plot(
    figsize=(10, 10), alpha=0.5, color=geo_filter_colour, edgecolor=geo_filter_colour)

ax.set_xlabel('x (meters)')
ax.set_ylabel('y (meters)')
ax.set_title("Query extent for Austfonna")
ctx.add_basemap(ax, source=ctx.providers.Esri.WorldImagery, crs=3413, attribution=False, zoom=8)
../_images/example_notebooks_austfonna_basin_3_12_0.png

Now that we have defined a rough extent covering Austfonna, we can query the polygons from Specklia. Specklia will return all RGI Glaciers whose centroids fall within the query polygon.

[7]:
rgiv7_dataset = available_datasets[available_datasets['dataset_name'] == 'RGIv7 Glaciers'].iloc[0]

query_start_time = perf_counter()

rgi_data, rgi_data_sources = client.query_dataset(
    dataset_id=rgiv7_dataset['dataset_id'],
    epsg4326_polygon=austfonna_extent,
    min_datetime=rgiv7_dataset['min_timestamp'] - Timedelta(seconds=1),
    max_datetime=rgiv7_dataset['max_timestamp'] + Timedelta(seconds=1))

print(f'Query took {perf_counter()-query_start_time:.2f} seconds to complete.')
print(f'Austfonna Polygon Query complete, {len(rgi_data)} points returned, '
        f'drawn from {len(rgi_data_sources)} original sources.')
print(f'Columns within the data: {rgi_data.columns}\n\n')
Query took 0.66 seconds to complete.
Austfonna Polygon Query complete, 35 points returned, drawn from 1 original sources.
Columns within the data: Index(['source_id', 'source_row_id', 'timestamp', 'rgi_id', 'o1region',
       'o2region', 'glims_id', 'anlys_id', 'subm_id', 'src_date', 'cenlon',
       'cenlat', 'utm_zone', 'area_km2', 'primeclass', 'conn_lvl',
       'surge_type', 'term_type', 'glac_name', 'is_rgi6', 'termlon', 'termlat',
       'zmin_m', 'zmax_m', 'zmed_m', 'zmean_m', 'slope_deg', 'aspect_deg',
       'aspect_sec', 'dem_source', 'lmax_m', 'original_polygons', 'nice_name',
       'min_lat', 'max_lat', 'min_lon', 'max_lon',
       'max_simplification_tolerance', 'simplified_polygons_t200',
       'simplified_polygons_t500', 'simplified_polygons_t1000',
       'simplified_polygons_t2100', 'simplified_polygons_t3500',
       'simplified_polygons_t8700', 'simplified_polygons_t17700',
       'simplified_polygons_t36200', 'simplified_polygons_t73600',
       'simplified_polygons_t150000', 'geometry'],
      dtype='object')


The Specklia query returns all of the original attributes in the RGI shapefile, as well as varying degrees of simplified versions of the original polygon. The simplified polygons have fewer vertices which make for faster querying, if we retrieve only those.

Additionally, source information is supplied for the returned data, and a direct link to the source file.

[8]:
display(rgi_data_sources)
display(rgi_data)
[{'source_id': '1d1802f8-1d40-413f-b6fb-1cdfbca64244',
  'min_time': datetime.datetime(2023, 12, 12, 10, 25, 58),
  'max_time': datetime.datetime(2023, 12, 12, 10, 25, 58),
  'geospatial_coverage': <MULTIPOLYGON (((18.871 80.017, 19.304 79.992, 19.134 79.908, 19.563 79.882,...>,
  'point_count': 1666,
  'source_information': {'description': 'RGI v7 polygons, from RGI2000-v7.0-G-07_svalbard_jan_mayen',
   'web_path': 'https://daacdata.apps.nsidc.org/pub/DATASETS/nsidc0770_rgi_v7/regional_files/RGI2000-v7.0-G/RGI2000-v7.0-G-07_svalbard_jan_mayen.zip'}}]
source_id source_row_id timestamp rgi_id o1region o2region glims_id anlys_id subm_id src_date ... simplified_polygons_t500 simplified_polygons_t1000 simplified_polygons_t2100 simplified_polygons_t3500 simplified_polygons_t8700 simplified_polygons_t17700 simplified_polygons_t36200 simplified_polygons_t73600 simplified_polygons_t150000 geometry
0 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1379 1.702377e+09 RGI2000-v7.0-G-07-01380 07 07-01 G026149E79828N 102995 563 2001-07-10T00:00:00 ... POLYGON ((26.61388 79.83142, 25.84645 79.88049... POLYGON ((26.61388 79.83142, 25.84645 79.88049... POLYGON ((26.61388 79.83142, 25.84645 79.88049... POLYGON ((26.61388 79.83142, 25.7373 79.86216,... POLYGON ((26.61388 79.83142, 25.7373 79.86216,... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (26.34832 79.80721)
1 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1378 1.702377e+09 RGI2000-v7.0-G-07-01379 07 07-01 G026458E79881N 102996 563 2001-07-10T00:00:00 ... POLYGON ((27.16908 79.89404, 26.5883 79.91298,... POLYGON ((27.16908 79.89404, 26.5883 79.91298,... POLYGON ((27.16908 79.89404, 26.38013 79.94683... POLYGON ((27.16908 79.89404, 26.38013 79.94683... POLYGON ((27.16908 79.89404, 25.84644 79.88048... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (26.60746 79.87224)
2 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1377 1.702377e+09 RGI2000-v7.0-G-07-01378 07 07-01 G026669E79935N 103034 563 2008-08-14T00:00:00 ... POLYGON ((27.16909 79.89404, 27.07837 79.93942... POLYGON ((27.16909 79.89404, 26.99737 79.97146... POLYGON ((27.16909 79.89404, 26.99737 79.97146... POLYGON ((27.16909 79.89404, 26.99737 79.97146... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (26.7925 79.93286)
3 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1375 1.702377e+09 RGI2000-v7.0-G-07-01376 07 07-01 G026693E79986N 103035 563 2008-08-14T00:00:00 ... POLYGON ((26.99737 79.97144, 27.12007 79.97562... POLYGON ((26.99737 79.97144, 27.12007 79.97562... POLYGON ((26.99737 79.97144, 27.10598 80.01346... POLYGON ((26.99737 79.97144, 26.93156 80.04974... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (26.79289 79.99713)
4 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1376 1.702377e+09 RGI2000-v7.0-G-07-01377 07 07-01 G027038E80056N 103920 563 2008-08-14T00:00:00 ... POLYGON ((27.04939 80.06137, 27.00124 80.05721... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (27.05333 80.05491)
5 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1374 1.702377e+09 RGI2000-v7.0-G-07-01375 07 07-01 G025747E79959N 103036 563 2008-08-14T00:00:00 ... POLYGON ((26.93156 80.04974, 26.92716 80.05666... POLYGON ((26.93156 80.04974, 26.98568 80.07853... POLYGON ((26.93156 80.04974, 26.75593 80.15027... POLYGON ((26.93156 80.04974, 26.75593 80.15027... POLYGON ((26.93156 80.04974, 26.06037 80.17468... POLYGON ((26.93156 80.04974, 26.06037 80.17468... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (26.01828 80.01316)
6 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1372 1.702377e+09 RGI2000-v7.0-G-07-01373 07 07-01 G025164E79993N 103407 563 2008-08-14T00:00:00 ... POLYGON ((25.47418 80.14555, 25.50105 80.16663... POLYGON ((25.47418 80.14555, 25.50105 80.16663... POLYGON ((25.47418 80.14555, 25.42796 80.21333... POLYGON ((25.47418 80.14555, 25.24448 80.22266... POLYGON ((25.47418 80.14555, 25.24448 80.22266... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (25.16718 80.03021)
7 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1370 1.702377e+09 RGI2000-v7.0-G-07-01371 07 07-01 G024143E79973N 103537 563 2008-08-14T00:00:00 ... POLYGON ((24.2867 80.13033, 24.24596 80.13021,... POLYGON ((24.2867 80.13033, 24.16006 80.15254,... POLYGON ((24.2867 80.13033, 23.76046 80.16663,... POLYGON ((24.2867 80.13033, 23.76046 80.16663,... POLYGON ((24.2867 80.13033, 23.76046 80.16663,... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (24.12696 79.998)
8 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1371 1.702377e+09 RGI2000-v7.0-G-07-01372 07 07-01 G024700E79994N 103408 563 2008-08-14T00:00:00 ... POLYGON ((25.17148 80.20192, 25.0333 80.23848,... POLYGON ((25.17148 80.20192, 25.0333 80.23848,... POLYGON ((25.17148 80.20192, 25.0333 80.23848,... POLYGON ((25.17148 80.20192, 24.77555 80.23921... POLYGON ((25.17148 80.20192, 24.2867 80.13033,... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (24.7316 80.03762)
9 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1373 1.702377e+09 RGI2000-v7.0-G-07-01374 07 07-01 G025456E80055N 103406 563 2008-08-14T00:00:00 ... POLYGON ((25.92807 80.13459, 25.86515 80.14133... POLYGON ((25.92807 80.13459, 25.86515 80.14133... POLYGON ((25.92807 80.13459, 25.47418 80.14555... POLYGON ((25.92807 80.13459, 25.47418 80.14555... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (25.58529 80.09301)
10 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1369 1.702377e+09 RGI2000-v7.0-G-07-01370 07 07-01 G023619E79932N 103538 563 2008-08-14T00:00:00 ... POLYGON ((23.82852 80.07212, 23.71964 80.08317... POLYGON ((23.82852 80.07212, 23.71964 80.08317... POLYGON ((23.82852 80.07212, 23.51371 80.08824... POLYGON ((23.82852 80.07212, 23.50217 80.1188,... POLYGON ((23.82852 80.07212, 23.10169 79.97521... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (23.57713 79.96388)
11 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1368 1.702377e+09 RGI2000-v7.0-G-07-01369 07 07-01 G023229E79872N 103600 563 2008-08-14T00:00:00 ... POLYGON ((23.39479 79.87727, 23.27959 79.92802... POLYGON ((23.39479 79.87727, 23.1017 79.97522,... POLYGON ((23.39479 79.87727, 23.1017 79.97522,... POLYGON ((23.39479 79.87727, 23.1017 79.97522,... POLYGON ((23.39479 79.87727, 23.1017 79.97522,... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (23.08983 79.89514)
12 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1386 1.702377e+09 RGI2000-v7.0-G-07-01387 07 07-01 G023284E79812N 103601 563 2008-08-14T00:00:00 ... POLYGON ((23.823 79.82722, 23.48302 79.85643, ... POLYGON ((23.823 79.82722, 23.48302 79.85643, ... POLYGON ((23.823 79.82722, 22.68488 79.86105, ... POLYGON ((23.823 79.82722, 22.68488 79.86105, ... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (22.97474 79.80681)
13 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1385 1.702377e+09 RGI2000-v7.0-G-07-01386 07 07-01 G022972E79705N 103677 563 2008-08-14T00:00:00 ... POLYGON ((23.51095 79.61636, 23.59802 79.64253... POLYGON ((23.51095 79.61636, 23.7791 79.81205,... POLYGON ((23.51095 79.61636, 23.7791 79.81205,... POLYGON ((23.51095 79.61636, 23.7791 79.81205,... POLYGON ((23.51095 79.61636, 23.7791 79.81205,... POLYGON ((23.51095 79.61636, 23.7791 79.81205,... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (22.8423 79.68748)
14 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1366 1.702377e+09 RGI2000-v7.0-G-07-01367 07 07-01 G021825E79896N 103007 563 2008-08-14T00:00:00 ... POLYGON ((21.93413 79.85268, 21.96394 79.85258... POLYGON ((21.93413 79.85268, 22.06898 79.92153... POLYGON ((21.93413 79.85268, 22.06898 79.92153... POLYGON ((21.93413 79.85268, 22.06898 79.92153... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (21.85429 79.88357)
15 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1333 1.702377e+09 RGI2000-v7.0-G-07-01334 07 07-01 G021796E79622N 103678 563 2008-08-14T00:00:00 ... POLYGON ((21.83193 79.69106, 21.58519 79.69272... POLYGON ((21.83193 79.69106, 21.58519 79.69272... POLYGON ((21.83193 79.69106, 21.58519 79.69272... POLYGON ((21.83193 79.69106, 21.58519 79.69272... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (21.85494 79.62986)
16 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1334 1.702377e+09 RGI2000-v7.0-G-07-01335 07 07-01 G021458E79648N 103679 563 2008-08-14T00:00:00 ... POLYGON ((21.64138 79.66167, 21.37382 79.67463... POLYGON ((21.64138 79.66167, 21.37382 79.67463... POLYGON ((21.64138 79.66167, 21.37382 79.67463... POLYGON ((21.64138 79.66167, 21.34171 79.70431... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (21.28029 79.65719)
17 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1328 1.702377e+09 RGI2000-v7.0-G-07-01329 07 07-01 G020876E79476N 103924 563 2008-08-14T00:00:00 ... POLYGON ((20.87766 79.54107, 20.7948 79.54571,... POLYGON ((20.87766 79.54107, 20.7948 79.54571,... POLYGON ((20.87766 79.54107, 20.79202 79.45287... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (20.84421 79.49624)
18 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1406 1.702377e+09 RGI2000-v7.0-G-07-01407 07 07-01 G021009E79425N 103038 563 2008-08-14T00:00:00 ... POLYGON ((21.12787 79.45388, 20.95301 79.47293... POLYGON ((21.12787 79.45388, 20.95301 79.47293... POLYGON ((21.12787 79.45388, 20.95301 79.47293... POLYGON ((21.12787 79.45388, 20.79202 79.45289... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (20.96169 79.41871)
19 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1329 1.702377e+09 RGI2000-v7.0-G-07-01330 07 07-01 G021054E79491N 103923 563 2008-08-14T00:00:00 ... POLYGON ((21.08305 79.52011, 21.03776 79.52169... POLYGON ((21.08305 79.52011, 21.05612 79.54072... POLYGON ((21.08305 79.52011, 20.87765 79.54106... POLYGON ((21.08305 79.52011, 20.87765 79.54106... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (21.03982 79.49662)
20 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1407 1.702377e+09 RGI2000-v7.0-G-07-01408 07 07-01 G021326E79440N 103039 563 2008-08-14T00:00:00 ... POLYGON ((21.58231 79.43692, 21.52333 79.47735... POLYGON ((21.58231 79.43692, 21.52333 79.47735... POLYGON ((21.58231 79.43692, 21.52333 79.47735... POLYGON ((21.58231 79.43692, 21.52333 79.47735... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (21.34514 79.42637)
21 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1330 1.702377e+09 RGI2000-v7.0-G-07-01331 07 07-01 G021261E79495N 103922 563 2008-08-14T00:00:00 ... POLYGON ((21.31298 79.53806, 21.17458 79.54324... POLYGON ((21.31298 79.53806, 21.17458 79.54324... POLYGON ((21.31298 79.53806, 21.08745 79.52373... POLYGON ((21.31298 79.53806, 21.08745 79.52373... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (21.29802 79.50302)
22 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1331 1.702377e+09 RGI2000-v7.0-G-07-01332 07 07-01 G021278E79612N 103723 563 2008-08-14T00:00:00 ... POLYGON ((21.48689 79.62724, 21.32241 79.64561... POLYGON ((21.48689 79.62724, 21.18218 79.64959... POLYGON ((21.48689 79.62724, 20.83832 79.63478... POLYGON ((21.48689 79.62724, 20.83832 79.63478... POLYGON ((21.48689 79.62724, 20.83832 79.63478... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (21.43034 79.56264)
23 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1408 1.702377e+09 RGI2000-v7.0-G-07-01409 07 07-01 G021473E79377N 103921 563 2008-08-14T00:00:00 ... POLYGON ((21.47844 79.3685, 21.52116 79.37683,... POLYGON ((21.47844 79.3685, 21.48481 79.38424,... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (21.47474 79.37589)
24 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1332 1.702377e+09 RGI2000-v7.0-G-07-01333 07 07-01 G021925E79522N 103724 563 2008-08-14T00:00:00 ... POLYGON ((22.78762 79.55351, 22.25726 79.61311... POLYGON ((22.78762 79.55351, 22.25726 79.61311... POLYGON ((22.78762 79.55351, 22.25726 79.61311... POLYGON ((22.78762 79.55351, 22.25726 79.61311... POLYGON ((22.78762 79.55351, 21.96265 79.58672... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (22.28005 79.51971)
25 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1383 1.702377e+09 RGI2000-v7.0-G-07-01384 07 07-01 G023559E79453N 102990 563 2001-07-10T00:00:00 ... POLYGON ((24.32909 79.46529, 24.23908 79.49731... POLYGON ((24.32909 79.46529, 24.23908 79.49731... POLYGON ((24.32909 79.46529, 23.51095 79.61638... POLYGON ((24.32909 79.46529, 23.51095 79.61638... POLYGON ((24.32909 79.46529, 23.08874 79.59801... POLYGON ((24.32909 79.46529, 23.08874 79.59801... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (23.51215 79.40139)
26 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1382 1.702377e+09 RGI2000-v7.0-G-07-01383 07 07-01 G024340E79634N 102992 563 2001-07-10T00:00:00 ... POLYGON ((24.88487 79.71135, 24.56826 79.83148... POLYGON ((24.88487 79.71135, 24.56826 79.83148... POLYGON ((24.88487 79.71135, 24.56826 79.83148... POLYGON ((24.88487 79.71135, 24.56826 79.83148... POLYGON ((24.88487 79.71135, 23.823 79.82722, ... POLYGON ((24.88487 79.71135, 23.823 79.82722, ... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (24.55449 79.59314)
27 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1380 1.702377e+09 RGI2000-v7.0-G-07-01381 07 07-01 G025297E79771N 102994 563 2001-07-10T00:00:00 ... POLYGON ((26.6024 79.71439, 26.02355 79.80326,... POLYGON ((26.6024 79.71439, 25.73731 79.86217,... POLYGON ((26.6024 79.71439, 25.73731 79.86217,... POLYGON ((26.6024 79.71439, 25.73731 79.86217,... POLYGON ((26.6024 79.71439, 25.73731 79.86217,... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (25.60107 79.74181)
28 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1381 1.702377e+09 RGI2000-v7.0-G-07-01382 07 07-01 G025168E79640N 102993 563 2001-07-10T00:00:00 ... POLYGON ((25.82048 79.59366, 25.49336 79.65104... POLYGON ((25.82048 79.59366, 25.49336 79.65104... POLYGON ((25.82048 79.59366, 24.88486 79.71135... POLYGON ((25.82048 79.59366, 24.88486 79.71135... POLYGON ((25.82048 79.59366, 24.88486 79.71135... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (25.27525 79.60726)
29 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1384 1.702377e+09 RGI2000-v7.0-G-07-01385 07 07-01 G024396E79406N 102991 563 2001-07-10T00:00:00 ... POLYGON ((24.94681 79.36036, 24.83217 79.37133... POLYGON ((24.94681 79.36036, 24.32908 79.46529... POLYGON ((24.94681 79.36036, 24.32908 79.46529... POLYGON ((24.94681 79.36036, 24.32908 79.46529... POLYGON ((24.94681 79.36036, 24.32908 79.46529... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (24.44701 79.36571)
30 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1327 1.702377e+09 RGI2000-v7.0-G-07-01328 07 07-01 G020422E79503N 103040 563 2008-08-14T00:00:00 ... POLYGON ((20.4939 79.52168, 20.3213 79.52976, ... POLYGON ((20.4939 79.52168, 20.3213 79.52976, ... POLYGON ((20.4939 79.52168, 20.3213 79.52976, ... POLYGON ((20.4939 79.52168, 20.3213 79.52976, ... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (20.42813 79.49038)
31 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1326 1.702377e+09 RGI2000-v7.0-G-07-01327 07 07-01 G020369E79543N 103041 563 2008-08-14T00:00:00 ... POLYGON ((20.49391 79.52166, 20.46099 79.53849... POLYGON ((20.49391 79.52166, 20.46099 79.53849... POLYGON ((20.49391 79.52166, 20.34601 79.57645... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (20.39502 79.54861)
32 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1324 1.702377e+09 RGI2000-v7.0-G-07-01325 07 07-01 G020175E79572N 103042 563 2008-08-14T00:00:00 ... POLYGON ((20.34602 79.57643, 20.36162 79.58162... POLYGON ((20.34602 79.57643, 20.26847 79.59996... POLYGON ((20.34602 79.57643, 20.14526 79.59636... POLYGON ((20.34602 79.57643, 20.14526 79.59636... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (20.18901 79.57013)
33 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1325 1.702377e+09 RGI2000-v7.0-G-07-01326 07 07-01 G020060E79600N 103043 563 2008-08-14T00:00:00 ... POLYGON ((20.21783 79.60406, 20.08223 79.61707... POLYGON ((20.21783 79.60406, 20.04301 79.62836... POLYGON ((20.21783 79.60406, 20.04301 79.62836... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (20.06903 79.60509)
34 1d1802f8-1d40-413f-b6fb-1cdfbca64244 1323 1.702377e+09 RGI2000-v7.0-G-07-01324 07 07-01 G020218E79508N 103044 563 2008-08-14T00:00:00 ... POLYGON ((20.06195 79.58221, 19.96127 79.60156... POLYGON ((20.06195 79.58221, 19.96127 79.60156... POLYGON ((20.06195 79.58221, 19.96127 79.60156... POLYGON ((20.06195 79.58221, 19.94729 79.51969... GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY GEOMETRYCOLLECTION EMPTY POINT (20.13619 79.51699)

35 rows × 49 columns

We can now plot the RGI v7.0 boundary definition for Austonna ice cap’s Basin 3, by extracting it from the returned polygons.

[9]:
austfonna_basin_3 = gpd.GeoSeries(
    rgi_data.loc[rgi_data['rgi_id'] == 'RGI2000-v7.0-G-07-01383', 'original_polygons'], crs=4326)

fig, ax = plt.subplots(figsize=(10, 10))

austfonna_basin_3.to_crs(3413).plot(ax=ax, facecolor=geo_filter_colour, edgecolor=geo_filter_colour, alpha=0.5)

ax.set_xlim(982000, 1106000)
ax.set_ylim(-484000, -322000)

ax.set_xlabel('x (meters)')
ax.set_ylabel('y (meters)')
ax.set_title(f"Austfonna Basin 3 ({rgi_data['rgi_id'].values[0]}, EPSG 3413)")
ctx.add_basemap(ax, source=ctx.providers.Esri.WorldImagery, crs=3413, attribution=False, zoom=8)
../_images/example_notebooks_austfonna_basin_3_18_0.png

Querying data

We can now query the two Specklia datasets for our study region.

[10]:
cryosat_data = {}
sources = {}
additional_filters = {
    'CryoTEMPO-EOLIS Point Product': [
        {'column': 'uncertainty', 'operator': '<=', 'threshold': 4}],
    'CryoTEMPO-EOLIS Gridded Product': []}

for ds_name, data in eolis_datasets.items():
    query_start_time = perf_counter()
    cryosat_data[ds_name], sources[ds_name] = client.query_dataset(
        dataset_id=data['dataset_id'],
        epsg4326_polygon=austfonna_basin_3.iloc[0],
        min_datetime=datetime(2015, 1, 1),
        max_datetime=datetime(2015, 12, 1),
        columns_to_return=['timestamp', 'elevation', 'uncertainty'],
        additional_filters=additional_filters[ds_name])

    print(f'Query took {perf_counter()-query_start_time:.2f} seconds to complete.')
    print(f'{ds_name} Query complete, {len(cryosat_data[ds_name])} points returned, '
          f'drawn from {len(sources[ds_name])} original sources.')
    print(f'Columns within the data: {cryosat_data[ds_name].columns}\n\n')
Query took 16.17 seconds to complete.
CryoTEMPO-EOLIS Point Product Query complete, 314486 points returned, drawn from 22 original sources.
Columns within the data: Index(['timestamp', 'elevation', 'uncertainty', 'source_id', 'source_row_id',
       'geometry'],
      dtype='object')


Query took 2.45 seconds to complete.
CryoTEMPO-EOLIS Gridded Product Query complete, 3188 points returned, drawn from 11 original sources.
Columns within the data: Index(['timestamp', 'elevation', 'uncertainty', 'source_id', 'source_row_id',
       'geometry'],
      dtype='object')


Note that within sources we have all of the source information from the original product files, including both the Earth Explorer and the NetCDF4 headers, and with the source_id and source_row_id columns, the ability to trace each point we have just retrieved from its original source file.

If we wanted to, we could run a query that would give us back 100% of the information available in the originally ingested file.

Lastly, we plot the CryoSat-2 data over the top of our study polygon, illustrating the filtering that has been performed:

[11]:
for ds_name, cs_data in cryosat_data.items():
    # create a normalised colormap
    norm = mcolors.Normalize(vmin=cs_data['elevation'].min(), vmax=cs_data['elevation'].max())

    ax = austfonna_basin_3.to_crs(epsg=3413).plot(figsize=(10, 10), alpha=0.5)
    cs_data.to_crs(epsg=3413).plot(ax=ax, column='elevation', markersize=.1, norm=norm)

    ax.set_xlabel('EPSG 3413 x (m)')
    ax.set_ylabel('EPSG 3413 y (m)')
    ax.set_title(f"{ds_name} Elevation over Austfonna Basin 3 \n(RGI v6.0, EPSG 3413)")
    ctx.add_basemap(ax, source=ctx.providers.Esri.WorldImagery, crs=3413, attribution=False, zoom=10)
    cbar = plt.gcf().colorbar(plt.cm.ScalarMappable(norm=norm), ax=ax, shrink=.5)
    cbar.set_label('Elevation (m)')
../_images/example_notebooks_austfonna_basin_3_22_0.png
../_images/example_notebooks_austfonna_basin_3_22_1.png