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_id | group_name | |
---|---|---|
0 | all_users | all_users |
1 | 4ccfc777-c420-4ebc-afba-15bfcc2774b0 | demonstration_user |
[4]:
available_datasets = client.list_datasets()
display(available_datasets)
columns | created_timestamp | dataset_id | dataset_name | description | epsg4326_coverage | last_modified_timestamp | last_queried_timestamp | max_timestamp | min_timestamp | owning_group_id | owning_group_name | size_rows | size_uncompressed_bytes | storage_tech | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | [{'description': 'Measurement of time', 'max_v... | 2023-11-30 13:39:12 | 05cffaba-1849-4c90-811f-062465a150e7 | CryoTEMPO-EOLIS Gridded Product | CryoTEMPO-EOLIS Elevation Over Land Ice from S... | MULTIPOLYGON (((24.37098 79.24902, 24.17254 79... | 2024-06-06 13:15:01 | 2024-11-15 13:36:08 | 2024-01-15 00:00:00 | 2010-08-15 00:00:00 | all_users | all_users | 239815295 | 39809338946 | OLAP |
1 | [{'description': 'Measurement of time', 'max_v... | 2023-11-30 14:27:18 | 7b9350b7-0184-4710-beae-65ce8423af37 | CryoTEMPO-EOLIS Point Product | CryoTEMPO-EOLIS Elevation Over Land Ice from S... | MULTIPOLYGON (((-60.13265 -66.75852, -60.32589... | 2024-08-15 22:33:22 | 2024-11-15 13:31:35 | 2024-02-29 23:57:09 | 2010-07-16 00:08:48 | all_users | all_users | 81002409140 | 12148016402456 | OLAP |
2 | [{'description': 'Water surface height above e... | 2024-01-10 17:05:38 | 5ad51abc-9d48-42b5-9851-1187463a79d5 | CryoTEMPO Inland Water Thematic Product Baseli... | CryoTEMPO Inland Water product providing water... | MULTIPOLYGON (((13.89497 62.89651, 13.83991 62... | 2024-01-11 00:10:09 | 2024-11-08 17:43:52 | 2023-10-31 19:22:49 | 2010-07-16 19:30:09 | all_users | all_users | 1032630 | 163196916 | OLAP |
3 | [{'description': 'rgi id', 'max_value': 'RGI20... | NaT | b2349ad2-d9ce-46b7-a3a2-15acbf129e67 | RGIv7 Glaciers | Randolph Glacier Inventory v7 Glaciers | MULTIPOLYGON (((-63.87645 -64.79776, -64.05784... | NaT | 2024-11-15 13:38:44 | 2023-12-12 10:25:58 | 2023-12-12 10:25:58 | all_users | all_users | 274531 | 789323776 | OLTP |
4 | [{'description': 'The Ice Sheet containing the... | NaT | 58473d18-0bd4-42fe-b1f6-4348c21b6db1 | IMBIE Polygons | Icesheet Mass Balance Intercomparison Exercise... | MULTIPOLYGON (((-83.81796 -83.039, -84.43742 -... | NaT | 2024-11-15 13:44:32 | 2023-12-12 10:25:58 | 2023-12-12 10:25:58 | all_users | all_users | 122 | 33329152 | OLTP |
5 | [{'description': 'Sea Level Anomaly', 'max_val... | 2024-01-11 09:42:25 | 76a42372-f792-41f1-81e4-77c6ae73f872 | CryoTEMPO Coastal Ocean Thematic Product Basel... | CryoTEMPO Coastal Ocean product providing alon... | MULTIPOLYGON (((-3.82482 31.48007, -3.82482 31... | 2024-01-11 20:22:07 | 2024-11-11 10:42:33 | 2023-10-31 23:58:25 | 2010-07-16 00:47:36 | all_users | all_users | 38890488 | 7001761856 | OLAP |
6 | [{'description': 'SIRAL instrument mode flag -... | 2024-03-02 09:31:09 | 2550e489-de77-4477-bcac-f2409fbf6a46 | CryoTEMPO Sea Ice Thematic Product Baseline B | CryoTEMPO Sea Ice product providing radar and ... | MULTIPOLYGON (((-152.23343 60.68671, -152.0764... | 2024-03-08 15:09:43 | 2024-11-15 13:30:05 | 2023-12-31 23:55:31 | 2010-11-01 00:22:24 | all_users | all_users | 638077885 | 86920318910 | OLAP |
7 | [{'description': 'dynamic ocean topography', '... | 2024-03-05 10:25:59 | 16ef369d-c7bf-4a47-9ea5-9b6010f5fd7a | CryoTEMPO Polar Ocean Thematic Product Baseline B | CryoTEMPO Polar Ocean product providing sea le... | MULTIPOLYGON (((78.50538 70.35213, 78.27979 70... | 2024-03-08 11:25:06 | 2024-11-15 13:29:44 | 2023-12-31 23:55:31 | 2010-08-01 00:37:22 | all_users | all_users | 1358354076 | 226346930728 | OLAP |
8 | [{'description': 'CryoSat SIRAL instrument ope... | 2024-03-09 20:53:02 | db056d0f-cbe0-47b0-83cf-f89bf11e8881 | CryoTEMPO Land Ice Thematic Product Baseline B | CryoTEMPO Land Ice product providing surface e... | MULTIPOLYGON (((-44.58417 -71.68364, -44.79148... | 2024-04-09 12:21:44 | 2024-11-15 13:30:42 | 2024-01-01 00:00:16 | 2010-07-16 00:08:47 | all_users | all_users | 1144437670 | 175667589060 | OLAP |
9 | [{'description': 'o1region', 'max_value': None... | NaT | 3bc644c6-b4af-4075-8f49-d18122c0a4f5 | RGIv7 First Order Regions | Randolph Glacier Inventory v7 First Order Regions | MULTIPOLYGON (((-12.17943 -60.39706, -12.13433... | NaT | 2024-11-15 13:44:33 | 2023-12-12 10:25:58 | 2023-12-12 10:25:58 | all_users | all_users | 21 | 3084288 | OLTP |
10 | [{'description': 'o1region', 'max_value': None... | NaT | a84945c3-c851-49fd-b8a5-7066abfb281f | RGIv7 Second Order Regions | Randolph Glacier Inventory v7 Second Order Reg... | MULTIPOLYGON (((-167.14364 -79.75724, -167.029... | NaT | 2024-11-15 13:44:33 | 2023-12-12 10:25:58 | 2023-12-12 10:25:58 | all_users | all_users | 91 | 4268032 | OLTP |
11 | [{'description': 'Sea Level Anomaly', 'max_val... | 2024-07-05 14:07:32 | 9794dc78-6eec-415f-8662-f9474e3bcf46 | CryoTEMPO Coastal Ocean Thematic Product Basel... | CryoTEMPO Coastal Ocean product providing alon... | MULTIPOLYGON (((-17.0067 19.87888, -17.10119 1... | 2024-07-05 14:49:38 | 2024-07-10 13:19:32 | 2024-04-30 16:14:05 | 2010-07-16 00:47:36 | all_users | all_users | 206076389 | 37263979942 | OLAP |
12 | [{'description': 'Water surface height above e... | 2024-07-05 15:38:42 | 88e7d77b-ccac-4695-8647-ff1e82046e16 | CryoTEMPO Inland Water Thematic Product Baseli... | CryoTEMPO Inland Water product providing water... | MULTIPOLYGON (((-102.9723 57.79885, -103.1101 ... | 2024-07-05 15:58:48 | 2024-07-10 13:19:39 | 2024-04-30 14:30:01 | 2010-07-16 19:30:11 | all_users | all_users | 846056 | 169503520 | OLAP |
13 | [{'description': 'CryoSat SIRAL instrument ope... | 2024-07-05 20:45:55 | 7bfed064-49bd-4055-bc01-89f3c8b8959e | CryoTEMPO Land Ice Thematic Product Baseline C | CryoTEMPO Land Ice product providing surface e... | MULTIPOLYGON (((-54.55469 -59.57532, -54.43947... | 2024-07-06 11:09:54 | 2024-07-15 12:32:15 | 2024-03-31 22:41:28 | 2010-07-16 00:08:47 | all_users | all_users | 1163975600 | 178163876072 | OLAP |
14 | [{'description': 'SIRAL instrument mode flag -... | 2024-07-08 16:13:15 | e39ed572-7e7b-4d8a-83e9-91a505c78ac8 | CryoTEMPO Sea Ice Thematic Product Baseline C | CryoTEMPO Sea Ice product providing radar and ... | MULTIPOLYGON (((-34.19107 63.58839, -34.31752 ... | 2024-07-09 08:56:17 | 2024-07-19 10:18:08 | 2024-04-30 23:53:56 | 2010-07-16 00:04:56 | all_users | all_users | 1326067068 | 182488550480 | OLAP |
15 | [{'description': 'dynamic ocean topography', '... | 2024-07-09 09:24:39 | f28e1774-7f20-4943-952c-aa3154abfc19 | CryoTEMPO Polar Ocean Thematic Product Baseline C | CryoTEMPO Polar Ocean product providing sea le... | MULTIPOLYGON (((106.17442 -49.9604, 106.28569 ... | 2024-07-10 08:46:26 | 2024-08-07 10:44:03 | 2024-05-01 00:27:58 | 2010-07-16 00:04:56 | all_users | all_users | 2648829181 | 444394620958 | OLAP |
16 | [{'description': 'SIRAL instrument mode flag -... | 2024-07-19 16:00:20 | 5de85669-9bac-4408-a10e-65f2f3dac8ca | CryoTEMPO Summer Sea Ice Thematic Product Base... | CryoTEMPO Summer Sea Ice product providing rad... | MULTIPOLYGON (((-136.40515 54.45227, -136.52 5... | 2024-07-19 17:46:22 | 2024-08-03 19:51:09 | 2023-10-31 22:40:31 | 2011-04-01 00:01:28 | all_users | all_users | 598734791 | 66122419426 | OLAP |
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})")
# we calculate the zoom level dynamically so that we don't have to change this code
# when new regions are added to the CryoTEMPO EOLIS products.
ctx.add_basemap(ax, source=ctx.providers.Esri.WorldImagery, crs=crs, attribution=False,
zoom=ctx.tile._calculate_zoom(*cropped_data.total_bounds) - 1)
CryoTEMPO-EOLIS Point Product contains data timestamped between
2010-07-16 00:08:48 and 2024-02-29 23:57:09
CryoTEMPO-EOLIS Point Product has the following columns:
[ { 'description': 'Measurement of time',
'max_value': 1709251029,
'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': 4822076.0,
'min_value': -3967596.75,
'name': 'x',
'type': 'float',
'unit': 'metres'},
{ 'description': 'y spatial position on the y axis using the projection defined for the region',
'max_value': 7262211.0,
'min_value': -5003002.5,
'name': 'y',
'type': 'float',
'unit': 'metres'},
{ 'description': 'Elevation estimate for a point in space and time',
'max_value': 7327.7109375,
'min_value': -150.36830139160156,
'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': -2147469220,
'name': 'input_file_id',
'type': 'int',
'unit': 'Numeric Id'}]
CryoTEMPO-EOLIS Gridded Product contains data timestamped between
2010-08-15 00:00:00 and 2024-01-15 00:00:00
CryoTEMPO-EOLIS Gridded Product has the following columns:
[ { 'description': 'Measurement of time',
'max_value': 1705276800,
'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': 7071000.0,
'min_value': -3341000.0,
'name': 'y',
'type': 'float',
'unit': 'metres'},
{ 'description': 'CryoTEMPO-EOLIS Gridded Elevation',
'max_value': 6612.62841796875,
'min_value': -121.99847412109375,
'name': 'elevation',
'type': 'float',
'unit': 'metres'},
{ 'description': 'CryoTEMPO-EOLIS Gridded Uncertainty',
'max_value': 19.985267639160156,
'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': 7070000.0,
'min_value': -3342000.0,
'name': 'y_bnds_min',
'type': 'float',
'unit': 'metres'},
{ 'description': 'The maximum y boundary of the grid cell',
'max_value': 7072000.0,
'min_value': -3340000.0,
'name': 'y_bnds_max',
'type': 'float',
'unit': 'metres'}]
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)
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.37 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)
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 6.77 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.03 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)')