From 3c6202252111caa1b381c7e915349423f821e31a Mon Sep 17 00:00:00 2001 From: Ajai Tirumali Date: Wed, 3 May 2023 17:13:42 +0530 Subject: [PATCH 01/10] autorefresh script for flood events --- scripts/earthengine/process_events.py | 43 +++-- scripts/floods/flood_event_svobs.tmcf | 6 + scripts/floods/flood_events.tmcf | 12 ++ .../floods/flood_events_pipeline_config.py | 152 ++++++++++++++++++ scripts/floods/flood_place_svobs.tmcf | 16 ++ scripts/floods/generate_floods_events.py | 85 ++++++++++ scripts/floods/manifest.json | 18 +++ 7 files changed, 316 insertions(+), 16 deletions(-) create mode 100644 scripts/floods/flood_event_svobs.tmcf create mode 100644 scripts/floods/flood_events.tmcf create mode 100644 scripts/floods/flood_events_pipeline_config.py create mode 100644 scripts/floods/flood_place_svobs.tmcf create mode 100644 scripts/floods/generate_floods_events.py create mode 100644 scripts/floods/manifest.json diff --git a/scripts/earthengine/process_events.py b/scripts/earthengine/process_events.py index ae5be1a589..20693db309 100644 --- a/scripts/earthengine/process_events.py +++ b/scripts/earthengine/process_events.py @@ -58,7 +58,7 @@ _FLAGS = flags.FLAGS -_SCRIPTS_DIR = os.path.dirname(os.path.dirname(__file__)) +_SCRIPTS_DIR = os.path.dirname(__file__) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) @@ -835,6 +835,19 @@ def get_place_date_output_properties(self, event_ids: list, event property values, such as { 'area': 100 } aggregated by place and date ''' + # Aggregation settings for event properties across places for a date. + property_config_per_date = { + 'aggregate': 'sum', + 'area': { + 'aggregate': 'sum' + }, + 'EventId': { + 'aggregate': 'set' + } + } + property_config_per_date.update( + self._config.get('property_config_per_date', {})) + # Collect data for each event's (place, date) # as a dict: {(place, date): {'area': NN},... } place_date_pvs = dict() @@ -1340,19 +1353,6 @@ def write_events_place_svobs( f'Generating place svobs for {len(event_ids)} events for dates: {date_formats}' ) - # Aggregation settings for event properties across places for a date. - property_config_per_date = { - 'aggregate': 'sum', - 'area': { - 'aggregate': 'sum' - }, - 'EventId': { - 'aggregate': 'set' - } - } - property_config_per_date.update( - self._config.get('property_config_per_date', {})) - # Collect data for each event place and date # as a dict: {(place, date): {'area': NN},... } place_date_pvs = self.get_place_date_output_properties( @@ -1546,12 +1546,14 @@ def output_events(self, _set_counter_stage(self._counters, 'emit_events_svobs_') output_files.extend( self.write_events_svobs( - output_path=output_path, + output_path=_get_output_subdir_path(output_path, + 'event_svobs'), output_ended_events=output_ended_events)) if self._config.get('output_place_svobs', False): output_files.extend( self.write_events_place_svobs( - output_path=output_path, + output_path=_get_output_subdir_path(output_path, + 'place_svobs'), event_props=self._config.get( 'output_place_svobs_properties', ['area', 'count']), date_formats=self._config.get( @@ -1842,6 +1844,15 @@ def _get_list(items: str) -> list: return sorted(items_set) +def _get_output_subdir_path(path: str, sub_dir: str) -> str: + '''Adds a sub directory for the path prefix.''' + dirname = os.path.dirname(path) + basename = os.path.basename(path) + if dirname: + sub_dir = os.path.join(dirname, sub_dir) + return os.path.join(sub_dir, basename) + + _DEFAULT_CONFIG = {} diff --git a/scripts/floods/flood_event_svobs.tmcf b/scripts/floods/flood_event_svobs.tmcf new file mode 100644 index 0000000000..8ec4fd7abe --- /dev/null +++ b/scripts/floods/flood_event_svobs.tmcf @@ -0,0 +1,6 @@ +Node: E:SVObs->E0 +typeOf: C:SVObs->dcid:StatVarObservation +dcid: C:SVObs->dcid +observationDate: C:SVObs->observationDate +affectedPlace: C:SVObs->affectedPlace +area: C:SVObs->area \ No newline at end of file diff --git a/scripts/floods/flood_events.tmcf b/scripts/floods/flood_events.tmcf new file mode 100644 index 0000000000..50e8f981c4 --- /dev/null +++ b/scripts/floods/flood_events.tmcf @@ -0,0 +1,12 @@ +Node: E:Events->E0 +dcid: C:Events->dcid +typeOf: C:Events->typeOf +name: C:Events->name +startDate: C:Events->startDate +endDate: C:Events->endDate +observationPeriod: C:Events->observationPeriod +startLocation: C:Events->startLocation +affectedPlace: C:Events->affectedPlace +area: C:Events->area +observationDate: C:Events->observationDate +geoJsonCoordinates: C:Events->geoJsonCoordinates diff --git a/scripts/floods/flood_events_pipeline_config.py b/scripts/floods/flood_events_pipeline_config.py new file mode 100644 index 0000000000..466d688c40 --- /dev/null +++ b/scripts/floods/flood_events_pipeline_config.py @@ -0,0 +1,152 @@ +# Config to generate FloodEvent through the script: events_pipeline.py +{ + 'defaults': { + 'import_name': 'DynamicWorldFloods', + # Set start_date to start of year to be processed. + # Defaults to current year if left empty. + 'start_date': '', + 'time_period': 'P1M', + + # GCS settings + 'gcs_project': 'datcom', + 'gcs_bucket': 'datcom-prod-imports', + 'gcs_folder': 'scripts/floods', + }, + # State of previous run of the pipeline with input/output for each stage. + 'pipeline_state_file': + 'gs://datcom-prod-imports/scripts/floods/flood_event_pipeline_state_{year}.py', + + # Pipeline stages to generate flood events. + 'stages': [ + # Generate geoTiff from EarthEngine Dynamic World data set. + { + 'stage': 'earthengine', + + # Image loading settings. + 'ee_dataset': 'dynamic_world', + # Image processing settings. + 'ee_reducer': 'max', + 'band': 'water', + + # Filter by band value and remove permanent water + 'band_min': 0.7, + 'ee_mask': 'land', + + # Output image settings + 'scale': 1000, + 'gcs_folder': 'scripts/floods/{stage}', + 'ee_export_image': True, + # Generate monthly images for a year at a time. + # Events are processed annually from Jan-Dec. + 'ee_image_count': 12, + 'skip_existing_output': True, + }, + + # Convert geoTiff to CSV with S2 cells. + { + 'stage': + 'raster_csv', + 's2_level': + 13, + 'aggregate': + None, + 'input_data_filter': { + 'area': { + # pick max area for s2 cell. + # each fire in input is a fixed region. + 'aggregate': 'max' + }, + }, + + # use output from download stage as input + 'input_files': + 'gs://{gcs_bucket}/{gcs_folder}/earthengine/*{year}*.tif', + 'output_dir': + 'gs://{gcs_bucket}/{gcs_folder}/{stage}', + 'skip_existing_output': + True, + }, + + # Generate events from the CSV with flooded S2 cells per month. + { + 'stage': + 'events', + + # Process all data files for the whole year. + 'input_files': + 'gs://{gcs_bucket}/{gcs_folder}/raster_csv/*{year}*raster_csv.csv', + 'output_dir': + 'gs://{gcs_bucket}/{gcs_folder}/{stage}/{import_name}-{stage}-{year}-', + 'event_type': + 'FloodEvent', + + # Input settings. + # Columms of input_csv that are added as event properties + 'data_columns': ['area'], + 'input_rename_columns': { + 'date': 'observationDate', + }, + # Input column for date. + 'date_column': + 'observationDate', + # Columns of input_csv that contains the s2 cell id. + 'place_column': + 's2CellId', + + # Processing settings + # Maximum distance within which 2 events are merged. + 'max_overlap_distance_km': + 0, + # Maximum number of cells of same level in between 2 events to be merged. + 'max_overlap_place_hop': + 2, + # S2 level to which data is aggregated. + 's2_level': + 10, # Events are at resolution of level-10 S2 cells. + 'aggregate': + 'sum', # default aggregation for all properties + # Per property settings + 'property_config': { + 'area': { + 'aggregate': 'sum', + 'unit': 'SquareKilometer', + }, + 'affectedPlace': { + 'aggregate': 'list', + }, + }, + # Treat events at the same location more than 45 days apart as separate events. + 'max_event_interval_days': + 45, + + # Enable DC API lookup for place properties + 'dc_api_enabled': + False, + 'dc_api_batch_size': + 200, + # Cache file for place properties like name, location, typeOf + # Cache is updated with new places looked up. + 'place_property_cache_file': + 'gs://datcom-prod-imports/place_cache/place_properties_cache_with_s2_10.pkl', + + # Output settings. + #'output_delimiter': ';', + 'output_delimiter': + ',', + 'output_svobs': + True, + 'output_affected_place_polygon': + 'geoJsonCoordinates', + 'polygon_simplification_factor': + None, + 'output_geojon_string': + True, + + # Output svobs per place + 'output_place_svobs': + True, + 'output_place_svobs_properties': ['area', 'count'], + 'output_place_svobs_dates': ['YYYY-MM-DD', 'YYYY-MM', 'YYYY'], + }, + ], +} diff --git a/scripts/floods/flood_place_svobs.tmcf b/scripts/floods/flood_place_svobs.tmcf new file mode 100644 index 0000000000..9f9e301e70 --- /dev/null +++ b/scripts/floods/flood_place_svobs.tmcf @@ -0,0 +1,16 @@ +Node: E:EventPlaces->E0 +typeOf: dcs:StatVarObservation +variableMeasured: dcs:Area_FloodEvent +observationAbout: C:EventPlaces->observationAbout +observationDate: C:EventPlaces->observationDate +observationPeriod: C:EventPlaces->observationPeriod +value: C:EventPlaces->area +unit: SquareKilometer + +Node: E:EventPlaces->E1 +typeOf: dcs:StatVarObservation +variableMeasured: dcs:Count_FloodEvent +observationAbout: C:EventPlaces->observationAbout +observationDate: C:EventPlaces->observationDate +observationPeriod: C:EventPlaces->observationPeriod +value: C:EventPlaces->count \ No newline at end of file diff --git a/scripts/floods/generate_floods_events.py b/scripts/floods/generate_floods_events.py new file mode 100644 index 0000000000..fd0a5d6198 --- /dev/null +++ b/scripts/floods/generate_floods_events.py @@ -0,0 +1,85 @@ +# Copyright 2023 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the 'License'); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an 'AS IS' BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Script to generate Flood events using the events pipeline. + +The events pipeline is setup with the following stages: + 1. earthengine: + It uses the DynamicWorld data set from EarthEngine to get regions + with water. These are filtered with a land mask to remove permanent + water bodies like lakes. The regions with non-permanent water is + downloaded as a geoTif with 1 sqkm pixels. + + 2. raster_csv + The geoTif is converted into a CSV with each pixel wiht water converted + into an S2 cell of level 13 using the raster_to_csv.py utilities. + + 3. events + The resulting CSV with s2 cells with water is aggregated into events using + the process_events.py. Neighbouring s2 cells with water are collated into + a single event. s2 cells with water in successive time periods are also + added into the same event. + + Once the regions with water are collated into events, the process_events.py + utilities also generate a CSV with StatVar Observations for Area_FloodEvent and + Count_FloodEvent for each events s2 cells at level 10, and places it is + contained in, such as AdministrativeArea, Country, Continent and Earth. + + The generated files including the geoTif, CSVs with S2 cells and events are saved + in GCS. + + The script runs once a month to update flood events for the current year. +""" + +import os +import re +import sys +import time + +from absl import app +from absl import flags +from absl import logging + +_SCRIPTS_DIR = os.path.dirname(__file__) +sys.path.append(_SCRIPTS_DIR) +sys.path.append(os.path.dirname(_SCRIPTS_DIR)) +sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) +sys.path.append(os.path.join(os.path.dirname(_SCRIPTS_DIR), 'earthengine')) +sys.path.append( + os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util')) + +import file_util + +from config_map import ConfigMap +from events_pipeline import EventPipeline + +flags.DEFINE_string( + 'flood_pipeline_config', + os.path.join(_SCRIPTS_DIR, 'flood_events_pipeline_config.py'), + 'Config for the pipeline as a py dictionary of json') + +flags.DEFINE_list( + 'flood_pipeline_stages', [], + 'List of stages in the flood events pipeline config to be run.') + +_FLAGS = flags.FLAGS + + +def main(_): + pipeline = EventPipeline(config=ConfigMap( + filename=_FLAGS.flood_pipeline_config)) + pipeline.run(run_stages=_FLAGS.flood_pipeline_stages) + + +if __name__ == '__main__': + app.run(main) diff --git a/scripts/floods/manifest.json b/scripts/floods/manifest.json new file mode 100644 index 0000000000..77d8e724cb --- /dev/null +++ b/scripts/floods/manifest.json @@ -0,0 +1,18 @@ +{ + "import_specifications": [{ + "import_name": + "DynamicWorld_FloodEvents", + "curator_emails": ["ajaits@google.com"], + "provenance_url": + "https://developers.google.com/earth-engine/datasets/catalog/GOOGLE_DYNAMICWORLD_V1", + "provenance_description": + "Flood events inferred from areas marked with high probability of water outside the permanent water bodies.", + "scripts": ["generate_flood_events.py"], + "import_inputs": [{ + "template_mcf": "COVID19_cases_indian_states.tmcf", + "cleaned_csv": "COVID19_cases_indian_states.csv" + }], + "cron_schedule": + "0 5 * * *" + }] +} From def8830479692b9d7cab6e4073d4a99423f7de42 Mon Sep 17 00:00:00 2001 From: Ajai Tirumali Date: Wed, 3 May 2023 17:25:53 +0530 Subject: [PATCH 02/10] udpate pipeline config --- scripts/floods/flood_events_pipeline_config.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/scripts/floods/flood_events_pipeline_config.py b/scripts/floods/flood_events_pipeline_config.py index 466d688c40..61196bd965 100644 --- a/scripts/floods/flood_events_pipeline_config.py +++ b/scripts/floods/flood_events_pipeline_config.py @@ -14,7 +14,7 @@ }, # State of previous run of the pipeline with input/output for each stage. 'pipeline_state_file': - 'gs://datcom-prod-imports/scripts/floods/flood_event_pipeline_state_{year}.py', + 'gs://datcom-prod-imports/scripts/floods/flood_event_pipeline_state_{year}.py', # Pipeline stages to generate flood events. 'stages': [ @@ -76,7 +76,7 @@ 'input_files': 'gs://{gcs_bucket}/{gcs_folder}/raster_csv/*{year}*raster_csv.csv', 'output_dir': - 'gs://{gcs_bucket}/{gcs_folder}/{stage}/{import_name}-{stage}-{year}-', + 'gs://{gcs_bucket}/{gcs_folder}/{stage}/{import_name}-{stage}-{year}-', 'event_type': 'FloodEvent', @@ -127,7 +127,7 @@ # Cache file for place properties like name, location, typeOf # Cache is updated with new places looked up. 'place_property_cache_file': - 'gs://datcom-prod-imports/place_cache/place_properties_cache_with_s2_10.pkl', + 'gs://datcom-prod-imports/place_cache/place_properties_cache_with_s2_10.pkl', # Output settings. #'output_delimiter': ';', @@ -147,6 +147,11 @@ True, 'output_place_svobs_properties': ['area', 'count'], 'output_place_svobs_dates': ['YYYY-MM-DD', 'YYYY-MM', 'YYYY'], + # Generate stats for all containedInPlaces for the event. + # Uses the containedInPlace property in the + # place_property_cache_file. + 'aggregate_by_contained_in_place': + True, }, ], } From 2af22844641aab269e376703d23f0322e118537d Mon Sep 17 00:00:00 2001 From: Ajai Tirumali Date: Mon, 12 Jun 2023 22:32:02 +0530 Subject: [PATCH 03/10] update floods configs --- scripts/earthengine/events_pipeline.py | 2 +- .../earthengine/pipeline_stage_download.py | 9 +- scripts/earthengine/process_events.py | 91 ++- scripts/earthengine/process_events_test.py | 3 +- scripts/earthengine/utils.py | 8 + scripts/earthengine/utils_test.py | 586 ++++++++++-------- .../floods/flood_events_pipeline_config.py | 4 +- scripts/floods/generate_floods_events.py | 16 +- 8 files changed, 435 insertions(+), 284 deletions(-) diff --git a/scripts/earthengine/events_pipeline.py b/scripts/earthengine/events_pipeline.py index b3ddaa20f2..2d85eb0b2b 100644 --- a/scripts/earthengine/events_pipeline.py +++ b/scripts/earthengine/events_pipeline.py @@ -47,7 +47,7 @@ 'gcs_bucket': 'my-bucket', 'gcs_folder': 'my-import-name', }, - # Stage sepcific settings + # Stage specific settings 'stages': [ { 'stage': 'download', diff --git a/scripts/earthengine/pipeline_stage_download.py b/scripts/earthengine/pipeline_stage_download.py index 68b4e35f29..849856725a 100644 --- a/scripts/earthengine/pipeline_stage_download.py +++ b/scripts/earthengine/pipeline_stage_download.py @@ -15,7 +15,9 @@ """ import os +import re import sys +import time from absl import logging @@ -52,9 +54,10 @@ def run(self, # Download data from start_date up to end_date # advancing date by the time_period. start_date = self.get_config('start_date', '', config_dict) - end_date = self.get_config('end_date', '', config_dict) - if not end_date: - end_date = utils.date_yesterday() + yesterday = utils.date_yesterday() + end_date = self.get_config('end_date', yesterday, config_dict) + if end_date > yesterday: + end_date = yesterday data_files = [] while start_date and start_date <= end_date: # Download data for the start_date diff --git a/scripts/earthengine/process_events.py b/scripts/earthengine/process_events.py index 20693db309..cc59da74b0 100644 --- a/scripts/earthengine/process_events.py +++ b/scripts/earthengine/process_events.py @@ -76,6 +76,52 @@ from config_map import ConfigMap from dc_api_wrapper import dc_api_batched_wrapper +# List of place types from biggest to smallest +_PLACE_TYPE_ORDER = [ + 'Place', + 'OceanicBasin', + 'Continent', + 'Country', + 'CensusRegion', + 'CensusDivision', + 'State', + 'AdministrativeArea1', + 'County', + 'AdministrativeArea2', + 'CensusCountyDivision', + 'EurostatNUTS1', + 'EurostatNUTS2', + 'CongressionalDistrict', + 'UDISEDistrict', + 'CensusCoreBasedStatisticalArea', + 'EurostatNUTS3', + 'SuperfundSite', + 'Glacier', + 'AdministrativeArea3', + 'AdministrativeArea4', + 'PublicUtility', + 'CollegeOrUniversity', + 'EpaParentCompany', + 'UDISEBlock', + 'AdministrativeArea5', + 'EpaReportingFacility', + 'SchoolDistrict', + 'CensusZipCodeTabulationArea', + 'PrivateSchool', + 'CensusTract', + 'City', + 'AirQualitySite', + 'PublicSchool', + 'Neighborhood', + 'CensusBlockGroup', + 'AdministrativeArea', + 'Village', +] + +_PLACE_TYPE_RANK = { + _PLACE_TYPE_ORDER[index]: index for index in range(len(_PLACE_TYPE_ORDER)) +} + class GeoEvent: """Class for a Geo Event.""" @@ -791,7 +837,7 @@ def get_event_output_properties(self, event_id: str) -> dict: return None # Generate polygon for the event polygon_prop = self._config.get('output_affected_place_polygon', - 'geoJsonCoordinatesDP1') + 'geoJsonCoordinates') if polygon_prop: event_polygon = self.get_event_polygon(event_id) if event_polygon: @@ -804,10 +850,10 @@ def get_event_output_properties(self, event_id: str) -> dict: event_pvs[polygon_prop] = json.dumps( json.dumps(geo_json)) self._counters.add_counter('output_events_with_polygon', 1) - if not event_pvs.get('name', None): - event_pvs['name'] = self._get_event_name(event_pvs) # Set the affectedPlace and containedInPlace for the event. self._set_event_places(event, event_pvs) + if not event_pvs.get('name', None): + event_pvs['name'] = self._get_event_name(event_pvs) return event_pvs def delete_event(self, event_id): @@ -1000,7 +1046,7 @@ def write_events_csv(self, output_columns.append(prop) # Add column for affected place polygon polygon_prop = self._config.get('output_affected_place_polygon', - 'geoJsonCoordinatesDP1') + 'geoJsonCoordinates') if polygon_prop: output_columns.append(polygon_prop) if event_ids is None: @@ -1639,6 +1685,31 @@ def _get_contained_for_place(self, place_id: str) -> list: self.set_place_property(place_id, 'containedInPlace', contained_places) return contained_places + def _get_smallest_place_name(self, place_ids: list) -> str: + '''Returns the name of the smallest place in the place list.''' + max_place_rank = -1 + place_name = '' + # Get the place with the highest rank (smallest place) + for place in _get_list(place_ids): + place = utils.strip_namespace(place) + if place == 'Earth' or utils.is_s2_cell_id( + place) or utils.is_grid_id(place) or utils.is_ipcc_id( + place): + # Ignore non admin places + continue + place_types = self.get_place_property_list(place, 'typeOf') + for place_type in place_types: + place_rank = _PLACE_TYPE_RANK.get(place_type, -1) + if place_rank > max_place_rank: + # This place is smaller. Use its name if available. + new_place_name = self.get_place_property_list(place, 'name') + if new_place_name: + new_place_name = new_place_name[0] + if new_place_name: + max_place_rank = place_rank + place_name = new_place_name + return place_name + def _get_event_name(self, event_pvs: dict, locations: list = None) -> str: '''Get the name for the event.''' typeof = event_pvs.get('typeOf', @@ -1648,17 +1719,7 @@ def _get_event_name(self, event_pvs: dict, locations: list = None) -> str: start_location = event_pvs.get('startLocation') if not locations: locations = _get_list(event_pvs.get('affectedPlace', '')) - location_name = '' - for placeid in locations: - placeid = utils.strip_namespace(placeid) - if not utils.is_ipcc_id(placeid) and not utils.is_grid_id(placeid): - location_name = self.get_place_property(placeid, 'name') - if location_name: - # place_type = self.get_place_property(placeid, 'typeOf') - # if place_type: - # location_name = f'{place_type[0]} {location_name[0]}' - location_name = f'{location_name[0]}' - break + location_name = self._get_smallest_place_name(locations) if not location_name: # Use the lat lng from start place. lat_lng = event_pvs.get('startLocation') diff --git a/scripts/earthengine/process_events_test.py b/scripts/earthengine/process_events_test.py index a01f37691e..b584b9152a 100644 --- a/scripts/earthengine/process_events_test.py +++ b/scripts/earthengine/process_events_test.py @@ -63,7 +63,7 @@ def compare_csv_files(self, expected_file: str, actual_file: str, ignore_columns: list = []): - '''Compare CSV files with statvar obsevration data.''' + '''Compare CSV files with statvar observation data.''' # Sort files by columns. df_expected = pd.read_csv(expected_file) df_actual = pd.read_csv(actual_file) @@ -90,6 +90,7 @@ def compare_csv_files(self, def test_process(self): with tempfile.TemporaryDirectory() as tmp_dir: + tmp_dir = '/tmp/test_events' output_prefix = os.path.join(tmp_dir, 'events_test_') test_prefix = os.path.join(_TESTDIR, 'sample_floods_') # Process flood s2 cells into events. diff --git a/scripts/earthengine/utils.py b/scripts/earthengine/utils.py index 67fa3de8be..969254e210 100644 --- a/scripts/earthengine/utils.py +++ b/scripts/earthengine/utils.py @@ -79,9 +79,17 @@ def dict_filter_values(pvs: dict, config: dict = {}) -> bool: if value > prop_config['max']: allow_value = False if 'regex' in prop_config: + if not isinstance(value, str): + value = str(value) matches = re.search(prop_config['regex'], value) if not matches: allow_value = False + if 'ignore' in prop_config: + if not isinstance(value, str): + value = str(value) + matches = re.search(prop_config['ignore'], value) + if matches: + allow_value = False if not allow_value: pvs.pop(p) is_allowed = False diff --git a/scripts/earthengine/utils_test.py b/scripts/earthengine/utils_test.py index 92c6b841b8..69c5bc0ff6 100644 --- a/scripts/earthengine/utils_test.py +++ b/scripts/earthengine/utils_test.py @@ -15,13 +15,13 @@ import math import os -import s2sphere -import shapely import sys import tempfile import unittest from absl import logging +import s2sphere +import shapely # Allows the following module imports to work when running as a script _SCRIPTS_DIR = os.path.dirname(os.path.dirname(__file__)) @@ -30,276 +30,352 @@ import utils -_TESTDIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), - 'test_data') +_TESTDIR = os.path.join( + os.path.dirname(os.path.realpath(__file__)), 'test_data' +) class DictUtilsTest(unittest.TestCase): - - dict1 = { - 'int_key1': 10, - 'int_key2': 20, - 'int_key3': 30, - 'float_key1': 12.12, - 'float_key2': 20.123, - 'float_key3': 33.33, - 'string_key1': 'String Value', - 'string_key2': 'Value1', + dict1 = { + 'int_key1': 10, + 'int_key2': 20, + 'int_key3': 30, + 'float_key1': 12.12, + 'float_key2': 20.123, + 'float_key3': 33.33, + 'string_key1': 'String Value', + 'string_key2': 'Value1', + } + + def test_dict_filter_values(self): + filter_config = { + 'int_key1': { + 'min': 10, + 'max': 100, + }, + 'int_key2': { + 'min': 1000, + }, + 'float_key3': { + 'max': 10000.0, + }, + 'string_key1': {'regex': r'^[^ ]*$'}, + 'string_key2': {'regex': r'^[^ ]*$'}, + 'param1': {'ignore': 'drop'}, } - - def test_dict_filter_values(self): - filter_config = { - 'int_key1': { - 'min': 10, - 'max': 100, - }, - 'int_key2': { - 'min': 1000, - }, - 'float_key3': { - 'max': 10000.0, - }, - 'string_key1': { - 'regex': r'^[^ ]*$' - }, - 'string_key2': { - 'regex': r'^[^ ]*$' - }, - } - filter_dict = dict(self.dict1) - utils.dict_filter_values(filter_dict, filter_config) - expected_dict = dict(self.dict1) - expected_dict.pop('int_key2') # dropped as < min(1000) - expected_dict.pop('string_key1') - self.assertEqual(expected_dict, filter_dict) + filter_dict = dict(self.dict1) + utils.dict_filter_values(filter_dict, filter_config) + expected_dict = dict(self.dict1) + expected_dict.pop('int_key2') # dropped as < min(1000) + expected_dict.pop('string_key1') + self.assertEqual(expected_dict, filter_dict) + + # Test ignore + self.assertFalse( + utils.dict_filter_values( + {'param1': ['value1', 'drop this']}, filter_config + ) + ) + self.assertTrue( + utils.dict_filter_values( + {'param1': 'allowed', 'param2': 'do not drop this'}, filter_config + ) + ) class S2CellUtilsTest(unittest.TestCase): - def test_is_s2_cell_id(self): - self.assertFalse(utils.is_s2_cell_id('')) - self.assertTrue(utils.is_s2_cell_id('dcid:s2CellId/0x54ce1f0000000000')) - self.assertTrue(utils.is_s2_cell_id('s2CellId/0x0000010000000000')) - self.assertFalse(utils.is_s2_cell_id('0x0000010000000000')) - - def test_s2_cell_from_latlng(self): - self.assertEqual(s2sphere.CellId(0x11282f0000000000), - utils.s2_cell_from_latlng(10.1, 20.2, 10)) - - def test_s2_cell_to_dcid(self): - self.assertEqual( - 'dcid:s2CellId/0x0000050000000000', - utils.s2_cell_to_dcid(s2sphere.CellId(0x0000050000000000))) - self.assertEqual('dcid:s2CellId/0x0000050000000000', - utils.s2_cell_to_dcid(0x0000050000000000)) - - def test_s2_cell_from_dcid(self): - self.assertEqual( - s2sphere.CellId(0x0000050000000000), - utils.s2_cell_from_dcid('dcid:s2CellId/0x0000050000000000')) - self.assertEqual(s2sphere.CellId(0x0000070000000000), - utils.s2_cell_from_dcid('s2CellId/0x0000070000000000')) - - def test_s2_cell_distance(self): - self.assertTrue( - math.isclose(7.84, - utils.s2_cells_distance(0x0000050000000000, - 0x0000070000000000), - rel_tol=1e-2)) - - def test_s2_cell_area(self): - self.assertTrue( - math.isclose(53.23, - utils.s2_cell_area(0x0000050000000000), - rel_tol=1e-2)) - self.assertTrue( - math.isclose(68.95, - utils.s2_cell_area(utils.s2_cell_from_latlng(0, 0, - 10)), - rel_tol=1e-2)) - self.assertTrue( - math.isclose(81.37, - utils.s2_cell_area( - utils.s2_cell_from_latlng(80, 90, 10)), - rel_tol=1e-2)) - - def test_s2_cell_get_neighbor_ids(self): - s2_cell = utils.s2_cell_from_latlng(10, 20, 10) - neighbors = utils.s2_cell_get_neighbor_ids(s2_cell) - expected_neighbors = [ - 'dcid:s2CellId/0x10d7e10000000000', - 'dcid:s2CellId/0x10d7d90000000000', - 'dcid:s2CellId/0x10d7df0000000000', - 'dcid:s2CellId/0x1128230000000000', - 'dcid:s2CellId/0x11281f0000000000', - 'dcid:s2CellId/0x1128270000000000', - 'dcid:s2CellId/0x1128190000000000', - 'dcid:s2CellId/0x1128250000000000' - ] - self.assertEqual(expected_neighbors, neighbors) - for n in neighbors: - n_cell = utils.s2_cell_from_dcid(n) - self.assertEqual(n_cell.level(), s2_cell.level()) - - def test_latlng_cell_area(self): - self.assertEqual(12309, int(utils.latlng_cell_area(0, 0, 1, 1))) - self.assertEqual(21, int(utils.latlng_cell_area(80, -80, .1, .1))) + def test_is_s2_cell_id(self): + self.assertFalse(utils.is_s2_cell_id('')) + self.assertTrue(utils.is_s2_cell_id('dcid:s2CellId/0x54ce1f0000000000')) + self.assertTrue(utils.is_s2_cell_id('s2CellId/0x0000010000000000')) + self.assertFalse(utils.is_s2_cell_id('0x0000010000000000')) + + def test_s2_cell_from_latlng(self): + self.assertEqual( + s2sphere.CellId(0x11282F0000000000), + utils.s2_cell_from_latlng(10.1, 20.2, 10), + ) + + def test_s2_cell_to_dcid(self): + self.assertEqual( + 'dcid:s2CellId/0x0000050000000000', + utils.s2_cell_to_dcid(s2sphere.CellId(0x0000050000000000)), + ) + self.assertEqual( + 'dcid:s2CellId/0x0000050000000000', + utils.s2_cell_to_dcid(0x0000050000000000), + ) + + def test_s2_cell_from_dcid(self): + self.assertEqual( + s2sphere.CellId(0x0000050000000000), + utils.s2_cell_from_dcid('dcid:s2CellId/0x0000050000000000'), + ) + self.assertEqual( + s2sphere.CellId(0x0000070000000000), + utils.s2_cell_from_dcid('s2CellId/0x0000070000000000'), + ) + + def test_s2_cell_distance(self): + self.assertTrue( + math.isclose( + 7.84, + utils.s2_cells_distance(0x0000050000000000, 0x0000070000000000), + rel_tol=1e-2, + ) + ) + + def test_s2_cell_area(self): + self.assertTrue( + math.isclose( + 53.23, utils.s2_cell_area(0x0000050000000000), rel_tol=1e-2 + ) + ) + self.assertTrue( + math.isclose( + 68.95, + utils.s2_cell_area(utils.s2_cell_from_latlng(0, 0, 10)), + rel_tol=1e-2, + ) + ) + self.assertTrue( + math.isclose( + 81.37, + utils.s2_cell_area(utils.s2_cell_from_latlng(80, 90, 10)), + rel_tol=1e-2, + ) + ) + + def test_s2_cell_get_neighbor_ids(self): + s2_cell = utils.s2_cell_from_latlng(10, 20, 10) + neighbors = utils.s2_cell_get_neighbor_ids(s2_cell) + expected_neighbors = [ + 'dcid:s2CellId/0x10d7e10000000000', + 'dcid:s2CellId/0x10d7d90000000000', + 'dcid:s2CellId/0x10d7df0000000000', + 'dcid:s2CellId/0x1128230000000000', + 'dcid:s2CellId/0x11281f0000000000', + 'dcid:s2CellId/0x1128270000000000', + 'dcid:s2CellId/0x1128190000000000', + 'dcid:s2CellId/0x1128250000000000', + ] + self.assertEqual(expected_neighbors, neighbors) + for n in neighbors: + n_cell = utils.s2_cell_from_dcid(n) + self.assertEqual(n_cell.level(), s2_cell.level()) + + def test_latlng_cell_area(self): + self.assertEqual(12309, int(utils.latlng_cell_area(0, 0, 1, 1))) + self.assertEqual(21, int(utils.latlng_cell_area(80, -80, 0.1, 0.1))) class GridCellUtilsTest(unittest.TestCase): - def test_is_grid_id(self): - self.assertFalse(utils.is_grid_id('')) - self.assertFalse(utils.is_grid_id('s2CellId/0x1128250000000000')) - self.assertTrue(utils.is_grid_id('grid_2/-20.12_30.12')) - self.assertTrue(utils.is_grid_id('dcid:grid_1/10_20')) - self.assertFalse(utils.is_grid_id('ipcc_5/10_20')) - self.assertTrue(utils.is_ipcc_id('ipcc_50/34.25_-85.25_USA')) - - def test_grid_id_from_latlng(self): - self.assertEqual('dcid:grid_1/20_30', - utils.grid_id_from_lat_lng(1, 20, 30)) - - def test_grid_ids_distance(self): - self.assertTrue( - math.isclose(1541.85, - utils.grid_ids_distance( - utils.grid_id_from_lat_lng(1, 10, 20), - utils.grid_id_from_lat_lng(1, 20, 30)), - rel_tol=1e-2)) - self.assertTrue( - math.isclose(143.84, - utils.grid_ids_distance('ipcc_50/34.25_-85.25_USA', - 'ipcc_50/35.25_-84.25_USA'), - rel_tol=1e-2)) - - def test_grid_area(self): - self.assertTrue( - math.isclose(10248.33, - utils.grid_area('dcid:grid_1/34_-85'), - rel_tol=1e-2)) - self.assertTrue( - math.isclose(2554.56, - utils.grid_area('ipcc_50/34.25_-85.25_USA'), - rel_tol=1e-2)) - - def test_grid_get_neighbor_ids(self): - grid_id = 'dcid:ipcc_50/26.25_81.75_IND' - neighbors = utils.grid_get_neighbor_ids(grid_id) - expected_neighbors = [ - 'dcid:ipcc_50/25.75_81.25_IND', 'dcid:ipcc_50/25.75_81.75_IND', - 'dcid:ipcc_50/25.75_82.25_IND', 'dcid:ipcc_50/26.25_81.25_IND', - 'dcid:ipcc_50/26.25_82.25_IND', 'dcid:ipcc_50/26.75_81.25_IND', - 'dcid:ipcc_50/26.75_81.75_IND', 'dcid:ipcc_50/26.75_82.25_IND' - ] - self.assertEqual(expected_neighbors, neighbors) - for n in neighbors: - place_neighbors = utils.grid_get_neighbor_ids(n) - self.assertTrue(grid_id in place_neighbors) - grid_id = 'dcid:grid_1/10_-65' - neighbors = utils.grid_get_neighbor_ids(grid_id) - expected_neighbors = [ - 'dcid:grid_1/9_-66', 'dcid:grid_1/9_-65', 'dcid:grid_1/9_-64', - 'dcid:grid_1/10_-66', 'dcid:grid_1/10_-64', 'dcid:grid_1/11_-66', - 'dcid:grid_1/11_-65', 'dcid:grid_1/11_-64' - ] - self.assertEqual(expected_neighbors, neighbors) - for n in neighbors: - place_neighbors = utils.grid_get_neighbor_ids(n) - self.assertTrue(grid_id in place_neighbors) - - def test_grid_to_polygon(self): - self.assertEqual( - { - 'coordinates': (((81.5, 26.0), (81.5, 26.5), (82.0, 26.5), - (82.0, 26.0), (81.5, 26.0)),), - 'type': 'Polygon' - }, - shapely.geometry.mapping( - utils.grid_to_polygon('dcid:ipcc_50/26.25_81.75_IND'))) - # Polygon at edge doesn't go over max lat/lng. - self.assertEqual( - { - 'coordinates': (((179.5, 89.5), (179.5, 90.0), (180.0, 90.0), - (180.0, 89.5), (179.5, 89.5)),), - 'type': 'Polygon' - }, - shapely.geometry.mapping(utils.place_to_polygon('grid_1/90_180'))) - - self.assertEqual( - { - 'coordinates': (((20.04496617551588, 10.074733389893098), - (20.140259352250975, 10.068731256770613), - (20.140259352250975, 10.153784179458425), - (20.04496617551588, 10.159834880513182), - (20.04496617551588, 10.074733389893098)),), - 'type': 'Polygon' - }, - shapely.geometry.mapping( - utils.place_to_polygon('s2CellId/0x1128250000000000'))) + def test_is_grid_id(self): + self.assertFalse(utils.is_grid_id('')) + self.assertFalse(utils.is_grid_id('s2CellId/0x1128250000000000')) + self.assertTrue(utils.is_grid_id('grid_2/-20.12_30.12')) + self.assertTrue(utils.is_grid_id('dcid:grid_1/10_20')) + self.assertFalse(utils.is_grid_id('ipcc_5/10_20')) + self.assertTrue(utils.is_ipcc_id('ipcc_50/34.25_-85.25_USA')) + + def test_grid_id_from_latlng(self): + self.assertEqual('dcid:grid_1/20_30', utils.grid_id_from_lat_lng(1, 20, 30)) + + def test_grid_ids_distance(self): + self.assertTrue( + math.isclose( + 1541.85, + utils.grid_ids_distance( + utils.grid_id_from_lat_lng(1, 10, 20), + utils.grid_id_from_lat_lng(1, 20, 30), + ), + rel_tol=1e-2, + ) + ) + self.assertTrue( + math.isclose( + 143.84, + utils.grid_ids_distance( + 'ipcc_50/34.25_-85.25_USA', 'ipcc_50/35.25_-84.25_USA' + ), + rel_tol=1e-2, + ) + ) + + def test_grid_area(self): + self.assertTrue( + math.isclose( + 10248.33, utils.grid_area('dcid:grid_1/34_-85'), rel_tol=1e-2 + ) + ) + self.assertTrue( + math.isclose( + 2554.56, utils.grid_area('ipcc_50/34.25_-85.25_USA'), rel_tol=1e-2 + ) + ) + + def test_grid_get_neighbor_ids(self): + grid_id = 'dcid:ipcc_50/26.25_81.75_IND' + neighbors = utils.grid_get_neighbor_ids(grid_id) + expected_neighbors = [ + 'dcid:ipcc_50/25.75_81.25_IND', + 'dcid:ipcc_50/25.75_81.75_IND', + 'dcid:ipcc_50/25.75_82.25_IND', + 'dcid:ipcc_50/26.25_81.25_IND', + 'dcid:ipcc_50/26.25_82.25_IND', + 'dcid:ipcc_50/26.75_81.25_IND', + 'dcid:ipcc_50/26.75_81.75_IND', + 'dcid:ipcc_50/26.75_82.25_IND', + ] + self.assertEqual(expected_neighbors, neighbors) + for n in neighbors: + place_neighbors = utils.grid_get_neighbor_ids(n) + self.assertTrue(grid_id in place_neighbors) + grid_id = 'dcid:grid_1/10_-65' + neighbors = utils.grid_get_neighbor_ids(grid_id) + expected_neighbors = [ + 'dcid:grid_1/9_-66', + 'dcid:grid_1/9_-65', + 'dcid:grid_1/9_-64', + 'dcid:grid_1/10_-66', + 'dcid:grid_1/10_-64', + 'dcid:grid_1/11_-66', + 'dcid:grid_1/11_-65', + 'dcid:grid_1/11_-64', + ] + self.assertEqual(expected_neighbors, neighbors) + for n in neighbors: + place_neighbors = utils.grid_get_neighbor_ids(n) + self.assertTrue(grid_id in place_neighbors) + + def test_grid_to_polygon(self): + self.assertEqual( + { + 'coordinates': ( + ( + (81.5, 26.0), + (81.5, 26.5), + (82.0, 26.5), + (82.0, 26.0), + (81.5, 26.0), + ), + ), + 'type': 'Polygon', + }, + shapely.geometry.mapping( + utils.grid_to_polygon('dcid:ipcc_50/26.25_81.75_IND') + ), + ) + # Polygon at edge doesn't go over max lat/lng. + self.assertEqual( + { + 'coordinates': ( + ( + (179.5, 89.5), + (179.5, 90.0), + (180.0, 90.0), + (180.0, 89.5), + (179.5, 89.5), + ), + ), + 'type': 'Polygon', + }, + shapely.geometry.mapping(utils.place_to_polygon('grid_1/90_180')), + ) + + self.assertEqual( + { + 'coordinates': ( + ( + (20.04496617551588, 10.074733389893098), + (20.140259352250975, 10.068731256770613), + (20.140259352250975, 10.153784179458425), + (20.04496617551588, 10.159834880513182), + (20.04496617551588, 10.074733389893098), + ), + ), + 'type': 'Polygon', + }, + shapely.geometry.mapping( + utils.place_to_polygon('s2CellId/0x1128250000000000') + ), + ) class StrUtilsTest(unittest.TestCase): - def test_strip_namespace(self): - self.assertEqual('country/IND', - utils.strip_namespace('dcid:country/IND')) - self.assertEqual('ipcc_50/26.25_81.75_IND', - utils.strip_namespace('dcs:ipcc_50/26.25_81.75_IND')) - self.assertEqual('s2CellId/0x1128250000000000', - utils.strip_namespace('s2CellId/0x1128250000000000')) - - def test_add_namespace(self): - self.assertEqual('dcid:country/IND', utils.add_namespace('country/IND')) - self.assertEqual('dcid:ipcc_50/26.25_81.75_IND', - utils.add_namespace('dcs:ipcc_50/26.25_81.75_IND')) - self.assertEqual('dcid:s2CellId/0x1128250000000000', - utils.add_namespace('s2CellId/0x1128250000000000')) - - def test_str_get_numeric_vlaue(self): - self.assertEqual(10.1, utils.str_get_numeric_value('10.1')) - self.assertEqual(-11.23, utils.str_get_numeric_value(' -11.23 ')) - self.assertEqual(1234, utils.str_get_numeric_value(' 1,234 ')) - self.assertEqual(6543210.12, - utils.str_get_numeric_value(' 6,543,210.12 ')) - self.assertEqual(0.123, utils.str_get_numeric_value(' .123 ')) - self.assertEqual(2100, utils.str_get_numeric_value('2.1e+3')) - self.assertEqual(2748, utils.str_get_numeric_value('0xabc')) - self.assertEqual(1234567, utils.str_get_numeric_value('1.234.567')) - self.assertEqual(1.23, utils.str_get_numeric_value(['1.23', '4.56'])) - self.assertEqual(2.34, utils.str_get_numeric_value([2.34, 5.67])) - self.assertEqual(None, utils.str_get_numeric_value('abc')) - self.assertEqual(None, utils.str_get_numeric_value('123abc')) + def test_strip_namespace(self): + self.assertEqual('country/IND', utils.strip_namespace('dcid:country/IND')) + self.assertEqual( + 'ipcc_50/26.25_81.75_IND', + utils.strip_namespace('dcs:ipcc_50/26.25_81.75_IND'), + ) + self.assertEqual( + 's2CellId/0x1128250000000000', + utils.strip_namespace('s2CellId/0x1128250000000000'), + ) + + def test_add_namespace(self): + self.assertEqual('dcid:country/IND', utils.add_namespace('country/IND')) + self.assertEqual( + 'dcid:ipcc_50/26.25_81.75_IND', + utils.add_namespace('dcs:ipcc_50/26.25_81.75_IND'), + ) + self.assertEqual( + 'dcid:s2CellId/0x1128250000000000', + utils.add_namespace('s2CellId/0x1128250000000000'), + ) + + def test_str_get_numeric_vlaue(self): + self.assertEqual(10.1, utils.str_get_numeric_value('10.1')) + self.assertEqual(-11.23, utils.str_get_numeric_value(' -11.23 ')) + self.assertEqual(1234, utils.str_get_numeric_value(' 1,234 ')) + self.assertEqual(6543210.12, utils.str_get_numeric_value(' 6,543,210.12 ')) + self.assertEqual(0.123, utils.str_get_numeric_value(' .123 ')) + self.assertEqual(2100, utils.str_get_numeric_value('2.1e+3')) + self.assertEqual(2748, utils.str_get_numeric_value('0xabc')) + self.assertEqual(1234567, utils.str_get_numeric_value('1.234.567')) + self.assertEqual(1.23, utils.str_get_numeric_value(['1.23', '4.56'])) + self.assertEqual(2.34, utils.str_get_numeric_value([2.34, 5.67])) + self.assertEqual(None, utils.str_get_numeric_value('abc')) + self.assertEqual(None, utils.str_get_numeric_value('123abc')) class DateUtilsTest(unittest.TestCase): - def test_date_parse_time_period(self): - self.assertEqual((1, 'days'), utils.date_parse_time_period('P1D')) - self.assertEqual((10, 'days'), utils.date_parse_time_period('10D')) - self.assertEqual((-7, 'days'), utils.date_parse_time_period('-7D')) - - self.assertEqual((1, 'months'), utils.date_parse_time_period('P1M')) - self.assertEqual((3, 'months'), utils.date_parse_time_period('3M')) - - self.assertEqual((1, 'years'), utils.date_parse_time_period('P1Y')) - self.assertEqual((5, 'years'), utils.date_parse_time_period('5Y')) - - def test_date_advance_by_time_period(self): - self.assertEqual( - utils.date_today(), - utils.date_advance_by_period(utils.date_yesterday(), 'P1D')) - self.assertEqual('2023-04-10', - utils.date_advance_by_period('2023-04-20', 'P-10D')) - self.assertEqual( - '2023-06', utils.date_advance_by_period('2023-04', 'P2M', '%Y-%m')) - self.assertEqual('2033', - utils.date_advance_by_period('2023', '10Y', '%Y')) - - def test_date_format_by_time_period(self): - self.assertEqual('2023-04-10', - utils.date_format_by_time_period('2023-04-10', 'P1D')) - self.assertEqual('2022-04', - utils.date_format_by_time_period('2022-04-10', 'P3M')) - self.assertEqual('2021', - utils.date_format_by_time_period('2021-01-10', '1Y')) + def test_date_parse_time_period(self): + self.assertEqual((1, 'days'), utils.date_parse_time_period('P1D')) + self.assertEqual((10, 'days'), utils.date_parse_time_period('10D')) + self.assertEqual((-7, 'days'), utils.date_parse_time_period('-7D')) + + self.assertEqual((1, 'months'), utils.date_parse_time_period('P1M')) + self.assertEqual((3, 'months'), utils.date_parse_time_period('3M')) + + self.assertEqual((1, 'years'), utils.date_parse_time_period('P1Y')) + self.assertEqual((5, 'years'), utils.date_parse_time_period('5Y')) + + def test_date_advance_by_time_period(self): + self.assertEqual( + utils.date_today(), + utils.date_advance_by_period(utils.date_yesterday(), 'P1D'), + ) + self.assertEqual( + '2023-04-10', utils.date_advance_by_period('2023-04-20', 'P-10D') + ) + self.assertEqual( + '2023-06', utils.date_advance_by_period('2023-04', 'P2M', '%Y-%m') + ) + self.assertEqual('2033', utils.date_advance_by_period('2023', '10Y', '%Y')) + + def test_date_format_by_time_period(self): + self.assertEqual( + '2023-04-10', utils.date_format_by_time_period('2023-04-10', 'P1D') + ) + self.assertEqual( + '2022-04', utils.date_format_by_time_period('2022-04-10', 'P3M') + ) + self.assertEqual( + '2021', utils.date_format_by_time_period('2021-01-10', '1Y') + ) diff --git a/scripts/floods/flood_events_pipeline_config.py b/scripts/floods/flood_events_pipeline_config.py index 61196bd965..81e54b18dc 100644 --- a/scripts/floods/flood_events_pipeline_config.py +++ b/scripts/floods/flood_events_pipeline_config.py @@ -3,7 +3,7 @@ 'defaults': { 'import_name': 'DynamicWorldFloods', # Set start_date to start of year to be processed. - # Defaults to current year if left empty. + # Defaults to Jan 1 of current year if left empty. 'start_date': '', 'time_period': 'P1M', @@ -140,7 +140,7 @@ 'polygon_simplification_factor': None, 'output_geojon_string': - True, + False, # Output svobs per place 'output_place_svobs': diff --git a/scripts/floods/generate_floods_events.py b/scripts/floods/generate_floods_events.py index fd0a5d6198..ba2d8b9c4d 100644 --- a/scripts/floods/generate_floods_events.py +++ b/scripts/floods/generate_floods_events.py @@ -58,11 +58,6 @@ sys.path.append( os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util')) -import file_util - -from config_map import ConfigMap -from events_pipeline import EventPipeline - flags.DEFINE_string( 'flood_pipeline_config', os.path.join(_SCRIPTS_DIR, 'flood_events_pipeline_config.py'), @@ -74,10 +69,17 @@ _FLAGS = flags.FLAGS +import file_util + +from config_map import ConfigMap +from events_pipeline import EventPipeline def main(_): - pipeline = EventPipeline(config=ConfigMap( - filename=_FLAGS.flood_pipeline_config)) + config=ConfigMap( + filename=_FLAGS.flood_pipeline_config) + if _FLAGS.start_date: + config.get('defaults', {})['start_date'] = _FLAGS.start_date + pipeline = EventPipeline(config=config) pipeline.run(run_stages=_FLAGS.flood_pipeline_stages) From a136c2558dbcf1b4beef1a895421628487d23f73 Mon Sep 17 00:00:00 2001 From: Ajai Tirumali Date: Tue, 17 Oct 2023 19:22:43 +0530 Subject: [PATCH 04/10] fix unit tests --- scripts/earthengine/events_pipeline.py | 2 + .../earthengine/pipeline_stage_download.py | 202 +- scripts/earthengine/process_events.py | 2 +- scripts/earthengine/process_events_test.py | 28 +- scripts/earthengine/raster_to_csv.py | 1889 +++++++++-------- scripts/earthengine/raster_to_csv_test.py | 2 +- .../sample_fires_event_pipeline_config.py | 1 + .../test_data/sample_fires_events.csv | 350 +-- .../test_data/sample_floods_events.csv | 20 +- .../test_data/sample_floods_events.tmcf | 2 +- .../test_data/sample_floods_output.csv | 250 +-- .../sample_floods_output_filtered.csv | 214 +- .../test_data/sample_floods_place_svobs.csv | 148 +- .../test_data/sample_floods_svobs.csv | 20 +- .../test_data/sample_floods_svobs.tmcf | 3 +- scripts/earthengine/utils.py | 771 +++---- scripts/earthengine/utils_test.py | 6 + 17 files changed, 2037 insertions(+), 1873 deletions(-) diff --git a/scripts/earthengine/events_pipeline.py b/scripts/earthengine/events_pipeline.py index 2d85eb0b2b..788ba2c8b0 100644 --- a/scripts/earthengine/events_pipeline.py +++ b/scripts/earthengine/events_pipeline.py @@ -195,7 +195,9 @@ def run_stage(self, stage_name: str, input_files: list = []) -> list: '''Run a single stage and return the output files generated.''' for stage_runner in self.stage_runners: if stage_name == stage_runner.get_name(): + logging.info(f'Running stage {stage_name} with {input_files}') return stage_runner.run_stage(input_files) + logging.error(f'No stage runner for {stage_name} with input: {input_files}') return [] def run(self, run_stages: list = []) -> list: diff --git a/scripts/earthengine/pipeline_stage_download.py b/scripts/earthengine/pipeline_stage_download.py index 849856725a..dc500483b2 100644 --- a/scripts/earthengine/pipeline_stage_download.py +++ b/scripts/earthengine/pipeline_stage_download.py @@ -11,8 +11,7 @@ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. -"""Class to run the events pipeline stage to download files from a URL. -""" +"""Class to run the events pipeline stage to download files from a URL.""" import os import re @@ -26,7 +25,8 @@ sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) sys.path.append( - os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util')) + os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util') +) import file_util import utils @@ -37,101 +37,107 @@ class DownloadRunner(StageRunner): - '''Class to download data files from URL source.''' - - def __init__(self, - config_dicts: list = [], - state: dict = {}, - counters=None): - self.set_up('download', config_dicts, state, counters) - - def run(self, - input_files: list = None, - config_dict: dict = {}, - counters: Counters = None) -> list: - '''Returns the list of files downloaded from the URL in the config. - URLs are downloaded for each time period until the current date.''' - # Download data from start_date up to end_date - # advancing date by the time_period. - start_date = self.get_config('start_date', '', config_dict) - yesterday = utils.date_yesterday() - end_date = self.get_config('end_date', yesterday, config_dict) - if end_date > yesterday: - end_date = yesterday - data_files = [] - while start_date and start_date <= end_date: - # Download data for the start_date - download_files = self.download_file_with_config(self.get_configs()) - if download_files: - data_files.extend(download_files) - - # Advance start_date to the next date. - start_date = utils.date_advance_by_period( - start_date, self.get_config('time_period', 'P1M', config_dict)) - if start_date: - self.set_config_dates(start_date=start_date) - return data_files - - def download_file_with_config(self, config_dict: dict = {}) -> list: - '''Returns list of files downloaded for config.''' - logging.info(f'Downloading data for config: {config_dict}') - downloaded_files = [] - urls = config_dict.get('url', []) - if not isinstance(urls, list): - urls = [urls] - for url in urls: - if not url: - continue - url_params = config_dict.get('url_params', {}) - filename = self.get_output_filename(config_dict=config_dict) - if self.should_skip_existing_output(filename): - logging.info(f'Skipping download for existing file: {filename}') - continue - - # Download the URL with retries. - download_content = '' - retry_count = 0 - retries = config_dict.get('retry_count', 5) - retry_secs = config_dict.get('retry_interval', 5) - while not download_content and retry_count < retries: - download_content = request_url( - url, - params=url_params, - method=config_dict.get('http_method', 'GET'), - output=config_dict.get('response_type', 'text'), - timeout=config_dict.get('timeout', 60), - retries=config_dict.get('retry_count', 3), - retry_secs=retry_secs) - if download_content: - # Check if the downloaded content matches the regex. - regex = config_dict.get('successful_response_regex', '') - if regex: - match = re.search(regex, download_content) - if not match: - download_content = '' - retry_count += 1 - logging.info( - f'Downloaded content for {url} does not match {regex}' - ) - if retry_count < retries: - logging.info( - f'retrying {url} #{retry_count} after {retry_secs}' - ) - time.sleep(retry_secs) - if not download_content: - logging.error( - f'Failed to download {url} after {retries} retries') - return None - - # Save downloaded content to file. - with file_util.FileIO(filename, mode='w') as file: - file.write(download_content) - logging.info( - f'Downloaded {len(download_content)} bytes from {url} into file: {filename}' - ) - downloaded_files.append(filename) - - return downloaded_files + """Class to download data files from URL source.""" + + def __init__(self, config_dicts: list = [], state: dict = {}, counters=None): + self.set_up('download', config_dicts, state, counters) + + def run( + self, + input_files: list = None, + config_dict: dict = {}, + counters: Counters = None, + ) -> list: + """Returns the list of files downloaded from the URL in the config. + + URLs are downloaded for each time period until the current date. + """ + # Download data from start_date up to end_date + # advancing date by the time_period. + start_date = self.get_config('start_date', '', config_dict) + yesterday = utils.date_yesterday() + end_date = self.get_config('end_date', yesterday, config_dict) + if end_date > yesterday: + end_date = yesterday + logging.info( + f'Running download with start_date: {start_date}, end_date:{end_date}' + ) + data_files = [] + while start_date and start_date <= end_date: + # Download data for the start_date + download_files = self.download_file_with_config(self.get_configs()) + if download_files: + data_files.extend(download_files) + + # Advance start_date to the next date. + start_date = utils.date_advance_by_period( + start_date, self.get_config('time_period', 'P1M', config_dict) + ) + if start_date: + self.set_config_dates(start_date=start_date) + return data_files + + def download_file_with_config(self, config_dict: dict = {}) -> list: + """Returns list of files downloaded for config.""" + logging.info(f'Downloading data for config: {config_dict}') + downloaded_files = [] + urls = config_dict.get('url', []) + if not isinstance(urls, list): + urls = [urls] + for url in urls: + if not url: + continue + url_params = config_dict.get('url_params', {}) + filename = self.get_output_filename(config_dict=config_dict) + if self.should_skip_existing_output(filename): + logging.info(f'Skipping download for existing file: {filename}') + continue + + # Download the URL with retries. + download_content = '' + retry_count = 0 + retries = config_dict.get('retry_count', 5) + retry_secs = config_dict.get('retry_interval', 5) + while not download_content and retry_count < retries: + download_content = request_url( + url, + params=url_params, + method=config_dict.get('http_method', 'GET'), + output=config_dict.get('response_type', 'text'), + timeout=config_dict.get('timeout', 60), + retries=config_dict.get('retry_count', 3), + retry_secs=retry_secs, + ) + if download_content: + # Check if the downloaded content matches the regex. + regex = config_dict.get('successful_response_regex', '') + if regex: + match = re.search(regex, download_content) + if not match: + download_content = '' + retry_count += 1 + logging.info( + f'Downloaded content for {url} does not match {regex}' + ) + if retry_count < retries: + logging.info( + f'retrying {url} #{retry_count} after {retry_secs}' + ) + time.sleep(retry_secs) + if not download_content: + logging.error(f'Failed to download {url} after {retries} retries') + return None + + # Save downloaded content to file. + with file_util.FileIO(filename, mode='w') as file: + file.write(download_content) + logging.info( + f'Downloaded {len(download_content)} bytes from {url} into file:' + f' {filename}' + ) + downloaded_files.append(filename) + + return downloaded_files # Register the DownloadRunner diff --git a/scripts/earthengine/process_events.py b/scripts/earthengine/process_events.py index cc59da74b0..6c75368e58 100644 --- a/scripts/earthengine/process_events.py +++ b/scripts/earthengine/process_events.py @@ -1544,7 +1544,7 @@ def get_place_id_for_event(self, place_id: str) -> str: # Got a location. Convert it to a grid. if (output_place_type == 'grid_1') and (not utils.is_grid_id(place_id)): - grid_id = utils.grid_id_from_lat_lng(1, int(lat), int(lng)) + grid_id = utils.grid_id_from_lat_lng(1, lat, lng) place_id = grid_id self._counters.add_counter(f'place_converted_to_grid_1', 1) elif (output_place_type diff --git a/scripts/earthengine/process_events_test.py b/scripts/earthengine/process_events_test.py index b584b9152a..ba759b5fa2 100644 --- a/scripts/earthengine/process_events_test.py +++ b/scripts/earthengine/process_events_test.py @@ -90,7 +90,6 @@ def compare_csv_files(self, def test_process(self): with tempfile.TemporaryDirectory() as tmp_dir: - tmp_dir = '/tmp/test_events' output_prefix = os.path.join(tmp_dir, 'events_test_') test_prefix = os.path.join(_TESTDIR, 'sample_floods_') # Process flood s2 cells into events. @@ -99,21 +98,18 @@ def test_process(self): output_path=output_prefix, config=self._config) # Verify generated events. - for file in [ - 'events.csv', - 'events.tmcf', - 'svobs.csv', - 'svobs.tmcf', - 'place_svobs.csv', - 'place_svobs.tmcf', - ]: - if file.endswith('.csv'): - # compare csv output without geoJson that is not deterministic - self.compare_csv_files(test_prefix + file, - output_prefix + file, - ['geoJsonCoordinatesDP1']) - else: - self.compare_files(test_prefix + file, output_prefix + file) + self.compare_csv_files(os.path.join(tmp_dir, 'events_test_events.csv'), + os.path.join(_TESTDIR, test_prefix + 'events.csv')) + self.compare_files(os.path.join(tmp_dir, 'events_test_events.tmcf'), + os.path.join(_TESTDIR, test_prefix + 'events.tmcf')) + self.compare_csv_files(os.path.join(tmp_dir, 'event_svobs', 'events_test_svobs.csv'), + os.path.join(_TESTDIR, test_prefix + 'svobs.csv')) + self.compare_files(os.path.join(tmp_dir, 'event_svobs', 'events_test_svobs.tmcf'), + os.path.join(_TESTDIR, test_prefix + 'svobs.tmcf')) + self.compare_csv_files(os.path.join(tmp_dir, 'place_svobs', 'events_test_place_svobs.csv'), + os.path.join(_TESTDIR, test_prefix + 'place_svobs.csv')) + self.compare_files(os.path.join(tmp_dir, 'place_svobs', 'events_test_place_svobs.tmcf'), + os.path.join(_TESTDIR, test_prefix + 'place_svobs.tmcf')) def test_process_event_data(self): '''Verify events can be added by date.''' diff --git a/scripts/earthengine/raster_to_csv.py b/scripts/earthengine/raster_to_csv.py index 0002f7d23f..1c7cb35f14 100644 --- a/scripts/earthengine/raster_to_csv.py +++ b/scripts/earthengine/raster_to_csv.py @@ -52,26 +52,27 @@ import glob import math import multiprocessing -import numpy as np import os -import rasterio import re -import s2sphere import sys import time +from typing import Union from absl import app from absl import flags from absl import logging from geopy import distance -from typing import Union +import numpy as np +import rasterio +import s2sphere _SCRIPTS_DIR = os.path.dirname(__file__) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) sys.path.append( - os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util')) + os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util') +) import common_flags import file_util @@ -81,921 +82,1063 @@ from counters import Counters, CounterOptions flags.DEFINE_string('input_geotiff', '', 'GeoTIFF file to process') -flags.DEFINE_string('ignore_geotiff', '', - 'GeoTIFF with points to be ignored set as data.') -flags.DEFINE_string('allow_geotiff', '', - 'GeoTIFF with points to be used set as data.') -flags.DEFINE_string('ignore_csv', '', - 'CSV with points to be ignored set as data.') +flags.DEFINE_string( + 'ignore_geotiff', '', 'GeoTIFF with points to be ignored set as data.' +) +flags.DEFINE_string( + 'allow_geotiff', '', 'GeoTIFF with points to be used set as data.' +) +flags.DEFINE_string( + 'ignore_csv', '', 'CSV with points to be ignored set as data.' +) flags.DEFINE_string('allow_csv', '', 'CSV with points to be used set as data.') -flags.DEFINE_integer('limit_points', sys.maxsize, - 'Number of rows/points to process per input file.') +flags.DEFINE_integer( + 'limit_points', + sys.maxsize, + 'Number of rows/points to process per input file.', +) flags.DEFINE_string('output_csv', '', 'Output CSV file to generate') -flags.DEFINE_string('output_mode', 'w', - 'Write(w) or append(a) to existing output file.') -flags.DEFINE_string('output_date', None, - 'Date column to be added to output rows.') +flags.DEFINE_string( + 'output_mode', 'w', 'Write(w) or append(a) to existing output file.' +) +flags.DEFINE_string( + 'output_date', None, 'Date column to be added to output rows.' +) flags.DEFINE_list('output_columns', [], 'Output columns in the CSV') -flags.DEFINE_integer('output_precision', 6, - 'number of precision digits for float data in putput.') +flags.DEFINE_integer( + 'output_precision', + 6, + 'number of precision digits for float data in putput.', +) flags.DEFINE_integer('s2_level', 13, 'S2 Level for S2 cell Id.') -flags.DEFINE_string('output_s2_place', '', - 'Output prefix for S2 place csv and tmcf.') +flags.DEFINE_integer('grid_degree', None, 'Grid degree for lat/lng place.') +flags.DEFINE_string('grid_prefix', 'grid_', 'Grid dcid prefix for place id.') +flags.DEFINE_string( + 'output_s2_place', '', 'Output prefix for S2 place csv and tmcf.' +) flags.DEFINE_list( - 'output_contained_s2_level', [10], - 'Levels to be added as contained in place nodes into s2 place output.') -flags.DEFINE_string('aggregate', 'max', - 'Aggregate function for data values with same key.') + 'output_contained_s2_level', + [10], + 'Levels to be added as contained in place nodes into s2 place output.', +) +flags.DEFINE_string( + 'aggregate', 'max', 'Aggregate function for data values with same key.' +) flags.DEFINE_integer('log_every_n', 10000, 'Print logs every N records.') -flags.DEFINE_float('default_cell_area', 0, - 'Area of the cell if the raster input is not provided.') +flags.DEFINE_float( + 'default_cell_area', + 0, + 'Area of the cell if the raster input is not provided.', +) _FLAGS = flags.FLAGS _FLAGS(sys.argv) # Allow invocation without app.run() def get_default_config(): - # Create config from command line flags. - return { - # Inputs - 'input_geotiff': _FLAGS.input_geotiff, - 'ignore_geotiff': _FLAGS.ignore_geotiff, - 'allow_geotiff': _FLAGS.allow_geotiff, - 'input_csv': _FLAGS.input_csv, - 'ignore_csv': _FLAGS.ignore_csv, - 'allow_csv': _FLAGS.allow_csv, - 'limit_points': _FLAGS.limit_points, - - # Output settings - 'output_csv': _FLAGS.output_csv, - 'output_mode': _FLAGS.output_mode, - 'output_columns': _FLAGS.output_columns, - 'output_date': _FLAGS.output_date, - 'output_precision': _FLAGS.output_precision, - 'output_s2_place': _FLAGS.output_s2_place, - 'output_contained_s2_level': _FLAGS.output_contained_s2_level, - - # Processing parameters - 's2_level': _FLAGS.s2_level, - # default aggregation for data values mapped to the same s2-cell+date - # that can be one of: min, max, mean, sum. - # For columns specific aggregation methods, use config:'input_data_filter'. - 'aggregate': _FLAGS.aggregate, - # generate data for all s2 cells from --s2_level upto this level. - # Default cell area if constant for the whole data set. - 'default_cell_area': _FLAGS.default_cell_area, - # Default point/cell width/height for ~1sqkm at equator, lower near poles. - 'default_cell_width': 0.009, - 'default_cell_height': 0.009, - # rename columns : - 'rename_columns': { - 'acq_date': 'date', - 'band:0': 'water', - }, - - # filter settings per column for data - # input (pre-aggregation) and output (post-aggregation) of the form: - # { - # '' : { - # 'min': , # Minimum value for - # 'max': , # Maximum value for - # 'aggregate': 'sum', # one of 'min','max','sum','mean' - # }, - # ... - # } - 'input_data_filter': { - # Add up area for points added to an s2cell. - 'area': { - 'aggregate': 'sum', - }, - #'confidence': { - # 'regex': r'[nh]', # pick normal or high - #} - # 'water': { # band:0 - # 'min': 1.0 - #}, - }, - 'output_data_filter': { - # 'area': { - # 'min': 1.0, # Minimum area in sqkm after aggregation - # }, - }, - - # Debug settings - 'debug': _FLAGS.debug, # Enable debug logs - 'log_every_n': - _FLAGS.log_every_n, # Show counters when counter increments by N - 'log_every': 'processed_points', # Counter to check for log_every_n - } + # Create config from command line flags. + return { + # Inputs + 'input_geotiff': _FLAGS.input_geotiff, + 'ignore_geotiff': _FLAGS.ignore_geotiff, + 'allow_geotiff': _FLAGS.allow_geotiff, + 'input_csv': _FLAGS.input_csv, + 'ignore_csv': _FLAGS.ignore_csv, + 'allow_csv': _FLAGS.allow_csv, + 'limit_points': _FLAGS.limit_points, + # Output settings + 'output_csv': _FLAGS.output_csv, + 'output_mode': _FLAGS.output_mode, + 'output_columns': _FLAGS.output_columns, + 'output_date': _FLAGS.output_date, + 'output_precision': _FLAGS.output_precision, + 'output_s2_place': _FLAGS.output_s2_place, + 'output_contained_s2_level': _FLAGS.output_contained_s2_level, + # Processing parameters + 's2_level': _FLAGS.s2_level, + 'grid_degree': _FLAGS.grid_degree, + 'grid_prefix': _FLAGS.grid_prefix, + # default aggregation for data values mapped to the same s2-cell+date + # that can be one of: min, max, mean, sum. + # For columns specific aggregation methods, use config:'input_data_filter'. + 'aggregate': _FLAGS.aggregate, + # generate data for all s2 cells from --s2_level upto this level. + # Default cell area if constant for the whole data set. + 'default_cell_area': _FLAGS.default_cell_area, + # Default point/cell width/height for ~1sqkm at equator, lower near poles. + 'default_cell_width': 0.009, + 'default_cell_height': 0.009, + # rename columns : + 'rename_columns': { + 'acq_date': 'date', + 'band:0': 'water', + }, + # filter settings per column for data + # input (pre-aggregation) and output (post-aggregation) of the form: + # { + # '' : { + # 'min': , # Minimum value for + # 'max': , # Maximum value for + # 'aggregate': 'sum', # one of 'min','max','sum','mean' + # }, + # ... + # } + 'input_data_filter': { + # Add up area for points added to an s2cell. + 'area': { + 'aggregate': 'sum', + }, + #'confidence': { + # 'regex': r'[nh]', # pick normal or high + # } + # 'water': { # band:0 + # 'min': 1.0 + # }, + }, + 'output_data_filter': { + # 'area': { + # 'min': 1.0, # Minimum area in sqkm after aggregation + # }, + }, + # Debug settings + 'debug': _FLAGS.debug, # Enable debug logs + 'log_every_n': ( + _FLAGS.log_every_n + ), # Show counters when counter increments by N + 'log_every': 'processed_points', # Counter to check for log_every_n + } _DEFAULT_COLUMNS = set({'latitude', 'longitude', 's2CellId', 'date'}) -def get_raster_data_point(raster: rasterio.io.DatasetReader, - arr: np.ndarray, - x: int, - y: int, - lat: float = None, - lng: float = None, - bands: list = None, - nodata_value: int = 0, - config: ConfigMap = None, - counter: Counters = None) -> dict: - '''Returns the lat/long and data value for each band - in the raster for a given position index (x, y). - Args: - raster: input raster - arr: numpy array from the input raster - x: index of the point - y: index of the point - lat: latitude of the point in degrees - lng: longitude of the point in degrees - If lat/lng are not set, it is computed from the raster transform - bands: list of bands indexes to process. - If not specified, all bands are processed. - nodata_value: value of cells not having valid data in the raster/numpy - config: ConfigMap dictionary of config parameters - Returns: - dictionary of values for the data point from the raster - including additional property for s2CellId and area. - ''' - if not config: - config = ConfigMap() - data = dict() - if lat is None or lng is None: - (lng, lat) = rasterio.transform.xy(raster.transform, x, y) - if lat > 90 or lat < -90 or lng > 180 or lng < -180: - logging.error(f'Invalid lat,lng [{lat},{lng}] for [{x},{y}].') - counter.add_counter(f'invalid-lat-lng', 1) - return None - data['latitude'] = lat - data['longitude'] = lng - data['area'] = utils.latlng_cell_area(lat, lng, raster.res[1], - raster.res[0]) - s2_level = config.get('s2_level', None) - if s2_level: - data['s2CellId'] = utils.s2_cell_latlng_dcid(lat, lng, s2_level) - data['s2Level'] = s2_level - if not bands: - bands = list(range(raster.count)) - for band in bands: - point_data = arr[band][x][y] - if point_data != nodata_value and not np.isnan(point_data): - data[f'band:{band}'] = point_data - date = config.get('output_date') - if date: - data['date'] = date - return data +def get_raster_data_point( + raster: rasterio.io.DatasetReader, + arr: np.ndarray, + x: int, + y: int, + lat: float = None, + lng: float = None, + bands: list = None, + nodata_value: int = 0, + config: ConfigMap = None, + counter: Counters = None, +) -> dict: + """Returns the lat/long and data value for each band + + in the raster for a given position index (x, y). + Args: + raster: input raster + arr: numpy array from the input raster + x: index of the point + y: index of the point + lat: latitude of the point in degrees + lng: longitude of the point in degrees If lat/lng are not set, it is + computed from the raster transform + bands: list of bands indexes to process. If not specified, all bands are + processed. + nodata_value: value of cells not having valid data in the raster/numpy + config: ConfigMap dictionary of config parameters + + Returns: + dictionary of values for the data point from the raster + including additional property for s2CellId and area. + """ + if not config: + config = ConfigMap() + data = dict() + if lat is None or lng is None: + (lng, lat) = rasterio.transform.xy(raster.transform, x, y) + if lat > 90 or lat < -90 or lng > 180 or lng < -180: + logging.error(f'Invalid lat,lng [{lat},{lng}] for [{x},{y}].') + counter.add_counter(f'invalid-lat-lng', 1) + return None + data['latitude'] = lat + data['longitude'] = lng + data['area'] = utils.latlng_cell_area(lat, lng, raster.res[1], raster.res[0]) + s2_level = config.get('s2_level', None) + if s2_level: + data['s2CellId'] = utils.s2_cell_latlng_dcid(lat, lng, s2_level) + data['s2Level'] = s2_level + grid_degree = config.get('grid_degree', None) + if grid_degree: + data['dcid'] = utils.grid_id_from_lat_lng( + grid_degree, lat, lng, config.get('grid_prefix', 'grid_1') + ) + data['grid_degree'] = grid_degree + if not bands: + bands = list(range(raster.count)) + for band in bands: + point_data = arr[band][x][y] + if point_data != nodata_value and not np.isnan(point_data): + data[f'band:{band}'] = point_data + date = config.get('output_date') + if date: + data['date'] = date + return data def get_csv_data_point(input_data: dict, config: ConfigMap) -> dict: - '''Get data for a CSV row. - Args: - input_data: dictionary with column:values for a CSV row. - assumed to have columns: latitude, longitude - Returns: - dictionary with values for the data point including area and s2CellId. - ''' - _set_numeric_data(input_data, config) - lat = input_data.get('latitude', 0.0) - lng = input_data.get('longitude', 0.0) - if isinstance(lat, str) or isinstance(lng, str): - logging.debug(f'Invalid lat/lng in data {input_data}') - return {} - input_data['latitude'] = lat - input_data['longitude'] = lng - s2_level = config.get('s2_level', None) - s2_cell = None - if s2_level: - s2_cell = utils.s2_cell_from_latlng(lat, lng, s2_level) - input_data['s2CellId'] = utils.s2_cell_to_dcid(s2_cell.id()) - input_data['s2Level'] = s2_level - date = config.get('output_date') - if 'area' not in input_data: - area = None - if s2_cell: - area = utils.s2_cell_area(s2_cell) - else: - default_cell_area = config.get('default_cell_area', 0) - default_cell_width = config.get('default_cell_width', 0) - default_cell_height = config.get('default_cell_width', 0) - if default_cell_area > 0: - area = default_cell_area - elif default_cell_width > 0 and default_cell_height > 0: - area = utils.latlng_cell_area(lat, lng, default_cell_height, - default_cell_width) - if area: - input_data['area'] = area - if date and 'date' not in input_data: - input_data['date'] = date - if config.get('ignore_date', False) and 'date' in input_data: - input_data.pop('date') - return input_data - - -def get_raster_data_latlng(raster: rasterio.io.DatasetReader, - arr: np.ndarray, - lat: float, - lng: float, - band: int = 0) -> float: - '''Return the data value for the point (lat, lng) in given raster - Args: - raster: raster to look up - arr: numpy array having values from the ratser - lat: latitude of the point in degrees - lng: longitude of the point in degrees - band: the band index in the numpy array to use. - uses band 0 if unspecified. - Returns: - the data value from the numpy array for the given point.''' - (x, y) = rasterio.transform.rowcol(raster.transform, lng, lat) - if not x or not y: - return None - (rows, cols) = raster.shape - if x < 0 or x >= cols or y < 0 or y >= rows: - logging.debug( - f'Point {lat}:{lng} ({x}:{y}) outside raster {raster.files}') - return None - return arr[band][x][y] - - -def is_valid_data_point(data_point: dict, filter_params: dict, - counter: Counters) -> bool: - '''Returns True if the data point is allowed for all parameters in config. - Args: - data_point: dictionary of values for the point. - assumes to have properties like latitude/longitude, area, etc - filter_params: - dictionary of filter settings for each data value key. - filter settings could be: min, max - Returns: - True if data values satisfy all conditions in the filter params. - ''' - if filter_params: - for col, params in filter_params.items(): - value = data_point.get(col, None) - if 'min' in params: - if value is None or value < params['min']: - counter.add_counter(f'data-dropped-min-{col}', 1) - return False - if 'max' in params: - if value is None or value > params['max']: - counter.add_counter(f'data-dropped-max-{col}', 1) - return False - if 'eq' in params: - if value is None or not math.isclose(value, params['eq']): - counter.add_counter(f'data-dropped-eq-{col}', 1) - return False - if 'regex' in params: - re_pat = params['regex'] - if value is None or not re.search(re_pat, str(value)): - counter.add_counter(f'data-dropped-regex-{col}', 1) - return False - - return True + """Get data for a CSV row. + + Args: + input_data: dictionary with column:values for a CSV row. assumed to have + columns: latitude, longitude + + Returns: + dictionary with values for the data point including area and s2CellId. + """ + _set_numeric_data(input_data, config) + lat = input_data.get('latitude', 0.0) + lng = input_data.get('longitude', 0.0) + if isinstance(lat, str) or isinstance(lng, str): + logging.debug(f'Invalid lat/lng in data {input_data}') + return {} + input_data['latitude'] = lat + input_data['longitude'] = lng + s2_level = config.get('s2_level', None) + s2_cell = None + if s2_level: + s2_cell = utils.s2_cell_from_latlng(lat, lng, s2_level) + input_data['s2CellId'] = utils.s2_cell_to_dcid(s2_cell.id()) + input_data['s2Level'] = s2_level + grid_degree = config.get('grid_degree', None) + if grid_degree: + input_data['dcid'] = utils.grid_id_from_lat_lng( + grid_degree, lat, lng, config.get('grid_prefix', 'grid_1') + ) + input_data['grid_degree'] = grid_degree + date = config.get('output_date') + if 'area' not in input_data: + area = None + if s2_cell: + area = utils.s2_cell_area(s2_cell) + else: + default_cell_area = config.get('default_cell_area', 0) + default_cell_width = config.get('default_cell_width', 0) + default_cell_height = config.get('default_cell_width', 0) + if default_cell_area > 0: + area = default_cell_area + elif default_cell_width > 0 and default_cell_height > 0: + area = utils.latlng_cell_area( + lat, lng, default_cell_height, default_cell_width + ) + if area: + input_data['area'] = area + if date and 'date' not in input_data: + input_data['date'] = date + if config.get('ignore_date', False) and 'date' in input_data: + input_data.pop('date') + return input_data + + +def get_raster_data_latlng( + raster: rasterio.io.DatasetReader, + arr: np.ndarray, + lat: float, + lng: float, + band: int = 0, +) -> float: + """Return the data value for the point (lat, lng) in given raster + + Args: + raster: raster to look up + arr: numpy array having values from the ratser + lat: latitude of the point in degrees + lng: longitude of the point in degrees + band: the band index in the numpy array to use. uses band 0 if unspecified. + + Returns: + the data value from the numpy array for the given point. + """ + (x, y) = rasterio.transform.rowcol(raster.transform, lng, lat) + if not x or not y: + return None + (rows, cols) = raster.shape + if x < 0 or x >= cols or y < 0 or y >= rows: + logging.debug(f'Point {lat}:{lng} ({x}:{y}) outside raster {raster.files}') + return None + return arr[band][x][y] + + +def is_valid_data_point( + data_point: dict, filter_params: dict, counter: Counters +) -> bool: + """Returns True if the data point is allowed for all parameters in config. + + Args: + data_point: dictionary of values for the point. assumes to have properties + like latitude/longitude, area, etc + filter_params: dictionary of filter settings for each data value key. filter + settings could be: min, max + + Returns: + True if data values satisfy all conditions in the filter params. + """ + if filter_params: + for col, params in filter_params.items(): + value = data_point.get(col, None) + if 'min' in params: + if value is None or value < params['min']: + counter.add_counter(f'data-dropped-min-{col}', 1) + return False + if 'max' in params: + if value is None or value > params['max']: + counter.add_counter(f'data-dropped-max-{col}', 1) + return False + if 'eq' in params: + if value is None or not math.isclose(value, params['eq']): + counter.add_counter(f'data-dropped-eq-{col}', 1) + return False + if 'regex' in params: + re_pat = params['regex'] + if value is None or not re.search(re_pat, str(value)): + counter.add_counter(f'data-dropped-regex-{col}', 1) + return False + + return True def rename_data_columns(data_point: dict, rename_columns: dict) -> dict: - '''Rename data point key (columns) names. - Args: - data_point: dictionary of data values - rename_columns: dictionary of key name replacements for data_point dict - Returns: - data_point dictionary with the keys renames if any.''' - if rename_columns: - for col, new_col in rename_columns.items(): - if col in data_point: - value = data_point.pop(col) - data_point[new_col] = value - return data_point - - -def get_parent_s2_cellids(lat: float, lng: float, s2cell_id: str, s2_level: int, - top_s2_level: int) -> list: - '''Returns list of parent s2 cell ids(int) up to top_s2_level.''' - s2cell = None - if lat is not None and lng is not None: - s2cell = utils.s2_cell_from_latlng(lat, lng, s2_level) - elif s2cell_id: - if isinstance(s2cell_id, str): - s2cell = utils.s2_cell_from_dcid(s2cell_id) - else: - s2cell = s2sphere.CellId(s2cell_id) - if not s2cell or top_s2_level is None: - return [0] - return [ - s2cell.parent(level).id() - for level in range(s2cell.level(), top_s2_level - 1, -1) - ] - - -def add_data_point(data_dict: dict, - data_point: dict, - config: ConfigMap = {}, - filter_params: dict = {}, - counter: Counters = None) -> dict: - '''Add a data point to the data_dict dictionary - if a point with the same key already exists, it is updated with new values. - Args: - data_dict: dictionary into which the point it to be added. - data_point: property:values for the data point. - config: dictionary of config parameters. - Indicates method to merge existing data, such as: - sum, min, max, mean. - filter_params: dictionary with data filter settings. - counter: dictionary of counters to be updated. - Returns: - the data point dictionary added/updated if filter settings are met. - The returned dict will have additional properties prefixed with '#' - such as '#count' in case data is merged, - and band specific counts, like '#band:0:count' when aggregating as mean. - ''' - counter.add_counter('processed_points', 1) - rename_data_columns(data_point, config.get('rename_columns', None)) - s2_level = data_point.get('s2Level', config.get('s2Level', '')) - data_key = _get_data_key(data_point) - if data_key not in data_dict: - cur_data = dict(data_point) + """Rename data point key (columns) names. + + Args: + data_point: dictionary of data values + rename_columns: dictionary of key name replacements for data_point dict + + Returns: + data_point dictionary with the keys renames if any. + """ + if rename_columns: + for col, new_col in rename_columns.items(): + if col in data_point: + value = data_point.pop(col) + data_point[new_col] = value + return data_point + + +def get_parent_s2_cellids( + lat: float, lng: float, s2cell_id: str, s2_level: int, top_s2_level: int +) -> list: + """Returns list of parent s2 cell ids(int) up to top_s2_level.""" + s2cell = None + if lat is not None and lng is not None: + s2cell = utils.s2_cell_from_latlng(lat, lng, s2_level) + elif s2cell_id: + if isinstance(s2cell_id, str): + s2cell = utils.s2_cell_from_dcid(s2cell_id) else: - # Data key already exists. Aggregate. - cur_data = dict(data_dict[data_key]) - def_aggr = config.get('aggregate', 'sum') - props = set(data_point.keys()).difference(_DEFAULT_COLUMNS) - props = [p for p in props if not p.startswith('#')] - for prop in props: - cur_val = cur_data.get(prop, 0) - new_val = data_point[prop] - aggr = filter_params.get(prop, {}).get('aggregate', def_aggr) - if aggr == 'sum': - cur_data[prop] = cur_val + new_val - elif aggr == 'min': - cur_data[prop] = min(cur_val, new_val) - elif aggr == 'max': - cur_data[prop] = max(cur_val, new_val) - elif aggr == 'mean': - cur_num = cur_data.get(f'#{prop}:count', 0) - new_num = data_point.get(f'#{prop}:count', 1) - cur_data[prop] = ((cur_val * cur_num) + - (new_val * new_num)) / (cur_num + new_num) - cur_data[f'#{prop}:count'] = cur_num + new_num - # Update lat/long to centroid. - cur_count = cur_data.get('#count', 1) - new_count = data_point.get('#count', 1) - for loc in ['latitude', 'longitude']: - cur_val = cur_data[loc] - new_val = data_point[loc] - cur_data[loc] = ((cur_val * cur_count) + - (new_val * new_count)) / (cur_count + new_count) - cur_data['#count'] = cur_count + new_count - if len(data_dict) % config.get('log_every_n', 1000) == 0: - logging.debug(f'Added data {data_point} into {cur_data}') - counter.add_counter(f'processed_points_aggregated_s2level_{s2_level}', - 1) - if not is_valid_data_point(cur_data, filter_params, counter): - counter.add_counter('processed_points_dropped', 1) - return None - data_dict[data_key] = cur_data - counter.add_counter(f'output_points_s2level_{s2_level}', 1) - return cur_data + s2cell = s2sphere.CellId(s2cell_id) + if not s2cell or top_s2_level is None: + return [0] + return [ + s2cell.parent(level).id() + for level in range(s2cell.level(), top_s2_level - 1, -1) + ] + + +def add_data_point( + data_dict: dict, + data_point: dict, + config: ConfigMap = {}, + filter_params: dict = {}, + counter: Counters = None, +) -> dict: + """Add a data point to the data_dict dictionary + + if a point with the same key already exists, it is updated with new values. + Args: + data_dict: dictionary into which the point it to be added. + data_point: property:values for the data point. + config: dictionary of config parameters. Indicates method to merge existing + data, such as: sum, min, max, mean. + filter_params: dictionary with data filter settings. + counter: dictionary of counters to be updated. + + Returns: + the data point dictionary added/updated if filter settings are met. + The returned dict will have additional properties prefixed with '#' + such as '#count' in case data is merged, + and band specific counts, like '#band:0:count' when aggregating as mean. + """ + counter.add_counter('processed_points', 1) + rename_data_columns(data_point, config.get('rename_columns', None)) + s2_level = data_point.get( + 's2Level', config.get('s2Level', config.get('grid_degree', '')) + ) + data_key = _get_data_key(data_point) + if data_key not in data_dict: + cur_data = dict(data_point) + else: + # Data key already exists. Aggregate. + cur_data = dict(data_dict[data_key]) + def_aggr = config.get('aggregate', 'sum') + props = set(data_point.keys()).difference(_DEFAULT_COLUMNS) + props = [p for p in props if not p.startswith('#')] + for prop in props: + try: + cur_val = cur_data.get(prop, 0) + new_val = data_point[prop] + if cur_val == new_val: + continue + if isinstance(cur_val, str) and not cur_val and new_val: + cur_data[prop] = new_val + continue + if isinstance(new_val, str) and not new_val: + continue + aggr = filter_params.get(prop, {}).get('aggregate', def_aggr) + if aggr == 'last': + cur_data[prop] = new_val + continue + # Convert values to numeric for aggregation + if ( + isinstance(cur_val, float) + or isinstance(cur_val, int) + or isinstance(new_val, float) + or isinstance(new_val, int) + ): + cur_val = _get_numeric_value(cur_val) + new_val = _get_numeric_value(new_val) + + if aggr == 'sum': + cur_data[prop] = cur_val + new_val + elif aggr == 'min': + cur_data[prop] = min(cur_val, new_val) + elif aggr == 'max': + cur_data[prop] = max(cur_val, new_val) + elif aggr == 'mean': + cur_num = cur_data.get(f'#{prop}:count', 0) + new_num = data_point.get(f'#{prop}:count', 1) + cur_data[prop] = ((cur_val * cur_num) + (new_val * new_num)) / ( + cur_num + new_num + ) + cur_data[f'#{prop}:count'] = cur_num + new_num + except TypeError as e: + logging.error( + f'Error {e} in aggregating: {agr}: prop: {prop}, for new' + f' {data_point} with old: {cur_data}' + ) + + # Update lat/long to centroid. + cur_count = cur_data.get('#count', 1) + new_count = data_point.get('#count', 1) + for loc in ['latitude', 'longitude']: + cur_val = cur_data[loc] + new_val = data_point[loc] + cur_data[loc] = ((cur_val * cur_count) + (new_val * new_count)) / ( + cur_count + new_count + ) + cur_data['#count'] = cur_count + new_count + if len(data_dict) % config.get('log_every_n', 1000) == 0: + logging.debug(f'Added data {data_point} into {cur_data}') + counter.add_counter(f'processed_points_aggregated_s2level_{s2_level}', 1) + if not is_valid_data_point(cur_data, filter_params, counter): + counter.add_counter('processed_points_dropped', 1) + return None + data_dict[data_key] = cur_data + counter.add_counter(f'output_points_s2level_{s2_level}', 1) + return cur_data def load_raster_geotiff(filename: str) -> rasterio.io.DatasetReader: - '''Load a raster from a geoTiff file. - Args: - filename: Name of the geoTiff file. - Returns: - raster data set for the file. - ''' - logging.info(f'Loading raster GeoTiff File: {filename}') - if file_util.file_is_gcs(filename): - # RasterIO doesn't support GCS files. Copy over to a local file. - filename = file_util.file_copy(filename) - src = rasterio.open(filename) - _log_raster_info(src) - return src - - -def write_data_csv(data_points: dict, - filename: str, - columns: list = None, - config: ConfigMap = {}, - counter: Counters = None): - '''Output the data points dict into the csv file. - Args: - data_points: dictionary of data points keys by location+date. - each entry is a dictionary of property:values for each point. - if config doesn't specify output_columns, all keys without the '#' prefix - are added as csv columns. - filename: output csv file name - columns: list of output columns. - if not set, picks the config['output_columns'] or all keys. - config: dictionary of parameter:value settings for: - output_mode: whether to append or overwrite file. - output_columns: list of columns to emit - if not specified, all keys in the data_point dict are emitted. - - counter: dictionary of counter:values. - ''' - # Write to the output. - if not columns: - columns = config.get('output_columns', None) - if not columns: - all_columns = _get_all_columns(data_points, config, - config.get('ignore_commented', True)) - # Order columns in same order as input. - columns = [] - for col in config.get('input_columns', []): - if col in all_columns: - columns.append(col) - for col in all_columns: - if col not in columns: - columns.append(col) - logging.info( - f'Writing {len(data_points)} rows with columns: {columns} into {filename} ...' + """Load a raster from a geoTiff file. + + Args: + filename: Name of the geoTiff file. + + Returns: + raster data set for the file. + """ + logging.info(f'Loading raster GeoTiff File: {filename}') + if file_util.file_is_gcs(filename): + # RasterIO doesn't support GCS files. Copy over to a local file. + filename = file_util.file_copy(filename) + src = rasterio.open(filename) + _log_raster_info(src) + return src + + +def write_data_csv( + data_points: dict, + filename: str, + columns: list = None, + config: ConfigMap = {}, + counter: Counters = None, +): + """Output the data points dict into the csv file. + + Args: + data_points: dictionary of data points keys by location+date. each entry is + a dictionary of property:values for each point. if config doesn't specify + output_columns, all keys without the '#' prefix are added as csv columns. + filename: output csv file name + columns: list of output columns. if not set, picks the + config['output_columns'] or all keys. + config: dictionary of parameter:value settings for: + output_mode: whether to append or overwrite file. + output_columns: list of columns to emit if not specified, all keys in the + data_point dict are emitted. + counter: dictionary of counter:values. + """ + # Write to the output. + if not columns: + columns = config.get('output_columns', None) + if not columns: + all_columns = _get_all_columns( + data_points, config, config.get('ignore_commented', True) ) - # create output directory if needed - dirname = os.path.dirname(filename) - if dirname: - os.makedirs(dirname, exist_ok=True) - # Open file in append mode or overwrite mode. - output_mode = config.get('output_mode', 'w') - if output_mode == 'a': - if not os.path.exists(filename): - # File doesn't exist yet. Open in write mode and add column headers. - output_mode = 'w' - with file_util.FileIO(filename, mode=output_mode) as csv_file: - writer = csv.DictWriter(csv_file, - fieldnames=columns, - escapechar='\\', - extrasaction='ignore', - quotechar='"', - quoting=csv.QUOTE_NONNUMERIC) - if output_mode == 'w': - writer.writeheader() - output_date = config.get('output_date', None) - precision_digits = config.get('output_precision', 6) - counter.set_counter('total_points', len(data_points)) - for key, data in data_points.items(): - # Limit decimals for lat/lng - for col, val in data.items(): - data[col] = utils.str_format_float(val, precision_digits) - if output_date: - data['date'] = output_date - writer.writerow(data) - counter.set_counter('points_processed', 1) - counter.set_counter(f'output_rows:{os.path.basename(filename)}', - len(data_points)) - - -def write_s2place_csv_tmcf(data_points: dict, - output_prefix: str, - config: ConfigMap = {}, - counter: Counters = None): - '''Generate CSV+tMCF file for S2 places with hierarchy. - Args: - data_ponts: dictionary of data points where each point is a dict with 's2Cellid' - output_prefix: file name prefix for output csv/tmcf files. - config: dictionary of config parameters - output_contained_s2_level: topmost s2 level upto which places are added. - counter: dictionary of named counters - ''' - s2_places = {} - contained_levels = config.get('output_contained_s2_level', [10]) - # Collect all S2 cells ids for data points and its parents. - for data in data_points.values(): - s2cell_dcid = data.get('s2CellId', None) - if not s2cell_dcid: - continue - s2cell = utils.s2_cell_from_dcid(s2cell_dcid) - if not s2cell: - continue - s2_places[s2cell.id()] = {} - logging.info( - f'Generating place data for {len(s2_places)} places upto level {contained_levels} into {output_prefix}.csv/tmcf' + # Order columns in same order as input. + columns = [] + for col in config.get('input_columns', []): + if col in all_columns: + columns.append(col) + for col in all_columns: + if col not in columns: + columns.append(col) + logging.info( + f'Writing {len(data_points)} rows with columns: {columns} into' + f' {filename} ...' + ) + # create output directory if needed + dirname = os.path.dirname(filename) + if dirname: + os.makedirs(dirname, exist_ok=True) + # Open file in append mode or overwrite mode. + output_mode = config.get('output_mode', 'w') + if output_mode == 'a': + if not os.path.exists(filename): + # File doesn't exist yet. Open in write mode and add column headers. + output_mode = 'w' + with file_util.FileIO(filename, mode=output_mode) as csv_file: + writer = csv.DictWriter( + csv_file, + fieldnames=columns, + escapechar='\\', + extrasaction='ignore', + quotechar='"', + quoting=csv.QUOTE_NONNUMERIC, ) - # Add containedInPlace and Types for each s2 cell. - for cellid in s2_places.keys(): - s2cell = s2sphere.CellId(cellid) - contained_in = [] - s2level = s2cell.level() - for level in contained_levels: - if level and level < s2level: - contained_in.append( - utils.s2_cell_to_dcid(s2cell.parent(level).id())) - s2_places[cellid] = { - 's2CellId': utils.s2_cell_to_dcid(s2cell.id()), - 'typeOf': f'dcid:S2CellLevel{s2cell.level()}', - 'containedInPlace': ','.join(contained_in), - 'name': f'Level {s2level} S2 Cell {s2cell.id():#018x}', - } - output_prefix = os.path.splitext(output_prefix)[0] - output_dir = os.path.dirname(output_prefix) - if output_dir: - os.makedirs(output_dir, exist_ok=True) - # Generate the place csv - counter.set_prefix('8:output_places_csv:') - write_data_csv(s2_places, f'{output_prefix}.csv', - ['s2CellId', 'typeOf', 'containedInPlace', 'name'], config, - counter) - - # Generate the place tmcf - logging.info(f'Generating place tmcf {output_prefix}.tmcf') - place_tmcf = ['Node: E:Place->E0'] - place_tmcf.append('dcid: C:Place->s2CellId') - place_tmcf.append('typeOf: C:Place->typeOf') - place_tmcf.append('containedInPlace: C:Place->containedInPlace') - place_tmcf.append('name: C:Place->name') - with file_util.FileIO(f'{output_prefix}.tmcf', 'w') as tmcf_file: - tmcf_file.write('\n'.join(place_tmcf)) - tmcf_file.write('\n') - - -def process_raster(raster_input: str, - config: ConfigMap, - data_points: dict = None, - counter: Counters = {}) -> dict: - '''Read a raster geoTiff and output points with data values. - Args: - raster_input: raster data set to process loaded from a geoTiff file. - config: dictionary of parameter:value settings. - data_points: dictionary into which points from the raster are added. - counter: dictionary of named counters. - Returns: - data_points dict with new points from the raster added.''' - logging.info( - f'Processing raster {raster_input} with config: {config.get_configs()}') - counter.add_counter('input_geotiff_files', 1) - # Load the geoTiff file - counter.set_prefix('1:load_raster:') - src = load_raster_geotiff(raster_input) - # Convert raster into a numpy array. - # Note: This creates a large array with the shape of the original raster - # extent with non-valid data points set to 0. - arr = src.read() - # Load any allow/ignore raster masks. - ignore_geotiff = config.get('ignore_geotiff', None) - allow_geotiff = config.get('allow_geotiff', None) - ignore_src, ignore_arr = (None, None) - allow_src, allow_arr = (None, None) - if ignore_geotiff: - ignore_src = load_raster_geotiff(ignore_geotiff) - ignore_arr = ignore_src.read() - if allow_geotiff: - allow_src = load_raster_geotiff(allow_geotiff) - allow_arr = allow_src.read() - if data_points is None: - data_points = dict() - - # Extract all valid data points from the raster into a numpy array. - # Note: This assumes a sparse raster with few valid data points. - counter.set_prefix('2:extract_raster_points:') - idx = np.where(arr != 0) - num_idx = len(idx[0]) - points_xy = [list(), list()] - if src.count == 1: - # Get list of xy points with data for the single band. - points_xy[0] = idx[1] - points_xy[1] = idx[2] - else: - # For raster with multiple bands, get list of points with value data - # across any band. - xy_set = set() - for i in range(num_idx): - x = idx[1][i] - y = idx[2][i] - if (x, y) not in xy_set: - xy_set.add((x, y)) - points_xy[0].append(x) - points_xy[1].append(y) - # Release memory - idx = None - xy_set = None - num_points = len(points_xy[0]) - counter.add_counter('processed_points', num_points) - logging.info( - f'Got {num_points} xy points out of {num_idx} values from raster: {raster_input}.' + if output_mode == 'w': + writer.writeheader() + output_date = config.get('output_date', None) + precision_digits = config.get('output_precision', 6) + counter.set_counter('total_points', len(data_points)) + for key, data in data_points.items(): + # Limit decimals for lat/lng + for col, val in data.items(): + data[col] = utils.str_format_float(val, precision_digits) + if output_date: + data['date'] = output_date + writer.writerow(data) + counter.set_counter('points_processed', 1) + counter.set_counter( + f'output_rows:{os.path.basename(filename)}', len(data_points) + ) + + +def write_s2place_csv_tmcf( + data_points: dict, + output_prefix: str, + config: ConfigMap = {}, + counter: Counters = None, +): + """Generate CSV+tMCF file for S2 places with hierarchy. + + Args: + data_ponts: dictionary of data points where each point is a dict with + 's2Cellid' + output_prefix: file name prefix for output csv/tmcf files. + config: dictionary of config parameters + output_contained_s2_level: topmost s2 level upto which places are added. + counter: dictionary of named counters + """ + s2_places = {} + contained_levels = config.get('output_contained_s2_level', [10]) + # Collect all S2 cells ids for data points and its parents. + for data in data_points.values(): + s2cell_dcid = data.get('s2CellId', None) + if not s2cell_dcid: + continue + s2cell = utils.s2_cell_from_dcid(s2cell_dcid) + if not s2cell: + continue + s2_places[s2cell.id()] = {} + logging.info( + f'Generating place data for {len(s2_places)} places upto level' + f' {contained_levels} into {output_prefix}.csv/tmcf' + ) + # Add containedInPlace and Types for each s2 cell. + for cellid in s2_places.keys(): + s2cell = s2sphere.CellId(cellid) + contained_in = [] + s2level = s2cell.level() + for level in contained_levels: + if level and level < s2level: + contained_in.append(utils.s2_cell_to_dcid(s2cell.parent(level).id())) + s2_places[cellid] = { + 's2CellId': utils.s2_cell_to_dcid(s2cell.id()), + 'typeOf': f'dcid:S2CellLevel{s2cell.level()}', + 'containedInPlace': ','.join(contained_in), + 'name': f'Level {s2level} S2 Cell {s2cell.id():#018x}', + } + output_prefix = os.path.splitext(output_prefix)[0] + output_dir = os.path.dirname(output_prefix) + if output_dir: + os.makedirs(output_dir, exist_ok=True) + # Generate the place csv + counter.set_prefix('8:output_places_csv:') + write_data_csv( + s2_places, + f'{output_prefix}.csv', + ['s2CellId', 'typeOf', 'containedInPlace', 'name'], + config, + counter, + ) + + # Generate the place tmcf + logging.info(f'Generating place tmcf {output_prefix}.tmcf') + place_tmcf = ['Node: E:Place->E0'] + place_tmcf.append('dcid: C:Place->s2CellId') + place_tmcf.append('typeOf: C:Place->typeOf') + place_tmcf.append('containedInPlace: C:Place->containedInPlace') + place_tmcf.append('name: C:Place->name') + with file_util.FileIO(f'{output_prefix}.tmcf', 'w') as tmcf_file: + tmcf_file.write('\n'.join(place_tmcf)) + tmcf_file.write('\n') + + +def process_raster( + raster_input: str, + config: ConfigMap, + data_points: dict = None, + counter: Counters = {}, +) -> dict: + """Read a raster geoTiff and output points with data values. + + Args: + raster_input: raster data set to process loaded from a geoTiff file. + config: dictionary of parameter:value settings. + data_points: dictionary into which points from the raster are added. + counter: dictionary of named counters. + + Returns: + data_points dict with new points from the raster added. + """ + logging.info( + f'Processing raster {raster_input} with config: {config.get_configs()}' + ) + counter.add_counter('input_geotiff_files', 1) + # Load the geoTiff file + counter.set_prefix('1:load_raster:') + src = load_raster_geotiff(raster_input) + # Convert raster into a numpy array. + # Note: This creates a large array with the shape of the original raster + # extent with non-valid data points set to 0. + arr = src.read() + # Load any allow/ignore raster masks. + ignore_geotiff = config.get('ignore_geotiff', None) + allow_geotiff = config.get('allow_geotiff', None) + ignore_src, ignore_arr = (None, None) + allow_src, allow_arr = (None, None) + if ignore_geotiff: + ignore_src = load_raster_geotiff(ignore_geotiff) + ignore_arr = ignore_src.read() + if allow_geotiff: + allow_src = load_raster_geotiff(allow_geotiff) + allow_arr = allow_src.read() + if data_points is None: + data_points = dict() + + # Extract all valid data points from the raster into a numpy array. + # Note: This assumes a sparse raster with few valid data points. + counter.set_prefix('2:extract_raster_points:') + idx = np.where(arr != 0) + num_idx = len(idx[0]) + points_xy = [list(), list()] + if src.count == 1: + # Get list of xy points with data for the single band. + points_xy[0] = idx[1] + points_xy[1] = idx[2] + else: + # For raster with multiple bands, get list of points with value data + # across any band. + xy_set = set() + for i in range(num_idx): + x = idx[1][i] + y = idx[2][i] + if (x, y) not in xy_set: + xy_set.add((x, y)) + points_xy[0].append(x) + points_xy[1].append(y) + # Release memory + idx = None + xy_set = None + num_points = len(points_xy[0]) + counter.add_counter('processed_points', num_points) + logging.info( + f'Got {num_points} xy points out of {num_idx} values from raster:' + f' {raster_input}.' + ) + # Process all points in the raster. + process_raster_points( + src, + arr, + ignore_src, + ignore_arr, + allow_src, + allow_arr, + points_xy, + 0, + num_points, + data_points, + config, + None, + counter, + ) + return data_points + + +def process_raster_points( + src_r: rasterio.io.DatasetReader, + src_arr: np.ndarray, + ignore_r: rasterio.io.DatasetReader, + ignore_arr: np.ndarray, + allow_r: rasterio.io.DatasetReader, + allow_arr: np.ndarray, + points_xy: list, + points_start_index: int, + num_points: int, + data_points: dict, + config: ConfigMap, + output_csv: str = None, + counter: Counters = None, +) -> bool: + """Process a set of raster data points. + + Args: + src_r: Source raster data set to process + src_arr: numpy array fr source data set with all bands. + ignore_r: Raster dataset with data points to be ignores. + ignore_arr: numpy array for data points to be ignored set as 1. + allow_r: raster dataset for points to be allowed + allow_arr: numpy array for points to be allowed set as 1. + points_xy: list of indexes for x and y [[x], [y]] with valid data points in + source raster src_r + points_start_index: start index for subset of points to be processed. + num_points: number of points to process from the start index. + data_points: dictionary of data point key:value dicts into which processed + points are added + config: ConfigMap dictionary of configuration parameter:values. + output_csv: output csv file if data_points dict is to be saved in a csv. + counter: dictionary of named counter:values + + Returns + True if the raster was processed. + """ + logging.info( + f'Processing points {num_points} of {len(points_xy[0])} from' + f' {points_start_index} from {src_r.files} ...' + ) + if counter is None: + counter = Counters() + counter.set_prefix('0:raster:') + counter.set_counter('geotiff_width', src_r.shape[1]) + counter.set_counter('geotiff_height', src_r.shape[0]) + counter.set_counter('index_data_points', num_points) + data_filter = config.get('input_data_filter', {}) + counter.set_prefix('3:extract_raster_latlng:') + counter.set_counter('total_points', num_points) + # Get Lat/Lng coordinates for all given x,y points + # in a batch to reduce number of calls into rasterio. + latlons = rasterio.transform.xy(src_r.transform, points_xy[0], points_xy[1]) + counter.add_counter('processed_points', len(latlons[0])) + logging.info(f'Got Lat/Lngs for {len(latlons[0])} raster points.') + # Go over all data points in range. + counter.set_prefix('4:process_raster_data:') + num_points = min(num_points, config.get('limit_points', num_points)) + counter.set_counter('total_points', num_points) + for point_index in range(points_start_index, points_start_index + num_points): + x = points_xy[0][point_index] + y = points_xy[1][point_index] + lng = latlons[0][point_index] + lat = latlons[1][point_index] + data = get_raster_data_point( + raster=src_r, + arr=src_arr, + x=x, + y=y, + lat=lat, + lng=lng, + config=config, + counter=counter, ) - # Process all points in the raster. - process_raster_points(src, arr, ignore_src, ignore_arr, allow_src, - allow_arr, points_xy, 0, num_points, data_points, - config, None, counter) - return data_points - - -def process_raster_points(src_r: rasterio.io.DatasetReader, - src_arr: np.ndarray, - ignore_r: rasterio.io.DatasetReader, - ignore_arr: np.ndarray, - allow_r: rasterio.io.DatasetReader, - allow_arr: np.ndarray, - points_xy: list, - points_start_index: int, - num_points: int, - data_points: dict, - config: ConfigMap, - output_csv: str = None, - counter: Counters = None) -> bool: - '''Process a set of raster data points. - Args: - src_r: Source raster data set to process - src_arr: numpy array fr source data set with all bands. - ignore_r: Raster dataset with data points to be ignores. - ignore_arr: numpy array for data points to be ignored set as 1. - allow_r: raster dataset for points to be allowed - allow_arr: numpy array for points to be allowed set as 1. - points_xy: list of indexes for x and y [[x], [y]] with - valid data points in source raster src_r - points_start_index: start index for subset of points to be processed. - num_points: number of points to process from the start index. - data_points: dictionary of data point key:value dicts - into which processed points are added - config: ConfigMap dictionary of configuration parameter:values. - output_csv: output csv file if data_points dict is to be saved in a csv. - counter: dictionary of named counter:values - Returns - True if the raster was processed. - ''' - logging.info( - f'Processing points {num_points} of {len(points_xy[0])} from {points_start_index} from {src_r.files} ...' + if data: + # Check if data point is allowed by the ignore/allow masks. + if ignore_arr is not None: + ignore_point = get_raster_data_latlng( + ignore_r, ignore_arr, data['latitude'], data['longitude'] + ) + if ignore_point: + logging.debug(f'Ignoring {data} due to ignore mask: {ignore_point}') + counter.add_counter('ignored_points', 1) + continue + if allow_arr is not None: + allow_point = get_raster_data_latlng( + allow_r, allow_arr, data['latitude'], data['longitude'] + ) + if not allow_point: + logging.debug(f'Ignoring {data} due to allow mask: {allow_point}') + counter.add_counter('dropped_points', 1) + continue + if add_data_point(data_points, data, config, data_filter, counter): + counter.add_counter('output_data_points', 1) + counter.print_counters_periodically() + counter.print_counters() + if output_csv: + counter.set_prefix('5:output_data_csv:') + write_data_csv(data_points, output_csv, [], config, counter) + return True + + +def process_csv_points( + input_csv: str, + ignore_csv: str = None, + allow_csv: str = None, + data_points: dict = None, + config: ConfigMap = {}, + output_csv: str = None, + counter: Counters = None, +) -> bool: + """Process data points from CSV. + + Args: + input_csv: Input csv file to load data points. Assumed to have columns: + latitude, longitude + ignore_csv: CSV file with points to be ignored. + allow_csv: CSV file with points to be allowed. + data_points: Dictionary of data points keyed by location+date. into which + new points from input_csv are added. + config: dictionary of configuration parameter:values. + output_csv: Output csv file if data is to be saved. + counter: dictionary of named counter:values. + + Returns: + True if data was processed. + """ + if data_points is None: + data_points = {} + if counter is None: + counter = Counters() + ignore_points = {} + if ignore_csv: + filter_config = dict(config) + filter_config['ignore_date'] = True + ignore_points = process_csv_points( + input_csv=ignore_csv, config=filter_config + ) + logging.info(f'Loaded {len(ignore_points)} ignore points from {ignore_csv}') + allow_points = {} + if allow_csv: + filter_config = dict(config) + filter_config['ignore_date'] = True + allow_points = process_csv_points(input_csv=allow_csv, config=filter_config) + logging.info(f'Loaded {len(allow_points)} allow points from {allow_csv}') + data_filter = config.get('input_data_filter', {}) + input_csv_files = file_util.file_get_matching(input_csv) + logging.info(f'Processing csv files: {input_csv_files}') + counter.set_prefix('1:process_csv:') + for filename in input_csv_files: + counter.add_counter( + 'total_points', file_util.file_estimate_num_rows(filename) ) - if counter is None: - counter = Counters() - counter.set_prefix('0:raster:') - counter.set_counter('geotiff_width', src_r.shape[1]) - counter.set_counter('geotiff_height', src_r.shape[0]) - counter.set_counter('index_data_points', num_points) - data_filter = config.get('input_data_filter', {}) - counter.set_prefix('3:extract_raster_latlng:') - counter.set_counter('total_points', num_points) - # Get Lat/Lng coordinates for all given x,y points - # in a batch to reduce number of calls into rasterio. - latlons = rasterio.transform.xy(src_r.transform, points_xy[0], points_xy[1]) - counter.add_counter('processed_points', len(latlons[0])) - logging.info(f'Got Lat/Lngs for {len(latlons[0])} raster points.') - # Go over all data points in range. - counter.set_prefix('4:process_raster_data:') - num_points = min(num_points, config.get('limit_points', num_points)) - counter.set_counter('total_points', num_points) - for point_index in range(points_start_index, - points_start_index + num_points): - x = points_xy[0][point_index] - y = points_xy[1][point_index] - lng = latlons[0][point_index] - lat = latlons[1][point_index] - data = get_raster_data_point(raster=src_r, - arr=src_arr, - x=x, - y=y, - lat=lat, - lng=lng, - config=config, - counter=counter) - if data: - # Check if data point is allowed by the ignore/allow masks. - if ignore_arr is not None: - ignore_point = get_raster_data_latlng(ignore_r, ignore_arr, - data['latitude'], - data['longitude']) - if ignore_point: - logging.debug( - f'Ignoring {data} due to ignore mask: {ignore_point}') - counter.add_counter('ignored_points', 1) - continue - if allow_arr is not None: - allow_point = get_raster_data_latlng(allow_r, allow_arr, - data['latitude'], - data['longitude']) - if not allow_point: - logging.debug( - f'Ignoring {data} due to allow mask: {allow_point}') - counter.add_counter('dropped_points', 1) - continue - if add_data_point(data_points, data, config, data_filter, counter): - counter.add_counter('output_data_points', 1) + for filename in input_csv_files: + counter.add_counter('input_csv_files', 1) + with file_util.FileIO(filename) as csvfile: + logging.info(f'Processing data from file {filename} ...') + reader = csv.DictReader(csvfile) + # Save the input columns + config.set_config('input_columns', reader.fieldnames) + # Process required number of input rows. + num_rows = 0 + max_rows = config.get('limit_points', sys.maxsize) + for row in reader: + num_rows += 1 + if num_rows > max_rows: + break + logging.debug(f'Processing CSV row {filename}:{num_rows}:{row}') + data = get_csv_data_point(row, config) + if not data: + counter.add_counter('csv_processed_points_invalid', 1) + continue + data_key = _get_data_key(data, add_date=False) + if data_key in ignore_points: + logging.debug( + f'Ignoring point {data} in ignore list: {ignore_points[data_key]}' + ) + counter.add_counter('csv_points_ignored', 1) + if allow_points and data_key not in allow_points: + logging.debug(f'Ignoring point {data} not in allow list') + counter.add_counter('csv_points_not_allowed', 1) + if add_data_point(data_points, data, config, data_filter, counter): + counter.add_counter('csv_points_added', 1) counter.print_counters_periodically() - counter.print_counters() - if output_csv: - counter.set_prefix('5:output_data_csv:') - write_data_csv(data_points, output_csv, [], config, counter) - return True - - -def process_csv_points(input_csv: str, - ignore_csv: str = None, - allow_csv: str = None, - data_points: dict = None, - config: ConfigMap = {}, - output_csv: str = None, - counter: Counters = None) -> bool: - '''Process data points from CSV. - Args: - input_csv: Input csv file to load data points. - Assumed to have columns: latitude, longitude - ignore_csv: CSV file with points to be ignored. - allow_csv: CSV file with points to be allowed. - data_points: Dictionary of data points keyed by location+date. - into which new points from input_csv are added. - config: dictionary of configuration parameter:values. - output_csv: Output csv file if data is to be saved. - counter: dictionary of named counter:values. - Returns: - True if data was processed. - ''' - if data_points is None: - data_points = {} - if counter is None: - counter = Counters() - ignore_points = {} - if ignore_csv: - filter_config = dict(config) - filter_config['ignore_date'] = True - ignore_points = process_csv_points(input_csv=ignore_csv, - config=filter_config) - logging.info( - f'Loaded {len(ignore_points)} ignore points from {ignore_csv}') - allow_points = {} - if allow_csv: - filter_config = dict(config) - filter_config['ignore_date'] = True - allow_points = process_csv_points(input_csv=allow_csv, - config=filter_config) - logging.info( - f'Loaded {len(allow_points)} allow points from {allow_csv}') - data_filter = config.get('input_data_filter', {}) - input_csv_files = file_util.file_get_matching(input_csv) - logging.info(f'Processing csv files: {input_csv_files}') - counter.set_prefix('1:process_csv:') - for filename in input_csv_files: - counter.add_counter('total_points', - file_util.file_estimate_num_rows(filename)) - for filename in input_csv_files: - counter.add_counter('input_csv_files', 1) - with file_util.FileIO(filename) as csvfile: - logging.info(f'Processing data from file {filename} ...') - reader = csv.DictReader(csvfile) - # Save the input columns - config.set_config('input_columns', reader.fieldnames) - # Process required number of input rows. - num_rows = 0 - max_rows = config.get('limit_points', sys.maxsize) - for row in reader: - num_rows += 1 - if num_rows > max_rows: - break - logging.debug(f'Processing CSV row {filename}:{num_rows}:{row}') - data = get_csv_data_point(row, config) - if not data: - counter.add_counter('csv_processed_points_invalid', 1) - continue - data_key = _get_data_key(data, add_date=False) - if data_key in ignore_points: - logging.debug( - f'Ignoring point {data} in ignore list: {ignore_points[data_key]}' - ) - counter.add_counter('csv_points_ignored', 1) - if allow_points and data_key not in allow_points: - logging.debug(f'Ignoring point {data} not in allow list') - counter.add_counter('csv_points_not_allowed', 1) - if add_data_point(data_points, data, config, data_filter, - counter): - counter.add_counter('csv_points_added', 1) - counter.print_counters_periodically() - logging.info(f'Processed {num_rows} points from {filename}') - counter.set_counter(f'file-points:{os.path.basename(filename)}', - num_rows) - counter.print_counters() + logging.info(f'Processed {num_rows} points from {filename}') + counter.set_counter(f'file-points:{os.path.basename(filename)}', num_rows) + counter.print_counters() + return data_points + + +def filter_data_points( + data_points: dict, + filter_params: dict = None, + config: ConfigMap = {}, + counter: Counters = {}, +) -> dict: + """Remove data points that don't meet required criteria, like min area. + + Args: + data_points: dictionary of data points each with a dict of key:values. + filter_params: parameters for keys of the data points. see + is_valid_data_point() for parameters supported. + config: dictionary of configuration parameter:values. + output_csv: Output csv file if data is to be saved. + counter: dictionary of named counter:values. + + Returns: + data points dictionary after removing points. + """ + if not filter_params: return data_points - - -def filter_data_points(data_points: dict, - filter_params: dict = None, - config: ConfigMap = {}, - counter: Counters = {}) -> dict: - '''Remove data points that don't meet required criteria, like min area. - Args: - data_points: dictionary of data points each with a dict of key:values. - filter_params: parameters for keys of the data points. - see is_valid_data_point() for parameters supported. - config: dictionary of configuration parameter:values. - output_csv: Output csv file if data is to be saved. - counter: dictionary of named counter:values. - Returns: - data points dictionary after removing points. - ''' - if not filter_params: - return data_points + logging.info(f'Filtering {len(data_points)} with params: {filter_params} ...') + counter.set_prefix('6:filter_data:') + counter.set_counter('total_points', len(data_points)) + for k in list(data_points.keys()): + data = data_points[k] + if not is_valid_data_point(data, filter_params, counter): + counter.add_counter('data-dropped-filter', 1) + logging.debug(f'Dropping data {data}') + data_points.pop(k) + counter.set_counter('points_processed', 1) + return data_points + + +def process( + input_geotiff: str, + input_csv: str, + output_csv: str, + config: ConfigMap, + counter: Counters = None, +): + """Process raster or CSV inputs to generate CSV output. + + Args: + input_geotiff: comma separated list of input geotiff file patterns + input_csv: comma separated list of input csv files. + output_csv: output csv file to generate + config: dictionary of config parameter:values. + """ + data_points = {} + if counter is None: + counter = Counters( + options=CounterOptions( + processed_counter='processed_points', total_counter='total_points' + ) + ) + counter.set_counter('start_time', time.perf_counter()) + if input_geotiff: logging.info( - f'Filtering {len(data_points)} with params: {filter_params} ...') - counter.set_prefix('6:filter_data:') - counter.set_counter('total_points', len(data_points)) - for k in list(data_points.keys()): - data = data_points[k] - if not is_valid_data_point(data, filter_params, counter): - counter.add_counter('data-dropped-filter', 1) - logging.debug(f'Dropping data {data}') - data_points.pop(k) - counter.set_counter('points_processed', 1) - return data_points - + f'Processing raster {input_geotiff} with config: {config.get_configs()}' + ) + for geotiff_file in file_util.file_get_matching(input_geotiff): + process_raster(geotiff_file, config, data_points, counter) + if input_csv: + logging.info( + f'Processing csv {input_csv} with config: {config.get_configs()}' + ) + process_csv_points( + input_csv=input_csv, + ignore_csv=config.get('ignore_csv', None), + allow_csv=config.get('allow_csv', None), + data_points=data_points, + config=config, + counter=counter, + ) + logging.info(f'Loaded {len(data_points)} points from {input_csv}') + counter.set_counter('end_time', time.perf_counter()) -def process(input_geotiff: str, - input_csv: str, - output_csv: str, - config: ConfigMap, - counter: Counters = None): - '''Process raster or CSV inputs to generate CSV output. - Args: - input_geotiff: comma separated list of input geotiff file patterns - input_csv: comma separated list of input csv files. - output_csv: output csv file to generate - config: dictionary of config parameter:values. - ''' - data_points = {} - if counter is None: - counter = Counters(options=CounterOptions( - processed_counter='processed_points', total_counter='total_points')) - counter.set_counter('start_time', time.perf_counter()) - if input_geotiff: - logging.info( - f'Processing raster {input_geotiff} with config: {config.get_configs()}' - ) - for geotiff_file in file_util.file_get_matching(input_geotiff): - process_raster(geotiff_file, config, data_points, counter) - if input_csv: - logging.info( - f'Processing csv {input_csv} with config: {config.get_configs()}') - process_csv_points(input_csv=input_csv, - ignore_csv=config.get('ignore_csv', None), - allow_csv=config.get('allow_csv', None), - data_points=data_points, - config=config, - counter=counter) - logging.info(f'Loaded {len(data_points)} points from {input_csv}') - counter.set_counter('end_time', time.perf_counter()) - - filter_data_points(data_points, config.get('output_data_filter', None), - config, counter) - counter.set_prefix('7:output_data_csv:') - write_data_csv(data_points, output_csv, [], config, counter) - s2_place_file = config.get('output_s2_place', None) - if s2_place_file: - write_s2place_csv_tmcf(data_points, s2_place_file, config, counter) - counter.print_counters() + filter_data_points( + data_points, config.get('output_data_filter', None), config, counter + ) + counter.set_prefix('7:output_data_csv:') + write_data_csv(data_points, output_csv, [], config, counter) + s2_place_file = config.get('output_s2_place', None) + if s2_place_file: + write_s2place_csv_tmcf(data_points, s2_place_file, config, counter) + counter.print_counters() def _get_data_key(data: dict, add_date: bool = True) -> str: - '''Return a key for the data values in dictionary - Uses s2 cell id if it exists, else the lat/lng - along with the date.''' - key = data.get('s2CellId', None) - if not key: - key = str(data.get('latitude', '')) + str(data.get('longitude', '')) - if add_date: - key += data.get('date', '') - return key - - -def _get_all_columns(data_points: dict, - config: ConfigMap = {}, - ignore_commented: bool = True) -> list: - '''Returns a list of all keys across all data points.''' - cols = set() - cols.update(config.get('output_columns', [])) - for data in data_points.values(): - cols.update(list(data.keys())) - if ignore_commented: - cols = {c for c in cols if not c.startswith('#')} - return list(sorted(cols)) + """Return a key for the data values in dictionary + + Uses s2 cell id if it exists, else the lat/lng + along with the date. + """ + key = data.get('s2CellId', data.get('dcid')) + if not key: + key = str(data.get('latitude', '')) + str(data.get('longitude', '')) + if add_date: + key += data.get('date', '') + return key + + +def _get_all_columns( + data_points: dict, config: ConfigMap = {}, ignore_commented: bool = True +) -> list: + """Returns a list of all keys across all data points.""" + cols = set() + cols.update(config.get('output_columns', [])) + for data in data_points.values(): + cols.update(list(data.keys())) + if ignore_commented: + cols = {c for c in cols if not c.startswith('#')} + return list(sorted(cols)) + + +def _get_numeric_value(value: str) -> float: + """Returns a numeric value for the data string.""" + numeric_value = utils.str_get_numeric_value(value) + if numeric_value is None: + numeric_value = 0 + return numeric_value def _set_numeric_data(data: dict, config: ConfigMap = {}) -> dict: - '''Returns dictionary of key:values with values converted from string to number.''' - for k, v in data.items(): - numeric_value = utils.str_get_numeric_value(v) - if numeric_value: - data[k] = numeric_value - return data + """Returns dictionary of key:values with values converted from string to number.""" + for k, v in data.items(): + numeric_value = utils.str_get_numeric_value(v) + if numeric_value: + data[k] = numeric_value + return data def _log_raster_info(raster: rasterio.io.DatasetReader): - '''Print raster metadata.''' - logging.info(f'Raster files: {raster.files}') - logging.info(f'Raster shape: {raster.shape}') - logging.info(f'Raster resolution: {raster.res}') - logging.info(f'Raster bounding box: {raster.bounds}') - logging.info(f'Raster bands: {raster.count}') - logging.info(f'Raster no-data value: {raster.nodatavals}') - logging.info(f'Raster CRS: {raster.crs}') - logging.info(f'Raster profile: {raster.profile}') + """Print raster metadata.""" + logging.info(f'Raster files: {raster.files}') + logging.info(f'Raster shape: {raster.shape}') + logging.info(f'Raster resolution: {raster.res}') + logging.info(f'Raster bounding box: {raster.bounds}') + logging.info(f'Raster bands: {raster.count}') + logging.info(f'Raster no-data value: {raster.nodatavals}') + logging.info(f'Raster CRS: {raster.crs}') + logging.info(f'Raster profile: {raster.profile}') def main(_): - config = ConfigMap(filename=_FLAGS.config, config_dict=get_default_config()) - if config.get('debug', False): - logging.set_verbosity(2) - process(_FLAGS.input_geotiff, _FLAGS.input_csv, _FLAGS.output_csv, config) + config = ConfigMap(filename=_FLAGS.config, config_dict=get_default_config()) + if config.get('debug', False): + logging.set_verbosity(2) + process(_FLAGS.input_geotiff, _FLAGS.input_csv, _FLAGS.output_csv, config) if __name__ == '__main__': - app.run(main) + app.run(main) diff --git a/scripts/earthengine/raster_to_csv_test.py b/scripts/earthengine/raster_to_csv_test.py index 81e7863033..61277e7cae 100644 --- a/scripts/earthengine/raster_to_csv_test.py +++ b/scripts/earthengine/raster_to_csv_test.py @@ -105,7 +105,7 @@ def test_process_csv(self): 'aggregate_s2_level': 5, }) output_csv = os.path.join(tmp_dir, - 'sample_flood_output_filtered.csv') + 'sample_floods_output_filtered.csv') counter = Counters() # Process raster into csv data points. r2c.process(input_geotiff=None, diff --git a/scripts/earthengine/test_data/sample_fires_event_pipeline_config.py b/scripts/earthengine/test_data/sample_fires_event_pipeline_config.py index fe9f787b3a..535400df43 100644 --- a/scripts/earthengine/test_data/sample_fires_event_pipeline_config.py +++ b/scripts/earthengine/test_data/sample_fires_event_pipeline_config.py @@ -13,6 +13,7 @@ 'stage': 'download', 'url': 'http://sample_test.com/data/{year}', 'output_file': '{tmp_dir}/{stage}/{year}/fire_input_data.csv', + 'skip_existing_output': 0, }, # convert lat/longs to s2 cells. { diff --git a/scripts/earthengine/test_data/sample_fires_events.csv b/scripts/earthengine/test_data/sample_fires_events.csv index d6634dd8f7..ba7ead1ca2 100644 --- a/scripts/earthengine/test_data/sample_fires_events.csv +++ b/scripts/earthengine/test_data/sample_fires_events.csv @@ -1,176 +1,176 @@ "dcid","typeOf","name","startDate","endDate","observationPeriod","DurationDays","numberOfDays","startLocation","affectedPlace","AffectedPlaceCount","area","AreaSqKm","bright_ti4","bright_ti5","confidence","frp","observationDate","geoJsonCoordinatesDP1" -"fireEvent/2023-01-31_0x80837b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083630000000000 on 2023-01-31","2023-01-31","2023-01-31","P1D",1,1,"[LatLong 39.07645 -122.15757]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x808362bc00000000,dcid:s2CellId/0x8083630000000000,dcid:s2CellId/0x80837a5400000000,dcid:s2CellId/0x80837b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.03855 SquareKilometer]",2.03855,335.81,288.82,"n",2.01,"2023-01-31","{'type': 'MultiPolygon', 'coordinates': [(((-122.26538872869685, 39.104064455903135), (-122.26538872869685, 39.17888461552509), (-122.17460498684162, 39.20690582223145), (-122.17460498684162, 39.132070524198696), (-122.26538872869685, 39.104064455903135)),), (((-122.08374449567627, 39.160007530943815), (-122.08374449567627, 39.08507197362498), (-122.17460498684162, 39.057150204742555), (-122.17460498684162, 39.132070524198696), (-122.08374449567627, 39.160007530943815)),)]}" -"fireEvent/2023-02-06_0x8094af0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094af0000000000 on 2023-02-06","2023-02-06","2023-02-06","P1D",1,1,"[LatLong 36.10040 -120.02030]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094af0000000000,dcid:s2CellId/0x8094af1c00000000,dcid:s2CellId/0x8094af2400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.28556 SquareKilometer]",2.28556,334.6,287.55,"n",4.13,"2023-02-06","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 36.12725014536185), (-120.06652363285929, 36.04806788044641), (-119.97405342347365, 36.07349347026282), (-119.97405342347365, 36.15269831052497), (-120.06652363285929, 36.12725014536185)),)}" -"fireEvent/2023-01-12_0x80d65d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d65d0000000000 on 2023-01-12","2023-01-12","2023-01-12","P1D",1,1,"[LatLong 32.59410 -114.57772]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d65c3400000000,dcid:s2CellId/0x80d65d0000000000,dcid:s2CellId/0x80d65e6400000000,dcid:s2CellId/0x80d65e6c00000000,dcid:s2CellId/0x80d65f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",5,"[3.9386 SquareKilometer]",3.9386,367.0,293.19,"n",16.15,"2023-01-12","{'type': 'Polygon', 'coordinates': (((-114.52426397902158, 32.53615314436677), (-114.61928990191176, 32.516455336320426), (-114.61928990191176, 32.601380600508776), (-114.61928990191176, 32.686238988626556), (-114.52426397902158, 32.705990765439765), (-114.52426397902158, 32.62110549021124), (-114.52426397902158, 32.53615314436677)),)}" -"fireEvent/2023-02-14_0x80ea570000000000","FireEvent","FireEvent at L10 S2 Cell 0x80ea570000000000 on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 35.50403 -119.27856]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80ea570000000000,dcid:s2CellId/0x80ea577400000000,dcid:s2CellId/0x80eafaec00000000,dcid:s2CellId/0x80eafb0000000000,dcid:s2CellId/0x80eafd0000000000,dcid:s2CellId/0x80eafd0400000000,dcid:s2CellId/0x80eaff0000000000,dcid:s2CellId/0x80eaff2400000000,dcid:s2CellId/0x80eaff2c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[5.84321 SquareKilometer]",5.84321,340.56,292.86,"n",8.12,"2023-02-14","{'type': 'MultiPolygon', 'coordinates': [(((-119.23207840138082, 35.47625041156115), (-119.32503466239531, 35.45162141848549), (-119.32503466239531, 35.53175350399878), (-119.23207840138082, 35.556406222206114), (-119.23207840138082, 35.47625041156115)),), (((-119.23207840138082, 35.63648603631758), (-119.32503466239531, 35.61180980810941), (-119.32503466239531, 35.53175350399878), (-119.41793235298398, 35.50702987289793), (-119.41793235298398, 35.58706253975614), (-119.41793235298401, 35.66701930371646), (-119.32503466239531, 35.69178999395241), (-119.23207840138082, 35.716489517297106), (-119.23207840138082, 35.63648603631758)),)]}" -"fireEvent/2023-02-15_0x8092db0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8092db0000000000 on 2023-02-15","2023-02-15","2023-02-15","P1D",1,1,"[LatLong 35.89531 -121.03351]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06053,dcid:northamerica,dcid:s2CellId/0x8092db0000000000,dcid:s2CellId/0x8092dbec00000000,dcid:s2CellId/0x8092dbf400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.26338 SquareKilometer]",2.26338,333.02,292.38,"n",3.38,"2023-02-15","{'type': 'Polygon', 'coordinates': (((-121.07937052658627, 35.92160807483137), (-121.07937052658627, 35.842757347952094), (-120.98763211526173, 35.8689609102411), (-120.98763211526173, 35.947835377412154), (-121.07937052658627, 35.92160807483137)),)}" -"fireEvent/2023-01-02_0x80d7070000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7070000000000 on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 32.65892 -115.07625]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7061400000000,dcid:s2CellId/0x80d7066c00000000,dcid:s2CellId/0x80d7070000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",3,"[2.61267 SquareKilometer]",2.61267,356.58,300.12,"n",19.19,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-115.09404500241959, 32.671008212834636), (-115.09404500241959, 32.58635275421574), (-114.99914638140322, 32.60647972155236), (-114.99914638140322, 32.69116258740858), (-115.09404500241959, 32.671008212834636)),)}" -"fireEvent/2023-02-10_0x8083270000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083270000000000 on 2023-02-10","2023-02-10","2023-02-11","P2D",2,2,"[LatLong 39.69439 -121.81640]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x8083260400000000,dcid:s2CellId/0x8083270000000000,dcid:s2CellId/0x8083274c00000000,dcid:s2CellId/0x8083275400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.01116 SquareKilometer]",2.01116,340.04,285.06,"n",3.14,"2023-02-10,2023-02-11","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 39.73802301630229), (-121.90179543138471, 39.66366133679624), (-121.81070794913828, 39.69147458174664), (-121.81070794913828, 39.76584973823246), (-121.90179543138471, 39.73802301630229)),)}" -"fireEvent/2023-02-23_0x80eae30000000000","FireEvent","FireEvent at L10 S2 Cell 0x80eae30000000000 on 2023-02-23","2023-02-23","2023-02-23","P1D",1,1,"[LatLong 35.71937 -119.37149]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eae30000000000,dcid:s2CellId/0x80eae36400000000,dcid:s2CellId/0x80eae3ac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.32886 SquareKilometer]",2.32886,326.92,287.13,"n",3.53,"2023-02-23","{'type': 'Polygon', 'coordinates': (((-119.41793235298398, 35.74689982999827), (-119.41793235298401, 35.66701930371646), (-119.32503466239531, 35.69178999395241), (-119.32503466239531, 35.77169372701799), (-119.41793235298398, 35.74689982999827)),)}" -"fireEvent/2023-02-08_0x809b990000000000","FireEvent","FireEvent at L10 S2 Cell 0x809b990000000000 on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 39.21832 -120.75798]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06061,dcid:northamerica,dcid:s2CellId/0x809b990000000000,dcid:s2CellId/0x809b996400000000,dcid:s2CellId/0x809b997400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.07602 SquareKilometer]",2.07602,305.34,276.36,"n",1.07,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-120.80394744373855, 39.24263772504066), (-120.80394744373855, 39.16714989698495), (-120.7120023484522, 39.193946808225185), (-120.7120023484522, 39.269449088826086), (-120.80394744373855, 39.24263772504066)),)}" -"fireEvent/2023-03-18_0x80dd350000000000","FireEvent","FireEvent at L10 S2 Cell 0x80dd350000000000 on 2023-03-18","2023-03-18","2023-03-18","P1D",1,1,"[LatLong 33.82611 -118.24681]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80dd34fc00000000,dcid:s2CellId/0x80dd350000000000,dcid:s2CellId/0x80dd359c00000000,dcid:s2CellId/0x80dd4b0000000000,dcid:s2CellId/0x80dd4bac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.70076 SquareKilometer]",3.70076,297.55,284.36,"n",0.7,"2023-03-18","{'type': 'Polygon', 'coordinates': (((-118.20587682407124, 33.8722154192009), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592), (-118.39294170620582, 33.74349483462569), (-118.39294170620582, 33.82562180473932), (-118.29943499572406, 33.848953872494164), (-118.20587682407124, 33.8722154192009)),)}" -"fireEvent/2023-02-22_0x8090f90000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090f70000000000 on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 37.81896 -120.84989]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8090f70000000000,dcid:s2CellId/0x8090f7f400000000,dcid:s2CellId/0x8090f81c00000000,dcid:s2CellId/0x8090f90000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.16141 SquareKilometer]",2.16141,353.83,289.55,"n",5.74,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-120.80394744373855, 37.71662016196677), (-120.89582422732902, 37.69006636052178), (-120.89582422732902, 37.76714783509468), (-120.89582422732902, 37.84414693051973), (-120.80394744373855, 37.870737535489965), (-120.80394744373855, 37.79372014425884), (-120.80394744373855, 37.71662016196677)),)}" -"fireEvent/2023-02-10_0x80d7b50000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d64d0000000000 on 2023-02-10","2023-02-10","2023-02-12","P3D",3,3,"[LatLong 32.38917 -114.89829]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d64cb400000000,dcid:s2CellId/0x80d64d0000000000,dcid:s2CellId/0x80d7b50000000000,dcid:s2CellId/0x80d7b5cc00000000,dcid:s2CellId/0x80d7c90000000000,dcid:s2CellId/0x80d7c91c00000000,dcid:s2CellId/0x80d7cb0000000000,dcid:s2CellId/0x80d7cb6c00000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",8,"[5.27073 SquareKilometer]",5.27073,341.66,301.14,"n",12.68,"2023-02-10,2023-02-11,2023-02-12","{'type': 'MultiPolygon', 'coordinates': [(((-114.90422082333554, 32.287028613932726), (-114.90422082333554, 32.20198930823536), (-114.99914638140322, 32.182076294930475), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.24707198896053), (-114.99914638140322, 32.26708735189506), (-114.99914638140322, 32.35203367788002), (-114.90422082333554, 32.37200299165679), (-114.90422082333554, 32.287028613932726)),), (((-114.80926906488743, 32.47683458066355), (-114.80926906488743, 32.39189787714385), (-114.90422082333554, 32.37200299165679), (-114.90422082333554, 32.45691198535573), (-114.80926906488743, 32.47683458066355)),)]}" -"fireEvent/2023-02-16_0x80d7490000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7490000000000 on 2023-02-16","2023-02-16","2023-02-16","P1D",1,1,"[LatLong 33.07521 -115.34895]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d748e400000000,dcid:s2CellId/0x80d748ec00000000,dcid:s2CellId/0x80d7490000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.58433 SquareKilometer]",2.58433,340.42,296.24,"n",4.19,"2023-02-16","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 33.11612672382202), (-115.3785719022423, 33.03195811961158), (-115.28375849518459, 33.052472062640916), (-115.28375849518459, 33.13666731039678), (-115.3785719022423, 33.11612672382202)),)}" -"fireEvent/2023-03-27_0x80c2d10000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c2d10000000000 on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 34.06595 -118.02446]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2d0b400000000,dcid:s2CellId/0x80c2d0c400000000,dcid:s2CellId/0x80c2d10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.46115 SquareKilometer]",2.46115,323.9,278.28,"n",2.3,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-118.1122678531936, 34.059614889814924), (-118.1122678531936, 33.97754564726115), (-118.01860874756083, 34.00069236114518), (-118.01860874756083, 34.08278833318326), (-118.1122678531936, 34.059614889814924)),)}" -"fireEvent/2023-02-14_0x8093770000000000","FireEvent","FireEvent at L10 S2 Cell 0x8093770000000000 on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 36.47132 -120.38967]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8093770000000000,dcid:s2CellId/0x8093777400000000,dcid:s2CellId/0x8093790000000000,dcid:s2CellId/0x809379cc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.25413 SquareKilometer]",2.25413,331.82,291.3,"n",4.78,"2023-02-14","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 36.41906007532748), (-120.43576307692442, 36.49768733054752), (-120.3435506342276, 36.52354795442271), (-120.25127284433846, 36.54933860162116), (-120.25127284433846, 36.47066792590074), (-120.3435506342276, 36.44489892762193), (-120.43576307692442, 36.41906007532748)),)}" -"fireEvent/2023-03-25_0x80936f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8093650000000000 on 2023-03-25","2023-03-25","2023-03-25","P1D",1,1,"[LatLong 36.33966 -120.29742]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8093650000000000,dcid:s2CellId/0x8093655400000000,dcid:s2CellId/0x80936f0000000000,dcid:s2CellId/0x80936ffc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.26092 SquareKilometer]",2.26092,338.76,290.16,"n",5.64,"2023-03-25","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 36.26157181199122), (-120.43576307692442, 36.340354799856954), (-120.34355063422758, 36.36617166395524), (-120.25127284433846, 36.391918797186285), (-120.25127284433846, 36.313091522676416), (-120.3435506342276, 36.28736647095043), (-120.43576307692442, 36.26157181199122)),)}" -"fireEvent/2023-03-01_0x80845b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084450000000000 on 2023-03-01","2023-03-01","2023-03-03","P3D",3,3,"[LatLong 38.55335 -122.54293]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x808444b400000000,dcid:s2CellId/0x808444dc00000000,dcid:s2CellId/0x808444e400000000,dcid:s2CellId/0x808444fc00000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x8084470000000000,dcid:s2CellId/0x8084473c00000000,dcid:s2CellId/0x80845a1400000000,dcid:s2CellId/0x80845a1c00000000,dcid:s2CellId/0x80845a5400000000,dcid:s2CellId/0x80845acc00000000,dcid:s2CellId/0x80845b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",12,"[6.18521 SquareKilometer]",6.18521,337.37,290.81,"n",12.81,"2023-03-01,2023-03-02,2023-03-03","{'type': 'Polygon', 'coordinates': (((-122.44672381753844, 38.52196905593188), (-122.5372740990185, 38.49387172650253), (-122.62774550019422, 38.465707290702724), (-122.71813749631639, 38.437476047170406), (-122.71813749631639, 38.51280040712088), (-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188)),)}" -"fireEvent/2023-02-07_0x80dd370000000000","FireEvent","FireEvent at L10 S2 Cell 0x80dd370000000000 on 2023-02-07","2023-02-07","2023-02-08","P2D",2,2,"[LatLong 33.76312 -118.29359]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80dd360400000000,dcid:s2CellId/0x80dd360c00000000,dcid:s2CellId/0x80dd364c00000000,dcid:s2CellId/0x80dd370000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.46968 SquareKilometer]",2.46968,337.59,282.55,"n",6.07,"2023-02-07,2023-02-08","{'type': 'Polygon', 'coordinates': (((-118.29943499572406, 33.76679933456592), (-118.29943499572406, 33.68457580456745), (-118.20587682407124, 33.70778227614814), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592)),)}" -"fireEvent/2023-03-27_0x8090430000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090430000000000 on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 37.81581 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090430000000000,dcid:s2CellId/0x8090435c00000000,dcid:s2CellId/0x8090436400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.15323 SquareKilometer]",2.15323,352.06,296.83,"n",6.22,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-121.1710388833767, 37.840814274426336), (-121.1710388833767, 37.76395276415482), (-121.07937052658627, 37.79075426610106), (-121.07937052658627, 37.86763420544945), (-121.1710388833767, 37.840814274426336)),)}" -"fireEvent/2023-03-17_0x80911f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80911f0000000000 on 2023-03-17","2023-03-17","2023-03-17","P1D",1,1,"[LatLong 37.65705 -120.59122]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x80911ef400000000,dcid:s2CellId/0x80911f0000000000,dcid:s2CellId/0x80911f8c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.17719 SquareKilometer]",2.17719,298.7,279.63,"n",0.79,"2023-03-17","{'type': 'Polygon', 'coordinates': (((-120.61998952842978, 37.69229621714622), (-120.61998952842978, 37.61499433591427), (-120.52790957361556, 37.641298481904194), (-120.52790957361556, 37.71861894809693), (-120.61998952842978, 37.69229621714622)),)}" -"fireEvent/2023-02-03_0x80e8350000000000","FireEvent","FireEvent at L10 S2 Cell 0x80e8350000000000 on 2023-02-03","2023-02-03","2023-02-03","P1D",1,1,"[LatLong 34.26672 -118.97033]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06111,dcid:northamerica,dcid:s2CellId/0x80e8341400000000,dcid:s2CellId/0x80e8350000000000,dcid:s2CellId/0x80e9cd0000000000,dcid:s2CellId/0x80e9cd0400000000,dcid:s2CellId/0x80e9cd1c00000000,dcid:s2CellId/0x80e9cd7c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[4.83745 SquareKilometer]",4.83745,339.7,295.52,"n",5.02,"2023-02-03","{'type': 'MultiPolygon', 'coordinates': [(((-118.95286453849957, 34.25595085868918), (-119.04599270243568, 34.23193851002654), (-119.04599270243568, 34.31331655905895), (-118.95286453849957, 34.337355700566725), (-118.95286453849957, 34.25595085868918)),), (((-118.95286453849957, 34.41868959827641), (-118.8596803520908, 34.44268533206974), (-118.85968035209078, 34.36132499295383), (-118.95286453849957, 34.337355700566725), (-118.95286453849957, 34.41868959827641)),)]}" -"fireEvent/2023-02-02_0x80d7b90000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7b90000000000 on 2023-02-02","2023-02-02","2023-02-04","P3D",3,2,"[LatLong 32.26175 -115.09998]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7b81c00000000,dcid:s2CellId/0x80d7b90000000000,dcid:s2CellId/0x80d7c0c400000000,dcid:s2CellId/0x80d7c10000000000,dcid:s2CellId/0x80d7c30000000000,dcid:s2CellId/0x80d7c35400000000,dcid:s2CellId/0x80d7c4ac00000000,dcid:s2CellId/0x80d7c50000000000,dcid:s2CellId/0x80d7db0000000000,dcid:s2CellId/0x80d7db5400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",10,"[6.59638 SquareKilometer]",6.59638,342.82,306.64,"n",19.32,"2023-02-02,2023-02-04","{'type': 'MultiPolygon', 'coordinates': [(((-115.18891595142229, 32.2269827091063), (-115.18891595142229, 32.31187249427941), (-115.09404500241959, 32.33199011749119), (-115.09404500241959, 32.24707198896053), (-115.18891595142229, 32.2269827091063)),), (((-115.09404500241959, 32.07704259018568), (-115.09404500241959, 31.99193223931182), (-115.18891595142229, 31.971929178501046), (-115.18891595142229, 32.057010591540205), (-115.28375849518459, 32.036905155966636), (-115.28375849518459, 32.1218942661953), (-115.28375849518459, 32.20681969840767), (-115.18891595142229, 32.2269827091063), (-115.18891595142229, 32.14202858870148), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.07704259018568)),)]}" -"fireEvent/2023-02-08_0x809aaf0000000000","FireEvent","FireEvent at L10 S2 Cell 0x809aa90000000000 on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 38.09097 -121.49132]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x809aa90000000000,dcid:s2CellId/0x809aa9c400000000,dcid:s2CellId/0x809aaa5c00000000,dcid:s2CellId/0x809aab0000000000,dcid:s2CellId/0x809aaefc00000000,dcid:s2CellId/0x809aaf0000000000,dcid:s2CellId/0x809aaf0400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.2415 SquareKilometer]",4.2415,346.02,292.04,"n",6.56,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-121.44561789291927, 38.21904635446754), (-121.44561789291927, 38.14273448666555), (-121.44561789291927, 38.06633970127007), (-121.53700031324804, 38.039168618933935), (-121.62830983522124, 38.01192835722662), (-121.62830983522124, 38.08828737798534), (-121.53700031324804, 38.11554557922101), (-121.53700031324804, 38.1918398342251), (-121.44561789291927, 38.21904635446754)),)}" -"fireEvent/2023-03-27_0x809b490000000000","FireEvent","FireEvent at L10 S2 Cell 0x809b490000000000 on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 38.97972 -121.48561]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x809b483400000000,dcid:s2CellId/0x809b484c00000000,dcid:s2CellId/0x809b490000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.0695 SquareKilometer]",2.0695,335.65,293.44,"n",1.83,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-121.53700031324804, 39.02554770418372), (-121.53700031324804, 38.950179329514846), (-121.44561789291927, 38.977550401022924), (-121.44561789291927, 39.05293408349499), (-121.53700031324804, 39.02554770418372)),)}" -"fireEvent/2023-03-26_0x8084450000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084450000000000 on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 38.53222 -122.61079]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084441400000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x80844e8400000000,dcid:s2CellId/0x80844e9c00000000,dcid:s2CellId/0x80844f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",5,"[3.09657 SquareKilometer]",3.09657,338.76,292.62,"n",6.06,"2023-03-26,2023-03-27","{'type': 'Polygon', 'coordinates': (((-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.5372740990185, 38.49387172650253), (-122.5372740990185, 38.41843056369658), (-122.62774550019422, 38.39028340170879), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204)),)}" -"fireEvent/2023-01-19_0x80dd350000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c2b50000000000 on 2023-01-19","2023-01-19","2023-01-20","P2D",2,2,"[LatLong 33.87834 -118.34619]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2b50000000000,dcid:s2CellId/0x80c2b52400000000,dcid:s2CellId/0x80c2b53400000000,dcid:s2CellId/0x80dd345c00000000,dcid:s2CellId/0x80dd350000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.69779 SquareKilometer]",3.69779,296.75,282.83,"n",1.59,"2023-01-19,2023-01-20","{'type': 'MultiPolygon', 'coordinates': [(((-118.20587682407124, 33.8722154192009), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592), (-118.29943499572406, 33.848953872494164), (-118.20587682407124, 33.8722154192009)),), (((-118.39294170620582, 33.82562180473932), (-118.39294170620582, 33.90767960394744), (-118.29943499572406, 33.9310390246925), (-118.29943499572406, 33.848953872494164), (-118.39294170620582, 33.82562180473932)),)]}" -"fireEvent/2023-01-02_0x80d7af0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7af0000000000 on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 32.44097 -115.00508]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7ae0400000000,dcid:s2CellId/0x80d7ae1c00000000,dcid:s2CellId/0x80d7af0000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",3,"[2.62574 SquareKilometer]",2.62574,345.79,300.55,"n",33.0,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.416843256562224), (-114.99914638140322, 32.43691481682768), (-114.99914638140322, 32.52173031511323), (-115.09404500241959, 32.50163095253783)),)}" -"fireEvent/2023-01-06_0x80d7630000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7630000000000 on 2023-01-06","2023-01-06","2023-01-06","P1D",1,1,"[LatLong 32.68546 -115.61547]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d7630000000000,dcid:s2CellId/0x80d763b400000000,dcid:s2CellId/0x80d763bc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.5982 SquareKilometer]",2.5982,355.3,307.38,"n",20.06,"2023-01-06","{'type': 'Polygon', 'coordinates': (((-115.66283001554785, 32.71729983340048), (-115.66283001554785, 32.63294346781638), (-115.5681083893613, 32.65357093757281), (-115.5681083893613, 32.737955172648526), (-115.66283001554785, 32.71729983340048)),)}" -"fireEvent/2023-01-27_0x80d5d10000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d5d10000000000 on 2023-01-27","2023-01-27","2023-01-27","P1D",1,1,"[LatLong 32.68570 -114.00123]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d5d10000000000,dcid:s2CellId/0x80d5d11c00000000,dcid:s2CellId/0x80d5d6ec00000000,dcid:s2CellId/0x80d5d70000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",4,"[2.63233 SquareKilometer]",2.63233,351.31,297.55,"n",9.3,"2023-01-27","{'type': 'Polygon', 'coordinates': (((-113.95364658268294, 32.73786508789439), (-113.95364658268294, 32.652753258290254), (-114.0488007261198, 32.63350963491579), (-114.14393537153407, 32.61418990174488), (-114.14393537153407, 32.69924914124556), (-114.0488007261198, 32.71859524067644), (-113.95364658268294, 32.73786508789439)),)}" -"fireEvent/2023-02-13_0x54d2cf0000000000","FireEvent","FireEvent at L10 S2 Cell 0x54d2cf0000000000 on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 40.33882 -122.23019]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06103,dcid:northamerica,dcid:s2CellId/0x54d2cf0000000000,dcid:s2CellId/0x54d2cf4400000000,dcid:s2CellId/0x54d2cf5c00000000,dcid:s2CellId/0x54d2cf6400000000,dcid:s2CellId/0x54d2cf6c00000000,dcid:s2CellId/0x54d2d10000000000,dcid:s2CellId/0x54d2d18400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[2.96764 SquareKilometer]",2.96764,345.4,296.49,"n",8.2,"2023-02-13,2023-02-14,2023-02-15","{'type': 'Polygon', 'coordinates': (((-122.21841379971892, 40.379400310140525), (-122.15098615943583, 40.326535161629536), (-122.24194930724602, 40.29828030933025), (-122.33283494131578, 40.26995470792364), (-122.40046668560171, 40.322591065014805), (-122.3094793837314, 40.35103111609896), (-122.21841379971892, 40.379400310140525)),)}" -"fireEvent/2023-01-17_0x54d2f30000000000","FireEvent","FireEvent at L10 S2 Cell 0x54d2ed0000000000 on 2023-01-17","2023-01-17","2023-01-19","P3D",3,2,"[LatLong 40.57897 -122.41014]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06089,dcid:northamerica,dcid:s2CellId/0x54d2ed0000000000,dcid:s2CellId/0x54d2edcc00000000,dcid:s2CellId/0x54d2eefc00000000,dcid:s2CellId/0x54d2ef0000000000,dcid:s2CellId/0x54d2f20400000000,dcid:s2CellId/0x54d2f30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[2.99636 SquareKilometer]",2.99636,333.46,285.87,"n",4.0,"2023-01-17,2023-01-19","{'type': 'Polygon', 'coordinates': (((-122.46670276167934, 40.67294896838062), (-122.39843998380442, 40.61985308236519), (-122.33036585771102, 40.566779656552605), (-122.42181745860849, 40.53813661115969), (-122.51318898831984, 40.509422095374156), (-122.58146692701277, 40.56226388040892), (-122.4899938832872, 40.591094269775446), (-122.55835872296645, 40.64407400405238), (-122.46670276167934, 40.67294896838062)),)}" -"fireEvent/2023-02-12_0x8093650000000000","FireEvent","FireEvent at L10 S2 Cell 0x8093650000000000 on 2023-02-12","2023-02-12","2023-02-13","P2D",2,2,"[LatLong 36.31641 -120.25704]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8093640400000000,dcid:s2CellId/0x8093641c00000000,dcid:s2CellId/0x8093650000000000,dcid:s2CellId/0x809366a400000000,dcid:s2CellId/0x8093670000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.39951 SquareKilometer]",3.39951,351.49,300.49,"n",27.39,"2023-02-12,2023-02-13","{'type': 'Polygon', 'coordinates': (((-120.34355063422758, 36.36617166395524), (-120.25127284433846, 36.391918797186285), (-120.25127284433846, 36.313091522676416), (-120.25127284433846, 36.23418641187698), (-120.3435506342276, 36.208483658436926), (-120.3435506342276, 36.28736647095043), (-120.34355063422758, 36.36617166395524)),)}" -"fireEvent/2023-01-24_0x80c3170000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c3170000000000 on 2023-01-24","2023-01-24","2023-01-24","P1D",1,1,"[LatLong 34.36849 -117.69042]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c3170000000000,dcid:s2CellId/0x80c3173c00000000,dcid:s2CellId/0x80c3174400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.4519 SquareKilometer]",2.4519,330.06,281.99,"n",5.45,"2023-01-24","{'type': 'Polygon', 'coordinates': (((-117.73733730424752, 34.39797441220154), (-117.73733730424752, 34.31601454830803), (-117.64348435403741, 34.33895221283812), (-117.64348435403741, 34.42093763167103), (-117.73733730424752, 34.39797441220154)),)}" -"fireEvent/2023-02-13_0x8090090000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090090000000000 on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 38.04167 -121.39990]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090090000000000,dcid:s2CellId/0x809009f400000000,dcid:s2CellId/0x809aa0e400000000,dcid:s2CellId/0x809aa10000000000,dcid:s2CellId/0x809aa12400000000,dcid:s2CellId/0x809aa22c00000000,dcid:s2CellId/0x809aa30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.18813 SquareKilometer]",3.18813,332.26,295.34,"n",5.05,"2023-02-13,2023-02-14,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-121.35416313685073, 38.016945946005436), (-121.44561789291927, 37.989862251655644), (-121.44561789291927, 38.06633970127007), (-121.35416313685073, 38.09344131890122), (-121.35416313685073, 38.016945946005436)),), (((-121.35416313685073, 38.24618318229601), (-121.26263661074441, 38.273250034494005), (-121.26263661074441, 38.196903281604015), (-121.26263661074441, 38.12047318795499), (-121.35416313685073, 38.09344131890122), (-121.35416313685073, 38.169853815308585), (-121.35416313685073, 38.24618318229601)),)]}" -"fireEvent/2023-01-23_0x80d7a30000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7a30000000000 on 2023-01-23","2023-01-23","2023-01-24","P2D",2,2,"[LatLong 32.42898 -115.23634]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7a30000000000,dcid:s2CellId/0x80d7a32c00000000,dcid:s2CellId/0x80d7a61c00000000,dcid:s2CellId/0x80d7a70000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.6215 SquareKilometer]",2.6215,325.92,278.0,"n",2.75,"2023-01-23,2023-01-24","{'type': 'MultiPolygon', 'coordinates': [(((-115.18891595142229, 32.396697488156796), (-115.28375849518459, 32.376477697313184), (-115.28375849518459, 32.46120935428951), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.396697488156796)),), (((-115.18891595142229, 32.5661512898709), (-115.09404500241959, 32.58635275421574), (-115.09404500241959, 32.50163095253783), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.5661512898709)),)]}" -"fireEvent/2023-01-22_0x80d7730000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7730000000000 on 2023-01-22","2023-01-22","2023-01-24","P3D",3,2,"[LatLong 32.66256 -115.33117]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7730000000000,dcid:s2CellId/0x80d7734400000000,dcid:s2CellId/0x80d7770000000000,dcid:s2CellId/0x80d777e400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61009 SquareKilometer]",2.61009,332.31,298.7,"n",2.4,"2023-01-22,2023-01-24","{'type': 'MultiPolygon', 'coordinates': [(((-115.3785719022423, 32.69460416981107), (-115.28375849518459, 32.71500954782312), (-115.28375849518459, 32.63047572713295), (-115.3785719022423, 32.610097988335994), (-115.3785719022423, 32.69460416981107)),), (((-115.3785719022423, 32.52552561351063), (-115.47335544292073, 32.505101778412154), (-115.47335544292073, 32.58964617062371), (-115.3785719022423, 32.610097988335994), (-115.3785719022423, 32.52552561351063)),)]}" -"fireEvent/2023-02-15_0x8084190000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084190000000000 on 2023-02-15","2023-02-15","2023-02-15","P1D",1,1,"[LatLong 38.55466 -122.94377]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084190000000000,dcid:s2CellId/0x8084194c00000000,dcid:s2CellId/0x8084195c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",3,"[2.04397 SquareKilometer]",2.04397,353.88,288.49,"n",12.23,"2023-02-15","{'type': 'Polygon', 'coordinates': (((-122.98883185517735, 38.57795549626145), (-122.98883185517735, 38.50284704939158), (-122.89868119049753, 38.531311728977435), (-122.89868119049753, 38.60643726233182), (-122.98883185517735, 38.57795549626145)),)}" -"fireEvent/2023-02-06_0x80915b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8091430000000000 on 2023-02-06","2023-02-06","2023-02-07","P2D",2,2,"[LatLong 37.30542 -120.48184]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x8091430000000000,dcid:s2CellId/0x8091434c00000000,dcid:s2CellId/0x80914f0000000000,dcid:s2CellId/0x80914f9400000000,dcid:s2CellId/0x80914fec00000000,dcid:s2CellId/0x8091501400000000,dcid:s2CellId/0x8091510000000000,dcid:s2CellId/0x80915acc00000000,dcid:s2CellId/0x80915b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[4.41107 SquareKilometer]",4.41107,356.61,284.68,"n",6.12,"2023-02-06,2023-02-07","{'type': 'MultiPolygon', 'coordinates': [(((-120.34355063422758, 37.305669184325005), (-120.3435506342276, 37.38343796695286), (-120.25127284433846, 37.4094525873983), (-120.25127284433846, 37.33166450998572), (-120.25127284433846, 37.25379475261621), (-120.3435506342276, 37.227818933892436), (-120.43576307692442, 37.20177205672942), (-120.43576307692442, 37.27960268252231), (-120.34355063422758, 37.305669184325005)),), (((-120.52790957361556, 37.3311951171772), (-120.43576307692442, 37.35735205316665), (-120.43576307692442, 37.27960268252231), (-120.52790957361556, 37.25346527602409), (-120.52790957361556, 37.3311951171772)),)]}" -"fireEvent/2023-02-17_0x80848f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80848f0000000000 on 2023-02-17","2023-02-17","2023-02-17","P1D",1,1,"[LatLong 38.85551 -122.22001]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x80848f0000000000,dcid:s2CellId/0x80848f9400000000,dcid:s2CellId/0x80848fc400000000,dcid:s2CellId/0x80848fcc00000000,dcid:s2CellId/0x80848fec00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[4.10527 SquareKilometer]",4.10527,342.34,291.77,"n",23.31,"2023-02-17","{'type': 'Polygon', 'coordinates': (((-122.26538872869685, 38.87909599346539), (-122.26538872869685, 38.80393792806426), (-122.17460498684162, 38.83188135199408), (-122.17460498684162, 38.907055393086274), (-122.26538872869685, 38.87909599346539)),)}" -"fireEvent/2023-01-06_0x80dce70000000000","FireEvent","FireEvent at L10 S2 Cell 0x80dcc30000000000 on 2023-01-06","2023-01-06","2023-01-07","P2D",2,2,"[LatLong 33.71042 -117.69042]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06059,dcid:northamerica,dcid:s2CellId/0x80dcc30000000000,dcid:s2CellId/0x80dcc31c00000000,dcid:s2CellId/0x80dce70000000000,dcid:s2CellId/0x80dce73400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.49041 SquareKilometer]",2.49041,303.65,278.77,"n",0.6,"2023-01-06,2023-01-07","{'type': 'MultiPolygon', 'coordinates': [(((-117.73733730424752, 33.5751727543498), (-117.83114280240233, 33.55240330188513), (-117.83114280240233, 33.63497147549895), (-117.73733730424752, 33.65776852203245), (-117.73733730424752, 33.5751727543498)),), (((-117.73733730424752, 33.74029521156066), (-117.64348435403741, 33.7630480860941), (-117.64348435403741, 33.68049415262919), (-117.73733730424752, 33.65776852203245), (-117.73733730424752, 33.74029521156066)),)]}" -"fireEvent/2023-01-25_0x80ec050000000000","FireEvent","FireEvent at L10 S2 Cell 0x80ec050000000000 on 2023-01-25","2023-01-25","2023-01-25","P1D",1,1,"[LatLong 34.74818 -120.29742]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06083,dcid:northamerica,dcid:s2CellId/0x80ec050000000000,dcid:s2CellId/0x80ec057c00000000,dcid:s2CellId/0x80ec0e8400000000,dcid:s2CellId/0x80ec0f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.34865 SquareKilometer]",2.34865,329.35,294.47,"n",2.69,"2023-01-25","{'type': 'Polygon', 'coordinates': (((-120.25127284433846, 34.72062891210619), (-120.3435506342276, 34.69539140251545), (-120.3435506342276, 34.7756870620793), (-120.3435506342276, 34.855911425114904), (-120.25127284433846, 34.881201654610386), (-120.25127284433846, 34.80095104252741), (-120.25127284433846, 34.72062891210619)),)}" -"fireEvent/2023-02-14_0x8094a50000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094a50000000000 on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 36.19279 -120.02608]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094a45c00000000,dcid:s2CellId/0x8094a50000000000,dcid:s2CellId/0x8094af0000000000,dcid:s2CellId/0x8094af3400000000,dcid:s2CellId/0x8094b27400000000,dcid:s2CellId/0x8094b30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.42808 SquareKilometer]",3.42808,335.21,293.78,"n",5.68,"2023-02-14","{'type': 'MultiPolygon', 'coordinates': [(((-120.06652363285929, 36.20635508236253), (-119.97405342347365, 36.23182560661413), (-119.97405342347365, 36.15269831052497), (-119.97405342347365, 36.07349347026282), (-120.06652363285929, 36.04806788044641), (-120.06652363285929, 36.12725014536185), (-120.06652363285929, 36.20635508236253)),), (((-119.881520291274, 36.0988488632732), (-119.881520291274, 36.01954412977965), (-119.97405342347365, 35.99421140364652), (-119.97405342347365, 36.07349347026282), (-119.881520291274, 36.0988488632732)),)]}" -"fireEvent/2023-01-31_0x8094290000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094250000000000 on 2023-01-31","2023-01-31","2023-02-04","P5D",5,4,"[LatLong 37.22554 -119.64992]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094250000000000,dcid:s2CellId/0x809425b400000000,dcid:s2CellId/0x8094286400000000,dcid:s2CellId/0x8094287c00000000,dcid:s2CellId/0x8094289400000000,dcid:s2CellId/0x809428bc00000000,dcid:s2CellId/0x809428c400000000,dcid:s2CellId/0x8094290000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[3.34329 SquareKilometer]",3.34329,338.9,283.46,"n",5.43,"2023-01-31,2023-02-01,2023-02-02,2023-02-04","{'type': 'MultiPolygon', 'coordinates': [(((-119.60354950502408, 37.35552745160059), (-119.51077084299, 37.380906429606696), (-119.51077084299, 37.302718937652955), (-119.60354950502408, 37.27735895346938), (-119.60354950502408, 37.35552745160059)),), (((-119.60354950502408, 37.19910814898932), (-119.69626771448172, 37.173694542784204), (-119.69626771448172, 37.25192602751666), (-119.60354950502408, 37.27735895346938), (-119.60354950502408, 37.19910814898932)),)]}" -"fireEvent/2023-03-03_0x80948f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094850000000000 on 2023-03-03","2023-03-03","2023-03-03","P1D",1,1,"[LatLong 36.49539 -120.02030]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8094850000000000,dcid:s2CellId/0x8094859c00000000,dcid:s2CellId/0x80948e4400000000,dcid:s2CellId/0x80948f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.26479 SquareKilometer]",2.26479,339.48,291.4,"n",5.26,"2023-03-03","{'type': 'Polygon', 'coordinates': (((-119.881520291274, 36.57303994189822), (-119.881520291274, 36.49420457905506), (-119.97405342347365, 36.46873908649985), (-120.06652363285929, 36.44320277938829), (-120.06652363285929, 36.52199526983154), (-119.97405342347365, 36.54755307417071), (-119.881520291274, 36.57303994189822)),)}" -"fireEvent/2023-02-22_0x809ab50000000000","FireEvent","FireEvent at L10 S2 Cell 0x809ab50000000000 on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 38.28943 -121.57696]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06067,dcid:northamerica,dcid:s2CellId/0x809ab45400000000,dcid:s2CellId/0x809ab50000000000,dcid:s2CellId/0x809ac90000000000,dcid:s2CellId/0x809ac97c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.10594 SquareKilometer]",2.10594,332.24,288.45,"n",4.85,"2023-02-22","{'type': 'MultiPolygon', 'coordinates': [(((-121.53700031324804, 38.26805113233758), (-121.62830983522124, 38.24075768997389), (-121.62830983522124, 38.31686847929773), (-121.53700031324804, 38.344179224155184), (-121.53700031324804, 38.26805113233758)),), (((-121.53700031324804, 38.420223862477606), (-121.44561789291927, 38.44748195173517), (-121.44561789291927, 38.37142033485118), (-121.53700031324804, 38.344179224155184), (-121.53700031324804, 38.420223862477606)),)]}" -"fireEvent/2023-02-08_0x8094250000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094250000000000 on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 37.23862 -119.65571]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094244c00000000,dcid:s2CellId/0x8094250000000000,dcid:s2CellId/0x80942ea400000000,dcid:s2CellId/0x80942eac00000000,dcid:s2CellId/0x80942eb400000000,dcid:s2CellId/0x80942f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.34742 SquareKilometer]",3.34742,346.83,294.81,"n",10.98,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-119.69626771448172, 37.173694542784204), (-119.69626771448172, 37.25192602751666), (-119.60354950502408, 37.27735895346938), (-119.51077084299, 37.302718937652955), (-119.51077084299, 37.22444893017269), (-119.60354950502408, 37.19910814898932), (-119.69626771448172, 37.173694542784204)),)}" -"fireEvent/2023-01-31_0x809cc10000000000","FireEvent","FireEvent at L10 S2 Cell 0x809cc10000000000 on 2023-01-31","2023-01-31","2023-02-01","P2D",2,2,"[LatLong 39.64345 -121.33701]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x809cc0dc00000000,dcid:s2CellId/0x809cc10000000000,dcid:s2CellId/0x809cc12400000000,dcid:s2CellId/0x809cc12c00000000,dcid:s2CellId/0x809cc13400000000,dcid:s2CellId/0x809cc15400000000,dcid:s2CellId/0x809cc15c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.06547 SquareKilometer]",4.06547,367.0,291.92,"n",40.6,"2023-01-31,2023-02-01","{'type': 'Polygon', 'coordinates': (((-121.35416313685073, 39.680326313083874), (-121.35416313685073, 39.60562152971405), (-121.26263661074441, 39.63296572194452), (-121.26263661074441, 39.70768396595418), (-121.35416313685073, 39.680326313083874)),)}" -"fireEvent/2023-02-14_0x8094f70000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094f70000000000 on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 36.67586 -119.64992]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8094f70000000000,dcid:s2CellId/0x8094f77400000000,dcid:s2CellId/0x8094fb0000000000,dcid:s2CellId/0x8094fb5400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.269 SquareKilometer]",2.269,331.0,288.63,"n",2.34,"2023-02-14","{'type': 'MultiPolygon', 'coordinates': [(((-119.69626771448172, 36.6237998027113), (-119.69626771448172, 36.70259781153337), (-119.60354950502408, 36.727891074425536), (-119.60354950502408, 36.6490722675175), (-119.69626771448172, 36.6237998027113)),), (((-119.51077084299, 36.674272739182356), (-119.51077084299, 36.59535309054964), (-119.60354950502408, 36.57017350866958), (-119.60354950502408, 36.6490722675175), (-119.51077084299, 36.674272739182356)),)]}" -"fireEvent/2023-01-16_0x80eaf90000000000","FireEvent","FireEvent at L10 S2 Cell 0x80eaf90000000000 on 2023-01-16","2023-01-16","2023-01-18","P3D",3,2,"[LatLong 35.58413 -119.27856]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eaf90000000000,dcid:s2CellId/0x80eaf95c00000000,dcid:s2CellId/0x80eaff0000000000,dcid:s2CellId/0x80eaff3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.33749 SquareKilometer]",2.33749,332.85,278.88,"n",2.59,"2023-01-16,2023-01-18","{'type': 'Polygon', 'coordinates': (((-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.556406222206114), (-119.32503466239531, 35.53175350399878), (-119.41793235298398, 35.50702987289793), (-119.41793235298398, 35.58706253975614), (-119.32503466239531, 35.61180980810941), (-119.23207840138082, 35.63648603631758)),)}" -"fireEvent/2023-02-16_0x80d7a90000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7a50000000000 on 2023-02-16","2023-02-16","2023-02-16","P1D",1,1,"[LatLong 32.45876 -115.17113]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7a46c00000000,dcid:s2CellId/0x80d7a50000000000,dcid:s2CellId/0x80d7a90000000000,dcid:s2CellId/0x80d7a9f400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61953 SquareKilometer]",2.61953,352.44,299.39,"n",7.84,"2023-02-16","{'type': 'MultiPolygon', 'coordinates': [(((-115.09404500241959, 32.58635275421574), (-114.99914638140322, 32.60647972155236), (-114.99914638140322, 32.52173031511323), (-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.58635275421574)),), (((-115.09404500241959, 32.416843256562224), (-115.18891595142229, 32.396697488156796), (-115.18891595142229, 32.48145723709342), (-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.416843256562224)),)]}" -"fireEvent/2023-02-08_0x8084fd0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084fd0000000000 on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.50499 -122.18028]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:northamerica,dcid:s2CellId/0x8084fccc00000000,dcid:s2CellId/0x8084fd0000000000,dcid:s2CellId/0x8085010000000000,dcid:s2CellId/0x808501cc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[2.07628 SquareKilometer]",2.07628,326.07,293.6,"n",2.23,"2023-02-08,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-122.26538872869685, 38.502468904624024), (-122.17460498684162, 38.53034631548853), (-122.17460498684162, 38.45475400902146), (-122.26538872869685, 38.42689363138317), (-122.26538872869685, 38.502468904624024)),), (((-122.26538872869685, 38.35123562794486), (-122.35609518371197, 38.32332484178081), (-122.35609518371197, 38.39896548537001), (-122.26538872869685, 38.42689363138317), (-122.26538872869685, 38.35123562794486)),)]}" -"fireEvent/2023-02-13_0x8090570000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090530000000000 on 2023-02-13","2023-02-13","2023-02-15","P3D",3,2,"[LatLong 37.57910 -121.06217]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x809052bc00000000,dcid:s2CellId/0x809052c400000000,dcid:s2CellId/0x8090530000000000,dcid:s2CellId/0x8090570000000000,dcid:s2CellId/0x8090578c00000000,dcid:s2CellId/0x8090579400000000,dcid:s2CellId/0x809057f400000000,dcid:s2CellId/0x8090582400000000,dcid:s2CellId/0x8090590000000000,dcid:s2CellId/0x8090597400000000,dcid:s2CellId/0x8090f65400000000,dcid:s2CellId/0x8090f70000000000,dcid:s2CellId/0x8090f73400000000,dcid:s2CellId/0x8091b2b400000000,dcid:s2CellId/0x8091b30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",15,"[8.65243 SquareKilometer]",8.65243,339.36,300.29,"n",42.79,"2023-02-13,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-120.98763211526173, 37.74050506353507), (-120.98763211526173, 37.81748574806016), (-120.89582422732902, 37.84414693051973), (-120.80394744373855, 37.870737535489965), (-120.80394744373855, 37.79372014425884), (-120.89582422732902, 37.76714783509468), (-120.89582422732902, 37.69006636052178), (-120.98763211526173, 37.6634422122698), (-120.98763211526173, 37.74050506353507)),), (((-121.07937052658627, 37.48241498151893), (-121.17103888337672, 37.45568932972217), (-121.1710388833767, 37.53287726197025), (-121.07937052658627, 37.55962219720914), (-121.07937052658627, 37.48241498151893)),), (((-121.07937052658627, 37.636747995836885), (-120.98763211526173, 37.6634422122698), (-120.98763211526173, 37.58629746111499), (-121.07937052658627, 37.55962219720914), (-121.07937052658627, 37.636747995836885)),)]}" -"fireEvent/2023-01-22_0x80cf430000000000","FireEvent","FireEvent at L10 S2 Cell 0x80cf430000000000 on 2023-01-22","2023-01-22","2023-01-22","P1D",1,1,"[LatLong 35.53371 -115.45559]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80cf42c400000000,dcid:s2CellId/0x80cf430000000000,dcid:s2CellId/0x80cf5cbc00000000,dcid:s2CellId/0x80cf5d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.44 SquareKilometer]",2.44,346.66,281.4,"n",5.03,"2023-01-22","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 35.60733295233472), (-115.3785719022423, 35.52540546365499), (-115.47335544292073, 35.50409953767375), (-115.5681083893613, 35.482715048732345), (-115.5681083893613, 35.56460070429775), (-115.47335544292073, 35.58600617105782), (-115.3785719022423, 35.60733295233472)),)}" -"fireEvent/2023-02-03_0x809cff0000000000","FireEvent","FireEvent at L10 S2 Cell 0x809cfd0000000000 on 2023-02-03","2023-02-03","2023-02-04","P2D",2,2,"[LatLong 39.96225 -121.03351]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809cfd0000000000,dcid:s2CellId/0x809cfdf400000000,dcid:s2CellId/0x809cfe0400000000,dcid:s2CellId/0x809cff0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0221 SquareKilometer]",2.0221,341.7,277.57,"n",5.82,"2023-02-03,2023-02-04","{'type': 'Polygon', 'coordinates': (((-120.89582422732902, 40.04016874842176), (-120.89582422732902, 39.96566448927563), (-120.98763211526173, 39.93857220307052), (-121.07937052658627, 39.91140659033674), (-121.07937052658627, 39.98588584374218), (-120.98763211526173, 40.013064009667254), (-120.89582422732902, 40.04016874842176)),)}" -"fireEvent/2023-01-19_0x80da5f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80da5f0000000000 on 2023-01-19","2023-01-19","2023-01-20","P2D",2,2,"[LatLong 33.63016 -116.10640]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80da5e9c00000000,dcid:s2CellId/0x80da5f0000000000,dcid:s2CellId/0x80da670000000000,dcid:s2CellId/0x80da67e400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.53867 SquareKilometer]",2.53867,335.07,298.96,"n",3.35,"2023-01-19,2023-01-20","{'type': 'MultiPolygon', 'coordinates': [(((-116.13594306437999, 33.61826847586996), (-116.13594306437999, 33.70159871661542), (-116.04138886338704, 33.72297412899629), (-116.04138886338704, 33.63961794361283), (-116.13594306437999, 33.61826847586996)),), (((-115.94679974061097, 33.66089273880476), (-115.94679974061097, 33.577439763005614), (-116.04138886338704, 33.55619097791635), (-116.04138886338704, 33.63961794361283), (-115.94679974061097, 33.66089273880476)),)]}" -"fireEvent/2023-02-08_0x8084bd0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084970000000000 on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.91874 -121.99849]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084962c00000000,dcid:s2CellId/0x8084970000000000,dcid:s2CellId/0x8084ba5c00000000,dcid:s2CellId/0x8084bb0000000000,dcid:s2CellId/0x8084bd0000000000,dcid:s2CellId/0x8084bd3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.08578 SquareKilometer]",3.08578,333.72,292.7,"n",6.89,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 38.99052003451348), (-121.81070794913828, 39.018202765231806), (-121.81070794913828, 38.942965923417724), (-121.90179543138471, 38.91529872827276), (-121.99280779590266, 38.88756204233199), (-122.08374449567626, 38.85975615372649), (-122.08374449567626, 38.93494605995725), (-121.99280779590266, 38.96276770349571), (-121.90179543138471, 38.99052003451348)),)}" -"fireEvent/2023-01-21_0x8084450000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084450000000000 on 2023-01-21","2023-01-21","2023-01-31","P11D",11,8,"[LatLong 38.53926 -122.58817]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084446400000000,dcid:s2CellId/0x8084448400000000,dcid:s2CellId/0x808444bc00000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x80844f0000000000,dcid:s2CellId/0x80844f5c00000000,dcid:s2CellId/0x8084506c00000000,dcid:s2CellId/0x8084510000000000,dcid:s2CellId/0x80845a3c00000000,dcid:s2CellId/0x80845a8400000000,dcid:s2CellId/0x80845ab400000000,dcid:s2CellId/0x80845abc00000000,dcid:s2CellId/0x80845b0000000000,dcid:s2CellId/0x80845d0000000000,dcid:s2CellId/0x80845d7400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",15,"[5.15431 SquareKilometer]",5.15431,346.56,295.09,"n",4.76,"2023-01-21,2023-01-23,2023-01-24,2023-01-25,2023-01-26,2023-01-28,2023-01-30,2023-01-31","{'type': 'Polygon', 'coordinates': (((-122.44672381753844, 38.52196905593188), (-122.44672381753844, 38.44651073306092), (-122.5372740990185, 38.41843056369658), (-122.62774550019422, 38.39028340170879), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.5372740990185, 38.64450610716198), (-122.44672381753844, 38.67263711706448), (-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188)),)}" -"fireEvent/2023-02-22_0x8083550000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083530000000000 on 2023-02-22","2023-02-22","2023-02-23","P2D",2,2,"[LatLong 39.33908 -121.63401]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06101,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x808352d400000000,dcid:s2CellId/0x8083530000000000,dcid:s2CellId/0x8083541400000000,dcid:s2CellId/0x8083550000000000,dcid:s2CellId/0x8083555c00000000,dcid:s2CellId/0x8084a84c00000000,dcid:s2CellId/0x8084a90000000000,dcid:s2CellId/0x809cab0000000000,dcid:s2CellId/0x809cab3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[5.11827 SquareKilometer]",5.11827,344.88,287.29,"n",5.74,"2023-02-22,2023-02-23","{'type': 'MultiPolygon', 'coordinates': [(((-121.71954589932093, 39.34596854075605), (-121.62830983522124, 39.373570417177156), (-121.62830983522124, 39.29864655751711), (-121.53700031324804, 39.32616316459139), (-121.53700031324804, 39.25113845152714), (-121.62830983522124, 39.22363643515711), (-121.71954589932093, 39.19606374838049), (-121.71954589932093, 39.27105917309169), (-121.71954589932093, 39.34596854075605)),), (((-121.71954589932093, 39.12098248645304), (-121.81070794913828, 39.09335442361682), (-121.81070794913828, 39.16842067392795), (-121.71954589932093, 39.19606374838049), (-121.71954589932093, 39.12098248645304)),)]}" -"fireEvent/2023-02-10_0x80ce210000000000","FireEvent","FireEvent at L10 S2 Cell 0x80ce210000000000 on 2023-02-10","2023-02-10","2023-02-10","P1D",1,1,"[LatLong 34.75337 -114.57178]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80ce210000000000,dcid:s2CellId/0x80ce21c400000000,dcid:s2CellId/0x80ce21dc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.50494 SquareKilometer]",2.50494,346.0,308.7,"n",10.48,"2023-02-10","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 34.78469582571491), (-114.61928990191176, 34.70164859500177), (-114.52426397902158, 34.72198748448121), (-114.52426397902158, 34.805056766588905), (-114.61928990191176, 34.78469582571491)),)}" -"fireEvent/2023-01-06_0x809cfd0000000000","FireEvent","FireEvent at L10 S2 Cell 0x809cfd0000000000 on 2023-01-06","2023-01-06","2023-01-06","P1D",1,1,"[LatLong 39.96225 -121.03351]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809cfd0000000000,dcid:s2CellId/0x809cfdc400000000,dcid:s2CellId/0x809cfdec00000000,dcid:s2CellId/0x809cfe7400000000,dcid:s2CellId/0x809cff0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.03453 SquareKilometer]",3.03453,328.71,275.78,"n",10.18,"2023-01-06","{'type': 'Polygon', 'coordinates': (((-121.07937052658627, 39.91140659033674), (-121.07937052658627, 39.98588584374218), (-120.98763211526173, 40.013064009667254), (-120.89582422732902, 40.04016874842176), (-120.89582422732902, 39.96566448927563), (-120.98763211526173, 39.93857220307052), (-121.07937052658627, 39.91140659033674)),)}" -"fireEvent/2023-02-23_0x80eaf90000000000","FireEvent","FireEvent at L10 S2 Cell 0x80eaf10000000000 on 2023-02-23","2023-02-23","2023-02-23","P1D",1,1,"[LatLong 35.67612 -119.21464]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eaf08c00000000,dcid:s2CellId/0x80eaf10000000000,dcid:s2CellId/0x80eaf90000000000,dcid:s2CellId/0x80eaf9ac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.33702 SquareKilometer]",2.33702,337.32,284.91,"n",8.92,"2023-02-23","{'type': 'MultiPolygon', 'coordinates': [(((-119.23207840138082, 35.556406222206114), (-119.32503466239531, 35.53175350399878), (-119.32503466239531, 35.61180980810941), (-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.556406222206114)),), (((-119.23207840138082, 35.716489517297106), (-119.13906420284766, 35.74111761532614), (-119.13906420284766, 35.66109096570328), (-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.716489517297106)),)]}" -"fireEvent/2023-02-17_0x8084c10000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084c10000000000 on 2023-02-17","2023-02-17","2023-02-17","P1D",1,1,"[LatLong 38.80086 -121.95300]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084c05c00000000,dcid:s2CellId/0x8084c06400000000,dcid:s2CellId/0x8084c10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.06506 SquareKilometer]",2.06506,342.8,271.77,"n",6.09,"2023-02-17","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.81227184229434), (-121.99280779590266, 38.73689733332498), (-121.90179543138471, 38.764602101272494), (-121.90179543138471, 38.83999267404077), (-121.99280779590266, 38.81227184229434)),)}" -"fireEvent/2023-02-06_0x80845b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084430000000000 on 2023-02-06","2023-02-06","2023-02-08","P3D",3,2,"[LatLong 38.59279 -122.58252]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084430000000000,dcid:s2CellId/0x8084432400000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x8084453400000000,dcid:s2CellId/0x8084453c00000000,dcid:s2CellId/0x808445ac00000000,dcid:s2CellId/0x808445bc00000000,dcid:s2CellId/0x8084507c00000000,dcid:s2CellId/0x8084510000000000,dcid:s2CellId/0x80845a9c00000000,dcid:s2CellId/0x80845b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",11,"[7.21649 SquareKilometer]",7.21649,335.28,292.94,"n",5.78,"2023-02-06,2023-02-08","{'type': 'Polygon', 'coordinates': (((-122.44672381753844, 38.44651073306092), (-122.5372740990185, 38.41843056369658), (-122.5372740990185, 38.49387172650253), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204), (-122.62774550019422, 38.61630776476597), (-122.5372740990185, 38.64450610716198), (-122.5372740990185, 38.569230320025724), (-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188), (-122.44672381753844, 38.44651073306092)),)}" -"fireEvent/2023-01-09_0x80d6350000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d6350000000000 on 2023-01-09","2023-01-09","2023-01-09","P1D",1,1,"[LatLong 32.23974 -114.85081]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d6345c00000000,dcid:s2CellId/0x80d6349c00000000,dcid:s2CellId/0x80d634f400000000,dcid:s2CellId/0x80d6350000000000",4,"[3.96009 SquareKilometer]",3.96009,339.27,313.93,"n",73.15,"2023-01-09","{'type': 'Polygon', 'coordinates': (((-114.90422082333554, 32.287028613932726), (-114.90422082333554, 32.20198930823536), (-114.80926906488743, 32.22182818489056), (-114.80926906488743, 32.306895593204814), (-114.90422082333554, 32.287028613932726)),)}" -"fireEvent/2023-03-26_0x8091010000000000","FireEvent","FireEvent at L10 S2 Cell 0x8091010000000000 on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 37.58756 -120.84989]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8091010000000000,dcid:s2CellId/0x8091018400000000,dcid:s2CellId/0x8091022c00000000,dcid:s2CellId/0x8091024c00000000,dcid:s2CellId/0x8091030000000000,dcid:s2CellId/0x80911b0000000000,dcid:s2CellId/0x80911b3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.26345 SquareKilometer]",3.26345,341.18,293.6,"n",4.45,"2023-03-26,2023-03-27","{'type': 'MultiPolygon', 'coordinates': [(((-120.89582422732902, 37.612902773234545), (-120.80394744373855, 37.6394378546288), (-120.7120023484522, 37.665902427887914), (-120.7120023484522, 37.588619247244885), (-120.80394744373858, 37.56217349052067), (-120.89582422732902, 37.535657341922445), (-120.89582422732902, 37.612902773234545)),), (((-120.61998952842978, 37.61499433591427), (-120.61998952842978, 37.537610243626965), (-120.7120023484522, 37.511254067709565), (-120.7120023484522, 37.588619247244885), (-120.61998952842978, 37.61499433591427)),)]}" -"fireEvent/2023-01-23_0x809cd50000000000","FireEvent","FireEvent at L10 S2 Cell 0x809cd50000000000 on 2023-01-23","2023-01-23","2023-01-25","P3D",3,2,"[LatLong 39.79791 -121.58266]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x809cd50000000000,dcid:s2CellId/0x809cd53c00000000,dcid:s2CellId/0x809cd70000000000,dcid:s2CellId/0x809cd71400000000,dcid:s2CellId/0x809cd71c00000000,dcid:s2CellId/0x809cd73c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[4.03683 SquareKilometer]",4.03683,355.66,288.44,"n",16.93,"2023-01-23,2023-01-25","{'type': 'Polygon', 'coordinates': (((-121.62830983522124, 39.74688824941822), (-121.62830983522124, 39.82129004760166), (-121.53700031324804, 39.84890307417943), (-121.44561789291927, 39.87644431059195), (-121.44561789291927, 39.802016284462454), (-121.53700031324804, 39.774488110500045), (-121.62830983522124, 39.74688824941822)),)}" -"fireEvent/2023-01-31_0x80d13f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d13d0000000000 on 2023-01-31","2023-01-31","2023-02-02","P3D",3,2,"[LatLong 33.64814 -114.63710]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80d13c3400000000,dcid:s2CellId/0x80d13d0000000000,dcid:s2CellId/0x80d13e5400000000,dcid:s2CellId/0x80d13f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.56762 SquareKilometer]",2.56762,342.18,295.34,"n",6.63,"2023-01-31,2023-02-02","{'type': 'Polygon', 'coordinates': (((-114.52426397902158, 33.71922177939378), (-114.52426397902158, 33.635175624754545), (-114.61928990191176, 33.615140915382845), (-114.71429184441094, 33.59502928061842), (-114.71429184441097, 33.67902618540428), (-114.61928990191176, 33.69916251294337), (-114.52426397902158, 33.71922177939378)),)}" -"fireEvent/2023-03-11_0x80938d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80938d0000000000 on 2023-03-11","2023-03-11","2023-03-13","P3D",3,2,"[LatLong 36.78493 -120.26858]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x80938c1c00000000,dcid:s2CellId/0x80938c2400000000,dcid:s2CellId/0x80938c3c00000000,dcid:s2CellId/0x80938d0000000000,dcid:s2CellId/0x80938ea400000000,dcid:s2CellId/0x80938f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.35804 SquareKilometer]",3.35804,339.25,291.16,"n",7.09,"2023-03-11,2023-03-13","{'type': 'Polygon', 'coordinates': (((-120.34355063422758, 36.83735562297489), (-120.25127284433846, 36.8632307113465), (-120.25127284433846, 36.784876873442236), (-120.25127284433846, 36.706443376822236), (-120.34355063422758, 36.680610078824635), (-120.3435506342276, 36.75902257287933), (-120.34355063422758, 36.83735562297489)),)}" -"fireEvent/2023-02-13_0x8095170000000000","FireEvent","FireEvent at L10 S2 Cell 0x8095170000000000 on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 36.56427 -119.18558]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8095170000000000,dcid:s2CellId/0x809517b400000000,dcid:s2CellId/0x809517bc00000000,dcid:s2CellId/0x80953d0000000000,dcid:s2CellId/0x80953d0c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[2.28707 SquareKilometer]",2.28707,328.26,287.55,"n",4.19,"2023-02-13,2023-02-14,2023-02-15","{'type': 'Polygon', 'coordinates': (((-119.23207840138082, 36.59139591977724), (-119.13906420284766, 36.616264807982425), (-119.13906420284766, 36.53710170085306), (-119.13906420284766, 36.45785850302791), (-119.23207840138082, 36.433031486044094), (-119.23207840138082, 36.512253642746515), (-119.23207840138082, 36.59139591977724)),)}" -"fireEvent/2023-02-17_0x8085210000000000","FireEvent","FireEvent at L10 S2 Cell 0x8085210000000000 on 2023-02-17","2023-02-17","2023-02-17","P1D",1,1,"[LatLong 38.49527 -121.96437]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06095,dcid:northamerica,dcid:s2CellId/0x8085204400000000,dcid:s2CellId/0x8085205400000000,dcid:s2CellId/0x8085205c00000000,dcid:s2CellId/0x8085210000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[3.12515 SquareKilometer]",3.12515,342.58,289.41,"n",8.54,"2023-02-17","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.510270284625605), (-121.99280779590266, 38.43456088254056), (-121.90179543138471, 38.462199289647856), (-121.90179543138471, 38.537925598738894), (-121.99280779590266, 38.510270284625605)),)}" -"fireEvent/2023-02-02_0x809db10000000000","FireEvent","FireEvent at L10 S2 Cell 0x809db10000000000 on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 40.23486 -120.66025]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809db0f400000000,dcid:s2CellId/0x809db0fc00000000,dcid:s2CellId/0x809db10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.018 SquareKilometer]",2.018,305.3,262.39,"n",1.05,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-120.7120023484522, 40.24294521918271), (-120.7120023484522, 40.168596011082016), (-120.61998952842978, 40.19549082752908), (-120.61998952842978, 40.26985179667404), (-120.7120023484522, 40.24294521918271)),)}" -"fireEvent/2023-01-17_0x80d9310000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d9310000000000 on 2023-01-17","2023-01-17","2023-01-17","P1D",1,1,"[LatLong 32.36765 -117.03233]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d9310000000000,dcid:s2CellId/0x80d9316400000000,dcid:s2CellId/0x80d9316c00000000,dcid:wikidataId/Q2088119,dcid:wikidataId/Q58731",3,"[2.5781 SquareKilometer]",2.5781,304.21,280.73,"n",1.05,"2023-01-17","{'type': 'Polygon', 'coordinates': (((-117.07940822560565, 32.39872950090179), (-117.07940822560565, 32.31480850427524), (-116.98524219342079, 32.33651897516448), (-116.98524219342079, 32.42047001297981), (-117.07940822560565, 32.39872950090179)),)}" -"fireEvent/2023-02-20_0x54d10d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x54d10d0000000000 on 2023-02-20","2023-02-20","2023-02-20","P1D",1,1,"[LatLong 41.22318 -123.91735]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d10d0000000000,dcid:s2CellId/0x54d10ddc00000000,dcid:s2CellId/0x54d10e5c00000000,dcid:s2CellId/0x54d10e6400000000,dcid:s2CellId/0x54d10e6c00000000,dcid:s2CellId/0x54d10e7400000000,dcid:s2CellId/0x54d10f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[5.15135 SquareKilometer]",5.15135,354.76,291.81,"n",27.17,"2023-02-20","{'type': 'Polygon', 'coordinates': (((-123.83537783956557, 41.21221558284898), (-123.92787048065873, 41.18143411603011), (-123.99940295441057, 41.234067876044605), (-124.07112954251315, 41.28671512267137), (-123.97844908119757, 41.3177409275206), (-123.90681624160965, 41.26497132163325), (-123.83537783956557, 41.21221558284898)),)}" -"fireEvent/2023-01-23_0x80e97f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80e97f0000000000 on 2023-01-23","2023-01-23","2023-01-27","P5D",5,5,"[LatLong 34.84521 -119.47016]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06083,dcid:northamerica,dcid:s2CellId/0x80e97e2c00000000,dcid:s2CellId/0x80e97e3400000000,dcid:s2CellId/0x80e97e4c00000000,dcid:s2CellId/0x80e97f0000000000,dcid:s2CellId/0x80e97fa400000000,dcid:s2CellId/0x80e97fac00000000,dcid:s2CellId/0x80e97fb400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[2.37517 SquareKilometer]",2.37517,350.81,295.74,"n",9.94,"2023-01-23,2023-01-24,2023-01-25,2023-01-26,2023-01-27","{'type': 'Polygon', 'coordinates': (((-119.51077084299, 34.83948061816375), (-119.51077084299, 34.758805996121794), (-119.41793235298398, 34.783376641123795), (-119.41793235298398, 34.86407698186899), (-119.51077084299, 34.83948061816375)),)}" -"fireEvent/2023-03-08_0x8094c90000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094c90000000000 on 2023-03-08","2023-03-08","2023-03-08","P1D",1,1,"[LatLong 36.17639 -119.74260]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094c90000000000,dcid:s2CellId/0x8094c97400000000,dcid:s2CellId/0x8094c99c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.29198 SquareKilometer]",2.29198,337.34,278.61,"n",3.48,"2023-03-08","{'type': 'Polygon', 'coordinates': (((-119.78892484955995, 36.20338340883046), (-119.78892484955995, 36.12413379123651), (-119.69626771448172, 36.149347987538164), (-119.69626771448172, 36.228619807644506), (-119.78892484955995, 36.20338340883046)),)}" -"fireEvent/2023-02-13_0x80903f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80903d0000000000 on 2023-02-13","2023-02-13","2023-02-13","P1D",1,1,"[LatLong 37.73247 -121.35988]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x80903c2400000000,dcid:s2CellId/0x80903d0000000000,dcid:s2CellId/0x80903eac00000000,dcid:s2CellId/0x80903f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.1488 SquareKilometer]",2.1488,340.66,294.6,"n",4.78,"2023-02-13","{'type': 'Polygon', 'coordinates': (((-121.26263661074441, 37.81392448887689), (-121.26263661074441, 37.73708152324151), (-121.35416313685073, 37.710140825873815), (-121.44561789291927, 37.68313095604201), (-121.44561789291927, 37.75993648447068), (-121.35416313685073, 37.78696513099894), (-121.26263661074441, 37.81392448887689)),)}" -"fireEvent/2023-01-23_0x8096d50000000000","FireEvent","FireEvent at L10 S2 Cell 0x8096d50000000000 on 2023-01-23","2023-01-23","2023-01-26","P4D",4,3,"[LatLong 37.79749 -120.11273]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06109,dcid:northamerica,dcid:s2CellId/0x8096d50000000000,dcid:s2CellId/0x8096d57c00000000,dcid:s2CellId/0x8096d59c00000000,dcid:s2CellId/0x80972a9c00000000,dcid:s2CellId/0x80972b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[2.18166 SquareKilometer]",2.18166,340.54,287.01,"n",3.78,"2023-01-23,2023-01-25,2023-01-26","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 37.771745570591364), (-120.15893030899788, 37.74580020187008), (-120.15893030899788, 37.8231938580761), (-120.15893030899788, 37.90050398235046), (-120.06652363285929, 37.926485165746335), (-120.06652363285929, 37.84915723847933), (-120.06652363285929, 37.771745570591364)),)}" -"fireEvent/2023-02-06_0x80d16d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d16d0000000000 on 2023-02-06","2023-02-06","2023-02-06","P1D",1,1,"[LatLong 33.85517 -114.47674]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04012,dcid:northamerica,dcid:s2CellId/0x80d16d0000000000,dcid:s2CellId/0x80d16d1400000000,dcid:s2CellId/0x80d16d2400000000,dcid:s2CellId/0x80d16d3400000000,dcid:s2CellId/0x80d16d4400000000,dcid:s2CellId/0x80d16d6400000000,dcid:s2CellId/0x80d16d6c00000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",7,"[7.67347 SquareKilometer]",7.67347,367.0,357.96,"n",331.14,"2023-02-06","{'type': 'Polygon', 'coordinates': (((-114.52426397902158, 33.88709555416414), (-114.52426397902158, 33.80319522777779), (-114.42921481897034, 33.82320149214735), (-114.42921481897034, 33.90712585436565), (-114.52426397902158, 33.88709555416414)),)}" -"fireEvent/2023-02-06_0x8090530000000000","FireEvent","FireEvent at L10 S2 Cell 0x80904d0000000000 on 2023-02-06","2023-02-06","2023-02-06","P1D",1,1,"[LatLong 37.58483 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x80904d0000000000,dcid:s2CellId/0x80904d7c00000000,dcid:s2CellId/0x80904f0000000000,dcid:s2CellId/0x80904f9400000000,dcid:s2CellId/0x8090522400000000,dcid:s2CellId/0x8090530000000000,dcid:s2CellId/0x8091b4dc00000000,dcid:s2CellId/0x8091b50000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[4.32708 SquareKilometer]",4.32708,338.03,287.68,"n",2.83,"2023-02-06","{'type': 'MultiPolygon', 'coordinates': [(((-120.98763211526173, 37.58629746111499), (-121.07937052658627, 37.55962219720914), (-121.1710388833767, 37.53287726197025), (-121.1710388833767, 37.60998399136611), (-121.1710388833767, 37.68700924798782), (-121.07937052658627, 37.713792107889624), (-121.07937052658627, 37.636747995836885), (-120.98763211526173, 37.6634422122698), (-120.98763211526173, 37.58629746111499)),), (((-121.17103888337672, 37.45568932972217), (-121.26263661074441, 37.4288944060384), (-121.26263661074441, 37.50606293735081), (-121.1710388833767, 37.53287726197025), (-121.17103888337672, 37.45568932972217)),)]}" -"fireEvent/2023-02-12_0x8094290000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094290000000000 on 2023-02-12","2023-02-12","2023-02-12","P1D",1,1,"[LatLong 37.32915 -119.55717]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094290000000000,dcid:s2CellId/0x8094293c00000000,dcid:s2CellId/0x8094294c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.23055 SquareKilometer]",2.23055,299.47,274.3,"n",1.16,"2023-02-12","{'type': 'Polygon', 'coordinates': (((-119.60354950502408, 37.35552745160059), (-119.60354950502408, 37.27735895346938), (-119.51077084299, 37.302718937652955), (-119.51077084299, 37.380906429606696), (-119.60354950502408, 37.35552745160059)),)}" -"fireEvent/2023-02-20_0x54d3e30000000000","FireEvent","FireEvent at L10 S2 Cell 0x54d15f0000000000 on 2023-02-20","2023-02-20","2023-02-20","P1D",1,1,"[LatLong 40.93394 -123.88475]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d15e3400000000,dcid:s2CellId/0x54d15e4c00000000,dcid:s2CellId/0x54d15f0000000000,dcid:s2CellId/0x54d15fb400000000,dcid:s2CellId/0x54d3e10000000000,dcid:s2CellId/0x54d3e1f400000000,dcid:s2CellId/0x54d3e1fc00000000,dcid:s2CellId/0x54d3e21c00000000,dcid:s2CellId/0x54d3e30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[6.10311 SquareKilometer]",6.10311,343.04,294.93,"n",46.97,"2023-02-20","{'type': 'Polygon', 'coordinates': (((-124.01120455766761, 40.849147421528926), (-123.91946070957886, 40.87972665089066), (-123.99050231911558, 40.93193999734144), (-123.8985725188299, 40.962569950683395), (-123.8276237504466, 40.91023590743991), (-123.7568661838358, 40.85791688622407), (-123.84860998990712, 40.827527949546344), (-123.94026150527637, 40.79706911642794), (-124.01120455766761, 40.849147421528926)),)}" -"fireEvent/2023-03-25_0x8084c10000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084c10000000000 on 2023-03-25","2023-03-25","2023-03-27","P3D",3,2,"[LatLong 38.80681 -121.96437]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084c06c00000000,dcid:s2CellId/0x8084c10000000000,dcid:s2CellId/0x8084c25400000000,dcid:s2CellId/0x8084c30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.06751 SquareKilometer]",2.06751,326.05,293.34,"n",5.44,"2023-03-25,2023-03-27","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.81227184229434), (-121.90179543138471, 38.83999267404077), (-121.90179543138471, 38.764602101272494), (-121.90179543138471, 38.68912724158433), (-121.99280779590266, 38.66143874752344), (-121.99280779590266, 38.73689733332498), (-121.99280779590266, 38.81227184229434)),)}" -"fireEvent/2023-02-17_0x8090990000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090990000000000 on 2023-02-17","2023-02-17","2023-02-19","P3D",3,2,"[LatLong 38.21902 -120.54518]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06009,dcid:northamerica,dcid:s2CellId/0x8090988c00000000,dcid:s2CellId/0x8090989400000000,dcid:s2CellId/0x809098bc00000000,dcid:s2CellId/0x8090990000000000,dcid:s2CellId/0x8090997c00000000,dcid:s2CellId/0x80909b0000000000,dcid:s2CellId/0x80909bd400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.21676 SquareKilometer]",3.21676,339.62,288.39,"n",2.84,"2023-02-17,2023-02-19","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 38.257532040519735), (-120.52790957361556, 38.18079594647173), (-120.61998952842978, 38.154366127206046), (-120.7120023484522, 38.12786456645258), (-120.7120023484522, 38.2045663181075), (-120.61998952842978, 38.23108510610075), (-120.52790957361556, 38.257532040519735)),)}" -"fireEvent/2023-02-21_0x80d7950000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7950000000000 on 2023-02-21","2023-02-21","2023-02-21","P1D",1,1,"[LatLong 32.22197 -115.33709]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d794e400000000,dcid:s2CellId/0x80d7950000000000,dcid:s2CellId/0x80d7951c00000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",3,"[2.62994 SquareKilometer]",2.62994,341.66,312.54,"n",35.63,"2023-02-21","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 32.27141580503958), (-115.3785719022423, 32.1865831450277), (-115.28375849518459, 32.20681969840767), (-115.28375849518459, 32.291680994135106), (-115.3785719022423, 32.27141580503958)),)}" -"fireEvent/2023-02-22_0x809aa70000000000","FireEvent","FireEvent at L10 S2 Cell 0x809aa10000000000 on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 38.14519 -121.30841]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x809aa10000000000,dcid:s2CellId/0x809aa14c00000000,dcid:s2CellId/0x809aa6c400000000,dcid:s2CellId/0x809aa70000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.12355 SquareKilometer]",2.12355,328.55,287.85,"n",2.58,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-121.44561789291927, 38.06633970127007), (-121.44561789291927, 38.14273448666555), (-121.35416313685073, 38.169853815308585), (-121.26263661074441, 38.196903281604015), (-121.26263661074441, 38.12047318795499), (-121.35416313685073, 38.09344131890122), (-121.44561789291927, 38.06633970127007)),)}" -"fireEvent/2023-02-08_0x80848f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084850000000000 on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.93064 -122.22001]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084850000000000,dcid:s2CellId/0x8084858400000000,dcid:s2CellId/0x80848e4c00000000,dcid:s2CellId/0x80848f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0522 SquareKilometer]",2.0522,334.11,295.76,"n",13.85,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-122.17460498684162, 38.83188135199408), (-122.26538872869685, 38.80393792806426), (-122.26538872869685, 38.87909599346539), (-122.26538872869685, 38.95416992095992), (-122.17460498684162, 38.9821450862104), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.83188135199408)),)}" -"fireEvent/2023-01-31_0x8084990000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084970000000000 on 2023-01-31","2023-01-31","2023-02-01","P2D",2,2,"[LatLong 38.90934 -121.99849]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084962400000000,dcid:s2CellId/0x8084963400000000,dcid:s2CellId/0x8084970000000000,dcid:s2CellId/0x8084990000000000,dcid:s2CellId/0x8084997400000000,dcid:s2CellId/0x80849a3c00000000,dcid:s2CellId/0x80849b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.10807 SquareKilometer]",4.10807,354.76,288.07,"n",7.09,"2023-01-31,2023-02-01","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 39.0378885979975), (-121.99280779590266, 38.96276770349571), (-121.99280779590266, 38.88756204233199), (-122.08374449567626, 38.85975615372649), (-122.08374449567626, 38.93494605995725), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.9821450862104), (-122.08374449567627, 39.01005140863375), (-121.99280779590266, 39.0378885979975)),)}" -"fireEvent/2023-02-08_0x54d4990000000000","FireEvent","FireEvent at L10 S2 Cell 0x54d4990000000000 on 2023-02-08","2023-02-08","2023-02-11","P4D",4,3,"[LatLong 40.14521 -123.46228]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06105,dcid:northamerica,dcid:s2CellId/0x54d498b400000000,dcid:s2CellId/0x54d498bc00000000,dcid:s2CellId/0x54d4990000000000,dcid:s2CellId/0x54d4a26400000000,dcid:s2CellId/0x54d4a2e400000000,dcid:s2CellId/0x54d4a2ec00000000,dcid:s2CellId/0x54d4a2f400000000,dcid:s2CellId/0x54d4a30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[4.93369 SquareKilometer]",4.93369,344.72,294.21,"n",62.5,"2023-02-08,2023-02-10,2023-02-11","{'type': 'Polygon', 'coordinates': (((-123.60320855276242, 40.159382098605334), (-123.51283904569657, 40.188930829812435), (-123.44368098277349, 40.13738797622512), (-123.37470731145442, 40.0858635123691), (-123.4648917259653, 40.056547606398325), (-123.53395808290452, 40.107955842950716), (-123.60320855276242, 40.159382098605334)),)}" -"fireEvent/2023-02-08_0x8083730000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083130000000000 on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 39.41636 -122.14622]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x8083124400000000,dcid:s2CellId/0x8083130000000000,dcid:s2CellId/0x8083730000000000,dcid:s2CellId/0x8083737400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0239 SquareKilometer]",2.0239,340.79,292.33,"n",12.31,"2023-02-08,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-122.17460498684162, 39.28165587862677), (-122.26538872869685, 39.25361974158061), (-122.26538872869685, 39.328269615478135), (-122.17460498684162, 39.35632047530068), (-122.17460498684162, 39.28165587862677)),), (((-122.17460498684162, 39.430899396295715), (-122.08374449567626, 39.45889527860518), (-122.08374449567626, 39.38430194908448), (-122.17460498684162, 39.35632047530068), (-122.17460498684162, 39.430899396295715)),)]}" -"fireEvent/2023-01-27_0x80d65f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d65f0000000000 on 2023-01-27","2023-01-27","2023-01-27","P1D",1,1,"[LatLong 32.62272 -114.54208]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d65e0c00000000,dcid:s2CellId/0x80d65e3400000000,dcid:s2CellId/0x80d65f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.6251 SquareKilometer]",2.6251,367.0,298.2,"n",4.84,"2023-01-27","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 32.686238988626556), (-114.61928990191176, 32.601380600508776), (-114.52426397902158, 32.62110549021124), (-114.52426397902158, 32.705990765439765), (-114.61928990191176, 32.686238988626556)),)}" -"fireEvent/2023-03-07_0x80a27b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80a27b0000000000 on 2023-03-07","2023-03-07","2023-03-08","P2D",2,2,"[LatLong 39.61225 -118.55062]","dcid:Earth,dcid:country/USA,dcid:geoId/32,dcid:geoId/32001,dcid:northamerica,dcid:s2CellId/0x80a27a4c00000000,dcid:s2CellId/0x80a27a5400000000,dcid:s2CellId/0x80a27abc00000000,dcid:s2CellId/0x80a27aec00000000,dcid:s2CellId/0x80a27af400000000,dcid:s2CellId/0x80a27afc00000000,dcid:s2CellId/0x80a27b0000000000,dcid:s2CellId/0x80a27b2400000000,dcid:s2CellId/0x80a27b3400000000,dcid:s2CellId/0x80a27b3c00000000,dcid:s2CellId/0x80a27bac00000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",11,"[7.40379 SquareKilometer]",7.40379,352.23,283.64,"n",17.63,"2023-03-07,2023-03-08","{'type': 'Polygon', 'coordinates': (((-118.57979810860881, 39.63771777073999), (-118.57979810860881, 39.56163680447531), (-118.4863962961138, 39.5865742114197), (-118.4863962961138, 39.66266778628226), (-118.57979810860881, 39.63771777073999)),)}" -"fireEvent/2023-01-06_0x80cf5d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80cf430000000000 on 2023-01-06","2023-01-06","2023-01-06","P1D",1,1,"[LatLong 35.55573 -115.42597]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80cf430000000000,dcid:s2CellId/0x80cf432c00000000,dcid:s2CellId/0x80cf5cac00000000,dcid:s2CellId/0x80cf5d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.43909 SquareKilometer]",2.43909,343.4,283.86,"n",3.87,"2023-01-06","{'type': 'Polygon', 'coordinates': (((-115.5681083893613, 35.482715048732345), (-115.5681083893613, 35.56460070429775), (-115.47335544292073, 35.58600617105782), (-115.3785719022423, 35.60733295233472), (-115.3785719022423, 35.52540546365499), (-115.47335544292073, 35.50409953767375), (-115.5681083893613, 35.482715048732345)),)}" -"fireEvent/2023-03-26_0x8094790000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094770000000000 on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 36.78430 -120.11273]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8094770000000000,dcid:s2CellId/0x809477cc00000000,dcid:s2CellId/0x8094790000000000,dcid:s2CellId/0x809479c400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.24538 SquareKilometer]",2.24538,336.19,293.13,"n",2.34,"2023-03-26,2023-03-27","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 36.679343295179756), (-120.15893030899788, 36.653672228439554), (-120.15893030899788, 36.732206182076574), (-120.15893030899788, 36.810660560355714), (-120.06652363285929, 36.83637336328723), (-120.06652363285929, 36.75789822396875), (-120.06652363285929, 36.679343295179756)),)}" -"fireEvent/2023-02-14_0x8083250000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083250000000000 on 2023-02-14","2023-02-14","2023-02-17","P4D",4,3,"[LatLong 39.64036 -121.85626]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x8083250000000000,dcid:s2CellId/0x8083257c00000000,dcid:s2CellId/0x8083258400000000,dcid:s2CellId/0x8083259c00000000,dcid:s2CellId/0x808325bc00000000,dcid:s2CellId/0x80832f0000000000,dcid:s2CellId/0x80832fbc00000000,dcid:s2CellId/0x80833ac400000000,dcid:s2CellId/0x80833b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[4.03851 SquareKilometer]",4.03851,345.96,293.21,"n",15.18,"2023-02-14,2023-02-15,2023-02-17","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 39.66366133679624), (-121.81070794913828, 39.69147458174664), (-121.71954589932093, 39.71921697980668), (-121.71954589932093, 39.64474111961013), (-121.81070794913828, 39.617012297346776), (-121.81070794913828, 39.54246309252981), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.58921273290782), (-121.90179543138471, 39.66366133679624)),)}" -"fireEvent/2023-02-13_0x80d13b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d1390000000000 on 2023-02-13","2023-02-13","2023-02-13","P1D",1,1,"[LatLong 33.58312 -114.57178]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80d1390000000000,dcid:s2CellId/0x80d1397c00000000,dcid:s2CellId/0x80d1398400000000,dcid:s2CellId/0x80d13a2c00000000,dcid:s2CellId/0x80d13b0000000000,dcid:s2CellId/0x80d13bd400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[5.14447 SquareKilometer]",5.14447,355.7,289.95,"n",15.57,"2023-02-13","{'type': 'Polygon', 'coordinates': (((-114.71429184441094, 33.51096047591866), (-114.71429184441094, 33.59502928061842), (-114.61928990191176, 33.615140915382845), (-114.52426397902158, 33.635175624754545), (-114.52426397902158, 33.55105718216274), (-114.61928990191176, 33.53104722357586), (-114.71429184441094, 33.51096047591866)),)}" -"fireEvent/2023-03-07_0x8094a50000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094a50000000000 on 2023-03-07","2023-03-07","2023-03-08","P2D",2,2,"[LatLong 36.20234 -119.99140]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094a4c400000000,dcid:s2CellId/0x8094a50000000000,dcid:s2CellId/0x8094ae5c00000000,dcid:s2CellId/0x8094af0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.28421 SquareKilometer]",2.28421,332.69,294.9,"n",2.39,"2023-03-07,2023-03-08","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 36.20635508236253), (-119.97405342347365, 36.23182560661413), (-119.97405342347365, 36.15269831052497), (-119.97405342347365, 36.07349347026282), (-120.06652363285929, 36.04806788044641), (-120.06652363285929, 36.12725014536185), (-120.06652363285929, 36.20635508236253)),)}" -"fireEvent/2023-02-20_0x80c3690000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c3690000000000 on 2023-02-20","2023-02-20","2023-02-20","P1D",1,1,"[LatLong 34.42872 -117.37927]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c3686c00000000,dcid:s2CellId/0x80c3690000000000,dcid:s2CellId/0x80c36f0000000000,dcid:s2CellId/0x80c36f1400000000,dcid:s2CellId/0x80c36f6c00000000,dcid:s2CellId/0x80c3720400000000,dcid:s2CellId/0x80c3730000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.90832 SquareKilometer]",4.90832,355.21,304.63,"n",9.43,"2023-02-20","{'type': 'MultiPolygon', 'coordinates': [(((-117.4556388069492, 34.38460909769327), (-117.4556388069492, 34.46664522632916), (-117.4556388069492, 34.54860813299157), (-117.36164757079143, 34.57137699422246), (-117.36164757079143, 34.489389141032945), (-117.36164757079143, 34.40732785707689), (-117.4556388069492, 34.38460909769327)),), (((-117.54958462854715, 34.525765807815226), (-117.54958462854715, 34.607630244794315), (-117.4556388069492, 34.630497439767254), (-117.4556388069492, 34.54860813299157), (-117.54958462854715, 34.525765807815226)),)]}" -"fireEvent/2023-03-20_0x80d6f50000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d6f50000000000 on 2023-03-20","2023-03-20","2023-03-20","P1D",1,1,"[LatLong 32.77368 -114.53020]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d6f4b400000000,dcid:s2CellId/0x80d6f4cc00000000,dcid:s2CellId/0x80d6f4d400000000,dcid:s2CellId/0x80d6f50000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",4,"[3.92795 SquareKilometer]",3.92795,346.35,283.56,"n",5.98,"2023-03-20","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 32.771030052053916), (-114.61928990191176, 32.686238988626556), (-114.52426397902158, 32.705990765439765), (-114.52426397902158, 32.790808521465856), (-114.61928990191176, 32.771030052053916)),)}" -"fireEvent/2023-01-04_0x80d65f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d65f0000000000 on 2023-01-04","2023-01-04","2023-01-04","P1D",1,1,"[LatLong 32.61039 -114.60147]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d65ea400000000,dcid:s2CellId/0x80d65eac00000000,dcid:s2CellId/0x80d65f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.62533 SquareKilometer]",2.62533,347.6,299.35,"n",28.6,"2023-01-04","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 32.686238988626556), (-114.61928990191176, 32.601380600508776), (-114.52426397902158, 32.62110549021124), (-114.52426397902158, 32.705990765439765), (-114.61928990191176, 32.686238988626556)),)}" -"fireEvent/2023-02-13_0x8090690000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090650000000000 on 2023-02-13","2023-02-13","2023-02-15","P3D",3,2,"[LatLong 37.97433 -120.99337]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090640400000000,dcid:s2CellId/0x8090650000000000,dcid:s2CellId/0x8090662400000000,dcid:s2CellId/0x809066a400000000,dcid:s2CellId/0x809066ac00000000,dcid:s2CellId/0x8090670000000000,dcid:s2CellId/0x8090689c00000000,dcid:s2CellId/0x8090690000000000,dcid:s2CellId/0x8090703c00000000,dcid:s2CellId/0x8090705400000000,dcid:s2CellId/0x8090710000000000,dcid:s2CellId/0x8090715c00000000,dcid:s2CellId/0x8090716400000000,dcid:s2CellId/0x8090724400000000,dcid:s2CellId/0x8090730000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",15,"[10.70761 SquareKilometer]",10.70761,343.64,296.25,"n",5.98,"2023-02-13,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-121.07937052658627, 37.94443166315593), (-121.07937052658627, 38.021146378682644), (-120.98763211526173, 38.047932166418306), (-120.98763211526173, 37.97119956073253), (-120.98763211526173, 37.89438400124386), (-121.07937052658627, 37.86763420544945), (-121.1710388833767, 37.840814274426336), (-121.1710388833767, 37.917593515599634), (-121.07937052658627, 37.94443166315593)),), (((-121.07937052658627, 38.097778093730795), (-121.07937052658627, 38.021146378682644), (-121.1710388833767, 37.994290226708266), (-121.26263661074441, 37.967363990551995), (-121.26263661074441, 38.043960006034105), (-121.1710388833767, 38.07090414902015), (-121.07937052658627, 38.097778093730795)),)]}" -"fireEvent/2023-03-06_0x80d70b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d70b0000000000 on 2023-03-06","2023-03-06","2023-03-08","P3D",3,2,"[LatLong 32.57063 -115.24227]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d70a8c00000000,dcid:s2CellId/0x80d70b0000000000,dcid:s2CellId/0x80d7a70000000000,dcid:s2CellId/0x80d7a7c400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61547 SquareKilometer]",2.61547,333.7,297.21,"n",4.05,"2023-03-06,2023-03-08","{'type': 'MultiPolygon', 'coordinates': [(((-115.28375849518459, 32.54587551383132), (-115.28375849518459, 32.63047572713295), (-115.18891595142229, 32.65077919770483), (-115.18891595142229, 32.5661512898709), (-115.28375849518459, 32.54587551383132)),), (((-115.09404500241959, 32.58635275421574), (-115.09404500241959, 32.50163095253783), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.5661512898709), (-115.09404500241959, 32.58635275421574)),)]}" -"fireEvent/2023-03-26_0x809aad0000000000","FireEvent","FireEvent at L10 S2 Cell 0x809aad0000000000 on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 38.14008 -121.58266]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06067,dcid:northamerica,dcid:s2CellId/0x809aad0000000000,dcid:s2CellId/0x809aad9c00000000,dcid:s2CellId/0x809ab10000000000,dcid:s2CellId/0x809ab16400000000,dcid:s2CellId/0x809ab17c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.17023 SquareKilometer]",3.17023,339.33,296.01,"n",4.24,"2023-03-26,2023-03-27","{'type': 'MultiPolygon', 'coordinates': [(((-121.53700031324804, 38.11554557922101), (-121.62830983522124, 38.08828737798534), (-121.62830983522124, 38.164563906252226), (-121.53700031324804, 38.1918398342251), (-121.53700031324804, 38.11554557922101)),), (((-121.53700031324804, 38.26805113233758), (-121.44561789291927, 38.295275053513606), (-121.44561789291927, 38.21904635446754), (-121.53700031324804, 38.1918398342251), (-121.53700031324804, 38.26805113233758)),)]}" -"fireEvent/2023-01-24_0x80849d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083630000000000 on 2023-01-24","2023-01-24","2023-01-28","P5D",5,4,"[LatLong 39.09280 -122.13486]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x808362f400000000,dcid:s2CellId/0x808362fc00000000,dcid:s2CellId/0x8083630000000000,dcid:s2CellId/0x8083769c00000000,dcid:s2CellId/0x8083770000000000,dcid:s2CellId/0x8083790000000000,dcid:s2CellId/0x8083790c00000000,dcid:s2CellId/0x80837d0000000000,dcid:s2CellId/0x80837d2c00000000,dcid:s2CellId/0x808482ac00000000,dcid:s2CellId/0x8084830000000000,dcid:s2CellId/0x80848e4400000000,dcid:s2CellId/0x80848f0000000000,dcid:s2CellId/0x80849b0000000000,dcid:s2CellId/0x80849b8c00000000,dcid:s2CellId/0x80849c6c00000000,dcid:s2CellId/0x80849c7400000000,dcid:s2CellId/0x80849d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",18,"[10.21353 SquareKilometer]",10.21353,342.89,292.21,"n",8.6,"2023-01-24,2023-01-26,2023-01-27,2023-01-28","{'type': 'MultiPolygon', 'coordinates': [(((-122.08374449567627, 39.160007530943815), (-122.08374449567627, 39.08507197362498), (-122.08374449567627, 39.01005140863375), (-122.08374449567626, 38.93494605995725), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.9821450862104), (-122.26538872869685, 38.95416992095992), (-122.26538872869685, 39.029159483432394), (-122.26538872869685, 39.104064455903135), (-122.17460498684162, 39.132070524198696), (-122.08374449567627, 39.160007530943815)),), (((-122.35609518371197, 39.07598961696731), (-122.35609518371197, 39.15079452917801), (-122.35609518371197, 39.22551461637051), (-122.26538872869685, 39.25361974158061), (-122.26538872869685, 39.17888461552509), (-122.26538872869685, 39.104064455903135), (-122.35609518371197, 39.07598961696731)),), (((-122.17460498684162, 38.83188135199408), (-122.26538872869685, 38.80393792806426), (-122.26538872869685, 38.87909599346539), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.83188135199408)),)]}" -"fireEvent/2023-02-02_0x54cb8f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x54cb8f0000000000 on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 41.47058 -120.70951]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06049,dcid:northamerica,dcid:s2CellId/0x54cb8f0000000000,dcid:s2CellId/0x54cb8f4400000000,dcid:s2CellId/0x54cb8f5400000000,dcid:s2CellId/0x54cb8f5c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.06277 SquareKilometer]",3.06277,327.62,272.03,"n",5.28,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-120.69596078270568, 41.51225665619832), (-120.78974579669705, 41.48457453497503), (-120.72303221281992, 41.42894920721651), (-120.62936599977766, 41.45651647172395), (-120.69596078270568, 41.51225665619832)),)}" -"fireEvent/2023-03-08_0x8084c50000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084c30000000000 on 2023-03-08","2023-03-08","2023-03-08","P1D",1,1,"[LatLong 38.71304 -121.94731]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084c30000000000,dcid:s2CellId/0x8084c37c00000000,dcid:s2CellId/0x8084c48400000000,dcid:s2CellId/0x8084c50000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.07172 SquareKilometer]",2.07172,327.93,290.03,"n",5.75,"2023-03-08","{'type': 'Polygon', 'coordinates': (((-121.81070794913828, 38.792237598880945), (-121.81070794913828, 38.71674657625675), (-121.90179543138471, 38.68912724158433), (-121.99280779590266, 38.66143874752344), (-121.99280779590266, 38.73689733332498), (-121.90179543138471, 38.764602101272494), (-121.81070794913828, 38.792237598880945)),)}" -"fireEvent/2023-02-22_0x8083690000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083690000000000 on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 39.28620 -122.03829]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x8083690000000000,dcid:s2CellId/0x8083696400000000,dcid:s2CellId/0x8083696c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.03153 SquareKilometer]",2.03153,346.39,290.44,"n",6.02,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-122.08374449567626, 39.30962273731574), (-122.08374449567627, 39.23485785874378), (-121.99280779590266, 39.26274043589892), (-121.99280779590266, 39.337520028847024), (-122.08374449567626, 39.30962273731574)),)}" -"fireEvent/2023-02-15_0x8085050000000000","FireEvent","FireEvent at L10 S2 Cell 0x8085010000000000 on 2023-02-15","2023-02-15","2023-02-17","P3D",3,2,"[LatLong 38.37512 -122.31075]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:northamerica,dcid:s2CellId/0x8085010000000000,dcid:s2CellId/0x8085010c00000000,dcid:s2CellId/0x8085050000000000,dcid:s2CellId/0x8085053400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[2.0825 SquareKilometer]",2.0825,331.0,285.88,"n",3.64,"2023-02-15,2023-02-17","{'type': 'MultiPolygon', 'coordinates': [(((-122.17460498684162, 38.379078759434165), (-122.17460498684162, 38.3033208084114), (-122.26538872869685, 38.27549513645561), (-122.26538872869685, 38.35123562794486), (-122.17460498684162, 38.379078759434165)),), (((-122.35609518371197, 38.32332484178081), (-122.35609518371197, 38.39896548537001), (-122.26538872869685, 38.42689363138317), (-122.26538872869685, 38.35123562794486), (-122.35609518371197, 38.32332484178081)),)]}" -"fireEvent/2023-03-18_0x8094c30000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094c30000000000 on 2023-03-18","2023-03-18","2023-03-18","P1D",1,1,"[LatLong 36.35999 -119.64992]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06031,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8094c30000000000,dcid:s2CellId/0x8094c3f400000000,dcid:s2CellId/0x8094c3fc00000000,dcid:s2CellId/0x8094e26c00000000,dcid:s2CellId/0x8094e30000000000,dcid:s2CellId/0x8094e70000000000,dcid:s2CellId/0x8094e7bc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.56314 SquareKilometer]",4.56314,352.28,289.38,"n",5.79,"2023-03-18","{'type': 'MultiPolygon', 'coordinates': [(((-119.60354950502408, 36.33300058072124), (-119.69626771448172, 36.30781343778186), (-119.69626771448172, 36.38692856339861), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.33300058072124)),), (((-119.51077084299, 36.59535309054964), (-119.41793235298398, 36.62046053996235), (-119.41793235298398, 36.54144005071771), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.59535309054964)),), (((-119.60354950502408, 36.49119510273238), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.437274521555786), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.49119510273238)),)]}" -"fireEvent/2023-01-01_0x80d7b50000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d6330000000000 on 2023-01-01","2023-01-01","2023-01-05","P5D",5,4,"[LatLong 32.16937 -114.85675]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d6330000000000,dcid:s2CellId/0x80d6337400000000,dcid:s2CellId/0x80d6337c00000000,dcid:s2CellId/0x80d6338c00000000,dcid:s2CellId/0x80d6339400000000,dcid:s2CellId/0x80d633ec00000000,dcid:s2CellId/0x80d633f400000000,dcid:s2CellId/0x80d6343c00000000,dcid:s2CellId/0x80d6344400000000,dcid:s2CellId/0x80d634e400000000,dcid:s2CellId/0x80d6350000000000,dcid:s2CellId/0x80d6351c00000000,dcid:s2CellId/0x80d7b4d400000000,dcid:s2CellId/0x80d7b50000000000,dcid:s2CellId/0x80d7b6cc00000000,dcid:s2CellId/0x80d7b6d400000000,dcid:s2CellId/0x80d7b70000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",17,"[11.87124 SquareKilometer]",11.87124,367.0,344.76,"n",83.76,"2023-01-01,2023-01-02,2023-01-03,2023-01-05","{'type': 'MultiPolygon', 'coordinates': [(((-114.99914638140322, 32.26708735189506), (-115.09404500241959, 32.24707198896053), (-115.09404500241959, 32.33199011749119), (-114.99914638140322, 32.35203367788002), (-114.90422082333554, 32.37200299165679), (-114.90422082333554, 32.287028613932726), (-114.99914638140322, 32.26708735189506)),), (((-114.80926906488743, 32.22182818489056), (-114.80926906488743, 32.13669611068431), (-114.90422082333554, 32.11688553304868), (-114.90422082333554, 32.20198930823536), (-114.90422082333554, 32.287028613932726), (-114.80926906488743, 32.306895593204814), (-114.80926906488743, 32.22182818489056)),)]}" -"fireEvent/2023-02-10_0x8096d90000000000","FireEvent","FireEvent at L10 S2 Cell 0x8096d70000000000 on 2023-02-10","2023-02-10","2023-02-13","P4D",4,3,"[LatLong 37.82341 -120.02030]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06109,dcid:northamerica,dcid:s2CellId/0x8096d70000000000,dcid:s2CellId/0x8096d70c00000000,dcid:s2CellId/0x8096d71400000000,dcid:s2CellId/0x8096d76400000000,dcid:s2CellId/0x8096d76c00000000,dcid:s2CellId/0x8096d77400000000,dcid:s2CellId/0x8096d8e400000000,dcid:s2CellId/0x8096d8fc00000000,dcid:s2CellId/0x8096d90000000000,dcid:s2CellId/0x8096d90c00000000,dcid:s2CellId/0x8096d91400000000,dcid:s2CellId/0x8096d91c00000000,dcid:s2CellId/0x8096d9b400000000,dcid:s2CellId/0x8096d9bc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",14,"[10.93174 SquareKilometer]",10.93174,352.33,295.8,"n",30.2,"2023-02-10,2023-02-12,2023-02-13","{'type': 'Polygon', 'coordinates': (((-119.881520291274, 37.90086572453295), (-119.881520291274, 37.823418373939894), (-119.97405342347365, 37.79761838238845), (-120.06652363285929, 37.771745570591364), (-120.06652363285929, 37.84915723847933), (-119.97405342347365, 37.87504794829335), (-119.881520291274, 37.90086572453295)),)}" -"fireEvent/2023-03-17_0x809a150000000000","FireEvent","FireEvent at L10 S2 Cell 0x809a150000000000 on 2023-03-17","2023-03-17","2023-03-17","P1D",1,1,"[LatLong 38.61503 -120.48184]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06017,dcid:northamerica,dcid:s2CellId/0x809a150000000000,dcid:s2CellId/0x809a155400000000,dcid:s2CellId/0x809a3f0000000000,dcid:s2CellId/0x809a3ffc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.12031 SquareKilometer]",2.12031,336.84,291.49,"n",3.88,"2023-03-17","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 38.590069533051576), (-120.52790957361556, 38.56362878155043), (-120.52790957361556, 38.63993981922657), (-120.52790957361556, 38.716165110244546), (-120.43576307692442, 38.74263759514314), (-120.43576307692442, 38.66639654013268), (-120.43576307692442, 38.590069533051576)),)}" -"fireEvent/2023-01-02_0x80c2b50000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c2b50000000000 on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 33.87834 -118.34619]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2b50000000000,dcid:s2CellId/0x80c2b53c00000000,dcid:s2CellId/0x80dd345400000000,dcid:s2CellId/0x80dd350000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.46579 SquareKilometer]",2.46579,301.96,283.36,"n",0.85,"2023-01-02","{'type': 'MultiPolygon', 'coordinates': [(((-118.39294170620582, 33.82562180473932), (-118.39294170620582, 33.90767960394744), (-118.29943499572406, 33.9310390246925), (-118.29943499572406, 33.848953872494164), (-118.39294170620582, 33.82562180473932)),), (((-118.20587682407124, 33.8722154192009), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592), (-118.29943499572406, 33.848953872494164), (-118.20587682407124, 33.8722154192009)),)]}" -"fireEvent/2023-02-06_0x8091050000000000","FireEvent","FireEvent at L10 S2 Cell 0x8091030000000000 on 2023-02-06","2023-02-06","2023-02-09","P4D",4,3,"[LatLong 37.61405 -120.75798]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8091030000000000,dcid:s2CellId/0x8091039c00000000,dcid:s2CellId/0x8091050000000000,dcid:s2CellId/0x8091053400000000,dcid:s2CellId/0x80910f0000000000,dcid:s2CellId/0x80910f4400000000,dcid:s2CellId/0x8091130000000000,dcid:s2CellId/0x8091131400000000,dcid:s2CellId/0x8091133c00000000,dcid:s2CellId/0x8091170000000000,dcid:s2CellId/0x8091179400000000,dcid:s2CellId/0x80913f0000000000,dcid:s2CellId/0x80913fa400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",13,"[6.55418 SquareKilometer]",6.55418,351.31,291.56,"n",4.7,"2023-02-06,2023-02-07,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-120.80394744373858, 37.40739967641065), (-120.80394744373858, 37.484827340180566), (-120.80394744373858, 37.56217349052067), (-120.80394744373855, 37.6394378546288), (-120.7120023484522, 37.665902427887914), (-120.7120023484522, 37.588619247244885), (-120.7120023484522, 37.511254067709565), (-120.7120023484522, 37.43380716167879), (-120.80394744373858, 37.40739967641065)),), (((-120.61998952842978, 37.46014421227437), (-120.61998952842978, 37.38259651612187), (-120.7120023484522, 37.35627880381976), (-120.7120023484522, 37.43380716167879), (-120.61998952842978, 37.46014421227437)),), (((-120.61998952842978, 37.46014421227437), (-120.61998952842978, 37.537610243626965), (-120.52790957361556, 37.563895592993696), (-120.52790957361556, 37.48641055294733), (-120.61998952842978, 37.46014421227437)),), (((-120.43576307692442, 37.43501988834095), (-120.52790957361556, 37.408843635627235), (-120.52790957361556, 37.48641055294733), (-120.43576307692442, 37.51260591001308), (-120.43576307692442, 37.43501988834095)),)]}" -"fireEvent/2023-02-02_0x54cd7f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x54cd7f0000000000 on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 40.81295 -122.12326]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06089,dcid:northamerica,dcid:s2CellId/0x54cd7e2c00000000,dcid:s2CellId/0x54cd7f0000000000,dcid:s2CellId/0x54d2802c00000000,dcid:s2CellId/0x54d2810000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0118 SquareKilometer]",2.0118,316.46,277.42,"n",1.97,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-122.07514833257954, 40.869937113625745), (-122.00721741257856, 40.81623815916073), (-122.09927338341384, 40.78772605476484), (-122.19125045849158, 40.75914079007819), (-122.25939215890025, 40.81260767001019), (-122.1673100903644, 40.84130903005775), (-122.07514833257954, 40.869937113625745)),)}" -"fireEvent/2023-02-08_0x8085210000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084df0000000000 on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.57692 -121.97575]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06095,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084de1400000000,dcid:s2CellId/0x8084df0000000000,dcid:s2CellId/0x8085202c00000000,dcid:s2CellId/0x8085203400000000,dcid:s2CellId/0x8085210000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",5,"[2.08071 SquareKilometer]",2.08071,343.77,295.21,"n",11.91,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 38.462199289647856), (-121.99280779590266, 38.43456088254056), (-121.99280779590266, 38.510270284625605), (-121.99280779590266, 38.585896319149406), (-121.90179543138471, 38.61356832875711), (-121.90179543138471, 38.537925598738894), (-121.90179543138471, 38.462199289647856)),)}" -"fireEvent/2023-03-01_0x80eaf90000000000","FireEvent","FireEvent at L10 S2 Cell 0x80eae50000000000 on 2023-03-01","2023-03-01","2023-03-02","P2D",2,2,"[LatLong 35.73758 -119.28437]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eae4fc00000000,dcid:s2CellId/0x80eae50000000000,dcid:s2CellId/0x80eaf90000000000,dcid:s2CellId/0x80eaf96400000000,dcid:s2CellId/0x80eaf97400000000,dcid:s2CellId/0x80eafc9400000000,dcid:s2CellId/0x80eafd0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.49974 SquareKilometer]",3.49974,335.6,288.75,"n",5.3,"2023-03-01,2023-03-02","{'type': 'MultiPolygon', 'coordinates': [(((-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.556406222206114), (-119.32503466239531, 35.53175350399878), (-119.32503466239531, 35.61180980810941), (-119.23207840138082, 35.63648603631758)),), (((-119.32503466239531, 35.77169372701799), (-119.23207840138082, 35.79641633090737), (-119.23207840138082, 35.716489517297106), (-119.32503466239531, 35.69178999395241), (-119.32503466239531, 35.77169372701799)),), (((-119.41793235298398, 35.58706253975614), (-119.41793235298401, 35.66701930371646), (-119.32503466239531, 35.69178999395241), (-119.32503466239531, 35.61180980810941), (-119.41793235298398, 35.58706253975614)),)]}" -"fireEvent/2023-02-13_0x8090e10000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090e10000000000 on 2023-02-13","2023-02-13","2023-02-18","P6D",6,5,"[LatLong 37.74409 -120.57396]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8090e10000000000,dcid:s2CellId/0x8090e1a400000000,dcid:s2CellId/0x8090e30000000000,dcid:s2CellId/0x8090e38400000000,dcid:s2CellId/0x8090e47c00000000,dcid:s2CellId/0x8090e48400000000,dcid:s2CellId/0x8090e49400000000,dcid:s2CellId/0x8090e49c00000000,dcid:s2CellId/0x8090e4dc00000000,dcid:s2CellId/0x8090e50000000000,dcid:s2CellId/0x8090fcd400000000,dcid:s2CellId/0x8090fd0000000000,dcid:s2CellId/0x8090fd2c00000000,dcid:s2CellId/0x8091010000000000,dcid:s2CellId/0x809101b400000000,dcid:s2CellId/0x809101dc00000000,dcid:s2CellId/0x809102cc00000000,dcid:s2CellId/0x809102f400000000,dcid:s2CellId/0x8091030000000000,dcid:s2CellId/0x809103e400000000,dcid:s2CellId/0x8091042400000000,dcid:s2CellId/0x8091050000000000,dcid:s2CellId/0x80910f0000000000,dcid:s2CellId/0x80910f7c00000000,dcid:s2CellId/0x809114bc00000000,dcid:s2CellId/0x8091150000000000,dcid:s2CellId/0x809116bc00000000,dcid:s2CellId/0x8091170000000000,dcid:s2CellId/0x8091186400000000,dcid:s2CellId/0x8091188c00000000,dcid:s2CellId/0x8091190000000000,dcid:s2CellId/0x80911a6c00000000,dcid:s2CellId/0x80911abc00000000,dcid:s2CellId/0x80911b0000000000,dcid:s2CellId/0x80911b3400000000,dcid:s2CellId/0x80911ccc00000000,dcid:s2CellId/0x80911d0000000000,dcid:s2CellId/0x80911d5c00000000,dcid:s2CellId/0x80911eac00000000,dcid:s2CellId/0x80911f0000000000,dcid:s2CellId/0x8091226c00000000,dcid:s2CellId/0x8091228400000000,dcid:s2CellId/0x8091229400000000,dcid:s2CellId/0x809122b400000000,dcid:s2CellId/0x8091230000000000,dcid:s2CellId/0x80913d0000000000,dcid:s2CellId/0x80913d3400000000,dcid:s2CellId/0x80913f0000000000,dcid:s2CellId/0x80913f8400000000,dcid:s2CellId/0x8091407400000000,dcid:s2CellId/0x8091410000000000,dcid:s2CellId/0x8091ab0000000000,dcid:s2CellId/0x8091ab9c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",53,"[33.7678 SquareKilometer]",33.7678,345.71,295.76,"n",12.64,"2023-02-13,2023-02-14,2023-02-15,2023-02-17,2023-02-18","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 37.71861894809693), (-120.52790957361556, 37.641298481904194), (-120.43576307692442, 37.66753141216106), (-120.43576307692442, 37.59010984243894), (-120.43576307692442, 37.51260591001308), (-120.43576307692442, 37.43501988834095), (-120.43576307692442, 37.35735205316665), (-120.52790957361556, 37.3311951171772), (-120.52790957361556, 37.408843635627235), (-120.61998952842978, 37.38259651612187), (-120.61998952842978, 37.46014421227437), (-120.61998952842978, 37.537610243626965), (-120.7120023484522, 37.511254067709565), (-120.7120023484522, 37.43380716167879), (-120.80394744373858, 37.40739967641065), (-120.80394744373858, 37.484827340180566), (-120.80394744373858, 37.56217349052067), (-120.89582422732902, 37.535657341922445), (-120.98763211526173, 37.50907107917234), (-120.98763211526173, 37.58629746111499), (-120.89582422732902, 37.612902773234545), (-120.80394744373855, 37.6394378546288), (-120.80394744373855, 37.71662016196677), (-120.7120023484522, 37.74310333951075), (-120.7120023484522, 37.82022171425268), (-120.61998952842978, 37.84665226985095), (-120.61998952842978, 37.76951561760652), (-120.52790957361556, 37.79585672226859), (-120.52790957361556, 37.71861894809693)),)}" -"fireEvent/2023-02-24_0x8091550000000000","FireEvent","FireEvent at L10 S2 Cell 0x8091550000000000 on 2023-02-24","2023-02-24","2023-02-24","P1D",1,1,"[LatLong 37.24081 -120.24550]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x8091541c00000000,dcid:s2CellId/0x8091543c00000000,dcid:s2CellId/0x8091550000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.21318 SquareKilometer]",2.21318,303.07,275.74,"n",1.03,"2023-02-24","{'type': 'Polygon', 'coordinates': (((-120.25127284433846, 37.25379475261621), (-120.25127284433846, 37.17584359712822), (-120.15893030899788, 37.20172848568334), (-120.15893030899788, 37.279699242747455), (-120.25127284433846, 37.25379475261621)),)}" -"fireEvent/2023-01-12_0x80d64f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d6490000000000 on 2023-01-12","2023-01-12","2023-01-12","P1D",1,1,"[LatLong 32.39774 -114.75585]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d648d400000000,dcid:s2CellId/0x80d6490000000000,dcid:s2CellId/0x80d6492c00000000,dcid:s2CellId/0x80d64ed400000000,dcid:s2CellId/0x80d64f0000000000",5,"[3.94984 SquareKilometer]",3.94984,337.67,280.07,"n",11.91,"2023-01-12","{'type': 'Polygon', 'coordinates': (((-114.80926906488743, 32.47683458066355), (-114.71429184441097, 32.496682423392954), (-114.71429184441097, 32.41171815478524), (-114.71429184441094, 32.326688109961154), (-114.80926906488743, 32.306895593204814), (-114.80926906488743, 32.39189787714385), (-114.80926906488743, 32.47683458066355)),)}" -"fireEvent/2023-02-08_0x80d7c50000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7c50000000000 on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 32.08173 -115.14741]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7c4dc00000000,dcid:s2CellId/0x80d7c4e400000000,dcid:s2CellId/0x80d7c50000000000,dcid:s2CellId/0x80d7c52400000000,dcid:s2CellId/0x80d7c90000000000,dcid:s2CellId/0x80d7c95c00000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",6,"[3.96094 SquareKilometer]",3.96094,342.0,304.14,"n",39.56,"2023-02-08,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-115.09404500241959, 32.07704259018568), (-115.18891595142229, 32.057010591540205), (-115.18891595142229, 32.14202858870148), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.07704259018568)),), (((-115.09404500241959, 32.24707198896053), (-114.99914638140322, 32.26708735189506), (-114.99914638140322, 32.182076294930475), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.24707198896053)),)]}" -"fireEvent/2023-02-09_0x80d94b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d9350000000000 on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 32.42976 -117.12648]","dcid:Earth,dcid:s2CellId/0x80d9350000000000,dcid:s2CellId/0x80d935fc00000000,dcid:s2CellId/0x80d94a0400000000,dcid:s2CellId/0x80d94b0000000000",4,"[2.57212 SquareKilometer]",2.57212,328.01,284.04,"n",1.7,"2023-02-09","{'type': 'Polygon', 'coordinates': (((-117.17353159273283, 32.544509987226014), (-117.07940822560565, 32.56638086365544), (-117.07940822560565, 32.482587100563286), (-117.07940822560565, 32.39872950090179), (-117.17353159273283, 32.3769183699734), (-117.17353159273283, 32.460745992059394), (-117.17353159273283, 32.544509987226014)),)}" -"fireEvent/2023-01-22_0x80833b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8082dd0000000000 on 2023-01-22","2023-01-22","2023-01-31","P10D",10,8,"[LatLong 39.82099 -121.91887]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06021,dcid:northamerica,dcid:s2CellId/0x8082dc1400000000,dcid:s2CellId/0x8082dc3c00000000,dcid:s2CellId/0x8082dd0000000000,dcid:s2CellId/0x8082df0000000000,dcid:s2CellId/0x8082dfe400000000,dcid:s2CellId/0x8082dffc00000000,dcid:s2CellId/0x8082e00400000000,dcid:s2CellId/0x8082e00c00000000,dcid:s2CellId/0x8082e10000000000,dcid:s2CellId/0x8082e2bc00000000,dcid:s2CellId/0x8082e30000000000,dcid:s2CellId/0x8082fc9400000000,dcid:s2CellId/0x8082fd0000000000,dcid:s2CellId/0x8083030000000000,dcid:s2CellId/0x8083036c00000000,dcid:s2CellId/0x8083181400000000,dcid:s2CellId/0x8083190000000000,dcid:s2CellId/0x80831f0000000000,dcid:s2CellId/0x80831fec00000000,dcid:s2CellId/0x8083208400000000,dcid:s2CellId/0x8083210000000000,dcid:s2CellId/0x8083222400000000,dcid:s2CellId/0x8083230000000000,dcid:s2CellId/0x80833acc00000000,dcid:s2CellId/0x80833ad400000000,dcid:s2CellId/0x80833b0000000000,dcid:s2CellId/0x80833f0000000000,dcid:s2CellId/0x80833f7400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",28,"[12.07092 SquareKilometer]",12.07092,367.0,296.9,"n",37.16,"2023-01-22,2023-01-23,2023-01-24,2023-01-26,2023-01-27,2023-01-28,2023-01-29,2023-01-31","{'type': 'MultiPolygon', 'coordinates': [(((-121.90179543138471, 39.58921273290782), (-121.81070794913828, 39.617012297346776), (-121.81070794913828, 39.54246309252981), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.58921273290782)),), (((-121.90179543138471, 39.440055586207386), (-121.99280779590266, 39.41221374839482), (-121.99280779590266, 39.48682137961132), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.440055586207386)),), (((-121.99280779590266, 39.56134270969617), (-122.08374449567626, 39.533402512559896), (-122.08374449567626, 39.60782343975379), (-122.08374449567626, 39.68215785111147), (-122.17460498684162, 39.654119977456524), (-122.17460498684162, 39.579799358030826), (-122.26538872869685, 39.5517055701261), (-122.26538872869685, 39.626012291876584), (-122.26538872869685, 39.70023270028032), (-122.17460498684162, 39.7283540785671), (-122.08374449567627, 39.7564055396731), (-121.99280779590266, 39.78438679703803), (-121.99280779590266, 39.858560837073455), (-121.90179543138471, 39.88648478068095), (-121.90179543138471, 39.81229756552468), (-121.90179543138471, 39.73802301630229), (-121.90179543138471, 39.66366133679624), (-121.90179543138471, 39.58921273290782), (-121.99280779590266, 39.56134270969617)),)]}" -"fireEvent/2023-02-09_0x80ead70000000000","FireEvent","FireEvent at L10 S2 Cell 0x80ead70000000000 on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 36.03832 -119.37149]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x80ead70000000000,dcid:s2CellId/0x80ead73400000000,dcid:s2CellId/0x80eb2aa400000000,dcid:s2CellId/0x80eb2aec00000000,dcid:s2CellId/0x80eb2b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.4589 SquareKilometer]",3.4589,339.15,294.32,"n",2.37,"2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-119.32503466239531, 36.09053752380865), (-119.32503466239531, 36.01094289980543), (-119.41793235298398, 35.98608067023123), (-119.41793235298398, 36.065652945020474), (-119.32503466239531, 36.09053752380865)),), (((-119.51077084299, 36.040696832060384), (-119.51077084299, 36.12016897103913), (-119.41793235298398, 36.14514734350813), (-119.41793235298398, 36.065652945020474), (-119.51077084299, 36.040696832060384)),)]}" -"fireEvent/2023-02-22_0x80946f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80946f0000000000 on 2023-02-22","2023-02-22","2023-02-23","P2D",2,2,"[LatLong 36.86831 -119.93358]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x80946e7c00000000,dcid:s2CellId/0x80946f0000000000,dcid:s2CellId/0x80947b0000000000,dcid:s2CellId/0x80947b2400000000,dcid:s2CellId/0x80947d0000000000,dcid:s2CellId/0x80947d6c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.37541 SquareKilometer]",3.37541,345.34,287.31,"n",7.49,"2023-02-22,2023-02-23","{'type': 'MultiPolygon', 'coordinates': [(((-119.97405342347365, 36.86201501351553), (-119.881520291274, 36.88758524394533), (-119.881520291274, 36.809068943247944), (-119.97405342347365, 36.78351923348833), (-119.97405342347365, 36.86201501351553)),), (((-119.97405342347365, 36.62628796342359), (-120.06652363285929, 36.600708876501066), (-120.06652363285929, 36.679343295179756), (-120.06652363285929, 36.75789822396875), (-119.97405342347365, 36.78351923348833), (-119.97405342347365, 36.70494345038081), (-119.97405342347365, 36.62628796342359)),)]}" -"fireEvent/2023-02-13_0x8091570000000000","FireEvent","FireEvent at L10 S2 Cell 0x8091570000000000 on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 37.17261 -120.28012]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06039,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x8091562400000000,dcid:s2CellId/0x8091570000000000,dcid:s2CellId/0x8091570c00000000,dcid:s2CellId/0x8091575c00000000,dcid:s2CellId/0x8093883c00000000,dcid:s2CellId/0x8093890000000000,dcid:s2CellId/0x8093899400000000,dcid:s2CellId/0x80938cdc00000000,dcid:s2CellId/0x80938d0000000000,dcid:s2CellId/0x8093e30000000000,dcid:s2CellId/0x8093e3e400000000,dcid:s2CellId/0x8093e50000000000,dcid:s2CellId/0x8093e58400000000,dcid:s2CellId/0x8093e59400000000,dcid:s2CellId/0x8093f00c00000000,dcid:s2CellId/0x8093f10000000000,dcid:s2CellId/0x8093f50000000000,dcid:s2CellId/0x8093f53400000000,dcid:s2CellId/0x8093fa3400000000,dcid:s2CellId/0x8093faf400000000,dcid:s2CellId/0x8093fb0000000000,dcid:s2CellId/0x8093fb1400000000,dcid:s2CellId/0x8093fb7400000000,dcid:s2CellId/0x8093fb7c00000000,dcid:s2CellId/0x8093fc2c00000000,dcid:s2CellId/0x8093fc7400000000,dcid:s2CellId/0x8093fd0000000000,dcid:s2CellId/0x8093fdd400000000,dcid:s2CellId/0x8093ff0000000000,dcid:s2CellId/0x8093ffdc00000000,dcid:s2CellId/0x8093fffc00000000,dcid:s2CellId/0x809406ec00000000,dcid:s2CellId/0x8094070000000000,dcid:s2CellId/0x8094076400000000,dcid:s2CellId/0x809407ec00000000,dcid:s2CellId/0x8094090000000000,dcid:s2CellId/0x809409bc00000000,dcid:s2CellId/0x809409c400000000,dcid:s2CellId/0x80940a5400000000,dcid:s2CellId/0x80940b0000000000,dcid:s2CellId/0x80940d0000000000,dcid:s2CellId/0x80940da400000000,dcid:s2CellId/0x80940ea400000000,dcid:s2CellId/0x80940f0000000000,dcid:s2CellId/0x8094602c00000000,dcid:s2CellId/0x8094610000000000,dcid:s2CellId/0x809461fc00000000,dcid:s2CellId/0x8094628400000000,dcid:s2CellId/0x8094630000000000,dcid:s2CellId/0x809463c400000000,dcid:s2CellId/0x809464d400000000,dcid:s2CellId/0x8094650000000000,dcid:s2CellId/0x80946d0000000000,dcid:s2CellId/0x80946d0400000000,dcid:s2CellId/0x80946d4400000000,dcid:s2CellId/0x80946dfc00000000,dcid:s2CellId/0x80946e0400000000,dcid:s2CellId/0x80946f0000000000,dcid:s2CellId/0x809470fc00000000,dcid:s2CellId/0x8094710000000000,dcid:s2CellId/0x809471d400000000,dcid:s2CellId/0x809474a400000000,dcid:s2CellId/0x8094750000000000,dcid:s2CellId/0x8094757400000000,dcid:s2CellId/0x8094761c00000000,dcid:s2CellId/0x8094770000000000,dcid:s2CellId/0x809478b400000000,dcid:s2CellId/0x8094790000000000,dcid:s2CellId/0x80947b0000000000,dcid:s2CellId/0x80947b7c00000000,dcid:s2CellId/0x80947bac00000000,dcid:s2CellId/0x80947bb400000000,dcid:s2CellId/0x80947cb400000000,dcid:s2CellId/0x80947cbc00000000,dcid:s2CellId/0x80947d0000000000,dcid:s2CellId/0x809486b400000000,dcid:s2CellId/0x8094870000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",77,"[43.62675 SquareKilometer]",43.62675,341.96,294.37,"n",33.33,"2023-02-13,2023-02-14,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-120.43576307692442, 37.04586817243793), (-120.43576307692442, 37.12386045840006), (-120.3435506342276, 37.14988749788112), (-120.3435506342276, 37.227818933892436), (-120.25127284433846, 37.25379475261621), (-120.25127284433846, 37.17584359712822), (-120.15893030899788, 37.20172848568334), (-120.15893030899788, 37.12367640222347), (-120.25127284433846, 37.09781132766205), (-120.25127284433846, 37.019698230660886), (-120.25127284433846, 36.94150459487179), (-120.34355063422758, 36.91560893309172), (-120.34355063422758, 36.9937822095109), (-120.43576307692442, 36.96779548603939), (-120.43576307692442, 37.04586817243793)),), (((-119.78892484955995, 36.75592995709716), (-119.78892484955995, 36.677232696444996), (-119.881520291274, 36.6517959921811), (-119.97405342347365, 36.62628796342359), (-119.97405342347365, 36.54755307417071), (-120.06652363285929, 36.52199526983154), (-120.06652363285929, 36.600708876501066), (-120.06652363285929, 36.679343295179756), (-120.15893030899788, 36.653672228439554), (-120.15893030899788, 36.732206182076574), (-120.25127284433846, 36.706443376822236), (-120.25127284433846, 36.784876873442236), (-120.15893030899788, 36.810660560355714), (-120.15893030899788, 36.889035065659726), (-120.25127284433846, 36.8632307113465), (-120.25127284433846, 36.94150459487179), (-120.15893030899788, 36.96732940268327), (-120.15893030899788, 37.04554327843229), (-120.15893030899788, 37.12367640222347), (-120.06652363285929, 37.149470115346524), (-120.06652363285929, 37.071317083373074), (-119.97405342347365, 37.09701937765089), (-119.97405342347365, 37.018765379021026), (-119.97405342347365, 36.94043049355481), (-119.881520291274, 36.96602103190846), (-119.881520291274, 36.88758524394533), (-119.881520291274, 36.809068943247944), (-119.881520291274, 36.730472426366894), (-119.78892484955995, 36.75592995709716)), ((-120.06652363285929, 36.91476841587199), (-120.06652363285929, 36.83637336328723), (-119.97405342347365, 36.86201501351553), (-119.97405342347365, 36.94043049355481), (-120.06652363285929, 36.91476841587199))), (((-120.3435506342276, 36.75902257287933), (-120.34355063422758, 36.83735562297489), (-120.25127284433846, 36.8632307113465), (-120.25127284433846, 36.784876873442236), (-120.3435506342276, 36.75902257287933)),)]}" -"fireEvent/2023-01-24_0x809ca30000000000","FireEvent","FireEvent at L10 S2 Cell 0x809ca30000000000 on 2023-01-24","2023-01-24","2023-01-24","P1D",1,1,"[LatLong 39.43214 -121.30841]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x809ca30000000000,dcid:s2CellId/0x809ca38400000000,dcid:s2CellId/0x809ca47c00000000,dcid:s2CellId/0x809ca48400000000,dcid:s2CellId/0x809ca50000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.07105 SquareKilometer]",3.07105,320.08,276.81,"n",1.53,"2023-01-24","{'type': 'Polygon', 'coordinates': (((-121.26263661074441, 39.483266287272535), (-121.26263661074441, 39.40828552033575), (-121.35416313685073, 39.38098292464055), (-121.44561789291927, 39.35360871343016), (-121.44561789291927, 39.42856123811598), (-121.35416313685073, 39.45594962310902), (-121.26263661074441, 39.483266287272535)),)}" -"fireEvent/2023-02-01_0x809c930000000000","FireEvent","FireEvent at L10 S2 Cell 0x809c930000000000 on 2023-02-01","2023-02-01","2023-02-01","P1D",1,1,"[LatLong 39.63644 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809c930000000000,dcid:s2CellId/0x809c938400000000,dcid:s2CellId/0x809c939400000000,dcid:s2CellId/0x809c939c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.06163 SquareKilometer]",3.06163,344.42,280.12,"n",6.24,"2023-02-01","{'type': 'Polygon', 'coordinates': (((-121.1710388833767, 39.66023770903055), (-121.1710388833767, 39.58541818705814), (-121.07937052658627, 39.612604240032645), (-121.07937052658627, 39.68743721730411), (-121.1710388833767, 39.66023770903055)),)}" -"fireEvent/2023-01-29_0x54d4790000000000","FireEvent","FireEvent at L10 S2 Cell 0x54d3890000000000 on 2023-01-29","2023-01-29","2023-01-31","P3D",3,2,"[LatLong 40.49879 -123.77534]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d3883c00000000,dcid:s2CellId/0x54d3890000000000,dcid:s2CellId/0x54d4790000000000,dcid:s2CellId/0x54d4799400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.00192 SquareKilometer]",2.00192,332.71,281.19,"n",4.41,"2023-01-29,2023-01-31","{'type': 'MultiPolygon', 'coordinates': [(((-123.70049822514551, 40.42522833582968), (-123.79132396242879, 40.39527764865095), (-123.86141054001804, 40.44690605911238), (-123.77049305755222, 40.47697512444182), (-123.70049822514551, 40.42522833582968)),), (((-123.84067520047952, 40.528738100451406), (-123.7495757059824, 40.558857301706794), (-123.67948580703302, 40.50697565055471), (-123.77049305755222, 40.47697512444182), (-123.84067520047952, 40.528738100451406)),)]}" -"fireEvent/2023-02-15_0x8092730000000000","FireEvent","FireEvent at L10 S2 Cell 0x8092730000000000 on 2023-02-15","2023-02-15","2023-02-15","P1D",1,1,"[LatLong 36.48535 -121.48561]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06053,dcid:northamerica,dcid:s2CellId/0x809272e400000000,dcid:s2CellId/0x8092730000000000,dcid:s2CellId/0x8092731c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.21573 SquareKilometer]",2.21573,349.71,293.5,"n",9.07,"2023-02-15","{'type': 'Polygon', 'coordinates': (((-121.53700031324804, 36.49466838986812), (-121.53700031324804, 36.41661666511552), (-121.44561789291927, 36.44336363689261), (-121.44561789291927, 36.52143773982046), (-121.53700031324804, 36.49466838986812)),)}" -"fireEvent/2023-02-08_0x80956d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8095690000000000 on 2023-02-08","2023-02-08","2023-02-10","P3D",3,3,"[LatLong 36.63852 -118.90628]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8095690000000000,dcid:s2CellId/0x8095695400000000,dcid:s2CellId/0x8095695c00000000,dcid:s2CellId/0x80956c3400000000,dcid:s2CellId/0x80956c3c00000000,dcid:s2CellId/0x80956d0000000000,dcid:s2CellId/0x80956ea400000000,dcid:s2CellId/0x80956eac00000000,dcid:s2CellId/0x80956f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[5.71264 SquareKilometer]",5.71264,342.6,289.21,"n",5.79,"2023-02-08,2023-02-09,2023-02-10","{'type': 'Polygon', 'coordinates': (((-119.04599270243568, 36.72016386785025), (-118.95286453849957, 36.7449068112452), (-118.85968035209078, 36.76957609688757), (-118.8596803520908, 36.69043224866218), (-118.8596803520908, 36.61120737300191), (-118.95286453849957, 36.58657881730618), (-118.95286453849957, 36.66578322345074), (-119.04599270243568, 36.64106065984325), (-119.04599270243568, 36.72016386785025)),)}" -"fireEvent/2023-02-18_0x8092530000000000","FireEvent","FireEvent at L10 S2 Cell 0x8092530000000000 on 2023-02-18","2023-02-18","2023-02-18","P1D",1,1,"[LatLong 36.47183 -120.94174]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06069,dcid:northamerica,dcid:s2CellId/0x8092530000000000,dcid:s2CellId/0x8092538400000000,dcid:s2CellId/0x8092538c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.23677 SquareKilometer]",2.23677,336.3,295.41,"n",3.79,"2023-02-18","{'type': 'Polygon', 'coordinates': (((-120.98763211526173, 36.49782625892822), (-120.98763211526173, 36.41948656533546), (-120.89582422732902, 36.445783528063096), (-120.89582422732902, 36.524145296812684), (-120.98763211526173, 36.49782625892822)),)}" -"fireEvent/2023-01-04_0x80d76f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d76f0000000000 on 2023-01-04","2023-01-04","2023-01-04","P1D",1,1,"[LatLong 32.72659 -115.42597]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d76f0000000000,dcid:s2CellId/0x80d76f5400000000,dcid:s2CellId/0x80d76f5c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.59894 SquareKilometer]",2.59894,347.83,290.85,"n",8.82,"2023-01-04","{'type': 'Polygon', 'coordinates': (((-115.47335544292073, 32.75853653053172), (-115.47335544292073, 32.67412456932842), (-115.3785719022423, 32.69460416981107), (-115.3785719022423, 32.779043713972804), (-115.47335544292073, 32.75853653053172)),)}" -"fireEvent/2023-02-15_0x80845b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084450000000000 on 2023-02-15","2023-02-15","2023-02-17","P3D",3,2,"[LatLong 38.51748 -122.58252]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x8084454c00000000,dcid:s2CellId/0x8084570000000000,dcid:s2CellId/0x8084572400000000,dcid:s2CellId/0x80845b0000000000,dcid:s2CellId/0x80845b5400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",6,"[3.09508 SquareKilometer]",3.09508,336.42,291.53,"n",3.5,"2023-02-15,2023-02-17","{'type': 'MultiPolygon', 'coordinates': [(((-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188), (-122.5372740990185, 38.49387172650253), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.44672381753844, 38.59734459614429)),), (((-122.35609518371197, 38.47452361214821), (-122.44672381753844, 38.44651073306092), (-122.44672381753844, 38.52196905593188), (-122.35609518371197, 38.549998981659485), (-122.35609518371197, 38.47452361214821)),)]}" -"fireEvent/2023-02-10_0x80c3570000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c3570000000000 on 2023-02-10","2023-02-10","2023-02-10","P1D",1,1,"[LatLong 34.23570 -117.22058]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c3570000000000,dcid:s2CellId/0x80c3576c00000000,dcid:s2CellId/0x80c3577400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.47226 SquareKilometer]",2.47226,333.96,286.31,"n",4.91,"2023-02-10","{'type': 'Polygon', 'coordinates': (((-117.26761160397515, 34.26558118262346), (-117.26761160397515, 34.18327624878457), (-117.17353159273283, 34.20577201206521), (-117.17353159273283, 34.28810246007675), (-117.26761160397515, 34.26558118262346)),)}" -"fireEvent/2023-02-08_0x80e8350000000000","FireEvent","FireEvent at L10 S2 Cell 0x80e8350000000000 on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 34.27990 -118.95869]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06111,dcid:northamerica,dcid:s2CellId/0x80e8347400000000,dcid:s2CellId/0x80e8350000000000,dcid:s2CellId/0x80e9cb0000000000,dcid:s2CellId/0x80e9cbf400000000,dcid:s2CellId/0x80e9cd0000000000,dcid:s2CellId/0x80e9cd7400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.6269 SquareKilometer]",3.6269,345.92,302.76,"n",11.0,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-119.04599270243568, 34.23193851002654), (-119.04599270243568, 34.31331655905895), (-119.04599270243568, 34.39462388102809), (-118.95286453849957, 34.41868959827641), (-118.8596803520908, 34.44268533206974), (-118.85968035209078, 34.36132499295383), (-118.95286453849957, 34.337355700566725), (-118.95286453849957, 34.25595085868918), (-119.04599270243568, 34.23193851002654)),)}" -"fireEvent/2023-01-30_0x8083530000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083510000000000 on 2023-01-30","2023-01-30","2023-01-31","P2D",2,2,"[LatLong 39.27201 -121.79362]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06101,dcid:northamerica,dcid:s2CellId/0x8083509400000000,dcid:s2CellId/0x808350bc00000000,dcid:s2CellId/0x8083510000000000,dcid:s2CellId/0x8083530000000000,dcid:s2CellId/0x8083531400000000,dcid:s2CellId/0x80835aa400000000,dcid:s2CellId/0x80835b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.08444 SquareKilometer]",4.08444,353.2,286.72,"n",19.49,"2023-01-30,2023-01-31","{'type': 'Polygon', 'coordinates': (((-121.62830983522124, 39.29864655751711), (-121.71954589932093, 39.27105917309169), (-121.81070794913828, 39.2434012936763), (-121.90179543138471, 39.21567320309416), (-121.90179543138471, 39.29055326593883), (-121.81070794913828, 39.31829606252554), (-121.71954589932093, 39.34596854075605), (-121.62830983522124, 39.373570417177156), (-121.62830983522124, 39.29864655751711)),)}" -"fireEvent/2023-02-06_0x8090750000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090710000000000 on 2023-02-06","2023-02-06","2023-02-07","P2D",2,2,"[LatLong 38.04605 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090710000000000,dcid:s2CellId/0x809071ec00000000,dcid:s2CellId/0x8090750000000000,dcid:s2CellId/0x8090751400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.13425 SquareKilometer]",2.13425,326.64,277.29,"n",3.01,"2023-02-06,2023-02-07","{'type': 'MultiPolygon', 'coordinates': [(((-121.26263661074441, 38.043960006034105), (-121.26263661074441, 38.12047318795499), (-121.1710388833767, 38.147435026035545), (-121.1710388833767, 38.07090414902015), (-121.26263661074441, 38.043960006034105)),), (((-121.07937052658627, 38.097778093730795), (-121.07937052658627, 38.021146378682644), (-121.1710388833767, 37.994290226708266), (-121.1710388833767, 38.07090414902015), (-121.07937052658627, 38.097778093730795)),)]}" -"fireEvent/2023-03-16_0x80d16f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d16f0000000000 on 2023-03-16","2023-03-16","2023-03-16","P1D",1,1,"[LatLong 33.90313 -114.42327]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04012,dcid:northamerica,dcid:s2CellId/0x80d16e0400000000,dcid:s2CellId/0x80d16e1c00000000,dcid:s2CellId/0x80d16f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.5576 SquareKilometer]",2.5576,345.63,297.05,"n",9.57,"2023-03-16","{'type': 'Polygon', 'coordinates': (((-114.42921481897034, 33.90712585436565), (-114.42921481897034, 33.82320149214735), (-114.33414316655818, 33.843130223746485), (-114.33414316655818, 33.92707848788263), (-114.42921481897034, 33.90712585436565)),)}" -"fireEvent/2023-02-07_0x80c2b10000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c2b10000000000 on 2023-02-07","2023-02-07","2023-02-09","P3D",3,2,"[LatLong 33.93697 -118.43968]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2b10000000000,dcid:s2CellId/0x80c2b15400000000,dcid:s2CellId/0x80c2b30000000000,dcid:s2CellId/0x80c2b3fc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.45871 SquareKilometer]",2.45871,343.53,302.66,"n",13.39,"2023-02-07,2023-02-09","{'type': 'Polygon', 'coordinates': (((-118.4863962961138, 33.966210733729376), (-118.39294170620582, 33.9896678408122), (-118.39294170620582, 33.90767960394744), (-118.39294170620582, 33.82562180473932), (-118.4863962961138, 33.8022194627579), (-118.4863962961138, 33.884249771818084), (-118.4863962961138, 33.966210733729376)),)}" -"fireEvent/2023-02-04_0x80d7a50000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7a50000000000 on 2023-02-04","2023-02-04","2023-02-06","P3D",3,2,"[LatLong 32.44917 -115.14148]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7a50000000000,dcid:s2CellId/0x80d7a5fc00000000,dcid:s2CellId/0x80d7a6cc00000000,dcid:s2CellId/0x80d7a70000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61953 SquareKilometer]",2.61953,333.43,302.76,"n",6.19,"2023-02-04,2023-02-06","{'type': 'Polygon', 'coordinates': (((-115.09404500241959, 32.416843256562224), (-115.18891595142229, 32.396697488156796), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.5661512898709), (-115.09404500241959, 32.58635275421574), (-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.416843256562224)),)}" -"fireEvent/2023-02-04_0x80da430000000000","FireEvent","FireEvent at L10 S2 Cell 0x80da430000000000 on 2023-02-04","2023-02-04","2023-02-05","P2D",2,2,"[LatLong 33.50381 -116.08867]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80da430000000000,dcid:s2CellId/0x80da436400000000,dcid:s2CellId/0x80da5ce400000000,dcid:s2CellId/0x80da5d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.54069 SquareKilometer]",2.54069,348.27,307.03,"n",3.33,"2023-02-04,2023-02-05","{'type': 'Polygon', 'coordinates': (((-116.04138886338704, 33.472693644443034), (-116.13594306437999, 33.45139667485967), (-116.13594306437999, 33.53486765773682), (-116.13594306437999, 33.61826847586996), (-116.04138886338704, 33.63961794361283), (-116.04138886338704, 33.55619097791635), (-116.04138886338704, 33.472693644443034)),)}" -"fireEvent/2023-01-25_0x8085070000000000","FireEvent","FireEvent at L10 S2 Cell 0x8085030000000000 on 2023-01-25","2023-01-25","2023-01-28","P4D",4,3,"[LatLong 38.40301 -122.22001]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8085030000000000,dcid:s2CellId/0x808503d400000000,dcid:s2CellId/0x8085069400000000,dcid:s2CellId/0x8085070000000000,dcid:s2CellId/0x8085a70000000000,dcid:s2CellId/0x8085a7c400000000,dcid:s2CellId/0x8085aedc00000000,dcid:s2CellId/0x8085af0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",8,"[4.16365 SquareKilometer]",4.16365,340.07,291.31,"n",4.05,"2023-01-25,2023-01-26,2023-01-28","{'type': 'MultiPolygon', 'coordinates': [(((-122.26538872869685, 38.35123562794486), (-122.26538872869685, 38.27549513645561), (-122.35609518371197, 38.24760192398743), (-122.35609518371197, 38.32332484178081), (-122.26538872869685, 38.35123562794486)),), (((-122.5372740990185, 38.267301489341314), (-122.44672381753844, 38.295346696588034), (-122.44672381753844, 38.2196414669709), (-122.5372740990185, 38.19161406269585), (-122.5372740990185, 38.267301489341314)),), (((-122.44672381753844, 38.14385442266954), (-122.44672381753844, 38.2196414669709), (-122.35609518371197, 38.24760192398743), (-122.35609518371197, 38.171796976749924), (-122.44672381753844, 38.14385442266954)),), (((-122.26538872869685, 38.42689363138317), (-122.17460498684162, 38.45475400902146), (-122.17460498684162, 38.379078759434165), (-122.26538872869685, 38.35123562794486), (-122.26538872869685, 38.42689363138317)),)]}" -"fireEvent/2023-02-18_0x8094250000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094250000000000 on 2023-02-18","2023-02-18","2023-02-19","P2D",2,2,"[LatLong 37.24840 -119.65571]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094243400000000,dcid:s2CellId/0x8094250000000000,dcid:s2CellId/0x8094310000000000,dcid:s2CellId/0x809431ac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.23399 SquareKilometer]",2.23399,345.09,293.0,"n",4.64,"2023-02-18,2023-02-19","{'type': 'MultiPolygon', 'coordinates': [(((-119.69626771448172, 37.173694542784204), (-119.69626771448172, 37.25192602751666), (-119.60354950502408, 37.27735895346938), (-119.60354950502408, 37.19910814898932), (-119.69626771448172, 37.173694542784204)),), (((-119.51077084299, 37.22444893017269), (-119.51077084299, 37.14609669288529), (-119.60354950502408, 37.12077532426294), (-119.60354950502408, 37.19910814898932), (-119.51077084299, 37.22444893017269)),)]}" -"fireEvent/2023-01-02_0x80c2c30000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c2c30000000000 on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 34.17095 -118.15908]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2c30000000000,dcid:s2CellId/0x80c2c3c400000000,dcid:s2CellId/0x80c2c3cc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.45141 SquareKilometer]",2.45141,298.34,277.71,"n",0.45,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-118.20587682407124, 34.2002433918674), (-118.20587682407124, 34.118342161375), (-118.1122678531936, 34.14161353880244), (-118.1122678531936, 34.22354120793316), (-118.20587682407124, 34.2002433918674)),)}" -"fireEvent/2023-02-22_0x80d9df0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d9df0000000000 on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 32.74909 -115.71018]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d9df0000000000,dcid:s2CellId/0x80d9dfb400000000,dcid:s2CellId/0x80d9dfbc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.59256 SquareKilometer]",2.59256,306.94,283.45,"n",1.61,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-115.75751959733307, 32.78083278420529), (-115.75751959733307, 32.69657070793154), (-115.66283001554785, 32.71729983340048), (-115.66283001554785, 32.80158972121298), (-115.75751959733307, 32.78083278420529)),)}" -"fireEvent/2023-03-27_0x809a150000000000","FireEvent","FireEvent at L10 S2 Cell 0x809a150000000000 on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 38.59576 -120.49912]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06017,dcid:northamerica,dcid:s2CellId/0x809a14ec00000000,dcid:s2CellId/0x809a150000000000,dcid:s2CellId/0x809a3f0000000000,dcid:s2CellId/0x809a3ff400000000,dcid:s2CellId/0x809a400c00000000,dcid:s2CellId/0x809a410000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.18127 SquareKilometer]",3.18127,339.22,291.42,"n",5.62,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 38.56362878155043), (-120.52790957361556, 38.63993981922657), (-120.61998952842978, 38.613410423372706), (-120.61998952842978, 38.689619841758045), (-120.52790957361556, 38.716165110244546), (-120.43576307692442, 38.74263759514314), (-120.43576307692442, 38.66639654013268), (-120.43576307692442, 38.590069533051576), (-120.52790957361556, 38.56362878155043)),)}" -"fireEvent/2023-03-02_0x8084970000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084970000000000 on 2023-03-02","2023-03-02","2023-03-02","P1D",1,1,"[LatLong 38.91128 -122.03829]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084970000000000,dcid:s2CellId/0x8084978c00000000,dcid:s2CellId/0x8084983c00000000,dcid:s2CellId/0x8084990000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.05367 SquareKilometer]",2.05367,336.55,286.93,"n",2.33,"2023-03-02","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.88756204233199), (-122.08374449567626, 38.85975615372649), (-122.08374449567626, 38.93494605995725), (-122.08374449567627, 39.01005140863375), (-121.99280779590266, 39.0378885979975), (-121.99280779590266, 38.96276770349571), (-121.99280779590266, 38.88756204233199)),)}" -"fireEvent/2023-02-13_0x809a150000000000","FireEvent","FireEvent at L10 S2 Cell 0x809a150000000000 on 2023-02-13","2023-02-13","2023-02-15","P3D",3,2,"[LatLong 38.59868 -120.52215]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06017,dcid:northamerica,dcid:s2CellId/0x809a14d400000000,dcid:s2CellId/0x809a14dc00000000,dcid:s2CellId/0x809a150000000000,dcid:s2CellId/0x809a152400000000,dcid:s2CellId/0x809a154400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[2.123 SquareKilometer]",2.123,334.54,295.88,"n",22.5,"2023-02-13,2023-02-15","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 38.63993981922657), (-120.52790957361556, 38.56362878155043), (-120.43576307692442, 38.590069533051576), (-120.43576307692442, 38.66639654013268), (-120.52790957361556, 38.63993981922657)),)}" -"fireEvent/2023-01-24_0x80d7c70000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7b90000000000 on 2023-01-24","2023-01-24","2023-01-27","P4D",4,4,"[LatLong 32.27950 -115.14148]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7b90000000000,dcid:s2CellId/0x80d7b94400000000,dcid:s2CellId/0x80d7c62400000000,dcid:s2CellId/0x80d7c70000000000,dcid:s2CellId/0x80d7cb0000000000,dcid:s2CellId/0x80d7cb0400000000,dcid:s2CellId/0x80d7ce4c00000000,dcid:s2CellId/0x80d7cf0000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",8,"[5.27353 SquareKilometer]",5.27353,341.03,300.06,"n",10.57,"2023-01-24,2023-01-25,2023-01-26,2023-01-27","{'type': 'MultiPolygon', 'coordinates': [(((-115.18891595142229, 32.2269827091063), (-115.18891595142229, 32.31187249427941), (-115.09404500241959, 32.33199011749119), (-115.09404500241959, 32.24707198896053), (-115.09404500241959, 32.16208932703202), (-115.18891595142229, 32.14202858870148), (-115.18891595142229, 32.2269827091063)),), (((-114.90422082333554, 32.287028613932726), (-114.90422082333554, 32.20198930823536), (-114.99914638140322, 32.182076294930475), (-114.99914638140322, 32.26708735189506), (-114.90422082333554, 32.287028613932726)),), (((-115.09404500241959, 32.07704259018568), (-115.09404500241959, 32.16208932703202), (-114.99914638140322, 32.182076294930475), (-114.99914638140322, 32.09700096546918), (-115.09404500241959, 32.07704259018568)),)]}" -"fireEvent/2023-02-09_0x54d16f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x54d16f0000000000 on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 41.10441 -123.91554]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d16e9c00000000,dcid:s2CellId/0x54d16eb400000000,dcid:s2CellId/0x54d16f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.04884 SquareKilometer]",2.04884,350.67,291.65,"n",26.16,"2023-02-09","{'type': 'Polygon', 'coordinates': (((-123.85653166253309, 41.12881430645295), (-123.94883585367289, 41.098083231954774), (-123.8775963618726, 41.045599131818285), (-123.78538604060175, 41.07620890851114), (-123.85653166253309, 41.12881430645295)),)}" -"fireEvent/2023-03-25_0x8091730000000000","FireEvent","FireEvent at L10 S2 Cell 0x80910d0000000000 on 2023-03-25","2023-03-25","2023-03-25","P1D",1,1,"[LatLong 37.34629 -120.76373]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x80910cd400000000,dcid:s2CellId/0x80910d0000000000,dcid:s2CellId/0x809172d400000000,dcid:s2CellId/0x8091730000000000,dcid:s2CellId/0x8091732c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.28597 SquareKilometer]",3.28597,342.93,272.11,"n",2.82,"2023-03-25","{'type': 'Polygon', 'coordinates': (((-120.7120023484522, 37.27866927107142), (-120.80394744373855, 37.25230091111856), (-120.80394744373858, 37.32989077427852), (-120.80394744373858, 37.40739967641065), (-120.7120023484522, 37.43380716167879), (-120.7120023484522, 37.35627880381976), (-120.7120023484522, 37.27866927107142)),)}" -"fireEvent/2023-03-03_0x80d7690000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d75d0000000000 on 2023-03-03","2023-03-03","2023-03-04","P2D",2,2,"[LatLong 32.87473 -115.52074]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d75d0000000000,dcid:s2CellId/0x80d75df400000000,dcid:s2CellId/0x80d7690000000000,dcid:s2CellId/0x80d7694400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.59547 SquareKilometer]",2.59547,338.41,304.97,"n",25.48,"2023-03-03,2023-03-04","{'type': 'MultiPolygon', 'coordinates': [(((-115.3785719022423, 32.86341617929968), (-115.3785719022423, 32.779043713972804), (-115.47335544292073, 32.75853653053172), (-115.47335544292073, 32.84288161267371), (-115.3785719022423, 32.86341617929968)),), (((-115.5681083893613, 32.82227272901859), (-115.5681083893613, 32.90652316752118), (-115.47335544292073, 32.92715937663604), (-115.47335544292073, 32.84288161267371), (-115.5681083893613, 32.82227272901859)),)]}" -"fireEvent/2023-02-15_0x8095b50000000000","FireEvent","FireEvent at L10 S2 Cell 0x8095b10000000000 on 2023-02-15","2023-02-15","2023-02-21","P7D",7,6,"[LatLong 37.00267 -119.26113]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8095b04400000000,dcid:s2CellId/0x8095b0e400000000,dcid:s2CellId/0x8095b0ec00000000,dcid:s2CellId/0x8095b10000000000,dcid:s2CellId/0x8095b40400000000,dcid:s2CellId/0x8095b41400000000,dcid:s2CellId/0x8095b41c00000000,dcid:s2CellId/0x8095b44400000000,dcid:s2CellId/0x8095b50000000000,dcid:s2CellId/0x8095b55c00000000,dcid:s2CellId/0x8095b57400000000,dcid:s2CellId/0x8095b57c00000000,dcid:s2CellId/0x8095b58400000000,dcid:s2CellId/0x8095b58c00000000,dcid:s2CellId/0x8095b59400000000,dcid:s2CellId/0x8095b59c00000000,dcid:s2CellId/0x8095b5a400000000,dcid:s2CellId/0x8095b5ac00000000,dcid:s2CellId/0x8095b5bc00000000,dcid:s2CellId/0x8095b5e400000000,dcid:s2CellId/0x8095b5ec00000000,dcid:s2CellId/0x8095b5f400000000,dcid:s2CellId/0x8095b6ac00000000,dcid:s2CellId/0x8095b6b400000000,dcid:s2CellId/0x8095b6d400000000,dcid:s2CellId/0x8095b70000000000,dcid:s2CellId/0x8095ba6400000000,dcid:s2CellId/0x8095bb0000000000,dcid:s2CellId/0x8095c80c00000000,dcid:s2CellId/0x8095c90000000000,dcid:s2CellId/0x8095ca9c00000000,dcid:s2CellId/0x8095caa400000000,dcid:s2CellId/0x8095cb0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",33,"[15.75816 SquareKilometer]",15.75816,355.07,300.25,"n",46.55,"2023-02-15,2023-02-17,2023-02-18,2023-02-19,2023-02-20,2023-02-21","{'type': 'Polygon', 'coordinates': (((-119.41793235298401, 37.171345095632404), (-119.32503466239531, 37.196520276094965), (-119.23207840138082, 37.22162197959509), (-119.23207840138082, 37.14312963671413), (-119.23207840138082, 37.064555014740314), (-119.13906420284766, 37.08954447124001), (-119.13906420284766, 37.01086829061775), (-119.23207840138082, 36.9858984053218), (-119.32503466239531, 36.96085514133606), (-119.32503466239531, 37.039492061946596), (-119.41793235298398, 37.014355866428566), (-119.41793235298401, 37.09289141158824), (-119.41793235298401, 37.171345095632404)),)}" -"fireEvent/2023-01-26_0x8084e70000000000","FireEvent","FireEvent at L10 S2 Cell 0x8084e70000000000 on 2023-01-26","2023-01-26","2023-01-26","P1D",1,1,"[LatLong 38.60981 -122.03829]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084e70000000000,dcid:s2CellId/0x8084e7c400000000,dcid:s2CellId/0x8084e8fc00000000,dcid:s2CellId/0x8084e90000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.07117 SquareKilometer]",2.07117,348.12,291.67,"n",4.91,"2023-01-26","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.585896319149406), (-122.08374449567626, 38.55815555109186), (-122.08374449567626, 38.63368138324296), (-122.08374449567626, 38.7091235838646), (-121.99280779590266, 38.73689733332498), (-121.99280779590266, 38.66143874752344), (-121.99280779590266, 38.585896319149406)),)}" -"fireEvent/2023-01-12_0x80d9150000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d9150000000000 on 2023-01-12","2023-01-12","2023-01-12","P1D",1,1,"[LatLong 32.51650 -116.74965]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d9150000000000,dcid:s2CellId/0x80d9158400000000,dcid:s2CellId/0x80d9158c00000000,dcid:wikidataId/Q2360428,dcid:wikidataId/Q58731",3,"[2.57931 SquareKilometer]",2.57931,322.1,280.5,"n",3.31,"2023-01-12","{'type': 'Polygon', 'coordinates': (((-116.79678490847915, 32.54768494325667), (-116.79678490847915, 32.46373828347083), (-116.70249504859957, 32.48526559805921), (-116.70249504859957, 32.56924165418696), (-116.79678490847915, 32.54768494325667)),)}" -"fireEvent/2023-01-28_0x80c3130000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c3130000000000 on 2023-01-28","2023-01-28","2023-01-28","P1D",1,1,"[LatLong 34.49466 -117.61415]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c3126c00000000,dcid:s2CellId/0x80c312b400000000,dcid:s2CellId/0x80c3130000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.44911 SquareKilometer]",2.44911,321.27,273.97,"n",2.81,"2023-01-28","{'type': 'Polygon', 'coordinates': (((-117.64348435403741, 34.502850247756115), (-117.64348435403741, 34.42093763167103), (-117.54958462854715, 34.4438279801098), (-117.54958462854715, 34.525765807815226), (-117.64348435403741, 34.502850247756115)),)}" -"fireEvent/2023-03-26_0x8090750000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090750000000000 on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 38.09571 -121.21685]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090750000000000,dcid:s2CellId/0x8090757400000000,dcid:s2CellId/0x809aa0cc00000000,dcid:s2CellId/0x809aa0d400000000,dcid:s2CellId/0x809aa10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.19035 SquareKilometer]",3.19035,334.35,294.95,"n",2.22,"2023-03-26,2023-03-27","{'type': 'MultiPolygon', 'coordinates': [(((-121.1710388833767, 38.147435026035545), (-121.1710388833767, 38.07090414902015), (-121.26263661074441, 38.043960006034105), (-121.26263661074441, 38.12047318795499), (-121.1710388833767, 38.147435026035545)),), (((-121.35416313685073, 38.09344131890122), (-121.35416313685073, 38.169853815308585), (-121.26263661074441, 38.196903281604015), (-121.26263661074441, 38.12047318795499), (-121.35416313685073, 38.09344131890122)),)]}" -"fireEvent/2023-02-09_0x54b59b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x54b59b0000000000 on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 41.87104 -119.04195]","dcid:Earth,dcid:country/USA,dcid:geoId/32,dcid:geoId/32013,dcid:northamerica,dcid:s2CellId/0x54b59b0000000000,dcid:s2CellId/0x54b59b8c00000000,dcid:s2CellId/0x54b59b9400000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.05106 SquareKilometer]",2.05106,352.49,291.49,"n",23.14,"2023-02-09","{'type': 'Polygon', 'coordinates': (((-119.0267373723986, 41.91291619013493), (-119.12151923305626, 41.88672088814777), (-119.05713115299496, 41.829201927316994), (-118.96248174499246, 41.85528577165443), (-119.0267373723986, 41.91291619013493)),)}" -"fireEvent/2023-01-23_0x80853f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8085390000000000 on 2023-01-23","2023-01-23","2023-01-23","P1D",1,1,"[LatLong 38.28629 -121.85626]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06095,dcid:northamerica,dcid:s2CellId/0x8085390000000000,dcid:s2CellId/0x808539ec00000000,dcid:s2CellId/0x80853f0000000000,dcid:s2CellId/0x80853ffc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[2.09856 SquareKilometer]",2.09856,297.63,277.58,"n",0.5,"2023-01-23","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.20693488934502), (-121.99280779590266, 38.282892940885574), (-121.90179543138471, 38.31049689758648), (-121.81070794913828, 38.33803225682059), (-121.81070794913828, 38.26203923045015), (-121.90179543138471, 38.23452130172675), (-121.99280779590266, 38.20693488934502)),)}" -"fireEvent/2023-01-01_0x8083950000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083950000000000 on 2023-01-01","2023-01-01","2023-01-01","P1D",1,1,"[LatLong 39.15524 -122.65600]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06033,dcid:northamerica,dcid:s2CellId/0x8083944400000000,dcid:s2CellId/0x8083946c00000000,dcid:s2CellId/0x8083950000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.02103 SquareKilometer]",2.02103,301.45,274.51,"n",0.82,"2023-01-01","{'type': 'Polygon', 'coordinates': (((-122.71813749631639, 39.18698471783738), (-122.71813749631639, 39.11241008566069), (-122.62774550019422, 39.140788234265145), (-122.62774550019422, 39.21537813301912), (-122.71813749631639, 39.18698471783738)),)}" -"fireEvent/2023-03-17_0x80a0e90000000000","FireEvent","FireEvent at L10 S2 Cell 0x80a0e90000000000 on 2023-03-17","2023-03-17","2023-03-17","P1D",1,1,"[LatLong 41.13956 -117.59654]","dcid:Earth,dcid:country/USA,dcid:geoId/32,dcid:geoId/32013,dcid:northamerica,dcid:s2CellId/0x80a0e90000000000,dcid:s2CellId/0x80a0e92c00000000,dcid:s2CellId/0x80a0e93400000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.03742 SquareKilometer]",2.03742,343.23,296.22,"n",20.01,"2023-03-17","{'type': 'Polygon', 'coordinates': (((-117.64348435403741, 41.1646741177087), (-117.64348435403741, 41.090082392578815), (-117.54958462854715, 41.11439677948815), (-117.54958462854715, 41.18899708980876), (-117.64348435403741, 41.1646741177087)),)}" -"fireEvent/2023-02-18_0x80ea5b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80ea5b0000000000 on 2023-02-18","2023-02-18","2023-02-18","P1D",1,1,"[LatLong 35.47196 -119.19139]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80ea5a3400000000,dcid:s2CellId/0x80ea5a3c00000000,dcid:s2CellId/0x80ea5a4c00000000,dcid:s2CellId/0x80ea5b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.52191 SquareKilometer]",3.52191,301.47,271.49,"n",1.49,"2023-02-18","{'type': 'Polygon', 'coordinates': (((-119.23207840138082, 35.47625041156115), (-119.23207840138082, 35.396018943340835), (-119.13906420284766, 35.420553079599216), (-119.13906420284766, 35.50080836032674), (-119.23207840138082, 35.47625041156115)),)}" -"fireEvent/2023-03-25_0x8094e70000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094e30000000000 on 2023-03-25","2023-03-25","2023-03-27","P3D",3,2,"[LatLong 36.53855 -119.44695]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8094e22400000000,dcid:s2CellId/0x8094e22c00000000,dcid:s2CellId/0x8094e30000000000,dcid:s2CellId/0x8094e50000000000,dcid:s2CellId/0x8094e5dc00000000,dcid:s2CellId/0x8094e67400000000,dcid:s2CellId/0x8094e70000000000,dcid:s2CellId/0x8094fa6400000000,dcid:s2CellId/0x8094fb0000000000,dcid:s2CellId/0x8094fd0000000000,dcid:s2CellId/0x8094fd1c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",11,"[6.82657 SquareKilometer]",6.82657,344.21,299.21,"n",6.88,"2023-03-25,2023-03-27","{'type': 'Polygon', 'coordinates': (((-119.60354950502408, 36.57017350866958), (-119.60354950502408, 36.6490722675175), (-119.51077084299, 36.674272739182356), (-119.41793235298401, 36.69940095775546), (-119.41793235298398, 36.62046053996235), (-119.41793235298398, 36.54144005071771), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.437274521555786), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.49119510273238), (-119.60354950502408, 36.57017350866958)),)}" -"fireEvent/2023-02-08_0x8083590000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083550000000000 on 2023-02-08","2023-02-08","2023-02-10","P3D",3,3,"[LatLong 39.27349 -121.63401]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06101,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x808354cc00000000,dcid:s2CellId/0x8083550000000000,dcid:s2CellId/0x8083590000000000,dcid:s2CellId/0x8083591c00000000,dcid:s2CellId/0x8084a90000000000,dcid:s2CellId/0x8084a99400000000,dcid:s2CellId/0x8084aaa400000000,dcid:s2CellId/0x8084ab0000000000,dcid:s2CellId/0x8084af0000000000,dcid:s2CellId/0x8084afdc00000000,dcid:s2CellId/0x8084b30000000000,dcid:s2CellId/0x8084b39c00000000,dcid:s2CellId/0x809b510000000000,dcid:s2CellId/0x809b515400000000,dcid:s2CellId/0x809b540400000000,dcid:s2CellId/0x809b550000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",16,"[8.21246 SquareKilometer]",8.21246,340.24,293.12,"n",20.04,"2023-02-08,2023-02-09,2023-02-10","{'type': 'MultiPolygon', 'coordinates': [(((-121.81070794913828, 39.16842067392795), (-121.90179543138471, 39.14070749598967), (-121.90179543138471, 39.21567320309416), (-121.81070794913828, 39.2434012936763), (-121.81070794913828, 39.16842067392795)),), (((-121.81070794913828, 39.09335442361682), (-121.81070794913828, 39.16842067392795), (-121.71954589932093, 39.19606374838049), (-121.71954589932093, 39.27105917309169), (-121.62830983522124, 39.29864655751711), (-121.62830983522124, 39.22363643515711), (-121.53700031324804, 39.25113845152714), (-121.53700031324804, 39.1760274894232), (-121.62830983522124, 39.148540269420884), (-121.71954589932093, 39.12098248645304), (-121.71954589932093, 39.045815609296426), (-121.81070794913828, 39.018202765231806), (-121.81070794913828, 39.09335442361682)),), (((-121.62830983522124, 38.99809069591985), (-121.71954589932093, 38.970563341057584), (-121.71954589932093, 39.045815609296426), (-121.62830983522124, 39.07335828179249), (-121.62830983522124, 38.99809069591985)),), (((-121.53700031324804, 39.1760274894232), (-121.44561789291927, 39.203443864834576), (-121.44561789291927, 39.12823197970606), (-121.53700031324804, 39.10083049925948), (-121.53700031324804, 39.1760274894232)),)]}" -"fireEvent/2023-02-08_0x809c950000000000","FireEvent","FireEvent at L10 S2 Cell 0x809c950000000000 on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 39.60965 -121.19967]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x809c945c00000000,dcid:s2CellId/0x809c94f400000000,dcid:s2CellId/0x809c950000000000,dcid:s2CellId/0x809c957c00000000,dcid:s2CellId/0x809cbf0000000000,dcid:s2CellId/0x809cbfd400000000,dcid:s2CellId/0x809cbfdc00000000,dcid:s2CellId/0x809cbfe400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[6.11717 SquareKilometer]",6.11717,337.78,287.95,"n",3.89,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-121.1710388833767, 39.66023770903055), (-121.1710388833767, 39.58541818705814), (-121.26263661074441, 39.55815975879043), (-121.35416313685073, 39.53082922928807), (-121.35416313685073, 39.60562152971405), (-121.26263661074441, 39.63296572194452), (-121.1710388833767, 39.66023770903055)),)}" -"fireEvent/2023-02-14_0x8094c10000000000","FireEvent","FireEvent at L10 S2 Cell 0x8094930000000000 on 2023-02-14","2023-02-14","2023-02-16","P3D",3,2,"[LatLong 36.49371 -119.82944]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094928c00000000,dcid:s2CellId/0x8094930000000000,dcid:s2CellId/0x8094c10000000000,dcid:s2CellId/0x8094c16400000000,dcid:s2CellId/0x8094c21400000000,dcid:s2CellId/0x8094c30000000000,dcid:s2CellId/0x8094e70000000000,dcid:s2CellId/0x8094e7b400000000,dcid:s2CellId/0x8094ecdc00000000,dcid:s2CellId/0x8094ecf400000000,dcid:s2CellId/0x8094ed0000000000,dcid:s2CellId/0x8094ef0000000000,dcid:s2CellId/0x8094ef3c00000000,dcid:s2CellId/0x8094ef4400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",14,"[9.10435 SquareKilometer]",9.10435,332.38,292.18,"n",11.85,"2023-02-14,2023-02-16","{'type': 'MultiPolygon', 'coordinates': [(((-119.78892484955995, 36.36164840353892), (-119.69626771448172, 36.38692856339861), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.33300058072124), (-119.69626771448172, 36.30781343778186), (-119.78892484955995, 36.28255505122062), (-119.78892484955995, 36.36164840353892)),), (((-119.60354950502408, 36.49119510273238), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.437274521555786), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.49119510273238)),), (((-119.60354950502408, 36.57017350866958), (-119.60354950502408, 36.49119510273238), (-119.69626771448172, 36.4659648722832), (-119.78892484955995, 36.440663153251855), (-119.881520291274, 36.41529020951764), (-119.881520291274, 36.49420457905506), (-119.78892484955995, 36.51959899016065), (-119.69626771448172, 36.54492205456438), (-119.60354950502408, 36.57017350866958)),)]}" -"fireEvent/2023-01-19_0x80d7690000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7690000000000 on 2023-01-19","2023-01-19","2023-01-19","P1D",1,1,"[LatLong 32.81099 -115.42597]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d7690000000000,dcid:s2CellId/0x80d7692400000000,dcid:s2CellId/0x80d7692c00000000,dcid:s2CellId/0x80d7693c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.89745 SquareKilometer]",3.89745,349.12,308.56,"n",47.43,"2023-01-19","{'type': 'Polygon', 'coordinates': (((-115.47335544292073, 32.84288161267371), (-115.47335544292073, 32.75853653053172), (-115.3785719022423, 32.779043713972804), (-115.3785719022423, 32.86341617929968), (-115.47335544292073, 32.84288161267371)),)}" -"fireEvent/2023-02-20_0x80833b0000000000","FireEvent","FireEvent at L10 S2 Cell 0x8083250000000000 on 2023-02-20","2023-02-20","2023-02-22","P3D",3,3,"[LatLong 39.64036 -121.85626]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x8083250000000000,dcid:s2CellId/0x8083259400000000,dcid:s2CellId/0x808326d400000000,dcid:s2CellId/0x8083270000000000,dcid:s2CellId/0x8083272c00000000,dcid:s2CellId/0x80833adc00000000,dcid:s2CellId/0x80833b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.02584 SquareKilometer]",3.02584,352.15,292.84,"n",11.25,"2023-02-20,2023-02-21,2023-02-22","{'type': 'Polygon', 'coordinates': (((-121.81070794913828, 39.54246309252981), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.58921273290782), (-121.90179543138471, 39.66366133679624), (-121.90179543138471, 39.73802301630229), (-121.81070794913828, 39.76584973823246), (-121.81070794913828, 39.69147458174664), (-121.81070794913828, 39.617012297346776), (-121.81070794913828, 39.54246309252981)),)}" -"fireEvent/2023-01-02_0x80c49d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80c49d0000000000 on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 34.61964 -117.09706]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c49cbc00000000,dcid:s2CellId/0x80c49cc400000000,dcid:s2CellId/0x80c49d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.45544 SquareKilometer]",2.45544,298.73,274.81,"n",0.82,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-117.17353159273283, 34.61669341815171), (-117.17353159273283, 34.53465606824912), (-117.07940822560565, 34.557178631747604), (-117.07940822560565, 34.6392405323175), (-117.17353159273283, 34.61669341815171)),)}" -"fireEvent/2023-01-05_0x80d79f0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7750000000000 on 2023-01-05","2023-01-05","2023-01-07","P3D",3,3,"[LatLong 32.59005 -115.34895]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7744400000000,dcid:s2CellId/0x80d7750000000000,dcid:s2CellId/0x80d79d0000000000,dcid:s2CellId/0x80d79d8400000000,dcid:s2CellId/0x80d79f0000000000,dcid:s2CellId/0x80d79f4400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",6,"[3.92016 SquareKilometer]",3.92016,340.55,292.36,"n",4.52,"2023-01-05,2023-01-06,2023-01-07","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 32.44088749173266), (-115.47335544292073, 32.42049183911604), (-115.47335544292073, 32.505101778412154), (-115.3785719022423, 32.52552561351063), (-115.3785719022423, 32.610097988335994), (-115.28375849518459, 32.63047572713295), (-115.28375849518459, 32.54587551383132), (-115.28375849518459, 32.46120935428951), (-115.3785719022423, 32.44088749173266)),)}" -"fireEvent/2023-03-15_0x80835d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80835d0000000000 on 2023-03-15","2023-03-15","2023-03-16","P2D",2,2,"[LatLong 39.22798 -121.90749]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x80835c0c00000000,dcid:s2CellId/0x80835d0000000000,dcid:s2CellId/0x80835f0000000000,dcid:s2CellId/0x80835f3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.04312 SquareKilometer]",2.04312,337.62,290.53,"n",4.12,"2023-03-15,2023-03-16","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 39.26274043589892), (-121.90179543138471, 39.29055326593883), (-121.90179543138471, 39.21567320309416), (-121.90179543138471, 39.14070749598967), (-121.99280779590266, 39.11292450020048), (-121.99280779590266, 39.18787518661573), (-121.99280779590266, 39.26274043589892)),)}" -"fireEvent/2023-02-02_0x8090a50000000000","FireEvent","FireEvent at L10 S2 Cell 0x8090a50000000000 on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 38.25870 -120.38967]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06009,dcid:northamerica,dcid:s2CellId/0x8090a50000000000,dcid:s2CellId/0x8090a58400000000,dcid:s2CellId/0x8090a59c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.14773 SquareKilometer]",2.14773,297.02,274.4,"n",0.59,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 38.283906850968414), (-120.43576307692442, 38.20715375350994), (-120.3435506342276, 38.23343927918502), (-120.3435506342276, 38.310209268657324), (-120.43576307692442, 38.283906850968414)),)}" -"fireEvent/2023-03-09_0x80eb050000000000","FireEvent","FireEvent at L10 S2 Cell 0x80eb050000000000 on 2023-03-09","2023-03-09","2023-03-09","P1D",1,1,"[LatLong 35.58257 -119.52817]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eb046c00000000,dcid:s2CellId/0x80eb047400000000,dcid:s2CellId/0x80eb050000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.33127 SquareKilometer]",2.33127,310.66,274.9,"n",1.96,"2023-03-09","{'type': 'Polygon', 'coordinates': (((-119.60354950502408, 35.617265464719935), (-119.60354950502408, 35.5373559257604), (-119.51077084299, 35.56224449162536), (-119.51077084299, 35.642177706706846), (-119.60354950502408, 35.617265464719935)),)}" -"fireEvent/2023-02-19_0x80d7650000000000","FireEvent","FireEvent at L10 S2 Cell 0x80d7650000000000 on 2023-02-19","2023-02-19","2023-02-20","P2D",2,2,"[LatLong 32.70606 -115.52074]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d7650000000000,dcid:s2CellId/0x80d7650400000000,dcid:s2CellId/0x80d7658c00000000,dcid:s2CellId/0x80d765ac00000000,dcid:s2CellId/0x80d765f400000000,dcid:s2CellId/0x80d76f0000000000,dcid:s2CellId/0x80d76f6400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.89998 SquareKilometer]",3.89998,352.22,313.34,"n",22.51,"2023-02-19,2023-02-20","{'type': 'Polygon', 'coordinates': (((-115.5681083893613, 32.65357093757281), (-115.5681083893613, 32.737955172648526), (-115.47335544292073, 32.75853653053172), (-115.3785719022423, 32.779043713972804), (-115.3785719022423, 32.69460416981107), (-115.47335544292073, 32.67412456932842), (-115.5681083893613, 32.65357093757281)),)}" -"fireEvent/2023-02-12_0x80921d0000000000","FireEvent","FireEvent at L10 S2 Cell 0x80921d0000000000 on 2023-02-12","2023-02-12","2023-02-12","P1D",1,1,"[LatLong 36.79488 -121.35988]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06069,dcid:northamerica,dcid:s2CellId/0x80921c1c00000000,dcid:s2CellId/0x80921c2400000000,dcid:s2CellId/0x80921d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.20223 SquareKilometer]",2.20223,340.59,291.48,"n",9.06,"2023-02-12","{'type': 'Polygon', 'coordinates': (((-121.44561789291927, 36.83295988739003), (-121.44561789291927, 36.75519608151651), (-121.35416313685073, 36.78196379162144), (-121.35416313685073, 36.85974897343489), (-121.44561789291927, 36.83295988739003)),)}" +"fireEvent/2023-03-18_0x8094c30000000000","FireEvent","FireEvent at LatLong(36.35999:-119.64992) on 2023-03-18","2023-03-18","2023-03-18","P1D",1,1,"[LatLong 36.35999 -119.64992]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06031,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8094c30000000000,dcid:s2CellId/0x8094c3f400000000,dcid:s2CellId/0x8094c3fc00000000,dcid:s2CellId/0x8094e26c00000000,dcid:s2CellId/0x8094e30000000000,dcid:s2CellId/0x8094e70000000000,dcid:s2CellId/0x8094e7bc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.56314 SquareKilometer]",4.56314,352.28,289.38,"n",5.79,"2023-03-18","{'type': 'MultiPolygon', 'coordinates': [(((-119.60354950502408, 36.33300058072124), (-119.69626771448172, 36.30781343778186), (-119.69626771448172, 36.38692856339861), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.33300058072124)),), (((-119.51077084299, 36.59535309054964), (-119.41793235298398, 36.62046053996235), (-119.41793235298398, 36.54144005071771), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.59535309054964)),), (((-119.60354950502408, 36.49119510273238), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.437274521555786), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.49119510273238)),)]}" +"fireEvent/2023-02-08_0x8083730000000000","FireEvent","FireEvent at LatLong(39.41636:-122.14622) on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 39.41636 -122.14622]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x8083124400000000,dcid:s2CellId/0x8083130000000000,dcid:s2CellId/0x8083730000000000,dcid:s2CellId/0x8083737400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0239 SquareKilometer]",2.0239,340.79,292.33,"n",12.31,"2023-02-08,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-122.17460498684162, 39.28165587862677), (-122.26538872869685, 39.25361974158061), (-122.26538872869685, 39.328269615478135), (-122.17460498684162, 39.35632047530068), (-122.17460498684162, 39.28165587862677)),), (((-122.17460498684162, 39.430899396295715), (-122.08374449567626, 39.45889527860518), (-122.08374449567626, 39.38430194908448), (-122.17460498684162, 39.35632047530068), (-122.17460498684162, 39.430899396295715)),)]}" +"fireEvent/2023-02-21_0x80d7950000000000","FireEvent","FireEvent at LatLong(32.22197:-115.33709) on 2023-02-21","2023-02-21","2023-02-21","P1D",1,1,"[LatLong 32.22197 -115.33709]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d794e400000000,dcid:s2CellId/0x80d7950000000000,dcid:s2CellId/0x80d7951c00000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",3,"[2.62994 SquareKilometer]",2.62994,341.66,312.54,"n",35.63,"2023-02-21","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 32.27141580503958), (-115.3785719022423, 32.1865831450277), (-115.28375849518459, 32.20681969840767), (-115.28375849518459, 32.291680994135106), (-115.3785719022423, 32.27141580503958)),)}" +"fireEvent/2023-03-17_0x80911f0000000000","FireEvent","FireEvent at LatLong(37.65705:-120.59122) on 2023-03-17","2023-03-17","2023-03-17","P1D",1,1,"[LatLong 37.65705 -120.59122]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x80911ef400000000,dcid:s2CellId/0x80911f0000000000,dcid:s2CellId/0x80911f8c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.17719 SquareKilometer]",2.17719,298.7,279.63,"n",0.79,"2023-03-17","{'type': 'Polygon', 'coordinates': (((-120.61998952842978, 37.69229621714622), (-120.61998952842978, 37.61499433591427), (-120.52790957361556, 37.641298481904194), (-120.52790957361556, 37.71861894809693), (-120.61998952842978, 37.69229621714622)),)}" +"fireEvent/2023-01-17_0x54d2f30000000000","FireEvent","FireEvent at LatLong(40.57897:-122.41014) on 2023-01-17","2023-01-17","2023-01-19","P3D",3,2,"[LatLong 40.57897 -122.41014]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06089,dcid:northamerica,dcid:s2CellId/0x54d2ed0000000000,dcid:s2CellId/0x54d2edcc00000000,dcid:s2CellId/0x54d2eefc00000000,dcid:s2CellId/0x54d2ef0000000000,dcid:s2CellId/0x54d2f20400000000,dcid:s2CellId/0x54d2f30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[2.99636 SquareKilometer]",2.99636,333.46,285.87,"n",4.0,"2023-01-17,2023-01-19","{'type': 'Polygon', 'coordinates': (((-122.46670276167934, 40.67294896838062), (-122.39843998380442, 40.61985308236519), (-122.33036585771102, 40.566779656552605), (-122.42181745860849, 40.53813661115969), (-122.51318898831984, 40.509422095374156), (-122.58146692701277, 40.56226388040892), (-122.4899938832872, 40.591094269775446), (-122.55835872296645, 40.64407400405238), (-122.46670276167934, 40.67294896838062)),)}" +"fireEvent/2023-02-06_0x80845b0000000000","FireEvent","FireEvent at LatLong(38.59279:-122.58252) on 2023-02-06","2023-02-06","2023-02-08","P3D",3,2,"[LatLong 38.59279 -122.58252]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084430000000000,dcid:s2CellId/0x8084432400000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x8084453400000000,dcid:s2CellId/0x8084453c00000000,dcid:s2CellId/0x808445ac00000000,dcid:s2CellId/0x808445bc00000000,dcid:s2CellId/0x8084507c00000000,dcid:s2CellId/0x8084510000000000,dcid:s2CellId/0x80845a9c00000000,dcid:s2CellId/0x80845b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",11,"[7.21649 SquareKilometer]",7.21649,335.28,292.94,"n",5.78,"2023-02-06,2023-02-08","{'type': 'Polygon', 'coordinates': (((-122.44672381753844, 38.44651073306092), (-122.5372740990185, 38.41843056369658), (-122.5372740990185, 38.49387172650253), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204), (-122.62774550019422, 38.61630776476597), (-122.5372740990185, 38.64450610716198), (-122.5372740990185, 38.569230320025724), (-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188), (-122.44672381753844, 38.44651073306092)),)}" +"fireEvent/2023-02-22_0x8083690000000000","FireEvent","FireEvent at LatLong(39.28620:-122.03829) on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 39.28620 -122.03829]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x8083690000000000,dcid:s2CellId/0x8083696400000000,dcid:s2CellId/0x8083696c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.03153 SquareKilometer]",2.03153,346.39,290.44,"n",6.02,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-122.08374449567626, 39.30962273731574), (-122.08374449567627, 39.23485785874378), (-121.99280779590266, 39.26274043589892), (-121.99280779590266, 39.337520028847024), (-122.08374449567626, 39.30962273731574)),)}" +"fireEvent/2023-02-08_0x54d4990000000000","FireEvent","FireEvent at LatLong(40.14521:-123.46228) on 2023-02-08","2023-02-08","2023-02-11","P4D",4,3,"[LatLong 40.14521 -123.46228]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06105,dcid:northamerica,dcid:s2CellId/0x54d498b400000000,dcid:s2CellId/0x54d498bc00000000,dcid:s2CellId/0x54d4990000000000,dcid:s2CellId/0x54d4a26400000000,dcid:s2CellId/0x54d4a2e400000000,dcid:s2CellId/0x54d4a2ec00000000,dcid:s2CellId/0x54d4a2f400000000,dcid:s2CellId/0x54d4a30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[4.93369 SquareKilometer]",4.93369,344.72,294.21,"n",62.5,"2023-02-08,2023-02-10,2023-02-11","{'type': 'Polygon', 'coordinates': (((-123.60320855276242, 40.159382098605334), (-123.51283904569657, 40.188930829812435), (-123.44368098277349, 40.13738797622512), (-123.37470731145442, 40.0858635123691), (-123.4648917259653, 40.056547606398325), (-123.53395808290452, 40.107955842950716), (-123.60320855276242, 40.159382098605334)),)}" +"fireEvent/2023-02-13_0x8090e10000000000","FireEvent","FireEvent at LatLong(37.74409:-120.57396) on 2023-02-13","2023-02-13","2023-02-18","P6D",6,5,"[LatLong 37.74409 -120.57396]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8090e10000000000,dcid:s2CellId/0x8090e1a400000000,dcid:s2CellId/0x8090e30000000000,dcid:s2CellId/0x8090e38400000000,dcid:s2CellId/0x8090e47c00000000,dcid:s2CellId/0x8090e48400000000,dcid:s2CellId/0x8090e49400000000,dcid:s2CellId/0x8090e49c00000000,dcid:s2CellId/0x8090e4dc00000000,dcid:s2CellId/0x8090e50000000000,dcid:s2CellId/0x8090fcd400000000,dcid:s2CellId/0x8090fd0000000000,dcid:s2CellId/0x8090fd2c00000000,dcid:s2CellId/0x8091010000000000,dcid:s2CellId/0x809101b400000000,dcid:s2CellId/0x809101dc00000000,dcid:s2CellId/0x809102cc00000000,dcid:s2CellId/0x809102f400000000,dcid:s2CellId/0x8091030000000000,dcid:s2CellId/0x809103e400000000,dcid:s2CellId/0x8091042400000000,dcid:s2CellId/0x8091050000000000,dcid:s2CellId/0x80910f0000000000,dcid:s2CellId/0x80910f7c00000000,dcid:s2CellId/0x809114bc00000000,dcid:s2CellId/0x8091150000000000,dcid:s2CellId/0x809116bc00000000,dcid:s2CellId/0x8091170000000000,dcid:s2CellId/0x8091186400000000,dcid:s2CellId/0x8091188c00000000,dcid:s2CellId/0x8091190000000000,dcid:s2CellId/0x80911a6c00000000,dcid:s2CellId/0x80911abc00000000,dcid:s2CellId/0x80911b0000000000,dcid:s2CellId/0x80911b3400000000,dcid:s2CellId/0x80911ccc00000000,dcid:s2CellId/0x80911d0000000000,dcid:s2CellId/0x80911d5c00000000,dcid:s2CellId/0x80911eac00000000,dcid:s2CellId/0x80911f0000000000,dcid:s2CellId/0x8091226c00000000,dcid:s2CellId/0x8091228400000000,dcid:s2CellId/0x8091229400000000,dcid:s2CellId/0x809122b400000000,dcid:s2CellId/0x8091230000000000,dcid:s2CellId/0x80913d0000000000,dcid:s2CellId/0x80913d3400000000,dcid:s2CellId/0x80913f0000000000,dcid:s2CellId/0x80913f8400000000,dcid:s2CellId/0x8091407400000000,dcid:s2CellId/0x8091410000000000,dcid:s2CellId/0x8091ab0000000000,dcid:s2CellId/0x8091ab9c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",53,"[33.7678 SquareKilometer]",33.7678,345.71,295.76,"n",12.64,"2023-02-13,2023-02-14,2023-02-15,2023-02-17,2023-02-18","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 37.71861894809693), (-120.52790957361556, 37.641298481904194), (-120.43576307692442, 37.66753141216106), (-120.43576307692442, 37.59010984243894), (-120.43576307692442, 37.51260591001308), (-120.43576307692442, 37.43501988834095), (-120.43576307692442, 37.35735205316665), (-120.52790957361556, 37.3311951171772), (-120.52790957361556, 37.408843635627235), (-120.61998952842978, 37.38259651612187), (-120.61998952842978, 37.46014421227437), (-120.61998952842978, 37.537610243626965), (-120.7120023484522, 37.511254067709565), (-120.7120023484522, 37.43380716167879), (-120.80394744373858, 37.40739967641065), (-120.80394744373858, 37.484827340180566), (-120.80394744373858, 37.56217349052067), (-120.89582422732902, 37.535657341922445), (-120.98763211526173, 37.50907107917234), (-120.98763211526173, 37.58629746111499), (-120.89582422732902, 37.612902773234545), (-120.80394744373855, 37.6394378546288), (-120.80394744373855, 37.71662016196677), (-120.7120023484522, 37.74310333951075), (-120.7120023484522, 37.82022171425268), (-120.61998952842978, 37.84665226985095), (-120.61998952842978, 37.76951561760652), (-120.52790957361556, 37.79585672226859), (-120.52790957361556, 37.71861894809693)),)}" +"fireEvent/2023-03-09_0x80eb050000000000","FireEvent","FireEvent at LatLong(35.58257:-119.52817) on 2023-03-09","2023-03-09","2023-03-09","P1D",1,1,"[LatLong 35.58257 -119.52817]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eb046c00000000,dcid:s2CellId/0x80eb047400000000,dcid:s2CellId/0x80eb050000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.33127 SquareKilometer]",2.33127,310.66,274.9,"n",1.96,"2023-03-09","{'type': 'Polygon', 'coordinates': (((-119.60354950502408, 35.617265464719935), (-119.60354950502408, 35.5373559257604), (-119.51077084299, 35.56224449162536), (-119.51077084299, 35.642177706706846), (-119.60354950502408, 35.617265464719935)),)}" +"fireEvent/2023-02-07_0x80dd370000000000","FireEvent","FireEvent at LatLong(33.76312:-118.29359) on 2023-02-07","2023-02-07","2023-02-08","P2D",2,2,"[LatLong 33.76312 -118.29359]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80dd360400000000,dcid:s2CellId/0x80dd360c00000000,dcid:s2CellId/0x80dd364c00000000,dcid:s2CellId/0x80dd370000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.46968 SquareKilometer]",2.46968,337.59,282.55,"n",6.07,"2023-02-07,2023-02-08","{'type': 'Polygon', 'coordinates': (((-118.29943499572406, 33.76679933456592), (-118.29943499572406, 33.68457580456745), (-118.20587682407124, 33.70778227614814), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592)),)}" +"fireEvent/2023-02-06_0x8091050000000000","FireEvent","FireEvent at LatLong(37.61405:-120.75798) on 2023-02-06","2023-02-06","2023-02-09","P4D",4,3,"[LatLong 37.61405 -120.75798]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8091030000000000,dcid:s2CellId/0x8091039c00000000,dcid:s2CellId/0x8091050000000000,dcid:s2CellId/0x8091053400000000,dcid:s2CellId/0x80910f0000000000,dcid:s2CellId/0x80910f4400000000,dcid:s2CellId/0x8091130000000000,dcid:s2CellId/0x8091131400000000,dcid:s2CellId/0x8091133c00000000,dcid:s2CellId/0x8091170000000000,dcid:s2CellId/0x8091179400000000,dcid:s2CellId/0x80913f0000000000,dcid:s2CellId/0x80913fa400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",13,"[6.55418 SquareKilometer]",6.55418,351.31,291.56,"n",4.7,"2023-02-06,2023-02-07,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-120.80394744373858, 37.40739967641065), (-120.80394744373858, 37.484827340180566), (-120.80394744373858, 37.56217349052067), (-120.80394744373855, 37.6394378546288), (-120.7120023484522, 37.665902427887914), (-120.7120023484522, 37.588619247244885), (-120.7120023484522, 37.511254067709565), (-120.7120023484522, 37.43380716167879), (-120.80394744373858, 37.40739967641065)),), (((-120.61998952842978, 37.46014421227437), (-120.61998952842978, 37.38259651612187), (-120.7120023484522, 37.35627880381976), (-120.7120023484522, 37.43380716167879), (-120.61998952842978, 37.46014421227437)),), (((-120.61998952842978, 37.46014421227437), (-120.61998952842978, 37.537610243626965), (-120.52790957361556, 37.563895592993696), (-120.52790957361556, 37.48641055294733), (-120.61998952842978, 37.46014421227437)),), (((-120.43576307692442, 37.43501988834095), (-120.52790957361556, 37.408843635627235), (-120.52790957361556, 37.48641055294733), (-120.43576307692442, 37.51260591001308), (-120.43576307692442, 37.43501988834095)),)]}" +"fireEvent/2023-02-14_0x8094f70000000000","FireEvent","FireEvent at LatLong(36.67586:-119.64992) on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 36.67586 -119.64992]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8094f70000000000,dcid:s2CellId/0x8094f77400000000,dcid:s2CellId/0x8094fb0000000000,dcid:s2CellId/0x8094fb5400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.269 SquareKilometer]",2.269,331.0,288.63,"n",2.34,"2023-02-14","{'type': 'MultiPolygon', 'coordinates': [(((-119.69626771448172, 36.6237998027113), (-119.69626771448172, 36.70259781153337), (-119.60354950502408, 36.727891074425536), (-119.60354950502408, 36.6490722675175), (-119.69626771448172, 36.6237998027113)),), (((-119.51077084299, 36.674272739182356), (-119.51077084299, 36.59535309054964), (-119.60354950502408, 36.57017350866958), (-119.60354950502408, 36.6490722675175), (-119.51077084299, 36.674272739182356)),)]}" +"fireEvent/2023-01-25_0x8085070000000000","FireEvent","FireEvent at LatLong(38.40301:-122.22001) on 2023-01-25","2023-01-25","2023-01-28","P4D",4,3,"[LatLong 38.40301 -122.22001]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8085030000000000,dcid:s2CellId/0x808503d400000000,dcid:s2CellId/0x8085069400000000,dcid:s2CellId/0x8085070000000000,dcid:s2CellId/0x8085a70000000000,dcid:s2CellId/0x8085a7c400000000,dcid:s2CellId/0x8085aedc00000000,dcid:s2CellId/0x8085af0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",8,"[4.16365 SquareKilometer]",4.16365,340.07,291.31,"n",4.05,"2023-01-25,2023-01-26,2023-01-28","{'type': 'MultiPolygon', 'coordinates': [(((-122.26538872869685, 38.35123562794486), (-122.26538872869685, 38.27549513645561), (-122.35609518371197, 38.24760192398743), (-122.35609518371197, 38.32332484178081), (-122.26538872869685, 38.35123562794486)),), (((-122.5372740990185, 38.267301489341314), (-122.44672381753844, 38.295346696588034), (-122.44672381753844, 38.2196414669709), (-122.5372740990185, 38.19161406269585), (-122.5372740990185, 38.267301489341314)),), (((-122.44672381753844, 38.14385442266954), (-122.44672381753844, 38.2196414669709), (-122.35609518371197, 38.24760192398743), (-122.35609518371197, 38.171796976749924), (-122.44672381753844, 38.14385442266954)),), (((-122.26538872869685, 38.42689363138317), (-122.17460498684162, 38.45475400902146), (-122.17460498684162, 38.379078759434165), (-122.26538872869685, 38.35123562794486), (-122.26538872869685, 38.42689363138317)),)]}" +"fireEvent/2023-02-17_0x8090990000000000","FireEvent","FireEvent at LatLong(38.21902:-120.54518) on 2023-02-17","2023-02-17","2023-02-19","P3D",3,2,"[LatLong 38.21902 -120.54518]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06009,dcid:northamerica,dcid:s2CellId/0x8090988c00000000,dcid:s2CellId/0x8090989400000000,dcid:s2CellId/0x809098bc00000000,dcid:s2CellId/0x8090990000000000,dcid:s2CellId/0x8090997c00000000,dcid:s2CellId/0x80909b0000000000,dcid:s2CellId/0x80909bd400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.21676 SquareKilometer]",3.21676,339.62,288.39,"n",2.84,"2023-02-17,2023-02-19","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 38.257532040519735), (-120.52790957361556, 38.18079594647173), (-120.61998952842978, 38.154366127206046), (-120.7120023484522, 38.12786456645258), (-120.7120023484522, 38.2045663181075), (-120.61998952842978, 38.23108510610075), (-120.52790957361556, 38.257532040519735)),)}" +"fireEvent/2023-03-27_0x809b490000000000","FireEvent","FireEvent at LatLong(38.97972:-121.48561) on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 38.97972 -121.48561]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x809b483400000000,dcid:s2CellId/0x809b484c00000000,dcid:s2CellId/0x809b490000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.0695 SquareKilometer]",2.0695,335.65,293.44,"n",1.83,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-121.53700031324804, 39.02554770418372), (-121.53700031324804, 38.950179329514846), (-121.44561789291927, 38.977550401022924), (-121.44561789291927, 39.05293408349499), (-121.53700031324804, 39.02554770418372)),)}" +"fireEvent/2023-01-19_0x80d7690000000000","FireEvent","FireEvent at LatLong(32.81099:-115.42597) on 2023-01-19","2023-01-19","2023-01-19","P1D",1,1,"[LatLong 32.81099 -115.42597]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d7690000000000,dcid:s2CellId/0x80d7692400000000,dcid:s2CellId/0x80d7692c00000000,dcid:s2CellId/0x80d7693c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.89745 SquareKilometer]",3.89745,349.12,308.56,"n",47.43,"2023-01-19","{'type': 'Polygon', 'coordinates': (((-115.47335544292073, 32.84288161267371), (-115.47335544292073, 32.75853653053172), (-115.3785719022423, 32.779043713972804), (-115.3785719022423, 32.86341617929968), (-115.47335544292073, 32.84288161267371)),)}" +"fireEvent/2023-02-17_0x8085210000000000","FireEvent","FireEvent at LatLong(38.49527:-121.96437) on 2023-02-17","2023-02-17","2023-02-17","P1D",1,1,"[LatLong 38.49527 -121.96437]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06095,dcid:northamerica,dcid:s2CellId/0x8085204400000000,dcid:s2CellId/0x8085205400000000,dcid:s2CellId/0x8085205c00000000,dcid:s2CellId/0x8085210000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[3.12515 SquareKilometer]",3.12515,342.58,289.41,"n",8.54,"2023-02-17","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.510270284625605), (-121.99280779590266, 38.43456088254056), (-121.90179543138471, 38.462199289647856), (-121.90179543138471, 38.537925598738894), (-121.99280779590266, 38.510270284625605)),)}" +"fireEvent/2023-01-05_0x80d79f0000000000","FireEvent","FireEvent at LatLong(32.59005:-115.34895) on 2023-01-05","2023-01-05","2023-01-07","P3D",3,3,"[LatLong 32.59005 -115.34895]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7744400000000,dcid:s2CellId/0x80d7750000000000,dcid:s2CellId/0x80d79d0000000000,dcid:s2CellId/0x80d79d8400000000,dcid:s2CellId/0x80d79f0000000000,dcid:s2CellId/0x80d79f4400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",6,"[3.92016 SquareKilometer]",3.92016,340.55,292.36,"n",4.52,"2023-01-05,2023-01-06,2023-01-07","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 32.44088749173266), (-115.47335544292073, 32.42049183911604), (-115.47335544292073, 32.505101778412154), (-115.3785719022423, 32.52552561351063), (-115.3785719022423, 32.610097988335994), (-115.28375849518459, 32.63047572713295), (-115.28375849518459, 32.54587551383132), (-115.28375849518459, 32.46120935428951), (-115.3785719022423, 32.44088749173266)),)}" +"fireEvent/2023-02-10_0x80ce210000000000","FireEvent","FireEvent at LatLong(34.75337:-114.57178) on 2023-02-10","2023-02-10","2023-02-10","P1D",1,1,"[LatLong 34.75337 -114.57178]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80ce210000000000,dcid:s2CellId/0x80ce21c400000000,dcid:s2CellId/0x80ce21dc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.50494 SquareKilometer]",2.50494,346.0,308.7,"n",10.48,"2023-02-10","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 34.78469582571491), (-114.61928990191176, 34.70164859500177), (-114.52426397902158, 34.72198748448121), (-114.52426397902158, 34.805056766588905), (-114.61928990191176, 34.78469582571491)),)}" +"fireEvent/2023-02-06_0x8090530000000000","FireEvent","FireEvent at LatLong(37.58483:-121.12521) on 2023-02-06","2023-02-06","2023-02-06","P1D",1,1,"[LatLong 37.58483 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x80904d0000000000,dcid:s2CellId/0x80904d7c00000000,dcid:s2CellId/0x80904f0000000000,dcid:s2CellId/0x80904f9400000000,dcid:s2CellId/0x8090522400000000,dcid:s2CellId/0x8090530000000000,dcid:s2CellId/0x8091b4dc00000000,dcid:s2CellId/0x8091b50000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[4.32708 SquareKilometer]",4.32708,338.03,287.68,"n",2.83,"2023-02-06","{'type': 'MultiPolygon', 'coordinates': [(((-120.98763211526173, 37.58629746111499), (-121.07937052658627, 37.55962219720914), (-121.1710388833767, 37.53287726197025), (-121.1710388833767, 37.60998399136611), (-121.1710388833767, 37.68700924798782), (-121.07937052658627, 37.713792107889624), (-121.07937052658627, 37.636747995836885), (-120.98763211526173, 37.6634422122698), (-120.98763211526173, 37.58629746111499)),), (((-121.17103888337672, 37.45568932972217), (-121.26263661074441, 37.4288944060384), (-121.26263661074441, 37.50606293735081), (-121.1710388833767, 37.53287726197025), (-121.17103888337672, 37.45568932972217)),)]}" +"fireEvent/2023-01-01_0x8083950000000000","FireEvent","FireEvent at LatLong(39.15524:-122.65600) on 2023-01-01","2023-01-01","2023-01-01","P1D",1,1,"[LatLong 39.15524 -122.65600]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06033,dcid:northamerica,dcid:s2CellId/0x8083944400000000,dcid:s2CellId/0x8083946c00000000,dcid:s2CellId/0x8083950000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.02103 SquareKilometer]",2.02103,301.45,274.51,"n",0.82,"2023-01-01","{'type': 'Polygon', 'coordinates': (((-122.71813749631639, 39.18698471783738), (-122.71813749631639, 39.11241008566069), (-122.62774550019422, 39.140788234265145), (-122.62774550019422, 39.21537813301912), (-122.71813749631639, 39.18698471783738)),)}" +"fireEvent/2023-01-19_0x80da5f0000000000","FireEvent","FireEvent at LatLong(33.63016:-116.10640) on 2023-01-19","2023-01-19","2023-01-20","P2D",2,2,"[LatLong 33.63016 -116.10640]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80da5e9c00000000,dcid:s2CellId/0x80da5f0000000000,dcid:s2CellId/0x80da670000000000,dcid:s2CellId/0x80da67e400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.53867 SquareKilometer]",2.53867,335.07,298.96,"n",3.35,"2023-01-19,2023-01-20","{'type': 'MultiPolygon', 'coordinates': [(((-116.13594306437999, 33.61826847586996), (-116.13594306437999, 33.70159871661542), (-116.04138886338704, 33.72297412899629), (-116.04138886338704, 33.63961794361283), (-116.13594306437999, 33.61826847586996)),), (((-115.94679974061097, 33.66089273880476), (-115.94679974061097, 33.577439763005614), (-116.04138886338704, 33.55619097791635), (-116.04138886338704, 33.63961794361283), (-115.94679974061097, 33.66089273880476)),)]}" +"fireEvent/2023-01-21_0x8084450000000000","FireEvent","FireEvent at LatLong(38.53926:-122.58817) on 2023-01-21","2023-01-21","2023-01-31","P11D",11,8,"[LatLong 38.53926 -122.58817]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084446400000000,dcid:s2CellId/0x8084448400000000,dcid:s2CellId/0x808444bc00000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x80844f0000000000,dcid:s2CellId/0x80844f5c00000000,dcid:s2CellId/0x8084506c00000000,dcid:s2CellId/0x8084510000000000,dcid:s2CellId/0x80845a3c00000000,dcid:s2CellId/0x80845a8400000000,dcid:s2CellId/0x80845ab400000000,dcid:s2CellId/0x80845abc00000000,dcid:s2CellId/0x80845b0000000000,dcid:s2CellId/0x80845d0000000000,dcid:s2CellId/0x80845d7400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",15,"[5.15431 SquareKilometer]",5.15431,346.56,295.09,"n",4.76,"2023-01-21,2023-01-23,2023-01-24,2023-01-25,2023-01-26,2023-01-28,2023-01-30,2023-01-31","{'type': 'Polygon', 'coordinates': (((-122.44672381753844, 38.52196905593188), (-122.44672381753844, 38.44651073306092), (-122.5372740990185, 38.41843056369658), (-122.62774550019422, 38.39028340170879), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.5372740990185, 38.64450610716198), (-122.44672381753844, 38.67263711706448), (-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188)),)}" +"fireEvent/2023-02-18_0x80ea5b0000000000","FireEvent","FireEvent at LatLong(35.47196:-119.19139) on 2023-02-18","2023-02-18","2023-02-18","P1D",1,1,"[LatLong 35.47196 -119.19139]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80ea5a3400000000,dcid:s2CellId/0x80ea5a3c00000000,dcid:s2CellId/0x80ea5a4c00000000,dcid:s2CellId/0x80ea5b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.52191 SquareKilometer]",3.52191,301.47,271.49,"n",1.49,"2023-02-18","{'type': 'Polygon', 'coordinates': (((-119.23207840138082, 35.47625041156115), (-119.23207840138082, 35.396018943340835), (-119.13906420284766, 35.420553079599216), (-119.13906420284766, 35.50080836032674), (-119.23207840138082, 35.47625041156115)),)}" +"fireEvent/2023-01-30_0x8083530000000000","FireEvent","FireEvent at LatLong(39.27201:-121.79362) on 2023-01-30","2023-01-30","2023-01-31","P2D",2,2,"[LatLong 39.27201 -121.79362]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06101,dcid:northamerica,dcid:s2CellId/0x8083509400000000,dcid:s2CellId/0x808350bc00000000,dcid:s2CellId/0x8083510000000000,dcid:s2CellId/0x8083530000000000,dcid:s2CellId/0x8083531400000000,dcid:s2CellId/0x80835aa400000000,dcid:s2CellId/0x80835b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.08444 SquareKilometer]",4.08444,353.2,286.72,"n",19.49,"2023-01-30,2023-01-31","{'type': 'Polygon', 'coordinates': (((-121.62830983522124, 39.29864655751711), (-121.71954589932093, 39.27105917309169), (-121.81070794913828, 39.2434012936763), (-121.90179543138471, 39.21567320309416), (-121.90179543138471, 39.29055326593883), (-121.81070794913828, 39.31829606252554), (-121.71954589932093, 39.34596854075605), (-121.62830983522124, 39.373570417177156), (-121.62830983522124, 39.29864655751711)),)}" +"fireEvent/2023-03-26_0x8094790000000000","FireEvent","FireEvent at LatLong(36.78430:-120.11273) on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 36.78430 -120.11273]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8094770000000000,dcid:s2CellId/0x809477cc00000000,dcid:s2CellId/0x8094790000000000,dcid:s2CellId/0x809479c400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.24538 SquareKilometer]",2.24538,336.19,293.13,"n",2.34,"2023-03-26,2023-03-27","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 36.679343295179756), (-120.15893030899788, 36.653672228439554), (-120.15893030899788, 36.732206182076574), (-120.15893030899788, 36.810660560355714), (-120.06652363285929, 36.83637336328723), (-120.06652363285929, 36.75789822396875), (-120.06652363285929, 36.679343295179756)),)}" +"fireEvent/2023-03-15_0x80835d0000000000","FireEvent","FireEvent at LatLong(39.22798:-121.90749) on 2023-03-15","2023-03-15","2023-03-16","P2D",2,2,"[LatLong 39.22798 -121.90749]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x80835c0c00000000,dcid:s2CellId/0x80835d0000000000,dcid:s2CellId/0x80835f0000000000,dcid:s2CellId/0x80835f3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.04312 SquareKilometer]",2.04312,337.62,290.53,"n",4.12,"2023-03-15,2023-03-16","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 39.26274043589892), (-121.90179543138471, 39.29055326593883), (-121.90179543138471, 39.21567320309416), (-121.90179543138471, 39.14070749598967), (-121.99280779590266, 39.11292450020048), (-121.99280779590266, 39.18787518661573), (-121.99280779590266, 39.26274043589892)),)}" +"fireEvent/2023-02-04_0x80da430000000000","FireEvent","FireEvent at LatLong(33.50381:-116.08867) on 2023-02-04","2023-02-04","2023-02-05","P2D",2,2,"[LatLong 33.50381 -116.08867]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80da430000000000,dcid:s2CellId/0x80da436400000000,dcid:s2CellId/0x80da5ce400000000,dcid:s2CellId/0x80da5d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.54069 SquareKilometer]",2.54069,348.27,307.03,"n",3.33,"2023-02-04,2023-02-05","{'type': 'Polygon', 'coordinates': (((-116.04138886338704, 33.472693644443034), (-116.13594306437999, 33.45139667485967), (-116.13594306437999, 33.53486765773682), (-116.13594306437999, 33.61826847586996), (-116.04138886338704, 33.63961794361283), (-116.04138886338704, 33.55619097791635), (-116.04138886338704, 33.472693644443034)),)}" +"fireEvent/2023-02-02_0x809db10000000000","FireEvent","FireEvent at LatLong(40.23486:-120.66025) on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 40.23486 -120.66025]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809db0f400000000,dcid:s2CellId/0x809db0fc00000000,dcid:s2CellId/0x809db10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.018 SquareKilometer]",2.018,305.3,262.39,"n",1.05,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-120.7120023484522, 40.24294521918271), (-120.7120023484522, 40.168596011082016), (-120.61998952842978, 40.19549082752908), (-120.61998952842978, 40.26985179667404), (-120.7120023484522, 40.24294521918271)),)}" +"fireEvent/2023-02-20_0x80c3690000000000","FireEvent","FireEvent at LatLong(34.42872:-117.37927) on 2023-02-20","2023-02-20","2023-02-20","P1D",1,1,"[LatLong 34.42872 -117.37927]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c3686c00000000,dcid:s2CellId/0x80c3690000000000,dcid:s2CellId/0x80c36f0000000000,dcid:s2CellId/0x80c36f1400000000,dcid:s2CellId/0x80c36f6c00000000,dcid:s2CellId/0x80c3720400000000,dcid:s2CellId/0x80c3730000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.90832 SquareKilometer]",4.90832,355.21,304.63,"n",9.43,"2023-02-20","{'type': 'MultiPolygon', 'coordinates': [(((-117.4556388069492, 34.38460909769327), (-117.4556388069492, 34.46664522632916), (-117.4556388069492, 34.54860813299157), (-117.36164757079143, 34.57137699422246), (-117.36164757079143, 34.489389141032945), (-117.36164757079143, 34.40732785707689), (-117.4556388069492, 34.38460909769327)),), (((-117.54958462854715, 34.525765807815226), (-117.54958462854715, 34.607630244794315), (-117.4556388069492, 34.630497439767254), (-117.4556388069492, 34.54860813299157), (-117.54958462854715, 34.525765807815226)),)]}" +"fireEvent/2023-02-08_0x8084fd0000000000","FireEvent","FireEvent at LatLong(38.50499:-122.18028) on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.50499 -122.18028]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:northamerica,dcid:s2CellId/0x8084fccc00000000,dcid:s2CellId/0x8084fd0000000000,dcid:s2CellId/0x8085010000000000,dcid:s2CellId/0x808501cc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[2.07628 SquareKilometer]",2.07628,326.07,293.6,"n",2.23,"2023-02-08,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-122.26538872869685, 38.502468904624024), (-122.17460498684162, 38.53034631548853), (-122.17460498684162, 38.45475400902146), (-122.26538872869685, 38.42689363138317), (-122.26538872869685, 38.502468904624024)),), (((-122.26538872869685, 38.35123562794486), (-122.35609518371197, 38.32332484178081), (-122.35609518371197, 38.39896548537001), (-122.26538872869685, 38.42689363138317), (-122.26538872869685, 38.35123562794486)),)]}" +"fireEvent/2023-02-13_0x54d2cf0000000000","FireEvent","FireEvent at LatLong(40.33882:-122.23019) on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 40.33882 -122.23019]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06103,dcid:northamerica,dcid:s2CellId/0x54d2cf0000000000,dcid:s2CellId/0x54d2cf4400000000,dcid:s2CellId/0x54d2cf5c00000000,dcid:s2CellId/0x54d2cf6400000000,dcid:s2CellId/0x54d2cf6c00000000,dcid:s2CellId/0x54d2d10000000000,dcid:s2CellId/0x54d2d18400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[2.96764 SquareKilometer]",2.96764,345.4,296.49,"n",8.2,"2023-02-13,2023-02-14,2023-02-15","{'type': 'Polygon', 'coordinates': (((-122.21841379971892, 40.379400310140525), (-122.15098615943583, 40.326535161629536), (-122.24194930724602, 40.29828030933025), (-122.33283494131578, 40.26995470792364), (-122.40046668560171, 40.322591065014805), (-122.3094793837314, 40.35103111609896), (-122.21841379971892, 40.379400310140525)),)}" +"fireEvent/2023-02-06_0x80915b0000000000","FireEvent","FireEvent at LatLong(37.30542:-120.48184) on 2023-02-06","2023-02-06","2023-02-07","P2D",2,2,"[LatLong 37.30542 -120.48184]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x8091430000000000,dcid:s2CellId/0x8091434c00000000,dcid:s2CellId/0x80914f0000000000,dcid:s2CellId/0x80914f9400000000,dcid:s2CellId/0x80914fec00000000,dcid:s2CellId/0x8091501400000000,dcid:s2CellId/0x8091510000000000,dcid:s2CellId/0x80915acc00000000,dcid:s2CellId/0x80915b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[4.41107 SquareKilometer]",4.41107,356.61,284.68,"n",6.12,"2023-02-06,2023-02-07","{'type': 'MultiPolygon', 'coordinates': [(((-120.34355063422758, 37.305669184325005), (-120.3435506342276, 37.38343796695286), (-120.25127284433846, 37.4094525873983), (-120.25127284433846, 37.33166450998572), (-120.25127284433846, 37.25379475261621), (-120.3435506342276, 37.227818933892436), (-120.43576307692442, 37.20177205672942), (-120.43576307692442, 37.27960268252231), (-120.34355063422758, 37.305669184325005)),), (((-120.52790957361556, 37.3311951171772), (-120.43576307692442, 37.35735205316665), (-120.43576307692442, 37.27960268252231), (-120.52790957361556, 37.25346527602409), (-120.52790957361556, 37.3311951171772)),)]}" +"fireEvent/2023-02-06_0x8090750000000000","FireEvent","FireEvent at LatLong(38.04605:-121.12521) on 2023-02-06","2023-02-06","2023-02-07","P2D",2,2,"[LatLong 38.04605 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090710000000000,dcid:s2CellId/0x809071ec00000000,dcid:s2CellId/0x8090750000000000,dcid:s2CellId/0x8090751400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.13425 SquareKilometer]",2.13425,326.64,277.29,"n",3.01,"2023-02-06,2023-02-07","{'type': 'MultiPolygon', 'coordinates': [(((-121.26263661074441, 38.043960006034105), (-121.26263661074441, 38.12047318795499), (-121.1710388833767, 38.147435026035545), (-121.1710388833767, 38.07090414902015), (-121.26263661074441, 38.043960006034105)),), (((-121.07937052658627, 38.097778093730795), (-121.07937052658627, 38.021146378682644), (-121.1710388833767, 37.994290226708266), (-121.1710388833767, 38.07090414902015), (-121.07937052658627, 38.097778093730795)),)]}" +"fireEvent/2023-01-26_0x8084e70000000000","FireEvent","FireEvent at LatLong(38.60981:-122.03829) on 2023-01-26","2023-01-26","2023-01-26","P1D",1,1,"[LatLong 38.60981 -122.03829]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084e70000000000,dcid:s2CellId/0x8084e7c400000000,dcid:s2CellId/0x8084e8fc00000000,dcid:s2CellId/0x8084e90000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.07117 SquareKilometer]",2.07117,348.12,291.67,"n",4.91,"2023-01-26","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.585896319149406), (-122.08374449567626, 38.55815555109186), (-122.08374449567626, 38.63368138324296), (-122.08374449567626, 38.7091235838646), (-121.99280779590266, 38.73689733332498), (-121.99280779590266, 38.66143874752344), (-121.99280779590266, 38.585896319149406)),)}" +"fireEvent/2023-03-07_0x8094a50000000000","FireEvent","FireEvent at LatLong(36.20234:-119.99140) on 2023-03-07","2023-03-07","2023-03-08","P2D",2,2,"[LatLong 36.20234 -119.99140]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094a4c400000000,dcid:s2CellId/0x8094a50000000000,dcid:s2CellId/0x8094ae5c00000000,dcid:s2CellId/0x8094af0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.28421 SquareKilometer]",2.28421,332.69,294.9,"n",2.39,"2023-03-07,2023-03-08","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 36.20635508236253), (-119.97405342347365, 36.23182560661413), (-119.97405342347365, 36.15269831052497), (-119.97405342347365, 36.07349347026282), (-120.06652363285929, 36.04806788044641), (-120.06652363285929, 36.12725014536185), (-120.06652363285929, 36.20635508236253)),)}" +"fireEvent/2023-02-08_0x809b990000000000","FireEvent","FireEvent at LatLong(39.21832:-120.75798) on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 39.21832 -120.75798]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06061,dcid:northamerica,dcid:s2CellId/0x809b990000000000,dcid:s2CellId/0x809b996400000000,dcid:s2CellId/0x809b997400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.07602 SquareKilometer]",2.07602,305.34,276.36,"n",1.07,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-120.80394744373855, 39.24263772504066), (-120.80394744373855, 39.16714989698495), (-120.7120023484522, 39.193946808225185), (-120.7120023484522, 39.269449088826086), (-120.80394744373855, 39.24263772504066)),)}" +"fireEvent/2023-02-17_0x80848f0000000000","FireEvent","FireEvent at LatLong(38.85551:-122.22001) on 2023-02-17","2023-02-17","2023-02-17","P1D",1,1,"[LatLong 38.85551 -122.22001]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x80848f0000000000,dcid:s2CellId/0x80848f9400000000,dcid:s2CellId/0x80848fc400000000,dcid:s2CellId/0x80848fcc00000000,dcid:s2CellId/0x80848fec00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[4.10527 SquareKilometer]",4.10527,342.34,291.77,"n",23.31,"2023-02-17","{'type': 'Polygon', 'coordinates': (((-122.26538872869685, 38.87909599346539), (-122.26538872869685, 38.80393792806426), (-122.17460498684162, 38.83188135199408), (-122.17460498684162, 38.907055393086274), (-122.26538872869685, 38.87909599346539)),)}" +"fireEvent/2023-01-27_0x80d5d10000000000","FireEvent","FireEvent at LatLong(32.68570:-114.00123) on 2023-01-27","2023-01-27","2023-01-27","P1D",1,1,"[LatLong 32.68570 -114.00123]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d5d10000000000,dcid:s2CellId/0x80d5d11c00000000,dcid:s2CellId/0x80d5d6ec00000000,dcid:s2CellId/0x80d5d70000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",4,"[2.63233 SquareKilometer]",2.63233,351.31,297.55,"n",9.3,"2023-01-27","{'type': 'Polygon', 'coordinates': (((-113.95364658268294, 32.73786508789439), (-113.95364658268294, 32.652753258290254), (-114.0488007261198, 32.63350963491579), (-114.14393537153407, 32.61418990174488), (-114.14393537153407, 32.69924914124556), (-114.0488007261198, 32.71859524067644), (-113.95364658268294, 32.73786508789439)),)}" +"fireEvent/2023-01-12_0x80d65d0000000000","FireEvent","FireEvent at LatLong(32.59410:-114.57772) on 2023-01-12","2023-01-12","2023-01-12","P1D",1,1,"[LatLong 32.59410 -114.57772]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d65c3400000000,dcid:s2CellId/0x80d65d0000000000,dcid:s2CellId/0x80d65e6400000000,dcid:s2CellId/0x80d65e6c00000000,dcid:s2CellId/0x80d65f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",5,"[3.9386 SquareKilometer]",3.9386,367.0,293.19,"n",16.15,"2023-01-12","{'type': 'Polygon', 'coordinates': (((-114.52426397902158, 32.53615314436677), (-114.61928990191176, 32.516455336320426), (-114.61928990191176, 32.601380600508776), (-114.61928990191176, 32.686238988626556), (-114.52426397902158, 32.705990765439765), (-114.52426397902158, 32.62110549021124), (-114.52426397902158, 32.53615314436677)),)}" +"fireEvent/2023-02-13_0x8095170000000000","FireEvent","FireEvent at LatLong(36.56427:-119.18558) on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 36.56427 -119.18558]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8095170000000000,dcid:s2CellId/0x809517b400000000,dcid:s2CellId/0x809517bc00000000,dcid:s2CellId/0x80953d0000000000,dcid:s2CellId/0x80953d0c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[2.28707 SquareKilometer]",2.28707,328.26,287.55,"n",4.19,"2023-02-13,2023-02-14,2023-02-15","{'type': 'Polygon', 'coordinates': (((-119.23207840138082, 36.59139591977724), (-119.13906420284766, 36.616264807982425), (-119.13906420284766, 36.53710170085306), (-119.13906420284766, 36.45785850302791), (-119.23207840138082, 36.433031486044094), (-119.23207840138082, 36.512253642746515), (-119.23207840138082, 36.59139591977724)),)}" +"fireEvent/2023-02-17_0x8084c10000000000","FireEvent","FireEvent at LatLong(38.80086:-121.95300) on 2023-02-17","2023-02-17","2023-02-17","P1D",1,1,"[LatLong 38.80086 -121.95300]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084c05c00000000,dcid:s2CellId/0x8084c06400000000,dcid:s2CellId/0x8084c10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.06506 SquareKilometer]",2.06506,342.8,271.77,"n",6.09,"2023-02-17","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.81227184229434), (-121.99280779590266, 38.73689733332498), (-121.90179543138471, 38.764602101272494), (-121.90179543138471, 38.83999267404077), (-121.99280779590266, 38.81227184229434)),)}" +"fireEvent/2023-02-23_0x80eae30000000000","FireEvent","FireEvent at LatLong(35.71937:-119.37149) on 2023-02-23","2023-02-23","2023-02-23","P1D",1,1,"[LatLong 35.71937 -119.37149]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eae30000000000,dcid:s2CellId/0x80eae36400000000,dcid:s2CellId/0x80eae3ac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.32886 SquareKilometer]",2.32886,326.92,287.13,"n",3.53,"2023-02-23","{'type': 'Polygon', 'coordinates': (((-119.41793235298398, 35.74689982999827), (-119.41793235298401, 35.66701930371646), (-119.32503466239531, 35.69178999395241), (-119.32503466239531, 35.77169372701799), (-119.41793235298398, 35.74689982999827)),)}" +"fireEvent/2023-02-22_0x80946f0000000000","FireEvent","FireEvent at LatLong(36.86831:-119.93358) on 2023-02-22","2023-02-22","2023-02-23","P2D",2,2,"[LatLong 36.86831 -119.93358]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x80946e7c00000000,dcid:s2CellId/0x80946f0000000000,dcid:s2CellId/0x80947b0000000000,dcid:s2CellId/0x80947b2400000000,dcid:s2CellId/0x80947d0000000000,dcid:s2CellId/0x80947d6c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.37541 SquareKilometer]",3.37541,345.34,287.31,"n",7.49,"2023-02-22,2023-02-23","{'type': 'MultiPolygon', 'coordinates': [(((-119.97405342347365, 36.86201501351553), (-119.881520291274, 36.88758524394533), (-119.881520291274, 36.809068943247944), (-119.97405342347365, 36.78351923348833), (-119.97405342347365, 36.86201501351553)),), (((-119.97405342347365, 36.62628796342359), (-120.06652363285929, 36.600708876501066), (-120.06652363285929, 36.679343295179756), (-120.06652363285929, 36.75789822396875), (-119.97405342347365, 36.78351923348833), (-119.97405342347365, 36.70494345038081), (-119.97405342347365, 36.62628796342359)),)]}" +"fireEvent/2023-03-20_0x80d6f50000000000","FireEvent","FireEvent at LatLong(32.77368:-114.53020) on 2023-03-20","2023-03-20","2023-03-20","P1D",1,1,"[LatLong 32.77368 -114.53020]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d6f4b400000000,dcid:s2CellId/0x80d6f4cc00000000,dcid:s2CellId/0x80d6f4d400000000,dcid:s2CellId/0x80d6f50000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",4,"[3.92795 SquareKilometer]",3.92795,346.35,283.56,"n",5.98,"2023-03-20","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 32.771030052053916), (-114.61928990191176, 32.686238988626556), (-114.52426397902158, 32.705990765439765), (-114.52426397902158, 32.790808521465856), (-114.61928990191176, 32.771030052053916)),)}" +"fireEvent/2023-01-19_0x80dd350000000000","FireEvent","FireEvent at LatLong(33.87834:-118.34619) on 2023-01-19","2023-01-19","2023-01-20","P2D",2,2,"[LatLong 33.87834 -118.34619]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2b50000000000,dcid:s2CellId/0x80c2b52400000000,dcid:s2CellId/0x80c2b53400000000,dcid:s2CellId/0x80dd345c00000000,dcid:s2CellId/0x80dd350000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.69779 SquareKilometer]",3.69779,296.75,282.83,"n",1.59,"2023-01-19,2023-01-20","{'type': 'MultiPolygon', 'coordinates': [(((-118.20587682407124, 33.8722154192009), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592), (-118.29943499572406, 33.848953872494164), (-118.20587682407124, 33.8722154192009)),), (((-118.39294170620582, 33.82562180473932), (-118.39294170620582, 33.90767960394744), (-118.29943499572406, 33.9310390246925), (-118.29943499572406, 33.848953872494164), (-118.39294170620582, 33.82562180473932)),)]}" +"fireEvent/2023-02-02_0x54cb8f0000000000","FireEvent","FireEvent at LatLong(41.47058:-120.70951) on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 41.47058 -120.70951]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06049,dcid:northamerica,dcid:s2CellId/0x54cb8f0000000000,dcid:s2CellId/0x54cb8f4400000000,dcid:s2CellId/0x54cb8f5400000000,dcid:s2CellId/0x54cb8f5c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.06277 SquareKilometer]",3.06277,327.62,272.03,"n",5.28,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-120.69596078270568, 41.51225665619832), (-120.78974579669705, 41.48457453497503), (-120.72303221281992, 41.42894920721651), (-120.62936599977766, 41.45651647172395), (-120.69596078270568, 41.51225665619832)),)}" +"fireEvent/2023-01-27_0x80d65f0000000000","FireEvent","FireEvent at LatLong(32.62272:-114.54208) on 2023-01-27","2023-01-27","2023-01-27","P1D",1,1,"[LatLong 32.62272 -114.54208]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d65e0c00000000,dcid:s2CellId/0x80d65e3400000000,dcid:s2CellId/0x80d65f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.6251 SquareKilometer]",2.6251,367.0,298.2,"n",4.84,"2023-01-27","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 32.686238988626556), (-114.61928990191176, 32.601380600508776), (-114.52426397902158, 32.62110549021124), (-114.52426397902158, 32.705990765439765), (-114.61928990191176, 32.686238988626556)),)}" +"fireEvent/2023-02-16_0x80d7490000000000","FireEvent","FireEvent at LatLong(33.07521:-115.34895) on 2023-02-16","2023-02-16","2023-02-16","P1D",1,1,"[LatLong 33.07521 -115.34895]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d748e400000000,dcid:s2CellId/0x80d748ec00000000,dcid:s2CellId/0x80d7490000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.58433 SquareKilometer]",2.58433,340.42,296.24,"n",4.19,"2023-02-16","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 33.11612672382202), (-115.3785719022423, 33.03195811961158), (-115.28375849518459, 33.052472062640916), (-115.28375849518459, 33.13666731039678), (-115.3785719022423, 33.11612672382202)),)}" +"fireEvent/2023-02-13_0x80d13b0000000000","FireEvent","FireEvent at LatLong(33.58312:-114.57178) on 2023-02-13","2023-02-13","2023-02-13","P1D",1,1,"[LatLong 33.58312 -114.57178]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80d1390000000000,dcid:s2CellId/0x80d1397c00000000,dcid:s2CellId/0x80d1398400000000,dcid:s2CellId/0x80d13a2c00000000,dcid:s2CellId/0x80d13b0000000000,dcid:s2CellId/0x80d13bd400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[5.14447 SquareKilometer]",5.14447,355.7,289.95,"n",15.57,"2023-02-13","{'type': 'Polygon', 'coordinates': (((-114.71429184441094, 33.51096047591866), (-114.71429184441094, 33.59502928061842), (-114.61928990191176, 33.615140915382845), (-114.52426397902158, 33.635175624754545), (-114.52426397902158, 33.55105718216274), (-114.61928990191176, 33.53104722357586), (-114.71429184441094, 33.51096047591866)),)}" +"fireEvent/2023-02-22_0x80d9df0000000000","FireEvent","FireEvent at LatLong(32.74909:-115.71018) on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 32.74909 -115.71018]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d9df0000000000,dcid:s2CellId/0x80d9dfb400000000,dcid:s2CellId/0x80d9dfbc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.59256 SquareKilometer]",2.59256,306.94,283.45,"n",1.61,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-115.75751959733307, 32.78083278420529), (-115.75751959733307, 32.69657070793154), (-115.66283001554785, 32.71729983340048), (-115.66283001554785, 32.80158972121298), (-115.75751959733307, 32.78083278420529)),)}" +"fireEvent/2023-02-08_0x80d7c50000000000","FireEvent","FireEvent at LatLong(32.08173:-115.14741) on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 32.08173 -115.14741]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7c4dc00000000,dcid:s2CellId/0x80d7c4e400000000,dcid:s2CellId/0x80d7c50000000000,dcid:s2CellId/0x80d7c52400000000,dcid:s2CellId/0x80d7c90000000000,dcid:s2CellId/0x80d7c95c00000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",6,"[3.96094 SquareKilometer]",3.96094,342.0,304.14,"n",39.56,"2023-02-08,2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-115.09404500241959, 32.07704259018568), (-115.18891595142229, 32.057010591540205), (-115.18891595142229, 32.14202858870148), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.07704259018568)),), (((-115.09404500241959, 32.24707198896053), (-114.99914638140322, 32.26708735189506), (-114.99914638140322, 32.182076294930475), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.24707198896053)),)]}" +"fireEvent/2023-01-02_0x80c2c30000000000","FireEvent","FireEvent at LatLong(34.17095:-118.15908) on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 34.17095 -118.15908]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2c30000000000,dcid:s2CellId/0x80c2c3c400000000,dcid:s2CellId/0x80c2c3cc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.45141 SquareKilometer]",2.45141,298.34,277.71,"n",0.45,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-118.20587682407124, 34.2002433918674), (-118.20587682407124, 34.118342161375), (-118.1122678531936, 34.14161353880244), (-118.1122678531936, 34.22354120793316), (-118.20587682407124, 34.2002433918674)),)}" +"fireEvent/2023-01-17_0x80d9310000000000","FireEvent","FireEvent at LatLong(32.36765:-117.03233) on 2023-01-17","2023-01-17","2023-01-17","P1D",1,1,"[LatLong 32.36765 -117.03233]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d9310000000000,dcid:s2CellId/0x80d9316400000000,dcid:s2CellId/0x80d9316c00000000,dcid:wikidataId/Q2088119,dcid:wikidataId/Q58731",3,"[2.5781 SquareKilometer]",2.5781,304.21,280.73,"n",1.05,"2023-01-17","{'type': 'Polygon', 'coordinates': (((-117.07940822560565, 32.39872950090179), (-117.07940822560565, 32.31480850427524), (-116.98524219342079, 32.33651897516448), (-116.98524219342079, 32.42047001297981), (-117.07940822560565, 32.39872950090179)),)}" +"fireEvent/2023-01-22_0x80d7730000000000","FireEvent","FireEvent at LatLong(32.66256:-115.33117) on 2023-01-22","2023-01-22","2023-01-24","P3D",3,2,"[LatLong 32.66256 -115.33117]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7730000000000,dcid:s2CellId/0x80d7734400000000,dcid:s2CellId/0x80d7770000000000,dcid:s2CellId/0x80d777e400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61009 SquareKilometer]",2.61009,332.31,298.7,"n",2.4,"2023-01-22,2023-01-24","{'type': 'MultiPolygon', 'coordinates': [(((-115.3785719022423, 32.69460416981107), (-115.28375849518459, 32.71500954782312), (-115.28375849518459, 32.63047572713295), (-115.3785719022423, 32.610097988335994), (-115.3785719022423, 32.69460416981107)),), (((-115.3785719022423, 32.52552561351063), (-115.47335544292073, 32.505101778412154), (-115.47335544292073, 32.58964617062371), (-115.3785719022423, 32.610097988335994), (-115.3785719022423, 32.52552561351063)),)]}" +"fireEvent/2023-02-08_0x8084bd0000000000","FireEvent","FireEvent at LatLong(38.91874:-121.99849) on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.91874 -121.99849]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084962c00000000,dcid:s2CellId/0x8084970000000000,dcid:s2CellId/0x8084ba5c00000000,dcid:s2CellId/0x8084bb0000000000,dcid:s2CellId/0x8084bd0000000000,dcid:s2CellId/0x8084bd3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.08578 SquareKilometer]",3.08578,333.72,292.7,"n",6.89,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 38.99052003451348), (-121.81070794913828, 39.018202765231806), (-121.81070794913828, 38.942965923417724), (-121.90179543138471, 38.91529872827276), (-121.99280779590266, 38.88756204233199), (-122.08374449567626, 38.85975615372649), (-122.08374449567626, 38.93494605995725), (-121.99280779590266, 38.96276770349571), (-121.90179543138471, 38.99052003451348)),)}" +"fireEvent/2023-02-10_0x80d7b50000000000","FireEvent","FireEvent at LatLong(32.38917:-114.89829) on 2023-02-10","2023-02-10","2023-02-12","P3D",3,3,"[LatLong 32.38917 -114.89829]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d64cb400000000,dcid:s2CellId/0x80d64d0000000000,dcid:s2CellId/0x80d7b50000000000,dcid:s2CellId/0x80d7b5cc00000000,dcid:s2CellId/0x80d7c90000000000,dcid:s2CellId/0x80d7c91c00000000,dcid:s2CellId/0x80d7cb0000000000,dcid:s2CellId/0x80d7cb6c00000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",8,"[5.27073 SquareKilometer]",5.27073,341.66,301.14,"n",12.68,"2023-02-10,2023-02-11,2023-02-12","{'type': 'MultiPolygon', 'coordinates': [(((-114.90422082333554, 32.287028613932726), (-114.90422082333554, 32.20198930823536), (-114.99914638140322, 32.182076294930475), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.24707198896053), (-114.99914638140322, 32.26708735189506), (-114.99914638140322, 32.35203367788002), (-114.90422082333554, 32.37200299165679), (-114.90422082333554, 32.287028613932726)),), (((-114.80926906488743, 32.47683458066355), (-114.80926906488743, 32.39189787714385), (-114.90422082333554, 32.37200299165679), (-114.90422082333554, 32.45691198535573), (-114.80926906488743, 32.47683458066355)),)]}" +"fireEvent/2023-03-25_0x8084c10000000000","FireEvent","FireEvent at LatLong(38.80681:-121.96437) on 2023-03-25","2023-03-25","2023-03-27","P3D",3,2,"[LatLong 38.80681 -121.96437]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084c06c00000000,dcid:s2CellId/0x8084c10000000000,dcid:s2CellId/0x8084c25400000000,dcid:s2CellId/0x8084c30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.06751 SquareKilometer]",2.06751,326.05,293.34,"n",5.44,"2023-03-25,2023-03-27","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.81227184229434), (-121.90179543138471, 38.83999267404077), (-121.90179543138471, 38.764602101272494), (-121.90179543138471, 38.68912724158433), (-121.99280779590266, 38.66143874752344), (-121.99280779590266, 38.73689733332498), (-121.99280779590266, 38.81227184229434)),)}" +"fireEvent/2023-01-22_0x80cf430000000000","FireEvent","FireEvent at LatLong(35.53371:-115.45559) on 2023-01-22","2023-01-22","2023-01-22","P1D",1,1,"[LatLong 35.53371 -115.45559]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80cf42c400000000,dcid:s2CellId/0x80cf430000000000,dcid:s2CellId/0x80cf5cbc00000000,dcid:s2CellId/0x80cf5d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.44 SquareKilometer]",2.44,346.66,281.4,"n",5.03,"2023-01-22","{'type': 'Polygon', 'coordinates': (((-115.3785719022423, 35.60733295233472), (-115.3785719022423, 35.52540546365499), (-115.47335544292073, 35.50409953767375), (-115.5681083893613, 35.482715048732345), (-115.5681083893613, 35.56460070429775), (-115.47335544292073, 35.58600617105782), (-115.3785719022423, 35.60733295233472)),)}" +"fireEvent/2023-01-28_0x80c3130000000000","FireEvent","FireEvent at LatLong(34.49466:-117.61415) on 2023-01-28","2023-01-28","2023-01-28","P1D",1,1,"[LatLong 34.49466 -117.61415]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c3126c00000000,dcid:s2CellId/0x80c312b400000000,dcid:s2CellId/0x80c3130000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.44911 SquareKilometer]",2.44911,321.27,273.97,"n",2.81,"2023-01-28","{'type': 'Polygon', 'coordinates': (((-117.64348435403741, 34.502850247756115), (-117.64348435403741, 34.42093763167103), (-117.54958462854715, 34.4438279801098), (-117.54958462854715, 34.525765807815226), (-117.64348435403741, 34.502850247756115)),)}" +"fireEvent/2023-01-31_0x80d13f0000000000","FireEvent","FireEvent at LatLong(33.64814:-114.63710) on 2023-01-31","2023-01-31","2023-02-02","P3D",3,2,"[LatLong 33.64814 -114.63710]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06065,dcid:northamerica,dcid:s2CellId/0x80d13c3400000000,dcid:s2CellId/0x80d13d0000000000,dcid:s2CellId/0x80d13e5400000000,dcid:s2CellId/0x80d13f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.56762 SquareKilometer]",2.56762,342.18,295.34,"n",6.63,"2023-01-31,2023-02-02","{'type': 'Polygon', 'coordinates': (((-114.52426397902158, 33.71922177939378), (-114.52426397902158, 33.635175624754545), (-114.61928990191176, 33.615140915382845), (-114.71429184441094, 33.59502928061842), (-114.71429184441097, 33.67902618540428), (-114.61928990191176, 33.69916251294337), (-114.52426397902158, 33.71922177939378)),)}" +"fireEvent/2023-02-10_0x80c3570000000000","FireEvent","FireEvent at LatLong(34.23570:-117.22058) on 2023-02-10","2023-02-10","2023-02-10","P1D",1,1,"[LatLong 34.23570 -117.22058]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c3570000000000,dcid:s2CellId/0x80c3576c00000000,dcid:s2CellId/0x80c3577400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.47226 SquareKilometer]",2.47226,333.96,286.31,"n",4.91,"2023-02-10","{'type': 'Polygon', 'coordinates': (((-117.26761160397515, 34.26558118262346), (-117.26761160397515, 34.18327624878457), (-117.17353159273283, 34.20577201206521), (-117.17353159273283, 34.28810246007675), (-117.26761160397515, 34.26558118262346)),)}" +"fireEvent/2023-02-20_0x54d3e30000000000","FireEvent","FireEvent at LatLong(40.93394:-123.88475) on 2023-02-20","2023-02-20","2023-02-20","P1D",1,1,"[LatLong 40.93394 -123.88475]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d15e3400000000,dcid:s2CellId/0x54d15e4c00000000,dcid:s2CellId/0x54d15f0000000000,dcid:s2CellId/0x54d15fb400000000,dcid:s2CellId/0x54d3e10000000000,dcid:s2CellId/0x54d3e1f400000000,dcid:s2CellId/0x54d3e1fc00000000,dcid:s2CellId/0x54d3e21c00000000,dcid:s2CellId/0x54d3e30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[6.10311 SquareKilometer]",6.10311,343.04,294.93,"n",46.97,"2023-02-20","{'type': 'Polygon', 'coordinates': (((-124.01120455766761, 40.849147421528926), (-123.91946070957886, 40.87972665089066), (-123.99050231911558, 40.93193999734144), (-123.8985725188299, 40.962569950683395), (-123.8276237504466, 40.91023590743991), (-123.7568661838358, 40.85791688622407), (-123.84860998990712, 40.827527949546344), (-123.94026150527637, 40.79706911642794), (-124.01120455766761, 40.849147421528926)),)}" +"fireEvent/2023-02-08_0x8083590000000000","FireEvent","FireEvent at LatLong(39.27349:-121.63401) on 2023-02-08","2023-02-08","2023-02-10","P3D",3,3,"[LatLong 39.27349 -121.63401]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06101,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x808354cc00000000,dcid:s2CellId/0x8083550000000000,dcid:s2CellId/0x8083590000000000,dcid:s2CellId/0x8083591c00000000,dcid:s2CellId/0x8084a90000000000,dcid:s2CellId/0x8084a99400000000,dcid:s2CellId/0x8084aaa400000000,dcid:s2CellId/0x8084ab0000000000,dcid:s2CellId/0x8084af0000000000,dcid:s2CellId/0x8084afdc00000000,dcid:s2CellId/0x8084b30000000000,dcid:s2CellId/0x8084b39c00000000,dcid:s2CellId/0x809b510000000000,dcid:s2CellId/0x809b515400000000,dcid:s2CellId/0x809b540400000000,dcid:s2CellId/0x809b550000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",16,"[8.21246 SquareKilometer]",8.21246,340.24,293.12,"n",20.04,"2023-02-08,2023-02-09,2023-02-10","{'type': 'MultiPolygon', 'coordinates': [(((-121.81070794913828, 39.16842067392795), (-121.90179543138471, 39.14070749598967), (-121.90179543138471, 39.21567320309416), (-121.81070794913828, 39.2434012936763), (-121.81070794913828, 39.16842067392795)),), (((-121.81070794913828, 39.09335442361682), (-121.81070794913828, 39.16842067392795), (-121.71954589932093, 39.19606374838049), (-121.71954589932093, 39.27105917309169), (-121.62830983522124, 39.29864655751711), (-121.62830983522124, 39.22363643515711), (-121.53700031324804, 39.25113845152714), (-121.53700031324804, 39.1760274894232), (-121.62830983522124, 39.148540269420884), (-121.71954589932093, 39.12098248645304), (-121.71954589932093, 39.045815609296426), (-121.81070794913828, 39.018202765231806), (-121.81070794913828, 39.09335442361682)),), (((-121.62830983522124, 38.99809069591985), (-121.71954589932093, 38.970563341057584), (-121.71954589932093, 39.045815609296426), (-121.62830983522124, 39.07335828179249), (-121.62830983522124, 38.99809069591985)),), (((-121.53700031324804, 39.1760274894232), (-121.44561789291927, 39.203443864834576), (-121.44561789291927, 39.12823197970606), (-121.53700031324804, 39.10083049925948), (-121.53700031324804, 39.1760274894232)),)]}" +"fireEvent/2023-01-06_0x80cf5d0000000000","FireEvent","FireEvent at LatLong(35.55573:-115.42597) on 2023-01-06","2023-01-06","2023-01-06","P1D",1,1,"[LatLong 35.55573 -115.42597]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80cf430000000000,dcid:s2CellId/0x80cf432c00000000,dcid:s2CellId/0x80cf5cac00000000,dcid:s2CellId/0x80cf5d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.43909 SquareKilometer]",2.43909,343.4,283.86,"n",3.87,"2023-01-06","{'type': 'Polygon', 'coordinates': (((-115.5681083893613, 35.482715048732345), (-115.5681083893613, 35.56460070429775), (-115.47335544292073, 35.58600617105782), (-115.3785719022423, 35.60733295233472), (-115.3785719022423, 35.52540546365499), (-115.47335544292073, 35.50409953767375), (-115.5681083893613, 35.482715048732345)),)}" +"fireEvent/2023-01-02_0x80d7af0000000000","FireEvent","FireEvent at LatLong(32.44097:-115.00508) on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 32.44097 -115.00508]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7ae0400000000,dcid:s2CellId/0x80d7ae1c00000000,dcid:s2CellId/0x80d7af0000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",3,"[2.62574 SquareKilometer]",2.62574,345.79,300.55,"n",33.0,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.416843256562224), (-114.99914638140322, 32.43691481682768), (-114.99914638140322, 32.52173031511323), (-115.09404500241959, 32.50163095253783)),)}" +"fireEvent/2023-02-15_0x8092db0000000000","FireEvent","FireEvent at LatLong(35.89531:-121.03351) on 2023-02-15","2023-02-15","2023-02-15","P1D",1,1,"[LatLong 35.89531 -121.03351]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06053,dcid:northamerica,dcid:s2CellId/0x8092db0000000000,dcid:s2CellId/0x8092dbec00000000,dcid:s2CellId/0x8092dbf400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.26338 SquareKilometer]",2.26338,333.02,292.38,"n",3.38,"2023-02-15","{'type': 'Polygon', 'coordinates': (((-121.07937052658627, 35.92160807483137), (-121.07937052658627, 35.842757347952094), (-120.98763211526173, 35.8689609102411), (-120.98763211526173, 35.947835377412154), (-121.07937052658627, 35.92160807483137)),)}" +"fireEvent/2023-02-14_0x8094a50000000000","FireEvent","FireEvent at LatLong(36.19279:-120.02608) on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 36.19279 -120.02608]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094a45c00000000,dcid:s2CellId/0x8094a50000000000,dcid:s2CellId/0x8094af0000000000,dcid:s2CellId/0x8094af3400000000,dcid:s2CellId/0x8094b27400000000,dcid:s2CellId/0x8094b30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.42808 SquareKilometer]",3.42808,335.21,293.78,"n",5.68,"2023-02-14","{'type': 'MultiPolygon', 'coordinates': [(((-120.06652363285929, 36.20635508236253), (-119.97405342347365, 36.23182560661413), (-119.97405342347365, 36.15269831052497), (-119.97405342347365, 36.07349347026282), (-120.06652363285929, 36.04806788044641), (-120.06652363285929, 36.12725014536185), (-120.06652363285929, 36.20635508236253)),), (((-119.881520291274, 36.0988488632732), (-119.881520291274, 36.01954412977965), (-119.97405342347365, 35.99421140364652), (-119.97405342347365, 36.07349347026282), (-119.881520291274, 36.0988488632732)),)]}" +"fireEvent/2023-02-12_0x80921d0000000000","FireEvent","FireEvent at LatLong(36.79488:-121.35988) on 2023-02-12","2023-02-12","2023-02-12","P1D",1,1,"[LatLong 36.79488 -121.35988]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06069,dcid:northamerica,dcid:s2CellId/0x80921c1c00000000,dcid:s2CellId/0x80921c2400000000,dcid:s2CellId/0x80921d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.20223 SquareKilometer]",2.20223,340.59,291.48,"n",9.06,"2023-02-12","{'type': 'Polygon', 'coordinates': (((-121.44561789291927, 36.83295988739003), (-121.44561789291927, 36.75519608151651), (-121.35416313685073, 36.78196379162144), (-121.35416313685073, 36.85974897343489), (-121.44561789291927, 36.83295988739003)),)}" +"fireEvent/2023-03-08_0x8084c50000000000","FireEvent","FireEvent at LatLong(38.71304:-121.94731) on 2023-03-08","2023-03-08","2023-03-08","P1D",1,1,"[LatLong 38.71304 -121.94731]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084c30000000000,dcid:s2CellId/0x8084c37c00000000,dcid:s2CellId/0x8084c48400000000,dcid:s2CellId/0x8084c50000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.07172 SquareKilometer]",2.07172,327.93,290.03,"n",5.75,"2023-03-08","{'type': 'Polygon', 'coordinates': (((-121.81070794913828, 38.792237598880945), (-121.81070794913828, 38.71674657625675), (-121.90179543138471, 38.68912724158433), (-121.99280779590266, 38.66143874752344), (-121.99280779590266, 38.73689733332498), (-121.90179543138471, 38.764602101272494), (-121.81070794913828, 38.792237598880945)),)}" +"fireEvent/2023-01-29_0x54d4790000000000","FireEvent","FireEvent at LatLong(40.49879:-123.77534) on 2023-01-29","2023-01-29","2023-01-31","P3D",3,2,"[LatLong 40.49879 -123.77534]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d3883c00000000,dcid:s2CellId/0x54d3890000000000,dcid:s2CellId/0x54d4790000000000,dcid:s2CellId/0x54d4799400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.00192 SquareKilometer]",2.00192,332.71,281.19,"n",4.41,"2023-01-29,2023-01-31","{'type': 'MultiPolygon', 'coordinates': [(((-123.70049822514551, 40.42522833582968), (-123.79132396242879, 40.39527764865095), (-123.86141054001804, 40.44690605911238), (-123.77049305755222, 40.47697512444182), (-123.70049822514551, 40.42522833582968)),), (((-123.84067520047952, 40.528738100451406), (-123.7495757059824, 40.558857301706794), (-123.67948580703302, 40.50697565055471), (-123.77049305755222, 40.47697512444182), (-123.84067520047952, 40.528738100451406)),)]}" +"fireEvent/2023-01-23_0x80d7a30000000000","FireEvent","FireEvent at LatLong(32.42898:-115.23634) on 2023-01-23","2023-01-23","2023-01-24","P2D",2,2,"[LatLong 32.42898 -115.23634]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7a30000000000,dcid:s2CellId/0x80d7a32c00000000,dcid:s2CellId/0x80d7a61c00000000,dcid:s2CellId/0x80d7a70000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.6215 SquareKilometer]",2.6215,325.92,278.0,"n",2.75,"2023-01-23,2023-01-24","{'type': 'MultiPolygon', 'coordinates': [(((-115.18891595142229, 32.396697488156796), (-115.28375849518459, 32.376477697313184), (-115.28375849518459, 32.46120935428951), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.396697488156796)),), (((-115.18891595142229, 32.5661512898709), (-115.09404500241959, 32.58635275421574), (-115.09404500241959, 32.50163095253783), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.5661512898709)),)]}" +"fireEvent/2023-02-15_0x8084190000000000","FireEvent","FireEvent at LatLong(38.55466:-122.94377) on 2023-02-15","2023-02-15","2023-02-15","P1D",1,1,"[LatLong 38.55466 -122.94377]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084190000000000,dcid:s2CellId/0x8084194c00000000,dcid:s2CellId/0x8084195c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",3,"[2.04397 SquareKilometer]",2.04397,353.88,288.49,"n",12.23,"2023-02-15","{'type': 'Polygon', 'coordinates': (((-122.98883185517735, 38.57795549626145), (-122.98883185517735, 38.50284704939158), (-122.89868119049753, 38.531311728977435), (-122.89868119049753, 38.60643726233182), (-122.98883185517735, 38.57795549626145)),)}" +"fireEvent/2023-02-22_0x8090f90000000000","FireEvent","FireEvent at LatLong(37.81896:-120.84989) on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 37.81896 -120.84989]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8090f70000000000,dcid:s2CellId/0x8090f7f400000000,dcid:s2CellId/0x8090f81c00000000,dcid:s2CellId/0x8090f90000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.16141 SquareKilometer]",2.16141,353.83,289.55,"n",5.74,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-120.80394744373855, 37.71662016196677), (-120.89582422732902, 37.69006636052178), (-120.89582422732902, 37.76714783509468), (-120.89582422732902, 37.84414693051973), (-120.80394744373855, 37.870737535489965), (-120.80394744373855, 37.79372014425884), (-120.80394744373855, 37.71662016196677)),)}" +"fireEvent/2023-02-22_0x809ab50000000000","FireEvent","FireEvent at LatLong(38.28943:-121.57696) on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 38.28943 -121.57696]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06067,dcid:northamerica,dcid:s2CellId/0x809ab45400000000,dcid:s2CellId/0x809ab50000000000,dcid:s2CellId/0x809ac90000000000,dcid:s2CellId/0x809ac97c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.10594 SquareKilometer]",2.10594,332.24,288.45,"n",4.85,"2023-02-22","{'type': 'MultiPolygon', 'coordinates': [(((-121.53700031324804, 38.26805113233758), (-121.62830983522124, 38.24075768997389), (-121.62830983522124, 38.31686847929773), (-121.53700031324804, 38.344179224155184), (-121.53700031324804, 38.26805113233758)),), (((-121.53700031324804, 38.420223862477606), (-121.44561789291927, 38.44748195173517), (-121.44561789291927, 38.37142033485118), (-121.53700031324804, 38.344179224155184), (-121.53700031324804, 38.420223862477606)),)]}" +"fireEvent/2023-02-01_0x809c930000000000","FireEvent","FireEvent at LatLong(39.63644:-121.12521) on 2023-02-01","2023-02-01","2023-02-01","P1D",1,1,"[LatLong 39.63644 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809c930000000000,dcid:s2CellId/0x809c938400000000,dcid:s2CellId/0x809c939400000000,dcid:s2CellId/0x809c939c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[3.06163 SquareKilometer]",3.06163,344.42,280.12,"n",6.24,"2023-02-01","{'type': 'Polygon', 'coordinates': (((-121.1710388833767, 39.66023770903055), (-121.1710388833767, 39.58541818705814), (-121.07937052658627, 39.612604240032645), (-121.07937052658627, 39.68743721730411), (-121.1710388833767, 39.66023770903055)),)}" +"fireEvent/2023-02-13_0x8090090000000000","FireEvent","FireEvent at LatLong(38.04167:-121.39990) on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 38.04167 -121.39990]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090090000000000,dcid:s2CellId/0x809009f400000000,dcid:s2CellId/0x809aa0e400000000,dcid:s2CellId/0x809aa10000000000,dcid:s2CellId/0x809aa12400000000,dcid:s2CellId/0x809aa22c00000000,dcid:s2CellId/0x809aa30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.18813 SquareKilometer]",3.18813,332.26,295.34,"n",5.05,"2023-02-13,2023-02-14,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-121.35416313685073, 38.016945946005436), (-121.44561789291927, 37.989862251655644), (-121.44561789291927, 38.06633970127007), (-121.35416313685073, 38.09344131890122), (-121.35416313685073, 38.016945946005436)),), (((-121.35416313685073, 38.24618318229601), (-121.26263661074441, 38.273250034494005), (-121.26263661074441, 38.196903281604015), (-121.26263661074441, 38.12047318795499), (-121.35416313685073, 38.09344131890122), (-121.35416313685073, 38.169853815308585), (-121.35416313685073, 38.24618318229601)),)]}" +"fireEvent/2023-03-26_0x809aad0000000000","FireEvent","FireEvent at LatLong(38.14008:-121.58266) on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 38.14008 -121.58266]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06067,dcid:northamerica,dcid:s2CellId/0x809aad0000000000,dcid:s2CellId/0x809aad9c00000000,dcid:s2CellId/0x809ab10000000000,dcid:s2CellId/0x809ab16400000000,dcid:s2CellId/0x809ab17c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.17023 SquareKilometer]",3.17023,339.33,296.01,"n",4.24,"2023-03-26,2023-03-27","{'type': 'MultiPolygon', 'coordinates': [(((-121.53700031324804, 38.11554557922101), (-121.62830983522124, 38.08828737798534), (-121.62830983522124, 38.164563906252226), (-121.53700031324804, 38.1918398342251), (-121.53700031324804, 38.11554557922101)),), (((-121.53700031324804, 38.26805113233758), (-121.44561789291927, 38.295275053513606), (-121.44561789291927, 38.21904635446754), (-121.53700031324804, 38.1918398342251), (-121.53700031324804, 38.26805113233758)),)]}" +"fireEvent/2023-03-07_0x80a27b0000000000","FireEvent","FireEvent at LatLong(39.61225:-118.55062) on 2023-03-07","2023-03-07","2023-03-08","P2D",2,2,"[LatLong 39.61225 -118.55062]","dcid:Earth,dcid:country/USA,dcid:geoId/32,dcid:geoId/32001,dcid:northamerica,dcid:s2CellId/0x80a27a4c00000000,dcid:s2CellId/0x80a27a5400000000,dcid:s2CellId/0x80a27abc00000000,dcid:s2CellId/0x80a27aec00000000,dcid:s2CellId/0x80a27af400000000,dcid:s2CellId/0x80a27afc00000000,dcid:s2CellId/0x80a27b0000000000,dcid:s2CellId/0x80a27b2400000000,dcid:s2CellId/0x80a27b3400000000,dcid:s2CellId/0x80a27b3c00000000,dcid:s2CellId/0x80a27bac00000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",11,"[7.40379 SquareKilometer]",7.40379,352.23,283.64,"n",17.63,"2023-03-07,2023-03-08","{'type': 'Polygon', 'coordinates': (((-118.57979810860881, 39.63771777073999), (-118.57979810860881, 39.56163680447531), (-118.4863962961138, 39.5865742114197), (-118.4863962961138, 39.66266778628226), (-118.57979810860881, 39.63771777073999)),)}" +"fireEvent/2023-02-03_0x80e8350000000000","FireEvent","FireEvent at LatLong(34.26672:-118.97033) on 2023-02-03","2023-02-03","2023-02-03","P1D",1,1,"[LatLong 34.26672 -118.97033]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06111,dcid:northamerica,dcid:s2CellId/0x80e8341400000000,dcid:s2CellId/0x80e8350000000000,dcid:s2CellId/0x80e9cd0000000000,dcid:s2CellId/0x80e9cd0400000000,dcid:s2CellId/0x80e9cd1c00000000,dcid:s2CellId/0x80e9cd7c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[4.83745 SquareKilometer]",4.83745,339.7,295.52,"n",5.02,"2023-02-03","{'type': 'MultiPolygon', 'coordinates': [(((-118.95286453849957, 34.25595085868918), (-119.04599270243568, 34.23193851002654), (-119.04599270243568, 34.31331655905895), (-118.95286453849957, 34.337355700566725), (-118.95286453849957, 34.25595085868918)),), (((-118.95286453849957, 34.41868959827641), (-118.8596803520908, 34.44268533206974), (-118.85968035209078, 34.36132499295383), (-118.95286453849957, 34.337355700566725), (-118.95286453849957, 34.41868959827641)),)]}" +"fireEvent/2023-02-14_0x8083250000000000","FireEvent","FireEvent at LatLong(39.64036:-121.85626) on 2023-02-14","2023-02-14","2023-02-17","P4D",4,3,"[LatLong 39.64036 -121.85626]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x8083250000000000,dcid:s2CellId/0x8083257c00000000,dcid:s2CellId/0x8083258400000000,dcid:s2CellId/0x8083259c00000000,dcid:s2CellId/0x808325bc00000000,dcid:s2CellId/0x80832f0000000000,dcid:s2CellId/0x80832fbc00000000,dcid:s2CellId/0x80833ac400000000,dcid:s2CellId/0x80833b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[4.03851 SquareKilometer]",4.03851,345.96,293.21,"n",15.18,"2023-02-14,2023-02-15,2023-02-17","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 39.66366133679624), (-121.81070794913828, 39.69147458174664), (-121.71954589932093, 39.71921697980668), (-121.71954589932093, 39.64474111961013), (-121.81070794913828, 39.617012297346776), (-121.81070794913828, 39.54246309252981), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.58921273290782), (-121.90179543138471, 39.66366133679624)),)}" +"fireEvent/2023-03-11_0x80938d0000000000","FireEvent","FireEvent at LatLong(36.78493:-120.26858) on 2023-03-11","2023-03-11","2023-03-13","P3D",3,2,"[LatLong 36.78493 -120.26858]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x80938c1c00000000,dcid:s2CellId/0x80938c2400000000,dcid:s2CellId/0x80938c3c00000000,dcid:s2CellId/0x80938d0000000000,dcid:s2CellId/0x80938ea400000000,dcid:s2CellId/0x80938f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.35804 SquareKilometer]",3.35804,339.25,291.16,"n",7.09,"2023-03-11,2023-03-13","{'type': 'Polygon', 'coordinates': (((-120.34355063422758, 36.83735562297489), (-120.25127284433846, 36.8632307113465), (-120.25127284433846, 36.784876873442236), (-120.25127284433846, 36.706443376822236), (-120.34355063422758, 36.680610078824635), (-120.3435506342276, 36.75902257287933), (-120.34355063422758, 36.83735562297489)),)}" +"fireEvent/2023-02-15_0x80845b0000000000","FireEvent","FireEvent at LatLong(38.51748:-122.58252) on 2023-02-15","2023-02-15","2023-02-17","P3D",3,2,"[LatLong 38.51748 -122.58252]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x8084454c00000000,dcid:s2CellId/0x8084570000000000,dcid:s2CellId/0x8084572400000000,dcid:s2CellId/0x80845b0000000000,dcid:s2CellId/0x80845b5400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",6,"[3.09508 SquareKilometer]",3.09508,336.42,291.53,"n",3.5,"2023-02-15,2023-02-17","{'type': 'MultiPolygon', 'coordinates': [(((-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188), (-122.5372740990185, 38.49387172650253), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.44672381753844, 38.59734459614429)),), (((-122.35609518371197, 38.47452361214821), (-122.44672381753844, 38.44651073306092), (-122.44672381753844, 38.52196905593188), (-122.35609518371197, 38.549998981659485), (-122.35609518371197, 38.47452361214821)),)]}" +"fireEvent/2023-01-01_0x80d7b50000000000","FireEvent","FireEvent at LatLong(32.16937:-114.85675) on 2023-01-01","2023-01-01","2023-01-05","P5D",5,4,"[LatLong 32.16937 -114.85675]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d6330000000000,dcid:s2CellId/0x80d6337400000000,dcid:s2CellId/0x80d6337c00000000,dcid:s2CellId/0x80d6338c00000000,dcid:s2CellId/0x80d6339400000000,dcid:s2CellId/0x80d633ec00000000,dcid:s2CellId/0x80d633f400000000,dcid:s2CellId/0x80d6343c00000000,dcid:s2CellId/0x80d6344400000000,dcid:s2CellId/0x80d634e400000000,dcid:s2CellId/0x80d6350000000000,dcid:s2CellId/0x80d6351c00000000,dcid:s2CellId/0x80d7b4d400000000,dcid:s2CellId/0x80d7b50000000000,dcid:s2CellId/0x80d7b6cc00000000,dcid:s2CellId/0x80d7b6d400000000,dcid:s2CellId/0x80d7b70000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",17,"[11.87124 SquareKilometer]",11.87124,367.0,344.76,"n",83.76,"2023-01-01,2023-01-02,2023-01-03,2023-01-05","{'type': 'MultiPolygon', 'coordinates': [(((-114.99914638140322, 32.26708735189506), (-115.09404500241959, 32.24707198896053), (-115.09404500241959, 32.33199011749119), (-114.99914638140322, 32.35203367788002), (-114.90422082333554, 32.37200299165679), (-114.90422082333554, 32.287028613932726), (-114.99914638140322, 32.26708735189506)),), (((-114.80926906488743, 32.22182818489056), (-114.80926906488743, 32.13669611068431), (-114.90422082333554, 32.11688553304868), (-114.90422082333554, 32.20198930823536), (-114.90422082333554, 32.287028613932726), (-114.80926906488743, 32.306895593204814), (-114.80926906488743, 32.22182818489056)),)]}" +"fireEvent/2023-02-22_0x809aa70000000000","FireEvent","FireEvent at LatLong(38.14519:-121.30841) on 2023-02-22","2023-02-22","2023-02-22","P1D",1,1,"[LatLong 38.14519 -121.30841]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x809aa10000000000,dcid:s2CellId/0x809aa14c00000000,dcid:s2CellId/0x809aa6c400000000,dcid:s2CellId/0x809aa70000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.12355 SquareKilometer]",2.12355,328.55,287.85,"n",2.58,"2023-02-22","{'type': 'Polygon', 'coordinates': (((-121.44561789291927, 38.06633970127007), (-121.44561789291927, 38.14273448666555), (-121.35416313685073, 38.169853815308585), (-121.26263661074441, 38.196903281604015), (-121.26263661074441, 38.12047318795499), (-121.35416313685073, 38.09344131890122), (-121.44561789291927, 38.06633970127007)),)}" +"fireEvent/2023-02-08_0x809c950000000000","FireEvent","FireEvent at LatLong(39.60965:-121.19967) on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 39.60965 -121.19967]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x809c945c00000000,dcid:s2CellId/0x809c94f400000000,dcid:s2CellId/0x809c950000000000,dcid:s2CellId/0x809c957c00000000,dcid:s2CellId/0x809cbf0000000000,dcid:s2CellId/0x809cbfd400000000,dcid:s2CellId/0x809cbfdc00000000,dcid:s2CellId/0x809cbfe400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[6.11717 SquareKilometer]",6.11717,337.78,287.95,"n",3.89,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-121.1710388833767, 39.66023770903055), (-121.1710388833767, 39.58541818705814), (-121.26263661074441, 39.55815975879043), (-121.35416313685073, 39.53082922928807), (-121.35416313685073, 39.60562152971405), (-121.26263661074441, 39.63296572194452), (-121.1710388833767, 39.66023770903055)),)}" +"fireEvent/2023-02-02_0x80d7b90000000000","FireEvent","FireEvent at LatLong(32.26175:-115.09998) on 2023-02-02","2023-02-02","2023-02-04","P3D",3,2,"[LatLong 32.26175 -115.09998]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7b81c00000000,dcid:s2CellId/0x80d7b90000000000,dcid:s2CellId/0x80d7c0c400000000,dcid:s2CellId/0x80d7c10000000000,dcid:s2CellId/0x80d7c30000000000,dcid:s2CellId/0x80d7c35400000000,dcid:s2CellId/0x80d7c4ac00000000,dcid:s2CellId/0x80d7c50000000000,dcid:s2CellId/0x80d7db0000000000,dcid:s2CellId/0x80d7db5400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",10,"[6.59638 SquareKilometer]",6.59638,342.82,306.64,"n",19.32,"2023-02-02,2023-02-04","{'type': 'MultiPolygon', 'coordinates': [(((-115.18891595142229, 32.2269827091063), (-115.18891595142229, 32.31187249427941), (-115.09404500241959, 32.33199011749119), (-115.09404500241959, 32.24707198896053), (-115.18891595142229, 32.2269827091063)),), (((-115.09404500241959, 32.07704259018568), (-115.09404500241959, 31.99193223931182), (-115.18891595142229, 31.971929178501046), (-115.18891595142229, 32.057010591540205), (-115.28375849518459, 32.036905155966636), (-115.28375849518459, 32.1218942661953), (-115.28375849518459, 32.20681969840767), (-115.18891595142229, 32.2269827091063), (-115.18891595142229, 32.14202858870148), (-115.09404500241959, 32.16208932703202), (-115.09404500241959, 32.07704259018568)),)]}" +"fireEvent/2023-02-13_0x8091570000000000","FireEvent","FireEvent at LatLong(37.17261:-120.28012) on 2023-02-13","2023-02-13","2023-02-15","P3D",3,3,"[LatLong 37.17261 -120.28012]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06039,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x8091562400000000,dcid:s2CellId/0x8091570000000000,dcid:s2CellId/0x8091570c00000000,dcid:s2CellId/0x8091575c00000000,dcid:s2CellId/0x8093883c00000000,dcid:s2CellId/0x8093890000000000,dcid:s2CellId/0x8093899400000000,dcid:s2CellId/0x80938cdc00000000,dcid:s2CellId/0x80938d0000000000,dcid:s2CellId/0x8093e30000000000,dcid:s2CellId/0x8093e3e400000000,dcid:s2CellId/0x8093e50000000000,dcid:s2CellId/0x8093e58400000000,dcid:s2CellId/0x8093e59400000000,dcid:s2CellId/0x8093f00c00000000,dcid:s2CellId/0x8093f10000000000,dcid:s2CellId/0x8093f50000000000,dcid:s2CellId/0x8093f53400000000,dcid:s2CellId/0x8093fa3400000000,dcid:s2CellId/0x8093faf400000000,dcid:s2CellId/0x8093fb0000000000,dcid:s2CellId/0x8093fb1400000000,dcid:s2CellId/0x8093fb7400000000,dcid:s2CellId/0x8093fb7c00000000,dcid:s2CellId/0x8093fc2c00000000,dcid:s2CellId/0x8093fc7400000000,dcid:s2CellId/0x8093fd0000000000,dcid:s2CellId/0x8093fdd400000000,dcid:s2CellId/0x8093ff0000000000,dcid:s2CellId/0x8093ffdc00000000,dcid:s2CellId/0x8093fffc00000000,dcid:s2CellId/0x809406ec00000000,dcid:s2CellId/0x8094070000000000,dcid:s2CellId/0x8094076400000000,dcid:s2CellId/0x809407ec00000000,dcid:s2CellId/0x8094090000000000,dcid:s2CellId/0x809409bc00000000,dcid:s2CellId/0x809409c400000000,dcid:s2CellId/0x80940a5400000000,dcid:s2CellId/0x80940b0000000000,dcid:s2CellId/0x80940d0000000000,dcid:s2CellId/0x80940da400000000,dcid:s2CellId/0x80940ea400000000,dcid:s2CellId/0x80940f0000000000,dcid:s2CellId/0x8094602c00000000,dcid:s2CellId/0x8094610000000000,dcid:s2CellId/0x809461fc00000000,dcid:s2CellId/0x8094628400000000,dcid:s2CellId/0x8094630000000000,dcid:s2CellId/0x809463c400000000,dcid:s2CellId/0x809464d400000000,dcid:s2CellId/0x8094650000000000,dcid:s2CellId/0x80946d0000000000,dcid:s2CellId/0x80946d0400000000,dcid:s2CellId/0x80946d4400000000,dcid:s2CellId/0x80946dfc00000000,dcid:s2CellId/0x80946e0400000000,dcid:s2CellId/0x80946f0000000000,dcid:s2CellId/0x809470fc00000000,dcid:s2CellId/0x8094710000000000,dcid:s2CellId/0x809471d400000000,dcid:s2CellId/0x809474a400000000,dcid:s2CellId/0x8094750000000000,dcid:s2CellId/0x8094757400000000,dcid:s2CellId/0x8094761c00000000,dcid:s2CellId/0x8094770000000000,dcid:s2CellId/0x809478b400000000,dcid:s2CellId/0x8094790000000000,dcid:s2CellId/0x80947b0000000000,dcid:s2CellId/0x80947b7c00000000,dcid:s2CellId/0x80947bac00000000,dcid:s2CellId/0x80947bb400000000,dcid:s2CellId/0x80947cb400000000,dcid:s2CellId/0x80947cbc00000000,dcid:s2CellId/0x80947d0000000000,dcid:s2CellId/0x809486b400000000,dcid:s2CellId/0x8094870000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",77,"[43.62675 SquareKilometer]",43.62675,341.96,294.37,"n",33.33,"2023-02-13,2023-02-14,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-120.43576307692442, 37.04586817243793), (-120.43576307692442, 37.12386045840006), (-120.3435506342276, 37.14988749788112), (-120.3435506342276, 37.227818933892436), (-120.25127284433846, 37.25379475261621), (-120.25127284433846, 37.17584359712822), (-120.15893030899788, 37.20172848568334), (-120.15893030899788, 37.12367640222347), (-120.25127284433846, 37.09781132766205), (-120.25127284433846, 37.019698230660886), (-120.25127284433846, 36.94150459487179), (-120.34355063422758, 36.91560893309172), (-120.34355063422758, 36.9937822095109), (-120.43576307692442, 36.96779548603939), (-120.43576307692442, 37.04586817243793)),), (((-119.78892484955995, 36.75592995709716), (-119.78892484955995, 36.677232696444996), (-119.881520291274, 36.6517959921811), (-119.97405342347365, 36.62628796342359), (-119.97405342347365, 36.54755307417071), (-120.06652363285929, 36.52199526983154), (-120.06652363285929, 36.600708876501066), (-120.06652363285929, 36.679343295179756), (-120.15893030899788, 36.653672228439554), (-120.15893030899788, 36.732206182076574), (-120.25127284433846, 36.706443376822236), (-120.25127284433846, 36.784876873442236), (-120.15893030899788, 36.810660560355714), (-120.15893030899788, 36.889035065659726), (-120.25127284433846, 36.8632307113465), (-120.25127284433846, 36.94150459487179), (-120.15893030899788, 36.96732940268327), (-120.15893030899788, 37.04554327843229), (-120.15893030899788, 37.12367640222347), (-120.06652363285929, 37.149470115346524), (-120.06652363285929, 37.071317083373074), (-119.97405342347365, 37.09701937765089), (-119.97405342347365, 37.018765379021026), (-119.97405342347365, 36.94043049355481), (-119.881520291274, 36.96602103190846), (-119.881520291274, 36.88758524394533), (-119.881520291274, 36.809068943247944), (-119.881520291274, 36.730472426366894), (-119.78892484955995, 36.75592995709716)), ((-120.06652363285929, 36.91476841587199), (-120.06652363285929, 36.83637336328723), (-119.97405342347365, 36.86201501351553), (-119.97405342347365, 36.94043049355481), (-120.06652363285929, 36.91476841587199))), (((-120.3435506342276, 36.75902257287933), (-120.34355063422758, 36.83735562297489), (-120.25127284433846, 36.8632307113465), (-120.25127284433846, 36.784876873442236), (-120.3435506342276, 36.75902257287933)),)]}" +"fireEvent/2023-02-04_0x80d7a50000000000","FireEvent","FireEvent at LatLong(32.44917:-115.14148) on 2023-02-04","2023-02-04","2023-02-06","P3D",3,2,"[LatLong 32.44917 -115.14148]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7a50000000000,dcid:s2CellId/0x80d7a5fc00000000,dcid:s2CellId/0x80d7a6cc00000000,dcid:s2CellId/0x80d7a70000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61953 SquareKilometer]",2.61953,333.43,302.76,"n",6.19,"2023-02-04,2023-02-06","{'type': 'Polygon', 'coordinates': (((-115.09404500241959, 32.416843256562224), (-115.18891595142229, 32.396697488156796), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.5661512898709), (-115.09404500241959, 32.58635275421574), (-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.416843256562224)),)}" +"fireEvent/2023-02-15_0x8085050000000000","FireEvent","FireEvent at LatLong(38.37512:-122.31075) on 2023-02-15","2023-02-15","2023-02-17","P3D",3,2,"[LatLong 38.37512 -122.31075]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:northamerica,dcid:s2CellId/0x8085010000000000,dcid:s2CellId/0x8085010c00000000,dcid:s2CellId/0x8085050000000000,dcid:s2CellId/0x8085053400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[2.0825 SquareKilometer]",2.0825,331.0,285.88,"n",3.64,"2023-02-15,2023-02-17","{'type': 'MultiPolygon', 'coordinates': [(((-122.17460498684162, 38.379078759434165), (-122.17460498684162, 38.3033208084114), (-122.26538872869685, 38.27549513645561), (-122.26538872869685, 38.35123562794486), (-122.17460498684162, 38.379078759434165)),), (((-122.35609518371197, 38.32332484178081), (-122.35609518371197, 38.39896548537001), (-122.26538872869685, 38.42689363138317), (-122.26538872869685, 38.35123562794486), (-122.35609518371197, 38.32332484178081)),)]}" +"fireEvent/2023-02-10_0x8083270000000000","FireEvent","FireEvent at LatLong(39.69439:-121.81640) on 2023-02-10","2023-02-10","2023-02-11","P2D",2,2,"[LatLong 39.69439 -121.81640]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x8083260400000000,dcid:s2CellId/0x8083270000000000,dcid:s2CellId/0x8083274c00000000,dcid:s2CellId/0x8083275400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.01116 SquareKilometer]",2.01116,340.04,285.06,"n",3.14,"2023-02-10,2023-02-11","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 39.73802301630229), (-121.90179543138471, 39.66366133679624), (-121.81070794913828, 39.69147458174664), (-121.81070794913828, 39.76584973823246), (-121.90179543138471, 39.73802301630229)),)}" +"fireEvent/2023-01-12_0x80d9150000000000","FireEvent","FireEvent at LatLong(32.51650:-116.74965) on 2023-01-12","2023-01-12","2023-01-12","P1D",1,1,"[LatLong 32.51650 -116.74965]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d9150000000000,dcid:s2CellId/0x80d9158400000000,dcid:s2CellId/0x80d9158c00000000,dcid:wikidataId/Q2360428,dcid:wikidataId/Q58731",3,"[2.57931 SquareKilometer]",2.57931,322.1,280.5,"n",3.31,"2023-01-12","{'type': 'Polygon', 'coordinates': (((-116.79678490847915, 32.54768494325667), (-116.79678490847915, 32.46373828347083), (-116.70249504859957, 32.48526559805921), (-116.70249504859957, 32.56924165418696), (-116.79678490847915, 32.54768494325667)),)}" +"fireEvent/2023-03-17_0x809a150000000000","FireEvent","FireEvent at LatLong(38.61503:-120.48184) on 2023-03-17","2023-03-17","2023-03-17","P1D",1,1,"[LatLong 38.61503 -120.48184]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06017,dcid:northamerica,dcid:s2CellId/0x809a150000000000,dcid:s2CellId/0x809a155400000000,dcid:s2CellId/0x809a3f0000000000,dcid:s2CellId/0x809a3ffc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.12031 SquareKilometer]",2.12031,336.84,291.49,"n",3.88,"2023-03-17","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 38.590069533051576), (-120.52790957361556, 38.56362878155043), (-120.52790957361556, 38.63993981922657), (-120.52790957361556, 38.716165110244546), (-120.43576307692442, 38.74263759514314), (-120.43576307692442, 38.66639654013268), (-120.43576307692442, 38.590069533051576)),)}" +"fireEvent/2023-03-25_0x8091730000000000","FireEvent","FireEvent at LatLong(37.34629:-120.76373) on 2023-03-25","2023-03-25","2023-03-25","P1D",1,1,"[LatLong 37.34629 -120.76373]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x80910cd400000000,dcid:s2CellId/0x80910d0000000000,dcid:s2CellId/0x809172d400000000,dcid:s2CellId/0x8091730000000000,dcid:s2CellId/0x8091732c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.28597 SquareKilometer]",3.28597,342.93,272.11,"n",2.82,"2023-03-25","{'type': 'Polygon', 'coordinates': (((-120.7120023484522, 37.27866927107142), (-120.80394744373855, 37.25230091111856), (-120.80394744373858, 37.32989077427852), (-120.80394744373858, 37.40739967641065), (-120.7120023484522, 37.43380716167879), (-120.7120023484522, 37.35627880381976), (-120.7120023484522, 37.27866927107142)),)}" +"fireEvent/2023-02-13_0x8090570000000000","FireEvent","FireEvent at LatLong(37.57910:-121.06217) on 2023-02-13","2023-02-13","2023-02-15","P3D",3,2,"[LatLong 37.57910 -121.06217]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x809052bc00000000,dcid:s2CellId/0x809052c400000000,dcid:s2CellId/0x8090530000000000,dcid:s2CellId/0x8090570000000000,dcid:s2CellId/0x8090578c00000000,dcid:s2CellId/0x8090579400000000,dcid:s2CellId/0x809057f400000000,dcid:s2CellId/0x8090582400000000,dcid:s2CellId/0x8090590000000000,dcid:s2CellId/0x8090597400000000,dcid:s2CellId/0x8090f65400000000,dcid:s2CellId/0x8090f70000000000,dcid:s2CellId/0x8090f73400000000,dcid:s2CellId/0x8091b2b400000000,dcid:s2CellId/0x8091b30000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",15,"[8.65243 SquareKilometer]",8.65243,339.36,300.29,"n",42.79,"2023-02-13,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-120.98763211526173, 37.74050506353507), (-120.98763211526173, 37.81748574806016), (-120.89582422732902, 37.84414693051973), (-120.80394744373855, 37.870737535489965), (-120.80394744373855, 37.79372014425884), (-120.89582422732902, 37.76714783509468), (-120.89582422732902, 37.69006636052178), (-120.98763211526173, 37.6634422122698), (-120.98763211526173, 37.74050506353507)),), (((-121.07937052658627, 37.48241498151893), (-121.17103888337672, 37.45568932972217), (-121.1710388833767, 37.53287726197025), (-121.07937052658627, 37.55962219720914), (-121.07937052658627, 37.48241498151893)),), (((-121.07937052658627, 37.636747995836885), (-120.98763211526173, 37.6634422122698), (-120.98763211526173, 37.58629746111499), (-121.07937052658627, 37.55962219720914), (-121.07937052658627, 37.636747995836885)),)]}" +"fireEvent/2023-01-02_0x80c2b50000000000","FireEvent","FireEvent at LatLong(33.87834:-118.34619) on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 33.87834 -118.34619]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2b50000000000,dcid:s2CellId/0x80c2b53c00000000,dcid:s2CellId/0x80dd345400000000,dcid:s2CellId/0x80dd350000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.46579 SquareKilometer]",2.46579,301.96,283.36,"n",0.85,"2023-01-02","{'type': 'MultiPolygon', 'coordinates': [(((-118.39294170620582, 33.82562180473932), (-118.39294170620582, 33.90767960394744), (-118.29943499572406, 33.9310390246925), (-118.29943499572406, 33.848953872494164), (-118.39294170620582, 33.82562180473932)),), (((-118.20587682407124, 33.8722154192009), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592), (-118.29943499572406, 33.848953872494164), (-118.20587682407124, 33.8722154192009)),)]}" +"fireEvent/2023-01-31_0x809cc10000000000","FireEvent","FireEvent at LatLong(39.64345:-121.33701) on 2023-01-31","2023-01-31","2023-02-01","P2D",2,2,"[LatLong 39.64345 -121.33701]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x809cc0dc00000000,dcid:s2CellId/0x809cc10000000000,dcid:s2CellId/0x809cc12400000000,dcid:s2CellId/0x809cc12c00000000,dcid:s2CellId/0x809cc13400000000,dcid:s2CellId/0x809cc15400000000,dcid:s2CellId/0x809cc15c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.06547 SquareKilometer]",4.06547,367.0,291.92,"n",40.6,"2023-01-31,2023-02-01","{'type': 'Polygon', 'coordinates': (((-121.35416313685073, 39.680326313083874), (-121.35416313685073, 39.60562152971405), (-121.26263661074441, 39.63296572194452), (-121.26263661074441, 39.70768396595418), (-121.35416313685073, 39.680326313083874)),)}" +"fireEvent/2023-02-08_0x80e8350000000000","FireEvent","FireEvent at LatLong(34.27990:-118.95869) on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 34.27990 -118.95869]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06111,dcid:northamerica,dcid:s2CellId/0x80e8347400000000,dcid:s2CellId/0x80e8350000000000,dcid:s2CellId/0x80e9cb0000000000,dcid:s2CellId/0x80e9cbf400000000,dcid:s2CellId/0x80e9cd0000000000,dcid:s2CellId/0x80e9cd7400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.6269 SquareKilometer]",3.6269,345.92,302.76,"n",11.0,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-119.04599270243568, 34.23193851002654), (-119.04599270243568, 34.31331655905895), (-119.04599270243568, 34.39462388102809), (-118.95286453849957, 34.41868959827641), (-118.8596803520908, 34.44268533206974), (-118.85968035209078, 34.36132499295383), (-118.95286453849957, 34.337355700566725), (-118.95286453849957, 34.25595085868918), (-119.04599270243568, 34.23193851002654)),)}" +"fireEvent/2023-03-26_0x8084450000000000","FireEvent","FireEvent at LatLong(38.53222:-122.61079) on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 38.53222 -122.61079]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x8084441400000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x80844e8400000000,dcid:s2CellId/0x80844e9c00000000,dcid:s2CellId/0x80844f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",5,"[3.09657 SquareKilometer]",3.09657,338.76,292.62,"n",6.06,"2023-03-26,2023-03-27","{'type': 'Polygon', 'coordinates': (((-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.5372740990185, 38.49387172650253), (-122.5372740990185, 38.41843056369658), (-122.62774550019422, 38.39028340170879), (-122.62774550019422, 38.465707290702724), (-122.62774550019422, 38.541048824246204)),)}" +"fireEvent/2023-01-16_0x80eaf90000000000","FireEvent","FireEvent at LatLong(35.58413:-119.27856) on 2023-01-16","2023-01-16","2023-01-18","P3D",3,2,"[LatLong 35.58413 -119.27856]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eaf90000000000,dcid:s2CellId/0x80eaf95c00000000,dcid:s2CellId/0x80eaff0000000000,dcid:s2CellId/0x80eaff3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.33749 SquareKilometer]",2.33749,332.85,278.88,"n",2.59,"2023-01-16,2023-01-18","{'type': 'Polygon', 'coordinates': (((-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.556406222206114), (-119.32503466239531, 35.53175350399878), (-119.41793235298398, 35.50702987289793), (-119.41793235298398, 35.58706253975614), (-119.32503466239531, 35.61180980810941), (-119.23207840138082, 35.63648603631758)),)}" +"fireEvent/2023-02-13_0x8090690000000000","FireEvent","FireEvent at LatLong(37.97433:-120.99337) on 2023-02-13","2023-02-13","2023-02-15","P3D",3,2,"[LatLong 37.97433 -120.99337]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090640400000000,dcid:s2CellId/0x8090650000000000,dcid:s2CellId/0x8090662400000000,dcid:s2CellId/0x809066a400000000,dcid:s2CellId/0x809066ac00000000,dcid:s2CellId/0x8090670000000000,dcid:s2CellId/0x8090689c00000000,dcid:s2CellId/0x8090690000000000,dcid:s2CellId/0x8090703c00000000,dcid:s2CellId/0x8090705400000000,dcid:s2CellId/0x8090710000000000,dcid:s2CellId/0x8090715c00000000,dcid:s2CellId/0x8090716400000000,dcid:s2CellId/0x8090724400000000,dcid:s2CellId/0x8090730000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",15,"[10.70761 SquareKilometer]",10.70761,343.64,296.25,"n",5.98,"2023-02-13,2023-02-15","{'type': 'MultiPolygon', 'coordinates': [(((-121.07937052658627, 37.94443166315593), (-121.07937052658627, 38.021146378682644), (-120.98763211526173, 38.047932166418306), (-120.98763211526173, 37.97119956073253), (-120.98763211526173, 37.89438400124386), (-121.07937052658627, 37.86763420544945), (-121.1710388833767, 37.840814274426336), (-121.1710388833767, 37.917593515599634), (-121.07937052658627, 37.94443166315593)),), (((-121.07937052658627, 38.097778093730795), (-121.07937052658627, 38.021146378682644), (-121.1710388833767, 37.994290226708266), (-121.26263661074441, 37.967363990551995), (-121.26263661074441, 38.043960006034105), (-121.1710388833767, 38.07090414902015), (-121.07937052658627, 38.097778093730795)),)]}" +"fireEvent/2023-02-13_0x809a150000000000","FireEvent","FireEvent at LatLong(38.59868:-120.52215) on 2023-02-13","2023-02-13","2023-02-15","P3D",3,2,"[LatLong 38.59868 -120.52215]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06017,dcid:northamerica,dcid:s2CellId/0x809a14d400000000,dcid:s2CellId/0x809a14dc00000000,dcid:s2CellId/0x809a150000000000,dcid:s2CellId/0x809a152400000000,dcid:s2CellId/0x809a154400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[2.123 SquareKilometer]",2.123,334.54,295.88,"n",22.5,"2023-02-13,2023-02-15","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 38.63993981922657), (-120.52790957361556, 38.56362878155043), (-120.43576307692442, 38.590069533051576), (-120.43576307692442, 38.66639654013268), (-120.52790957361556, 38.63993981922657)),)}" +"fireEvent/2023-02-09_0x54d16f0000000000","FireEvent","FireEvent at LatLong(41.10441:-123.91554) on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 41.10441 -123.91554]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d16e9c00000000,dcid:s2CellId/0x54d16eb400000000,dcid:s2CellId/0x54d16f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.04884 SquareKilometer]",2.04884,350.67,291.65,"n",26.16,"2023-02-09","{'type': 'Polygon', 'coordinates': (((-123.85653166253309, 41.12881430645295), (-123.94883585367289, 41.098083231954774), (-123.8775963618726, 41.045599131818285), (-123.78538604060175, 41.07620890851114), (-123.85653166253309, 41.12881430645295)),)}" +"fireEvent/2023-02-14_0x80ea570000000000","FireEvent","FireEvent at LatLong(35.50403:-119.27856) on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 35.50403 -119.27856]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80ea570000000000,dcid:s2CellId/0x80ea577400000000,dcid:s2CellId/0x80eafaec00000000,dcid:s2CellId/0x80eafb0000000000,dcid:s2CellId/0x80eafd0000000000,dcid:s2CellId/0x80eafd0400000000,dcid:s2CellId/0x80eaff0000000000,dcid:s2CellId/0x80eaff2400000000,dcid:s2CellId/0x80eaff2c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[5.84321 SquareKilometer]",5.84321,340.56,292.86,"n",8.12,"2023-02-14","{'type': 'MultiPolygon', 'coordinates': [(((-119.23207840138082, 35.47625041156115), (-119.32503466239531, 35.45162141848549), (-119.32503466239531, 35.53175350399878), (-119.23207840138082, 35.556406222206114), (-119.23207840138082, 35.47625041156115)),), (((-119.23207840138082, 35.63648603631758), (-119.32503466239531, 35.61180980810941), (-119.32503466239531, 35.53175350399878), (-119.41793235298398, 35.50702987289793), (-119.41793235298398, 35.58706253975614), (-119.41793235298401, 35.66701930371646), (-119.32503466239531, 35.69178999395241), (-119.23207840138082, 35.716489517297106), (-119.23207840138082, 35.63648603631758)),)]}" +"fireEvent/2023-02-10_0x8096d90000000000","FireEvent","FireEvent at LatLong(37.82341:-120.02030) on 2023-02-10","2023-02-10","2023-02-13","P4D",4,3,"[LatLong 37.82341 -120.02030]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06109,dcid:northamerica,dcid:s2CellId/0x8096d70000000000,dcid:s2CellId/0x8096d70c00000000,dcid:s2CellId/0x8096d71400000000,dcid:s2CellId/0x8096d76400000000,dcid:s2CellId/0x8096d76c00000000,dcid:s2CellId/0x8096d77400000000,dcid:s2CellId/0x8096d8e400000000,dcid:s2CellId/0x8096d8fc00000000,dcid:s2CellId/0x8096d90000000000,dcid:s2CellId/0x8096d90c00000000,dcid:s2CellId/0x8096d91400000000,dcid:s2CellId/0x8096d91c00000000,dcid:s2CellId/0x8096d9b400000000,dcid:s2CellId/0x8096d9bc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",14,"[10.93174 SquareKilometer]",10.93174,352.33,295.8,"n",30.2,"2023-02-10,2023-02-12,2023-02-13","{'type': 'Polygon', 'coordinates': (((-119.881520291274, 37.90086572453295), (-119.881520291274, 37.823418373939894), (-119.97405342347365, 37.79761838238845), (-120.06652363285929, 37.771745570591364), (-120.06652363285929, 37.84915723847933), (-119.97405342347365, 37.87504794829335), (-119.881520291274, 37.90086572453295)),)}" +"fireEvent/2023-02-02_0x54cd7f0000000000","FireEvent","FireEvent at LatLong(40.81295:-122.12326) on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 40.81295 -122.12326]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06089,dcid:northamerica,dcid:s2CellId/0x54cd7e2c00000000,dcid:s2CellId/0x54cd7f0000000000,dcid:s2CellId/0x54d2802c00000000,dcid:s2CellId/0x54d2810000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0118 SquareKilometer]",2.0118,316.46,277.42,"n",1.97,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-122.07514833257954, 40.869937113625745), (-122.00721741257856, 40.81623815916073), (-122.09927338341384, 40.78772605476484), (-122.19125045849158, 40.75914079007819), (-122.25939215890025, 40.81260767001019), (-122.1673100903644, 40.84130903005775), (-122.07514833257954, 40.869937113625745)),)}" +"fireEvent/2023-01-06_0x809cfd0000000000","FireEvent","FireEvent at LatLong(39.96225:-121.03351) on 2023-01-06","2023-01-06","2023-01-06","P1D",1,1,"[LatLong 39.96225 -121.03351]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809cfd0000000000,dcid:s2CellId/0x809cfdc400000000,dcid:s2CellId/0x809cfdec00000000,dcid:s2CellId/0x809cfe7400000000,dcid:s2CellId/0x809cff0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.03453 SquareKilometer]",3.03453,328.71,275.78,"n",10.18,"2023-01-06","{'type': 'Polygon', 'coordinates': (((-121.07937052658627, 39.91140659033674), (-121.07937052658627, 39.98588584374218), (-120.98763211526173, 40.013064009667254), (-120.89582422732902, 40.04016874842176), (-120.89582422732902, 39.96566448927563), (-120.98763211526173, 39.93857220307052), (-121.07937052658627, 39.91140659033674)),)}" +"fireEvent/2023-02-08_0x80848f0000000000","FireEvent","FireEvent at LatLong(38.93064:-122.22001) on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.93064 -122.22001]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084850000000000,dcid:s2CellId/0x8084858400000000,dcid:s2CellId/0x80848e4c00000000,dcid:s2CellId/0x80848f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0522 SquareKilometer]",2.0522,334.11,295.76,"n",13.85,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-122.17460498684162, 38.83188135199408), (-122.26538872869685, 38.80393792806426), (-122.26538872869685, 38.87909599346539), (-122.26538872869685, 38.95416992095992), (-122.17460498684162, 38.9821450862104), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.83188135199408)),)}" +"fireEvent/2023-03-08_0x8094c90000000000","FireEvent","FireEvent at LatLong(36.17639:-119.74260) on 2023-03-08","2023-03-08","2023-03-08","P1D",1,1,"[LatLong 36.17639 -119.74260]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094c90000000000,dcid:s2CellId/0x8094c97400000000,dcid:s2CellId/0x8094c99c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.29198 SquareKilometer]",2.29198,337.34,278.61,"n",3.48,"2023-03-08","{'type': 'Polygon', 'coordinates': (((-119.78892484955995, 36.20338340883046), (-119.78892484955995, 36.12413379123651), (-119.69626771448172, 36.149347987538164), (-119.69626771448172, 36.228619807644506), (-119.78892484955995, 36.20338340883046)),)}" +"fireEvent/2023-03-18_0x80dd350000000000","FireEvent","FireEvent at LatLong(33.82611:-118.24681) on 2023-03-18","2023-03-18","2023-03-18","P1D",1,1,"[LatLong 33.82611 -118.24681]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80dd34fc00000000,dcid:s2CellId/0x80dd350000000000,dcid:s2CellId/0x80dd359c00000000,dcid:s2CellId/0x80dd4b0000000000,dcid:s2CellId/0x80dd4bac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.70076 SquareKilometer]",3.70076,297.55,284.36,"n",0.7,"2023-03-18","{'type': 'Polygon', 'coordinates': (((-118.20587682407124, 33.8722154192009), (-118.20587682407124, 33.79003345093331), (-118.29943499572406, 33.76679933456592), (-118.39294170620582, 33.74349483462569), (-118.39294170620582, 33.82562180473932), (-118.29943499572406, 33.848953872494164), (-118.20587682407124, 33.8722154192009)),)}" +"fireEvent/2023-01-23_0x80e97f0000000000","FireEvent","FireEvent at LatLong(34.84521:-119.47016) on 2023-01-23","2023-01-23","2023-01-27","P5D",5,5,"[LatLong 34.84521 -119.47016]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06083,dcid:northamerica,dcid:s2CellId/0x80e97e2c00000000,dcid:s2CellId/0x80e97e3400000000,dcid:s2CellId/0x80e97e4c00000000,dcid:s2CellId/0x80e97f0000000000,dcid:s2CellId/0x80e97fa400000000,dcid:s2CellId/0x80e97fac00000000,dcid:s2CellId/0x80e97fb400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[2.37517 SquareKilometer]",2.37517,350.81,295.74,"n",9.94,"2023-01-23,2023-01-24,2023-01-25,2023-01-26,2023-01-27","{'type': 'Polygon', 'coordinates': (((-119.51077084299, 34.83948061816375), (-119.51077084299, 34.758805996121794), (-119.41793235298398, 34.783376641123795), (-119.41793235298398, 34.86407698186899), (-119.51077084299, 34.83948061816375)),)}" +"fireEvent/2023-01-04_0x80d65f0000000000","FireEvent","FireEvent at LatLong(32.61039:-114.60147) on 2023-01-04","2023-01-04","2023-01-04","P1D",1,1,"[LatLong 32.61039 -114.60147]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04027,dcid:northamerica,dcid:s2CellId/0x80d65ea400000000,dcid:s2CellId/0x80d65eac00000000,dcid:s2CellId/0x80d65f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.62533 SquareKilometer]",2.62533,347.6,299.35,"n",28.6,"2023-01-04","{'type': 'Polygon', 'coordinates': (((-114.61928990191176, 32.686238988626556), (-114.61928990191176, 32.601380600508776), (-114.52426397902158, 32.62110549021124), (-114.52426397902158, 32.705990765439765), (-114.61928990191176, 32.686238988626556)),)}" +"fireEvent/2023-01-25_0x80ec050000000000","FireEvent","FireEvent at LatLong(34.74818:-120.29742) on 2023-01-25","2023-01-25","2023-01-25","P1D",1,1,"[LatLong 34.74818 -120.29742]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06083,dcid:northamerica,dcid:s2CellId/0x80ec050000000000,dcid:s2CellId/0x80ec057c00000000,dcid:s2CellId/0x80ec0e8400000000,dcid:s2CellId/0x80ec0f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.34865 SquareKilometer]",2.34865,329.35,294.47,"n",2.69,"2023-01-25","{'type': 'Polygon', 'coordinates': (((-120.25127284433846, 34.72062891210619), (-120.3435506342276, 34.69539140251545), (-120.3435506342276, 34.7756870620793), (-120.3435506342276, 34.855911425114904), (-120.25127284433846, 34.881201654610386), (-120.25127284433846, 34.80095104252741), (-120.25127284433846, 34.72062891210619)),)}" +"fireEvent/2023-02-08_0x8094250000000000","FireEvent","FireEvent at LatLong(37.23862:-119.65571) on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 37.23862 -119.65571]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094244c00000000,dcid:s2CellId/0x8094250000000000,dcid:s2CellId/0x80942ea400000000,dcid:s2CellId/0x80942eac00000000,dcid:s2CellId/0x80942eb400000000,dcid:s2CellId/0x80942f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.34742 SquareKilometer]",3.34742,346.83,294.81,"n",10.98,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-119.69626771448172, 37.173694542784204), (-119.69626771448172, 37.25192602751666), (-119.60354950502408, 37.27735895346938), (-119.51077084299, 37.302718937652955), (-119.51077084299, 37.22444893017269), (-119.60354950502408, 37.19910814898932), (-119.69626771448172, 37.173694542784204)),)}" +"fireEvent/2023-02-23_0x80eaf90000000000","FireEvent","FireEvent at LatLong(35.67612:-119.21464) on 2023-02-23","2023-02-23","2023-02-23","P1D",1,1,"[LatLong 35.67612 -119.21464]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eaf08c00000000,dcid:s2CellId/0x80eaf10000000000,dcid:s2CellId/0x80eaf90000000000,dcid:s2CellId/0x80eaf9ac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.33702 SquareKilometer]",2.33702,337.32,284.91,"n",8.92,"2023-02-23","{'type': 'MultiPolygon', 'coordinates': [(((-119.23207840138082, 35.556406222206114), (-119.32503466239531, 35.53175350399878), (-119.32503466239531, 35.61180980810941), (-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.556406222206114)),), (((-119.23207840138082, 35.716489517297106), (-119.13906420284766, 35.74111761532614), (-119.13906420284766, 35.66109096570328), (-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.716489517297106)),)]}" +"fireEvent/2023-02-09_0x80ead70000000000","FireEvent","FireEvent at LatLong(36.03832:-119.37149) on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 36.03832 -119.37149]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x80ead70000000000,dcid:s2CellId/0x80ead73400000000,dcid:s2CellId/0x80eb2aa400000000,dcid:s2CellId/0x80eb2aec00000000,dcid:s2CellId/0x80eb2b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.4589 SquareKilometer]",3.4589,339.15,294.32,"n",2.37,"2023-02-09","{'type': 'MultiPolygon', 'coordinates': [(((-119.32503466239531, 36.09053752380865), (-119.32503466239531, 36.01094289980543), (-119.41793235298398, 35.98608067023123), (-119.41793235298398, 36.065652945020474), (-119.32503466239531, 36.09053752380865)),), (((-119.51077084299, 36.040696832060384), (-119.51077084299, 36.12016897103913), (-119.41793235298398, 36.14514734350813), (-119.41793235298398, 36.065652945020474), (-119.51077084299, 36.040696832060384)),)]}" +"fireEvent/2023-01-23_0x8096d50000000000","FireEvent","FireEvent at LatLong(37.79749:-120.11273) on 2023-01-23","2023-01-23","2023-01-26","P4D",4,3,"[LatLong 37.79749 -120.11273]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06109,dcid:northamerica,dcid:s2CellId/0x8096d50000000000,dcid:s2CellId/0x8096d57c00000000,dcid:s2CellId/0x8096d59c00000000,dcid:s2CellId/0x80972a9c00000000,dcid:s2CellId/0x80972b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[2.18166 SquareKilometer]",2.18166,340.54,287.01,"n",3.78,"2023-01-23,2023-01-25,2023-01-26","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 37.771745570591364), (-120.15893030899788, 37.74580020187008), (-120.15893030899788, 37.8231938580761), (-120.15893030899788, 37.90050398235046), (-120.06652363285929, 37.926485165746335), (-120.06652363285929, 37.84915723847933), (-120.06652363285929, 37.771745570591364)),)}" +"fireEvent/2023-03-02_0x8084970000000000","FireEvent","FireEvent at LatLong(38.91128:-122.03829) on 2023-03-02","2023-03-02","2023-03-02","P1D",1,1,"[LatLong 38.91128 -122.03829]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084970000000000,dcid:s2CellId/0x8084978c00000000,dcid:s2CellId/0x8084983c00000000,dcid:s2CellId/0x8084990000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.05367 SquareKilometer]",2.05367,336.55,286.93,"n",2.33,"2023-03-02","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.88756204233199), (-122.08374449567626, 38.85975615372649), (-122.08374449567626, 38.93494605995725), (-122.08374449567627, 39.01005140863375), (-121.99280779590266, 39.0378885979975), (-121.99280779590266, 38.96276770349571), (-121.99280779590266, 38.88756204233199)),)}" +"fireEvent/2023-02-18_0x8092530000000000","FireEvent","FireEvent at LatLong(36.47183:-120.94174) on 2023-02-18","2023-02-18","2023-02-18","P1D",1,1,"[LatLong 36.47183 -120.94174]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06069,dcid:northamerica,dcid:s2CellId/0x8092530000000000,dcid:s2CellId/0x8092538400000000,dcid:s2CellId/0x8092538c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.23677 SquareKilometer]",2.23677,336.3,295.41,"n",3.79,"2023-02-18","{'type': 'Polygon', 'coordinates': (((-120.98763211526173, 36.49782625892822), (-120.98763211526173, 36.41948656533546), (-120.89582422732902, 36.445783528063096), (-120.89582422732902, 36.524145296812684), (-120.98763211526173, 36.49782625892822)),)}" +"fireEvent/2023-02-09_0x54b59b0000000000","FireEvent","FireEvent at LatLong(41.87104:-119.04195) on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 41.87104 -119.04195]","dcid:Earth,dcid:country/USA,dcid:geoId/32,dcid:geoId/32013,dcid:northamerica,dcid:s2CellId/0x54b59b0000000000,dcid:s2CellId/0x54b59b8c00000000,dcid:s2CellId/0x54b59b9400000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.05106 SquareKilometer]",2.05106,352.49,291.49,"n",23.14,"2023-02-09","{'type': 'Polygon', 'coordinates': (((-119.0267373723986, 41.91291619013493), (-119.12151923305626, 41.88672088814777), (-119.05713115299496, 41.829201927316994), (-118.96248174499246, 41.85528577165443), (-119.0267373723986, 41.91291619013493)),)}" +"fireEvent/2023-02-24_0x8091550000000000","FireEvent","FireEvent at LatLong(37.24081:-120.24550) on 2023-02-24","2023-02-24","2023-02-24","P1D",1,1,"[LatLong 37.24081 -120.24550]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06047,dcid:northamerica,dcid:s2CellId/0x8091541c00000000,dcid:s2CellId/0x8091543c00000000,dcid:s2CellId/0x8091550000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.21318 SquareKilometer]",2.21318,303.07,275.74,"n",1.03,"2023-02-24","{'type': 'Polygon', 'coordinates': (((-120.25127284433846, 37.25379475261621), (-120.25127284433846, 37.17584359712822), (-120.15893030899788, 37.20172848568334), (-120.15893030899788, 37.279699242747455), (-120.25127284433846, 37.25379475261621)),)}" +"fireEvent/2023-02-13_0x80903f0000000000","FireEvent","FireEvent at LatLong(37.73247:-121.35988) on 2023-02-13","2023-02-13","2023-02-13","P1D",1,1,"[LatLong 37.73247 -121.35988]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x80903c2400000000,dcid:s2CellId/0x80903d0000000000,dcid:s2CellId/0x80903eac00000000,dcid:s2CellId/0x80903f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.1488 SquareKilometer]",2.1488,340.66,294.6,"n",4.78,"2023-02-13","{'type': 'Polygon', 'coordinates': (((-121.26263661074441, 37.81392448887689), (-121.26263661074441, 37.73708152324151), (-121.35416313685073, 37.710140825873815), (-121.44561789291927, 37.68313095604201), (-121.44561789291927, 37.75993648447068), (-121.35416313685073, 37.78696513099894), (-121.26263661074441, 37.81392448887689)),)}" +"fireEvent/2023-02-08_0x809aaf0000000000","FireEvent","FireEvent at LatLong(38.09097:-121.49132) on 2023-02-08","2023-02-08","2023-02-08","P1D",1,1,"[LatLong 38.09097 -121.49132]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x809aa90000000000,dcid:s2CellId/0x809aa9c400000000,dcid:s2CellId/0x809aaa5c00000000,dcid:s2CellId/0x809aab0000000000,dcid:s2CellId/0x809aaefc00000000,dcid:s2CellId/0x809aaf0000000000,dcid:s2CellId/0x809aaf0400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.2415 SquareKilometer]",4.2415,346.02,292.04,"n",6.56,"2023-02-08","{'type': 'Polygon', 'coordinates': (((-121.44561789291927, 38.21904635446754), (-121.44561789291927, 38.14273448666555), (-121.44561789291927, 38.06633970127007), (-121.53700031324804, 38.039168618933935), (-121.62830983522124, 38.01192835722662), (-121.62830983522124, 38.08828737798534), (-121.53700031324804, 38.11554557922101), (-121.53700031324804, 38.1918398342251), (-121.44561789291927, 38.21904635446754)),)}" +"fireEvent/2023-01-06_0x80d7630000000000","FireEvent","FireEvent at LatLong(32.68546:-115.61547) on 2023-01-06","2023-01-06","2023-01-06","P1D",1,1,"[LatLong 32.68546 -115.61547]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d7630000000000,dcid:s2CellId/0x80d763b400000000,dcid:s2CellId/0x80d763bc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.5982 SquareKilometer]",2.5982,355.3,307.38,"n",20.06,"2023-01-06","{'type': 'Polygon', 'coordinates': (((-115.66283001554785, 32.71729983340048), (-115.66283001554785, 32.63294346781638), (-115.5681083893613, 32.65357093757281), (-115.5681083893613, 32.737955172648526), (-115.66283001554785, 32.71729983340048)),)}" +"fireEvent/2023-01-09_0x80d6350000000000","FireEvent","FireEvent at LatLong(32.23974:-114.85081) on 2023-01-09","2023-01-09","2023-01-09","P1D",1,1,"[LatLong 32.23974 -114.85081]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d6345c00000000,dcid:s2CellId/0x80d6349c00000000,dcid:s2CellId/0x80d634f400000000,dcid:s2CellId/0x80d6350000000000",4,"[3.96009 SquareKilometer]",3.96009,339.27,313.93,"n",73.15,"2023-01-09","{'type': 'Polygon', 'coordinates': (((-114.90422082333554, 32.287028613932726), (-114.90422082333554, 32.20198930823536), (-114.80926906488743, 32.22182818489056), (-114.80926906488743, 32.306895593204814), (-114.90422082333554, 32.287028613932726)),)}" +"fireEvent/2023-03-25_0x80936f0000000000","FireEvent","FireEvent at LatLong(36.33966:-120.29742) on 2023-03-25","2023-03-25","2023-03-25","P1D",1,1,"[LatLong 36.33966 -120.29742]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8093650000000000,dcid:s2CellId/0x8093655400000000,dcid:s2CellId/0x80936f0000000000,dcid:s2CellId/0x80936ffc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.26092 SquareKilometer]",2.26092,338.76,290.16,"n",5.64,"2023-03-25","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 36.26157181199122), (-120.43576307692442, 36.340354799856954), (-120.34355063422758, 36.36617166395524), (-120.25127284433846, 36.391918797186285), (-120.25127284433846, 36.313091522676416), (-120.3435506342276, 36.28736647095043), (-120.43576307692442, 36.26157181199122)),)}" +"fireEvent/2023-03-17_0x80a0e90000000000","FireEvent","FireEvent at LatLong(41.13956:-117.59654) on 2023-03-17","2023-03-17","2023-03-17","P1D",1,1,"[LatLong 41.13956 -117.59654]","dcid:Earth,dcid:country/USA,dcid:geoId/32,dcid:geoId/32013,dcid:northamerica,dcid:s2CellId/0x80a0e90000000000,dcid:s2CellId/0x80a0e92c00000000,dcid:s2CellId/0x80a0e93400000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.03742 SquareKilometer]",2.03742,343.23,296.22,"n",20.01,"2023-03-17","{'type': 'Polygon', 'coordinates': (((-117.64348435403741, 41.1646741177087), (-117.64348435403741, 41.090082392578815), (-117.54958462854715, 41.11439677948815), (-117.54958462854715, 41.18899708980876), (-117.64348435403741, 41.1646741177087)),)}" +"fireEvent/2023-01-31_0x8094290000000000","FireEvent","FireEvent at LatLong(37.22554:-119.64992) on 2023-01-31","2023-01-31","2023-02-04","P5D",5,4,"[LatLong 37.22554 -119.64992]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094250000000000,dcid:s2CellId/0x809425b400000000,dcid:s2CellId/0x8094286400000000,dcid:s2CellId/0x8094287c00000000,dcid:s2CellId/0x8094289400000000,dcid:s2CellId/0x809428bc00000000,dcid:s2CellId/0x809428c400000000,dcid:s2CellId/0x8094290000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",8,"[3.34329 SquareKilometer]",3.34329,338.9,283.46,"n",5.43,"2023-01-31,2023-02-01,2023-02-02,2023-02-04","{'type': 'MultiPolygon', 'coordinates': [(((-119.60354950502408, 37.35552745160059), (-119.51077084299, 37.380906429606696), (-119.51077084299, 37.302718937652955), (-119.60354950502408, 37.27735895346938), (-119.60354950502408, 37.35552745160059)),), (((-119.60354950502408, 37.19910814898932), (-119.69626771448172, 37.173694542784204), (-119.69626771448172, 37.25192602751666), (-119.60354950502408, 37.27735895346938), (-119.60354950502408, 37.19910814898932)),)]}" +"fireEvent/2023-01-04_0x80d76f0000000000","FireEvent","FireEvent at LatLong(32.72659:-115.42597) on 2023-01-04","2023-01-04","2023-01-04","P1D",1,1,"[LatLong 32.72659 -115.42597]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d76f0000000000,dcid:s2CellId/0x80d76f5400000000,dcid:s2CellId/0x80d76f5c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.59894 SquareKilometer]",2.59894,347.83,290.85,"n",8.82,"2023-01-04","{'type': 'Polygon', 'coordinates': (((-115.47335544292073, 32.75853653053172), (-115.47335544292073, 32.67412456932842), (-115.3785719022423, 32.69460416981107), (-115.3785719022423, 32.779043713972804), (-115.47335544292073, 32.75853653053172)),)}" +"fireEvent/2023-02-15_0x8095b50000000000","FireEvent","FireEvent at LatLong(37.00267:-119.26113) on 2023-02-15","2023-02-15","2023-02-21","P7D",7,6,"[LatLong 37.00267 -119.26113]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8095b04400000000,dcid:s2CellId/0x8095b0e400000000,dcid:s2CellId/0x8095b0ec00000000,dcid:s2CellId/0x8095b10000000000,dcid:s2CellId/0x8095b40400000000,dcid:s2CellId/0x8095b41400000000,dcid:s2CellId/0x8095b41c00000000,dcid:s2CellId/0x8095b44400000000,dcid:s2CellId/0x8095b50000000000,dcid:s2CellId/0x8095b55c00000000,dcid:s2CellId/0x8095b57400000000,dcid:s2CellId/0x8095b57c00000000,dcid:s2CellId/0x8095b58400000000,dcid:s2CellId/0x8095b58c00000000,dcid:s2CellId/0x8095b59400000000,dcid:s2CellId/0x8095b59c00000000,dcid:s2CellId/0x8095b5a400000000,dcid:s2CellId/0x8095b5ac00000000,dcid:s2CellId/0x8095b5bc00000000,dcid:s2CellId/0x8095b5e400000000,dcid:s2CellId/0x8095b5ec00000000,dcid:s2CellId/0x8095b5f400000000,dcid:s2CellId/0x8095b6ac00000000,dcid:s2CellId/0x8095b6b400000000,dcid:s2CellId/0x8095b6d400000000,dcid:s2CellId/0x8095b70000000000,dcid:s2CellId/0x8095ba6400000000,dcid:s2CellId/0x8095bb0000000000,dcid:s2CellId/0x8095c80c00000000,dcid:s2CellId/0x8095c90000000000,dcid:s2CellId/0x8095ca9c00000000,dcid:s2CellId/0x8095caa400000000,dcid:s2CellId/0x8095cb0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",33,"[15.75816 SquareKilometer]",15.75816,355.07,300.25,"n",46.55,"2023-02-15,2023-02-17,2023-02-18,2023-02-19,2023-02-20,2023-02-21","{'type': 'Polygon', 'coordinates': (((-119.41793235298401, 37.171345095632404), (-119.32503466239531, 37.196520276094965), (-119.23207840138082, 37.22162197959509), (-119.23207840138082, 37.14312963671413), (-119.23207840138082, 37.064555014740314), (-119.13906420284766, 37.08954447124001), (-119.13906420284766, 37.01086829061775), (-119.23207840138082, 36.9858984053218), (-119.32503466239531, 36.96085514133606), (-119.32503466239531, 37.039492061946596), (-119.41793235298398, 37.014355866428566), (-119.41793235298401, 37.09289141158824), (-119.41793235298401, 37.171345095632404)),)}" +"fireEvent/2023-02-18_0x8094250000000000","FireEvent","FireEvent at LatLong(37.24840:-119.65571) on 2023-02-18","2023-02-18","2023-02-19","P2D",2,2,"[LatLong 37.24840 -119.65571]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094243400000000,dcid:s2CellId/0x8094250000000000,dcid:s2CellId/0x8094310000000000,dcid:s2CellId/0x809431ac00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.23399 SquareKilometer]",2.23399,345.09,293.0,"n",4.64,"2023-02-18,2023-02-19","{'type': 'MultiPolygon', 'coordinates': [(((-119.69626771448172, 37.173694542784204), (-119.69626771448172, 37.25192602751666), (-119.60354950502408, 37.27735895346938), (-119.60354950502408, 37.19910814898932), (-119.69626771448172, 37.173694542784204)),), (((-119.51077084299, 37.22444893017269), (-119.51077084299, 37.14609669288529), (-119.60354950502408, 37.12077532426294), (-119.60354950502408, 37.19910814898932), (-119.51077084299, 37.22444893017269)),)]}" +"fireEvent/2023-02-02_0x8090a50000000000","FireEvent","FireEvent at LatLong(38.25870:-120.38967) on 2023-02-02","2023-02-02","2023-02-02","P1D",1,1,"[LatLong 38.25870 -120.38967]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06009,dcid:northamerica,dcid:s2CellId/0x8090a50000000000,dcid:s2CellId/0x8090a58400000000,dcid:s2CellId/0x8090a59c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.14773 SquareKilometer]",2.14773,297.02,274.4,"n",0.59,"2023-02-02","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 38.283906850968414), (-120.43576307692442, 38.20715375350994), (-120.3435506342276, 38.23343927918502), (-120.3435506342276, 38.310209268657324), (-120.43576307692442, 38.283906850968414)),)}" +"fireEvent/2023-02-07_0x80c2b10000000000","FireEvent","FireEvent at LatLong(33.93697:-118.43968) on 2023-02-07","2023-02-07","2023-02-09","P3D",3,2,"[LatLong 33.93697 -118.43968]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2b10000000000,dcid:s2CellId/0x80c2b15400000000,dcid:s2CellId/0x80c2b30000000000,dcid:s2CellId/0x80c2b3fc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.45871 SquareKilometer]",2.45871,343.53,302.66,"n",13.39,"2023-02-07,2023-02-09","{'type': 'Polygon', 'coordinates': (((-118.4863962961138, 33.966210733729376), (-118.39294170620582, 33.9896678408122), (-118.39294170620582, 33.90767960394744), (-118.39294170620582, 33.82562180473932), (-118.4863962961138, 33.8022194627579), (-118.4863962961138, 33.884249771818084), (-118.4863962961138, 33.966210733729376)),)}" +"fireEvent/2023-02-14_0x8094c10000000000","FireEvent","FireEvent at LatLong(36.49371:-119.82944) on 2023-02-14","2023-02-14","2023-02-16","P3D",3,2,"[LatLong 36.49371 -119.82944]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094928c00000000,dcid:s2CellId/0x8094930000000000,dcid:s2CellId/0x8094c10000000000,dcid:s2CellId/0x8094c16400000000,dcid:s2CellId/0x8094c21400000000,dcid:s2CellId/0x8094c30000000000,dcid:s2CellId/0x8094e70000000000,dcid:s2CellId/0x8094e7b400000000,dcid:s2CellId/0x8094ecdc00000000,dcid:s2CellId/0x8094ecf400000000,dcid:s2CellId/0x8094ed0000000000,dcid:s2CellId/0x8094ef0000000000,dcid:s2CellId/0x8094ef3c00000000,dcid:s2CellId/0x8094ef4400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",14,"[9.10435 SquareKilometer]",9.10435,332.38,292.18,"n",11.85,"2023-02-14,2023-02-16","{'type': 'MultiPolygon', 'coordinates': [(((-119.78892484955995, 36.36164840353892), (-119.69626771448172, 36.38692856339861), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.33300058072124), (-119.69626771448172, 36.30781343778186), (-119.78892484955995, 36.28255505122062), (-119.78892484955995, 36.36164840353892)),), (((-119.60354950502408, 36.49119510273238), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.437274521555786), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.49119510273238)),), (((-119.60354950502408, 36.57017350866958), (-119.60354950502408, 36.49119510273238), (-119.69626771448172, 36.4659648722832), (-119.78892484955995, 36.440663153251855), (-119.881520291274, 36.41529020951764), (-119.881520291274, 36.49420457905506), (-119.78892484955995, 36.51959899016065), (-119.69626771448172, 36.54492205456438), (-119.60354950502408, 36.57017350866958)),)]}" +"fireEvent/2023-01-31_0x80837b0000000000","FireEvent","FireEvent at LatLong(39.07645:-122.15757) on 2023-01-31","2023-01-31","2023-01-31","P1D",1,1,"[LatLong 39.07645 -122.15757]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:northamerica,dcid:s2CellId/0x808362bc00000000,dcid:s2CellId/0x8083630000000000,dcid:s2CellId/0x80837a5400000000,dcid:s2CellId/0x80837b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.03855 SquareKilometer]",2.03855,335.81,288.82,"n",2.01,"2023-01-31","{'type': 'MultiPolygon', 'coordinates': [(((-122.26538872869685, 39.104064455903135), (-122.26538872869685, 39.17888461552509), (-122.17460498684162, 39.20690582223145), (-122.17460498684162, 39.132070524198696), (-122.26538872869685, 39.104064455903135)),), (((-122.08374449567627, 39.160007530943815), (-122.08374449567627, 39.08507197362498), (-122.17460498684162, 39.057150204742555), (-122.17460498684162, 39.132070524198696), (-122.08374449567627, 39.160007530943815)),)]}" +"fireEvent/2023-01-02_0x80d7070000000000","FireEvent","FireEvent at LatLong(32.65892:-115.07625) on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 32.65892 -115.07625]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7061400000000,dcid:s2CellId/0x80d7066c00000000,dcid:s2CellId/0x80d7070000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",3,"[2.61267 SquareKilometer]",2.61267,356.58,300.12,"n",19.19,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-115.09404500241959, 32.671008212834636), (-115.09404500241959, 32.58635275421574), (-114.99914638140322, 32.60647972155236), (-114.99914638140322, 32.69116258740858), (-115.09404500241959, 32.671008212834636)),)}" +"fireEvent/2023-01-24_0x80849d0000000000","FireEvent","FireEvent at LatLong(39.09280:-122.13486) on 2023-01-24","2023-01-24","2023-01-28","P5D",5,4,"[LatLong 39.09280 -122.13486]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x808362f400000000,dcid:s2CellId/0x808362fc00000000,dcid:s2CellId/0x8083630000000000,dcid:s2CellId/0x8083769c00000000,dcid:s2CellId/0x8083770000000000,dcid:s2CellId/0x8083790000000000,dcid:s2CellId/0x8083790c00000000,dcid:s2CellId/0x80837d0000000000,dcid:s2CellId/0x80837d2c00000000,dcid:s2CellId/0x808482ac00000000,dcid:s2CellId/0x8084830000000000,dcid:s2CellId/0x80848e4400000000,dcid:s2CellId/0x80848f0000000000,dcid:s2CellId/0x80849b0000000000,dcid:s2CellId/0x80849b8c00000000,dcid:s2CellId/0x80849c6c00000000,dcid:s2CellId/0x80849c7400000000,dcid:s2CellId/0x80849d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",18,"[10.21353 SquareKilometer]",10.21353,342.89,292.21,"n",8.6,"2023-01-24,2023-01-26,2023-01-27,2023-01-28","{'type': 'MultiPolygon', 'coordinates': [(((-122.08374449567627, 39.160007530943815), (-122.08374449567627, 39.08507197362498), (-122.08374449567627, 39.01005140863375), (-122.08374449567626, 38.93494605995725), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.9821450862104), (-122.26538872869685, 38.95416992095992), (-122.26538872869685, 39.029159483432394), (-122.26538872869685, 39.104064455903135), (-122.17460498684162, 39.132070524198696), (-122.08374449567627, 39.160007530943815)),), (((-122.35609518371197, 39.07598961696731), (-122.35609518371197, 39.15079452917801), (-122.35609518371197, 39.22551461637051), (-122.26538872869685, 39.25361974158061), (-122.26538872869685, 39.17888461552509), (-122.26538872869685, 39.104064455903135), (-122.35609518371197, 39.07598961696731)),), (((-122.17460498684162, 38.83188135199408), (-122.26538872869685, 38.80393792806426), (-122.26538872869685, 38.87909599346539), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.83188135199408)),)]}" +"fireEvent/2023-02-09_0x80d94b0000000000","FireEvent","FireEvent at LatLong(32.42976:-117.12648) on 2023-02-09","2023-02-09","2023-02-09","P1D",1,1,"[LatLong 32.42976 -117.12648]","dcid:Earth,dcid:s2CellId/0x80d9350000000000,dcid:s2CellId/0x80d935fc00000000,dcid:s2CellId/0x80d94a0400000000,dcid:s2CellId/0x80d94b0000000000",4,"[2.57212 SquareKilometer]",2.57212,328.01,284.04,"n",1.7,"2023-02-09","{'type': 'Polygon', 'coordinates': (((-117.17353159273283, 32.544509987226014), (-117.07940822560565, 32.56638086365544), (-117.07940822560565, 32.482587100563286), (-117.07940822560565, 32.39872950090179), (-117.17353159273283, 32.3769183699734), (-117.17353159273283, 32.460745992059394), (-117.17353159273283, 32.544509987226014)),)}" +"fireEvent/2023-03-03_0x80948f0000000000","FireEvent","FireEvent at LatLong(36.49539:-120.02030) on 2023-03-03","2023-03-03","2023-03-03","P1D",1,1,"[LatLong 36.49539 -120.02030]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8094850000000000,dcid:s2CellId/0x8094859c00000000,dcid:s2CellId/0x80948e4400000000,dcid:s2CellId/0x80948f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.26479 SquareKilometer]",2.26479,339.48,291.4,"n",5.26,"2023-03-03","{'type': 'Polygon', 'coordinates': (((-119.881520291274, 36.57303994189822), (-119.881520291274, 36.49420457905506), (-119.97405342347365, 36.46873908649985), (-120.06652363285929, 36.44320277938829), (-120.06652363285929, 36.52199526983154), (-119.97405342347365, 36.54755307417071), (-119.881520291274, 36.57303994189822)),)}" +"fireEvent/2023-03-01_0x80eaf90000000000","FireEvent","FireEvent at LatLong(35.73758:-119.28437) on 2023-03-01","2023-03-01","2023-03-02","P2D",2,2,"[LatLong 35.73758 -119.28437]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06029,dcid:northamerica,dcid:s2CellId/0x80eae4fc00000000,dcid:s2CellId/0x80eae50000000000,dcid:s2CellId/0x80eaf90000000000,dcid:s2CellId/0x80eaf96400000000,dcid:s2CellId/0x80eaf97400000000,dcid:s2CellId/0x80eafc9400000000,dcid:s2CellId/0x80eafd0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.49974 SquareKilometer]",3.49974,335.6,288.75,"n",5.3,"2023-03-01,2023-03-02","{'type': 'MultiPolygon', 'coordinates': [(((-119.23207840138082, 35.63648603631758), (-119.23207840138082, 35.556406222206114), (-119.32503466239531, 35.53175350399878), (-119.32503466239531, 35.61180980810941), (-119.23207840138082, 35.63648603631758)),), (((-119.32503466239531, 35.77169372701799), (-119.23207840138082, 35.79641633090737), (-119.23207840138082, 35.716489517297106), (-119.32503466239531, 35.69178999395241), (-119.32503466239531, 35.77169372701799)),), (((-119.41793235298398, 35.58706253975614), (-119.41793235298401, 35.66701930371646), (-119.32503466239531, 35.69178999395241), (-119.32503466239531, 35.61180980810941), (-119.41793235298398, 35.58706253975614)),)]}" +"fireEvent/2023-02-16_0x80d7a90000000000","FireEvent","FireEvent at LatLong(32.45876:-115.17113) on 2023-02-16","2023-02-16","2023-02-16","P1D",1,1,"[LatLong 32.45876 -115.17113]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7a46c00000000,dcid:s2CellId/0x80d7a50000000000,dcid:s2CellId/0x80d7a90000000000,dcid:s2CellId/0x80d7a9f400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61953 SquareKilometer]",2.61953,352.44,299.39,"n",7.84,"2023-02-16","{'type': 'MultiPolygon', 'coordinates': [(((-115.09404500241959, 32.58635275421574), (-114.99914638140322, 32.60647972155236), (-114.99914638140322, 32.52173031511323), (-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.58635275421574)),), (((-115.09404500241959, 32.416843256562224), (-115.18891595142229, 32.396697488156796), (-115.18891595142229, 32.48145723709342), (-115.09404500241959, 32.50163095253783), (-115.09404500241959, 32.416843256562224)),)]}" +"fireEvent/2023-03-01_0x80845b0000000000","FireEvent","FireEvent at LatLong(38.55335:-122.54293) on 2023-03-01","2023-03-01","2023-03-03","P3D",3,3,"[LatLong 38.55335 -122.54293]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06055,dcid:geoId/06097,dcid:northamerica,dcid:s2CellId/0x808444b400000000,dcid:s2CellId/0x808444dc00000000,dcid:s2CellId/0x808444e400000000,dcid:s2CellId/0x808444fc00000000,dcid:s2CellId/0x8084450000000000,dcid:s2CellId/0x8084470000000000,dcid:s2CellId/0x8084473c00000000,dcid:s2CellId/0x80845a1400000000,dcid:s2CellId/0x80845a1c00000000,dcid:s2CellId/0x80845a5400000000,dcid:s2CellId/0x80845acc00000000,dcid:s2CellId/0x80845b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",12,"[6.18521 SquareKilometer]",6.18521,337.37,290.81,"n",12.81,"2023-03-01,2023-03-02,2023-03-03","{'type': 'Polygon', 'coordinates': (((-122.44672381753844, 38.52196905593188), (-122.5372740990185, 38.49387172650253), (-122.62774550019422, 38.465707290702724), (-122.71813749631639, 38.437476047170406), (-122.71813749631639, 38.51280040712088), (-122.62774550019422, 38.541048824246204), (-122.5372740990185, 38.569230320025724), (-122.44672381753844, 38.59734459614429), (-122.44672381753844, 38.52196905593188)),)}" +"fireEvent/2023-03-03_0x80d7690000000000","FireEvent","FireEvent at LatLong(32.87473:-115.52074) on 2023-03-03","2023-03-03","2023-03-04","P2D",2,2,"[LatLong 32.87473 -115.52074]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d75d0000000000,dcid:s2CellId/0x80d75df400000000,dcid:s2CellId/0x80d7690000000000,dcid:s2CellId/0x80d7694400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.59547 SquareKilometer]",2.59547,338.41,304.97,"n",25.48,"2023-03-03,2023-03-04","{'type': 'MultiPolygon', 'coordinates': [(((-115.3785719022423, 32.86341617929968), (-115.3785719022423, 32.779043713972804), (-115.47335544292073, 32.75853653053172), (-115.47335544292073, 32.84288161267371), (-115.3785719022423, 32.86341617929968)),), (((-115.5681083893613, 32.82227272901859), (-115.5681083893613, 32.90652316752118), (-115.47335544292073, 32.92715937663604), (-115.47335544292073, 32.84288161267371), (-115.5681083893613, 32.82227272901859)),)]}" +"fireEvent/2023-01-24_0x809ca30000000000","FireEvent","FireEvent at LatLong(39.43214:-121.30841) on 2023-01-24","2023-01-24","2023-01-24","P1D",1,1,"[LatLong 39.43214 -121.30841]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x809ca30000000000,dcid:s2CellId/0x809ca38400000000,dcid:s2CellId/0x809ca47c00000000,dcid:s2CellId/0x809ca48400000000,dcid:s2CellId/0x809ca50000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.07105 SquareKilometer]",3.07105,320.08,276.81,"n",1.53,"2023-01-24","{'type': 'Polygon', 'coordinates': (((-121.26263661074441, 39.483266287272535), (-121.26263661074441, 39.40828552033575), (-121.35416313685073, 39.38098292464055), (-121.44561789291927, 39.35360871343016), (-121.44561789291927, 39.42856123811598), (-121.35416313685073, 39.45594962310902), (-121.26263661074441, 39.483266287272535)),)}" +"fireEvent/2023-02-14_0x8093770000000000","FireEvent","FireEvent at LatLong(36.47132:-120.38967) on 2023-02-14","2023-02-14","2023-02-14","P1D",1,1,"[LatLong 36.47132 -120.38967]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8093770000000000,dcid:s2CellId/0x8093777400000000,dcid:s2CellId/0x8093790000000000,dcid:s2CellId/0x809379cc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.25413 SquareKilometer]",2.25413,331.82,291.3,"n",4.78,"2023-02-14","{'type': 'Polygon', 'coordinates': (((-120.43576307692442, 36.41906007532748), (-120.43576307692442, 36.49768733054752), (-120.3435506342276, 36.52354795442271), (-120.25127284433846, 36.54933860162116), (-120.25127284433846, 36.47066792590074), (-120.3435506342276, 36.44489892762193), (-120.43576307692442, 36.41906007532748)),)}" +"fireEvent/2023-01-22_0x80833b0000000000","FireEvent","FireEvent at LatLong(39.82099:-121.91887) on 2023-01-22","2023-01-22","2023-01-31","P10D",10,8,"[LatLong 39.82099 -121.91887]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06021,dcid:northamerica,dcid:s2CellId/0x8082dc1400000000,dcid:s2CellId/0x8082dc3c00000000,dcid:s2CellId/0x8082dd0000000000,dcid:s2CellId/0x8082df0000000000,dcid:s2CellId/0x8082dfe400000000,dcid:s2CellId/0x8082dffc00000000,dcid:s2CellId/0x8082e00400000000,dcid:s2CellId/0x8082e00c00000000,dcid:s2CellId/0x8082e10000000000,dcid:s2CellId/0x8082e2bc00000000,dcid:s2CellId/0x8082e30000000000,dcid:s2CellId/0x8082fc9400000000,dcid:s2CellId/0x8082fd0000000000,dcid:s2CellId/0x8083030000000000,dcid:s2CellId/0x8083036c00000000,dcid:s2CellId/0x8083181400000000,dcid:s2CellId/0x8083190000000000,dcid:s2CellId/0x80831f0000000000,dcid:s2CellId/0x80831fec00000000,dcid:s2CellId/0x8083208400000000,dcid:s2CellId/0x8083210000000000,dcid:s2CellId/0x8083222400000000,dcid:s2CellId/0x8083230000000000,dcid:s2CellId/0x80833acc00000000,dcid:s2CellId/0x80833ad400000000,dcid:s2CellId/0x80833b0000000000,dcid:s2CellId/0x80833f0000000000,dcid:s2CellId/0x80833f7400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",28,"[12.07092 SquareKilometer]",12.07092,367.0,296.9,"n",37.16,"2023-01-22,2023-01-23,2023-01-24,2023-01-26,2023-01-27,2023-01-28,2023-01-29,2023-01-31","{'type': 'MultiPolygon', 'coordinates': [(((-121.90179543138471, 39.58921273290782), (-121.81070794913828, 39.617012297346776), (-121.81070794913828, 39.54246309252981), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.58921273290782)),), (((-121.90179543138471, 39.440055586207386), (-121.99280779590266, 39.41221374839482), (-121.99280779590266, 39.48682137961132), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.440055586207386)),), (((-121.99280779590266, 39.56134270969617), (-122.08374449567626, 39.533402512559896), (-122.08374449567626, 39.60782343975379), (-122.08374449567626, 39.68215785111147), (-122.17460498684162, 39.654119977456524), (-122.17460498684162, 39.579799358030826), (-122.26538872869685, 39.5517055701261), (-122.26538872869685, 39.626012291876584), (-122.26538872869685, 39.70023270028032), (-122.17460498684162, 39.7283540785671), (-122.08374449567627, 39.7564055396731), (-121.99280779590266, 39.78438679703803), (-121.99280779590266, 39.858560837073455), (-121.90179543138471, 39.88648478068095), (-121.90179543138471, 39.81229756552468), (-121.90179543138471, 39.73802301630229), (-121.90179543138471, 39.66366133679624), (-121.90179543138471, 39.58921273290782), (-121.99280779590266, 39.56134270969617)),)]}" +"fireEvent/2023-02-22_0x8083550000000000","FireEvent","FireEvent at LatLong(39.33908:-121.63401) on 2023-02-22","2023-02-22","2023-02-23","P2D",2,2,"[LatLong 39.33908 -121.63401]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:geoId/06101,dcid:geoId/06115,dcid:northamerica,dcid:s2CellId/0x808352d400000000,dcid:s2CellId/0x8083530000000000,dcid:s2CellId/0x8083541400000000,dcid:s2CellId/0x8083550000000000,dcid:s2CellId/0x8083555c00000000,dcid:s2CellId/0x8084a84c00000000,dcid:s2CellId/0x8084a90000000000,dcid:s2CellId/0x809cab0000000000,dcid:s2CellId/0x809cab3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[5.11827 SquareKilometer]",5.11827,344.88,287.29,"n",5.74,"2023-02-22,2023-02-23","{'type': 'MultiPolygon', 'coordinates': [(((-121.71954589932093, 39.34596854075605), (-121.62830983522124, 39.373570417177156), (-121.62830983522124, 39.29864655751711), (-121.53700031324804, 39.32616316459139), (-121.53700031324804, 39.25113845152714), (-121.62830983522124, 39.22363643515711), (-121.71954589932093, 39.19606374838049), (-121.71954589932093, 39.27105917309169), (-121.71954589932093, 39.34596854075605)),), (((-121.71954589932093, 39.12098248645304), (-121.81070794913828, 39.09335442361682), (-121.81070794913828, 39.16842067392795), (-121.71954589932093, 39.19606374838049), (-121.71954589932093, 39.12098248645304)),)]}" +"fireEvent/2023-02-12_0x8093650000000000","FireEvent","FireEvent at LatLong(36.31641:-120.25704) on 2023-02-12","2023-02-12","2023-02-13","P2D",2,2,"[LatLong 36.31641 -120.25704]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:northamerica,dcid:s2CellId/0x8093640400000000,dcid:s2CellId/0x8093641c00000000,dcid:s2CellId/0x8093650000000000,dcid:s2CellId/0x809366a400000000,dcid:s2CellId/0x8093670000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.39951 SquareKilometer]",3.39951,351.49,300.49,"n",27.39,"2023-02-12,2023-02-13","{'type': 'Polygon', 'coordinates': (((-120.34355063422758, 36.36617166395524), (-120.25127284433846, 36.391918797186285), (-120.25127284433846, 36.313091522676416), (-120.25127284433846, 36.23418641187698), (-120.3435506342276, 36.208483658436926), (-120.3435506342276, 36.28736647095043), (-120.34355063422758, 36.36617166395524)),)}" +"fireEvent/2023-02-20_0x80833b0000000000","FireEvent","FireEvent at LatLong(39.64036:-121.85626) on 2023-02-20","2023-02-20","2023-02-22","P3D",3,3,"[LatLong 39.64036 -121.85626]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x8083250000000000,dcid:s2CellId/0x8083259400000000,dcid:s2CellId/0x808326d400000000,dcid:s2CellId/0x8083270000000000,dcid:s2CellId/0x8083272c00000000,dcid:s2CellId/0x80833adc00000000,dcid:s2CellId/0x80833b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.02584 SquareKilometer]",3.02584,352.15,292.84,"n",11.25,"2023-02-20,2023-02-21,2023-02-22","{'type': 'Polygon', 'coordinates': (((-121.81070794913828, 39.54246309252981), (-121.90179543138471, 39.51467741266122), (-121.90179543138471, 39.58921273290782), (-121.90179543138471, 39.66366133679624), (-121.90179543138471, 39.73802301630229), (-121.81070794913828, 39.76584973823246), (-121.81070794913828, 39.69147458174664), (-121.81070794913828, 39.617012297346776), (-121.81070794913828, 39.54246309252981)),)}" +"fireEvent/2023-02-03_0x809cff0000000000","FireEvent","FireEvent at LatLong(39.96225:-121.03351) on 2023-02-03","2023-02-03","2023-02-04","P2D",2,2,"[LatLong 39.96225 -121.03351]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06063,dcid:northamerica,dcid:s2CellId/0x809cfd0000000000,dcid:s2CellId/0x809cfdf400000000,dcid:s2CellId/0x809cfe0400000000,dcid:s2CellId/0x809cff0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.0221 SquareKilometer]",2.0221,341.7,277.57,"n",5.82,"2023-02-03,2023-02-04","{'type': 'Polygon', 'coordinates': (((-120.89582422732902, 40.04016874842176), (-120.89582422732902, 39.96566448927563), (-120.98763211526173, 39.93857220307052), (-121.07937052658627, 39.91140659033674), (-121.07937052658627, 39.98588584374218), (-120.98763211526173, 40.013064009667254), (-120.89582422732902, 40.04016874842176)),)}" +"fireEvent/2023-02-08_0x8085210000000000","FireEvent","FireEvent at LatLong(38.57692:-121.97575) on 2023-02-08","2023-02-08","2023-02-09","P2D",2,2,"[LatLong 38.57692 -121.97575]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06095,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084de1400000000,dcid:s2CellId/0x8084df0000000000,dcid:s2CellId/0x8085202c00000000,dcid:s2CellId/0x8085203400000000,dcid:s2CellId/0x8085210000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",5,"[2.08071 SquareKilometer]",2.08071,343.77,295.21,"n",11.91,"2023-02-08,2023-02-09","{'type': 'Polygon', 'coordinates': (((-121.90179543138471, 38.462199289647856), (-121.99280779590266, 38.43456088254056), (-121.99280779590266, 38.510270284625605), (-121.99280779590266, 38.585896319149406), (-121.90179543138471, 38.61356832875711), (-121.90179543138471, 38.537925598738894), (-121.90179543138471, 38.462199289647856)),)}" +"fireEvent/2023-02-12_0x8094290000000000","FireEvent","FireEvent at LatLong(37.32915:-119.55717) on 2023-02-12","2023-02-12","2023-02-12","P1D",1,1,"[LatLong 37.32915 -119.55717]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06039,dcid:northamerica,dcid:s2CellId/0x8094290000000000,dcid:s2CellId/0x8094293c00000000,dcid:s2CellId/0x8094294c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.23055 SquareKilometer]",2.23055,299.47,274.3,"n",1.16,"2023-02-12","{'type': 'Polygon', 'coordinates': (((-119.60354950502408, 37.35552745160059), (-119.60354950502408, 37.27735895346938), (-119.51077084299, 37.302718937652955), (-119.51077084299, 37.380906429606696), (-119.60354950502408, 37.35552745160059)),)}" +"fireEvent/2023-03-16_0x80d16f0000000000","FireEvent","FireEvent at LatLong(33.90313:-114.42327) on 2023-03-16","2023-03-16","2023-03-16","P1D",1,1,"[LatLong 33.90313 -114.42327]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04012,dcid:northamerica,dcid:s2CellId/0x80d16e0400000000,dcid:s2CellId/0x80d16e1c00000000,dcid:s2CellId/0x80d16f0000000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",3,"[2.5576 SquareKilometer]",2.5576,345.63,297.05,"n",9.57,"2023-03-16","{'type': 'Polygon', 'coordinates': (((-114.42921481897034, 33.90712585436565), (-114.42921481897034, 33.82320149214735), (-114.33414316655818, 33.843130223746485), (-114.33414316655818, 33.92707848788263), (-114.42921481897034, 33.90712585436565)),)}" +"fireEvent/2023-02-15_0x8092730000000000","FireEvent","FireEvent at LatLong(36.48535:-121.48561) on 2023-02-15","2023-02-15","2023-02-15","P1D",1,1,"[LatLong 36.48535 -121.48561]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06053,dcid:northamerica,dcid:s2CellId/0x809272e400000000,dcid:s2CellId/0x8092730000000000,dcid:s2CellId/0x8092731c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.21573 SquareKilometer]",2.21573,349.71,293.5,"n",9.07,"2023-02-15","{'type': 'Polygon', 'coordinates': (((-121.53700031324804, 36.49466838986812), (-121.53700031324804, 36.41661666511552), (-121.44561789291927, 36.44336363689261), (-121.44561789291927, 36.52143773982046), (-121.53700031324804, 36.49466838986812)),)}" +"fireEvent/2023-03-25_0x8094e70000000000","FireEvent","FireEvent at LatLong(36.53855:-119.44695) on 2023-03-25","2023-03-25","2023-03-27","P3D",3,2,"[LatLong 36.53855 -119.44695]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06031,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8094e22400000000,dcid:s2CellId/0x8094e22c00000000,dcid:s2CellId/0x8094e30000000000,dcid:s2CellId/0x8094e50000000000,dcid:s2CellId/0x8094e5dc00000000,dcid:s2CellId/0x8094e67400000000,dcid:s2CellId/0x8094e70000000000,dcid:s2CellId/0x8094fa6400000000,dcid:s2CellId/0x8094fb0000000000,dcid:s2CellId/0x8094fd0000000000,dcid:s2CellId/0x8094fd1c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",11,"[6.82657 SquareKilometer]",6.82657,344.21,299.21,"n",6.88,"2023-03-25,2023-03-27","{'type': 'Polygon', 'coordinates': (((-119.60354950502408, 36.57017350866958), (-119.60354950502408, 36.6490722675175), (-119.51077084299, 36.674272739182356), (-119.41793235298401, 36.69940095775546), (-119.41793235298398, 36.62046053996235), (-119.41793235298398, 36.54144005071771), (-119.51077084299, 36.516353582387346), (-119.51077084299, 36.437274521555786), (-119.60354950502408, 36.4121373569022), (-119.60354950502408, 36.49119510273238), (-119.60354950502408, 36.57017350866958)),)}" +"fireEvent/2023-01-12_0x80d64f0000000000","FireEvent","FireEvent at LatLong(32.39774:-114.75585) on 2023-01-12","2023-01-12","2023-01-12","P1D",1,1,"[LatLong 32.39774 -114.75585]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d648d400000000,dcid:s2CellId/0x80d6490000000000,dcid:s2CellId/0x80d6492c00000000,dcid:s2CellId/0x80d64ed400000000,dcid:s2CellId/0x80d64f0000000000",5,"[3.94984 SquareKilometer]",3.94984,337.67,280.07,"n",11.91,"2023-01-12","{'type': 'Polygon', 'coordinates': (((-114.80926906488743, 32.47683458066355), (-114.71429184441097, 32.496682423392954), (-114.71429184441097, 32.41171815478524), (-114.71429184441094, 32.326688109961154), (-114.80926906488743, 32.306895593204814), (-114.80926906488743, 32.39189787714385), (-114.80926906488743, 32.47683458066355)),)}" +"fireEvent/2023-01-02_0x80c49d0000000000","FireEvent","FireEvent at LatLong(34.61964:-117.09706) on 2023-01-02","2023-01-02","2023-01-02","P1D",1,1,"[LatLong 34.61964 -117.09706]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06071,dcid:northamerica,dcid:s2CellId/0x80c49cbc00000000,dcid:s2CellId/0x80c49cc400000000,dcid:s2CellId/0x80c49d0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.45544 SquareKilometer]",2.45544,298.73,274.81,"n",0.82,"2023-01-02","{'type': 'Polygon', 'coordinates': (((-117.17353159273283, 34.61669341815171), (-117.17353159273283, 34.53465606824912), (-117.07940822560565, 34.557178631747604), (-117.07940822560565, 34.6392405323175), (-117.17353159273283, 34.61669341815171)),)}" +"fireEvent/2023-02-06_0x8094af0000000000","FireEvent","FireEvent at LatLong(36.10040:-120.02030) on 2023-02-06","2023-02-06","2023-02-06","P1D",1,1,"[LatLong 36.10040 -120.02030]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06031,dcid:northamerica,dcid:s2CellId/0x8094af0000000000,dcid:s2CellId/0x8094af1c00000000,dcid:s2CellId/0x8094af2400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.28556 SquareKilometer]",2.28556,334.6,287.55,"n",4.13,"2023-02-06","{'type': 'Polygon', 'coordinates': (((-120.06652363285929, 36.12725014536185), (-120.06652363285929, 36.04806788044641), (-119.97405342347365, 36.07349347026282), (-119.97405342347365, 36.15269831052497), (-120.06652363285929, 36.12725014536185)),)}" +"fireEvent/2023-03-27_0x8090430000000000","FireEvent","FireEvent at LatLong(37.81581:-121.12521) on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 37.81581 -121.12521]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090430000000000,dcid:s2CellId/0x8090435c00000000,dcid:s2CellId/0x8090436400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.15323 SquareKilometer]",2.15323,352.06,296.83,"n",6.22,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-121.1710388833767, 37.840814274426336), (-121.1710388833767, 37.76395276415482), (-121.07937052658627, 37.79075426610106), (-121.07937052658627, 37.86763420544945), (-121.1710388833767, 37.840814274426336)),)}" +"fireEvent/2023-03-27_0x809a150000000000","FireEvent","FireEvent at LatLong(38.59576:-120.49912) on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 38.59576 -120.49912]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06017,dcid:northamerica,dcid:s2CellId/0x809a14ec00000000,dcid:s2CellId/0x809a150000000000,dcid:s2CellId/0x809a3f0000000000,dcid:s2CellId/0x809a3ff400000000,dcid:s2CellId/0x809a400c00000000,dcid:s2CellId/0x809a410000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[3.18127 SquareKilometer]",3.18127,339.22,291.42,"n",5.62,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-120.52790957361556, 38.56362878155043), (-120.52790957361556, 38.63993981922657), (-120.61998952842978, 38.613410423372706), (-120.61998952842978, 38.689619841758045), (-120.52790957361556, 38.716165110244546), (-120.43576307692442, 38.74263759514314), (-120.43576307692442, 38.66639654013268), (-120.43576307692442, 38.590069533051576), (-120.52790957361556, 38.56362878155043)),)}" +"fireEvent/2023-03-26_0x8090750000000000","FireEvent","FireEvent at LatLong(38.09571:-121.21685) on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 38.09571 -121.21685]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06077,dcid:northamerica,dcid:s2CellId/0x8090750000000000,dcid:s2CellId/0x8090757400000000,dcid:s2CellId/0x809aa0cc00000000,dcid:s2CellId/0x809aa0d400000000,dcid:s2CellId/0x809aa10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",5,"[3.19035 SquareKilometer]",3.19035,334.35,294.95,"n",2.22,"2023-03-26,2023-03-27","{'type': 'MultiPolygon', 'coordinates': [(((-121.1710388833767, 38.147435026035545), (-121.1710388833767, 38.07090414902015), (-121.26263661074441, 38.043960006034105), (-121.26263661074441, 38.12047318795499), (-121.1710388833767, 38.147435026035545)),), (((-121.35416313685073, 38.09344131890122), (-121.35416313685073, 38.169853815308585), (-121.26263661074441, 38.196903281604015), (-121.26263661074441, 38.12047318795499), (-121.35416313685073, 38.09344131890122)),)]}" +"fireEvent/2023-02-19_0x80d7650000000000","FireEvent","FireEvent at LatLong(32.70606:-115.52074) on 2023-02-19","2023-02-19","2023-02-20","P2D",2,2,"[LatLong 32.70606 -115.52074]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06025,dcid:northamerica,dcid:s2CellId/0x80d7650000000000,dcid:s2CellId/0x80d7650400000000,dcid:s2CellId/0x80d7658c00000000,dcid:s2CellId/0x80d765ac00000000,dcid:s2CellId/0x80d765f400000000,dcid:s2CellId/0x80d76f0000000000,dcid:s2CellId/0x80d76f6400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.89998 SquareKilometer]",3.89998,352.22,313.34,"n",22.51,"2023-02-19,2023-02-20","{'type': 'Polygon', 'coordinates': (((-115.5681083893613, 32.65357093757281), (-115.5681083893613, 32.737955172648526), (-115.47335544292073, 32.75853653053172), (-115.3785719022423, 32.779043713972804), (-115.3785719022423, 32.69460416981107), (-115.47335544292073, 32.67412456932842), (-115.5681083893613, 32.65357093757281)),)}" +"fireEvent/2023-03-06_0x80d70b0000000000","FireEvent","FireEvent at LatLong(32.57063:-115.24227) on 2023-03-06","2023-03-06","2023-03-08","P3D",3,2,"[LatLong 32.57063 -115.24227]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d70a8c00000000,dcid:s2CellId/0x80d70b0000000000,dcid:s2CellId/0x80d7a70000000000,dcid:s2CellId/0x80d7a7c400000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",4,"[2.61547 SquareKilometer]",2.61547,333.7,297.21,"n",4.05,"2023-03-06,2023-03-08","{'type': 'MultiPolygon', 'coordinates': [(((-115.28375849518459, 32.54587551383132), (-115.28375849518459, 32.63047572713295), (-115.18891595142229, 32.65077919770483), (-115.18891595142229, 32.5661512898709), (-115.28375849518459, 32.54587551383132)),), (((-115.09404500241959, 32.58635275421574), (-115.09404500241959, 32.50163095253783), (-115.18891595142229, 32.48145723709342), (-115.18891595142229, 32.5661512898709), (-115.09404500241959, 32.58635275421574)),)]}" +"fireEvent/2023-01-23_0x809cd50000000000","FireEvent","FireEvent at LatLong(39.79791:-121.58266) on 2023-01-23","2023-01-23","2023-01-25","P3D",3,2,"[LatLong 39.79791 -121.58266]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06007,dcid:northamerica,dcid:s2CellId/0x809cd50000000000,dcid:s2CellId/0x809cd53c00000000,dcid:s2CellId/0x809cd70000000000,dcid:s2CellId/0x809cd71400000000,dcid:s2CellId/0x809cd71c00000000,dcid:s2CellId/0x809cd73c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",6,"[4.03683 SquareKilometer]",4.03683,355.66,288.44,"n",16.93,"2023-01-23,2023-01-25","{'type': 'Polygon', 'coordinates': (((-121.62830983522124, 39.74688824941822), (-121.62830983522124, 39.82129004760166), (-121.53700031324804, 39.84890307417943), (-121.44561789291927, 39.87644431059195), (-121.44561789291927, 39.802016284462454), (-121.53700031324804, 39.774488110500045), (-121.62830983522124, 39.74688824941822)),)}" +"fireEvent/2023-01-23_0x80853f0000000000","FireEvent","FireEvent at LatLong(38.28629:-121.85626) on 2023-01-23","2023-01-23","2023-01-23","P1D",1,1,"[LatLong 38.28629 -121.85626]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06095,dcid:northamerica,dcid:s2CellId/0x8085390000000000,dcid:s2CellId/0x808539ec00000000,dcid:s2CellId/0x80853f0000000000,dcid:s2CellId/0x80853ffc00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion,dcid:wikidataId/Q213205,dcid:wikidataId/Q3271661",4,"[2.09856 SquareKilometer]",2.09856,297.63,277.58,"n",0.5,"2023-01-23","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 38.20693488934502), (-121.99280779590266, 38.282892940885574), (-121.90179543138471, 38.31049689758648), (-121.81070794913828, 38.33803225682059), (-121.81070794913828, 38.26203923045015), (-121.90179543138471, 38.23452130172675), (-121.99280779590266, 38.20693488934502)),)}" +"fireEvent/2023-02-20_0x54d10d0000000000","FireEvent","FireEvent at LatLong(41.22318:-123.91735) on 2023-02-20","2023-02-20","2023-02-20","P1D",1,1,"[LatLong 41.22318 -123.91735]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06023,dcid:northamerica,dcid:s2CellId/0x54d10d0000000000,dcid:s2CellId/0x54d10ddc00000000,dcid:s2CellId/0x54d10e5c00000000,dcid:s2CellId/0x54d10e6400000000,dcid:s2CellId/0x54d10e6c00000000,dcid:s2CellId/0x54d10e7400000000,dcid:s2CellId/0x54d10f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[5.15135 SquareKilometer]",5.15135,354.76,291.81,"n",27.17,"2023-02-20","{'type': 'Polygon', 'coordinates': (((-123.83537783956557, 41.21221558284898), (-123.92787048065873, 41.18143411603011), (-123.99940295441057, 41.234067876044605), (-124.07112954251315, 41.28671512267137), (-123.97844908119757, 41.3177409275206), (-123.90681624160965, 41.26497132163325), (-123.83537783956557, 41.21221558284898)),)}" +"fireEvent/2023-03-26_0x8091010000000000","FireEvent","FireEvent at LatLong(37.58756:-120.84989) on 2023-03-26","2023-03-26","2023-03-27","P2D",2,2,"[LatLong 37.58756 -120.84989]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06099,dcid:northamerica,dcid:s2CellId/0x8091010000000000,dcid:s2CellId/0x8091018400000000,dcid:s2CellId/0x8091022c00000000,dcid:s2CellId/0x8091024c00000000,dcid:s2CellId/0x8091030000000000,dcid:s2CellId/0x80911b0000000000,dcid:s2CellId/0x80911b3c00000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[3.26345 SquareKilometer]",3.26345,341.18,293.6,"n",4.45,"2023-03-26,2023-03-27","{'type': 'MultiPolygon', 'coordinates': [(((-120.89582422732902, 37.612902773234545), (-120.80394744373855, 37.6394378546288), (-120.7120023484522, 37.665902427887914), (-120.7120023484522, 37.588619247244885), (-120.80394744373858, 37.56217349052067), (-120.89582422732902, 37.535657341922445), (-120.89582422732902, 37.612902773234545)),), (((-120.61998952842978, 37.61499433591427), (-120.61998952842978, 37.537610243626965), (-120.7120023484522, 37.511254067709565), (-120.7120023484522, 37.588619247244885), (-120.61998952842978, 37.61499433591427)),)]}" +"fireEvent/2023-01-24_0x80d7c70000000000","FireEvent","FireEvent at LatLong(32.27950:-115.14148) on 2023-01-24","2023-01-24","2023-01-27","P4D",4,4,"[LatLong 32.27950 -115.14148]","dcid:Earth,dcid:country/MEX,dcid:northamerica,dcid:s2CellId/0x80d7b90000000000,dcid:s2CellId/0x80d7b94400000000,dcid:s2CellId/0x80d7c62400000000,dcid:s2CellId/0x80d7c70000000000,dcid:s2CellId/0x80d7cb0000000000,dcid:s2CellId/0x80d7cb0400000000,dcid:s2CellId/0x80d7ce4c00000000,dcid:s2CellId/0x80d7cf0000000000,dcid:wikidataId/Q1477270,dcid:wikidataId/Q58731",8,"[5.27353 SquareKilometer]",5.27353,341.03,300.06,"n",10.57,"2023-01-24,2023-01-25,2023-01-26,2023-01-27","{'type': 'MultiPolygon', 'coordinates': [(((-115.18891595142229, 32.2269827091063), (-115.18891595142229, 32.31187249427941), (-115.09404500241959, 32.33199011749119), (-115.09404500241959, 32.24707198896053), (-115.09404500241959, 32.16208932703202), (-115.18891595142229, 32.14202858870148), (-115.18891595142229, 32.2269827091063)),), (((-114.90422082333554, 32.287028613932726), (-114.90422082333554, 32.20198930823536), (-114.99914638140322, 32.182076294930475), (-114.99914638140322, 32.26708735189506), (-114.90422082333554, 32.287028613932726)),), (((-115.09404500241959, 32.07704259018568), (-115.09404500241959, 32.16208932703202), (-114.99914638140322, 32.182076294930475), (-114.99914638140322, 32.09700096546918), (-115.09404500241959, 32.07704259018568)),)]}" +"fireEvent/2023-03-27_0x80c2d10000000000","FireEvent","FireEvent at LatLong(34.06595:-118.02446) on 2023-03-27","2023-03-27","2023-03-27","P1D",1,1,"[LatLong 34.06595 -118.02446]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c2d0b400000000,dcid:s2CellId/0x80c2d0c400000000,dcid:s2CellId/0x80c2d10000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.46115 SquareKilometer]",2.46115,323.9,278.28,"n",2.3,"2023-03-27","{'type': 'Polygon', 'coordinates': (((-118.1122678531936, 34.059614889814924), (-118.1122678531936, 33.97754564726115), (-118.01860874756083, 34.00069236114518), (-118.01860874756083, 34.08278833318326), (-118.1122678531936, 34.059614889814924)),)}" +"fireEvent/2023-02-08_0x80956d0000000000","FireEvent","FireEvent at LatLong(36.63852:-118.90628) on 2023-02-08","2023-02-08","2023-02-10","P3D",3,3,"[LatLong 36.63852 -118.90628]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06019,dcid:geoId/06107,dcid:northamerica,dcid:s2CellId/0x8095690000000000,dcid:s2CellId/0x8095695400000000,dcid:s2CellId/0x8095695c00000000,dcid:s2CellId/0x80956c3400000000,dcid:s2CellId/0x80956c3c00000000,dcid:s2CellId/0x80956d0000000000,dcid:s2CellId/0x80956ea400000000,dcid:s2CellId/0x80956eac00000000,dcid:s2CellId/0x80956f0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",9,"[5.71264 SquareKilometer]",5.71264,342.6,289.21,"n",5.79,"2023-02-08,2023-02-09,2023-02-10","{'type': 'Polygon', 'coordinates': (((-119.04599270243568, 36.72016386785025), (-118.95286453849957, 36.7449068112452), (-118.85968035209078, 36.76957609688757), (-118.8596803520908, 36.69043224866218), (-118.8596803520908, 36.61120737300191), (-118.95286453849957, 36.58657881730618), (-118.95286453849957, 36.66578322345074), (-119.04599270243568, 36.64106065984325), (-119.04599270243568, 36.72016386785025)),)}" +"fireEvent/2023-02-06_0x80d16d0000000000","FireEvent","FireEvent at LatLong(33.85517:-114.47674) on 2023-02-06","2023-02-06","2023-02-06","P1D",1,1,"[LatLong 33.85517 -114.47674]","dcid:Earth,dcid:country/USA,dcid:geoId/04,dcid:geoId/04012,dcid:northamerica,dcid:s2CellId/0x80d16d0000000000,dcid:s2CellId/0x80d16d1400000000,dcid:s2CellId/0x80d16d2400000000,dcid:s2CellId/0x80d16d3400000000,dcid:s2CellId/0x80d16d4400000000,dcid:s2CellId/0x80d16d6400000000,dcid:s2CellId/0x80d16d6c00000000,dcid:usc/MountainDivision,dcid:usc/WestRegion",7,"[7.67347 SquareKilometer]",7.67347,367.0,357.96,"n",331.14,"2023-02-06","{'type': 'Polygon', 'coordinates': (((-114.52426397902158, 33.88709555416414), (-114.52426397902158, 33.80319522777779), (-114.42921481897034, 33.82320149214735), (-114.42921481897034, 33.90712585436565), (-114.52426397902158, 33.88709555416414)),)}" +"fireEvent/2023-01-06_0x80dce70000000000","FireEvent","FireEvent at LatLong(33.71042:-117.69042) on 2023-01-06","2023-01-06","2023-01-07","P2D",2,2,"[LatLong 33.71042 -117.69042]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06059,dcid:northamerica,dcid:s2CellId/0x80dcc30000000000,dcid:s2CellId/0x80dcc31c00000000,dcid:s2CellId/0x80dce70000000000,dcid:s2CellId/0x80dce73400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",4,"[2.49041 SquareKilometer]",2.49041,303.65,278.77,"n",0.6,"2023-01-06,2023-01-07","{'type': 'MultiPolygon', 'coordinates': [(((-117.73733730424752, 33.5751727543498), (-117.83114280240233, 33.55240330188513), (-117.83114280240233, 33.63497147549895), (-117.73733730424752, 33.65776852203245), (-117.73733730424752, 33.5751727543498)),), (((-117.73733730424752, 33.74029521156066), (-117.64348435403741, 33.7630480860941), (-117.64348435403741, 33.68049415262919), (-117.73733730424752, 33.65776852203245), (-117.73733730424752, 33.74029521156066)),)]}" +"fireEvent/2023-01-31_0x8084990000000000","FireEvent","FireEvent at LatLong(38.90934:-121.99849) on 2023-01-31","2023-01-31","2023-02-01","P2D",2,2,"[LatLong 38.90934 -121.99849]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06011,dcid:geoId/06113,dcid:northamerica,dcid:s2CellId/0x8084962400000000,dcid:s2CellId/0x8084963400000000,dcid:s2CellId/0x8084970000000000,dcid:s2CellId/0x8084990000000000,dcid:s2CellId/0x8084997400000000,dcid:s2CellId/0x80849a3c00000000,dcid:s2CellId/0x80849b0000000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",7,"[4.10807 SquareKilometer]",4.10807,354.76,288.07,"n",7.09,"2023-01-31,2023-02-01","{'type': 'Polygon', 'coordinates': (((-121.99280779590266, 39.0378885979975), (-121.99280779590266, 38.96276770349571), (-121.99280779590266, 38.88756204233199), (-122.08374449567626, 38.85975615372649), (-122.08374449567626, 38.93494605995725), (-122.17460498684162, 38.907055393086274), (-122.17460498684162, 38.9821450862104), (-122.08374449567627, 39.01005140863375), (-121.99280779590266, 39.0378885979975)),)}" +"fireEvent/2023-01-24_0x80c3170000000000","FireEvent","FireEvent at LatLong(34.36849:-117.69042) on 2023-01-24","2023-01-24","2023-01-24","P1D",1,1,"[LatLong 34.36849 -117.69042]","dcid:Earth,dcid:country/USA,dcid:geoId/06,dcid:geoId/06037,dcid:northamerica,dcid:s2CellId/0x80c3170000000000,dcid:s2CellId/0x80c3173c00000000,dcid:s2CellId/0x80c3174400000000,dcid:usc/PacificDivision,dcid:usc/WestRegion",3,"[2.4519 SquareKilometer]",2.4519,330.06,281.99,"n",5.45,"2023-01-24","{'type': 'Polygon', 'coordinates': (((-117.73733730424752, 34.39797441220154), (-117.73733730424752, 34.31601454830803), (-117.64348435403741, 34.33895221283812), (-117.64348435403741, 34.42093763167103), (-117.73733730424752, 34.39797441220154)),)}" diff --git a/scripts/earthengine/test_data/sample_floods_events.csv b/scripts/earthengine/test_data/sample_floods_events.csv index f5200e63bb..b2e95f25f2 100644 --- a/scripts/earthengine/test_data/sample_floods_events.csv +++ b/scripts/earthengine/test_data/sample_floods_events.csv @@ -1,10 +1,10 @@ -"dcid","typeOf","name","startDate","endDate","observationPeriod","DurationDays","startLocation","affectedPlace","AffectedPlaceCount","ContainedInPlaceCount","area","AreaSqKm","subEvents","observationDate","geoJsonCoordinatesDP1" -"floodEvent/2022-10_0x39fb030000000000","FloodEvent","FloodEvent at LatLong(25.03584:88.20716) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 25.03584 88.20716]","dcid:s2CellId/0x39fb074400000000,dcid:s2CellId/0x39fb030000000000,dcid:Earth,dcid:s2CellId/0x39fb030400000000,dcid:s2CellId/0x39fb031400000000,dcid:s2CellId/0x39fb070000000000,dcid:s2CellId/0x39fb03a400000000",6,7,"[3.60933 SquareKilometer]",3.609328,"","2022-10","{'type': 'MultiPolygon', 'coordinates': [(((88.16816661672841, 24.987930457273897), (88.16816661672841, 25.082797955021128), (88.24611830999973, 25.083734806160862), (88.24611830999973, 24.988864715366525), (88.16816661672841, 24.987930457273897)),), (((88.32393091263926, 24.98975679359349), (88.32393091263926, 24.89485740029704), (88.24611830999973, 24.893967808439232), (88.24611830999973, 24.988864715366525), (88.32393091263926, 24.98975679359349)),)]}" -"floodEvent/2022-10_0x39f1a90000000000","FloodEvent","FloodEvent at LatLong(24.82228:86.78185) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 24.82228 86.78185]","dcid:s2CellId/0x39f1072400000000,dcid:s2CellId/0x39f1070000000000,dcid:Earth,dcid:s2CellId/0x39f1a95c00000000,dcid:s2CellId/0x39f1a90000000000",4,5,"[1.80634 SquareKilometer]",1.806339,"","2022-10","{'type': 'Polygon', 'coordinates': (((86.74163739293384, 24.9636595181691), (86.82203408381292, 24.965389147310105), (86.82203408381292, 24.870557703590148), (86.82203408381292, 24.775700454671043), (86.74163739293384, 24.773980497142173), (86.74163739293384, 24.86883290014557), (86.74163739293384, 24.9636595181691)),)}" -"floodEvent/2022-10_0x39f2cf0000000000","FloodEvent","FloodEvent at LatLong(25.05296:85.03894) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 25.05296 85.03894]","dcid:s2CellId/0x39f2ce6400000000,dcid:s2CellId/0x39f2cf0000000000,dcid:Earth,dcid:s2CellId/0x39f2d01c00000000,dcid:s2CellId/0x39f2d10000000000",4,5,"[1.80441 SquareKilometer]",1.8044069999999999,"","2022-10","{'type': 'Polygon', 'coordinates': (((85.02334601407406, 25.105671247006093), (85.10643727766721, 25.108427924255686), (85.10643727766721, 25.0137784684534), (85.10643727766721, 24.91910228280929), (85.02334601407406, 24.916360836175645), (85.02334601407406, 25.01102939043017), (85.02334601407406, 25.105671247006093)),)}" -"floodEvent/2022-10_0x39f2fb0000000000","FloodEvent","FloodEvent at LatLong(25.00855:85.50457) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 25.00855 85.50457]","dcid:s2CellId/0x39f2fa1400000000,dcid:s2CellId/0x39f2fb0000000000,dcid:Earth",2,3,"[0.9023 SquareKilometer]",0.9023,"","2022-10","{'type': 'Polygon', 'coordinates': (((85.4375574061058, 24.929568460361843), (85.52002399545074, 24.932061071646416), (85.52002399545074, 25.026773319001666), (85.4375574061058, 25.024273772791044), (85.4375574061058, 24.929568460361843)),)}" -"floodEvent/2022-10_0x39925b0000000000","FloodEvent","FloodEvent at LatLong(25.12651:84.44352) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 25.12651 84.44352]","dcid:s2CellId/0x3992a5ac00000000,dcid:s2CellId/0x39f21bc400000000,dcid:s2CellId/0x39ed56c400000000,dcid:s2CellId/0x39f1cb0c00000000,dcid:s2CellId/0x39f1f94c00000000,dcid:s2CellId/0x39f2750000000000,dcid:s2CellId/0x39f2744c00000000,dcid:s2CellId/0x39f1f70000000000,dcid:s2CellId/0x39f26b2400000000,dcid:s2CellId/0x39f1cbf400000000,dcid:s2CellId/0x39f1eaa400000000,dcid:s2CellId/0x39fa93fc00000000,dcid:s2CellId/0x39f1dd7c00000000,dcid:s2CellId/0x39f1b5dc00000000,dcid:s2CellId/0x39f1ed0c00000000,dcid:s2CellId/0x39fa924400000000,dcid:s2CellId/0x39f1f27400000000,dcid:s2CellId/0x3992ac5400000000,dcid:s2CellId/0x39f00ed400000000,dcid:s2CellId/0x39f1ce9c00000000,dcid:s2CellId/0x39f1dd0000000000,dcid:s2CellId/0x39f2714c00000000,dcid:s2CellId/0x39f2a10000000000,dcid:s2CellId/0x398d451c00000000,dcid:s2CellId/0x39f041c400000000,dcid:s2CellId/0x39effc6c00000000,dcid:s2CellId/0x3992750000000000,dcid:s2CellId/0x3992a30000000000,dcid:s2CellId/0x39ed592c00000000,dcid:s2CellId/0x39f1cd0000000000,dcid:s2CellId/0x39f2138400000000,dcid:s2CellId/0x39fa5f0000000000,dcid:s2CellId/0x3992866c00000000,dcid:s2CellId/0x39f1d94c00000000,dcid:s2CellId/0x39925b0000000000,dcid:s2CellId/0x39f2804c00000000,dcid:s2CellId/0x39ed56dc00000000,dcid:s2CellId/0x39f1f34400000000,dcid:s2CellId/0x39f00afc00000000,dcid:s2CellId/0x3992a90000000000,dcid:s2CellId/0x39fa5b5c00000000,dcid:s2CellId/0x39f2146c00000000,dcid:s2CellId/0x39f1b57400000000,dcid:s2CellId/0x39f273d400000000,dcid:s2CellId/0x39f024ac00000000,dcid:s2CellId/0x39f1f3b400000000,dcid:s2CellId/0x39f283f400000000,dcid:s2CellId/0x39f0055c00000000,dcid:s2CellId/0x39f0150000000000,dcid:s2CellId/0x39f0343400000000,dcid:s2CellId/0x39fa956400000000,dcid:s2CellId/0x39f0231c00000000,dcid:s2CellId/0x39f1d2ec00000000,dcid:s2CellId/0x39f21fac00000000,dcid:s2CellId/0x39f2810000000000,dcid:s2CellId/0x39f1ef0000000000,dcid:s2CellId/0x3992a9cc00000000,dcid:s2CellId/0x39f010cc00000000,dcid:s2CellId/0x39f27df400000000,dcid:s2CellId/0x39f2170000000000,dcid:s2CellId/0x39f1c75c00000000,dcid:s2CellId/0x39f0085c00000000,dcid:s2CellId/0x39f1c09400000000,dcid:s2CellId/0x39f279cc00000000,dcid:s2CellId/0x39f1f57c00000000,dcid:s2CellId/0x39928fec00000000,dcid:s2CellId/0x39f1edbc00000000,dcid:s2CellId/0x39f0115400000000,dcid:s2CellId/0x39f2775c00000000,dcid:s2CellId/0x39f26b3c00000000,dcid:s2CellId/0x39f1e7e400000000,dcid:s2CellId/0x39f20d4c00000000,dcid:s2CellId/0x39f1e62400000000,dcid:s2CellId/0x39f2a00400000000,dcid:s2CellId/0x39925bfc00000000,dcid:s2CellId/0x399286ec00000000,dcid:s2CellId/0x39f0164c00000000,dcid:s2CellId/0x39f0174400000000,dcid:s2CellId/0x39ed538c00000000,dcid:s2CellId/0x39fa958400000000,dcid:s2CellId/0x39fa987400000000,dcid:s2CellId/0x39fa93cc00000000,dcid:s2CellId/0x39f274f400000000,dcid:s2CellId/0x39f019f400000000,dcid:s2CellId/0x39faa2f400000000,dcid:s2CellId/0x39f038bc00000000,dcid:s2CellId/0x39faa0cc00000000,dcid:s2CellId/0x39faa65400000000,dcid:s2CellId/0x39f1f28400000000,dcid:s2CellId/0x39f1c12c00000000,dcid:s2CellId/0x39f1cce400000000,dcid:s2CellId/0x39f03fa400000000,dcid:s2CellId/0x39f0384c00000000,dcid:s2CellId/0x3992bd6c00000000,dcid:s2CellId/0x39fa950400000000,dcid:s2CellId/0x3992968c00000000,dcid:s2CellId/0x39ed5a2c00000000,dcid:s2CellId/0x39f1f46400000000,dcid:s2CellId/0x39f0488400000000,dcid:s2CellId/0x39f2717c00000000,dcid:s2CellId/0x39f0490000000000,dcid:s2CellId/0x39f047c400000000,dcid:s2CellId/0x39f2793400000000,dcid:s2CellId/0x39faa2ac00000000,dcid:s2CellId/0x39f034ec00000000,dcid:s2CellId/0x39f0176400000000,dcid:s2CellId/0x39f20d5400000000,dcid:s2CellId/0x39f1f29400000000,dcid:s2CellId/0x39faa09c00000000,dcid:s2CellId/0x39f2790000000000,dcid:s2CellId/0x3992865400000000,dcid:s2CellId/0x3992a92400000000,dcid:s2CellId/0x39f2121400000000,dcid:s2CellId/0x39f212d400000000,dcid:s2CellId/0x39927b0000000000,dcid:s2CellId/0x39faa07c00000000,dcid:s2CellId/0x39fa97e400000000,dcid:s2CellId/0x39f048ac00000000,dcid:s2CellId/0x39f1e90000000000,dcid:s2CellId/0x39f0368c00000000,dcid:s2CellId/0x39f0415400000000,dcid:s2CellId/0x39f041dc00000000,dcid:s2CellId/0x39f27d0000000000,dcid:s2CellId/0x3992995c00000000,dcid:s2CellId/0x3992a27c00000000,dcid:s2CellId/0x39ed7d5c00000000,dcid:s2CellId/0x39f016f400000000,dcid:s2CellId/0x39f0054c00000000,dcid:s2CellId/0x39f0112400000000,dcid:s2CellId/0x39f1ccfc00000000,dcid:s2CellId/0x39f1e88c00000000,dcid:s2CellId/0x39f038ac00000000,dcid:s2CellId/0x39fa990000000000,dcid:s2CellId/0x39f1f31400000000,dcid:s2CellId/0x39f03b2400000000,dcid:s2CellId/0x39f03b4c00000000,dcid:s2CellId/0x39f21e9c00000000,dcid:s2CellId/0x39f1f71c00000000,dcid:s2CellId/0x39f26cac00000000,dcid:s2CellId/0x39f1b52400000000,dcid:s2CellId/0x3992879400000000,dcid:s2CellId/0x39f0352c00000000,dcid:s2CellId/0x39f26d0000000000,dcid:s2CellId/0x39fa93ec00000000,dcid:s2CellId/0x399276ac00000000,dcid:s2CellId/0x39f0114c00000000,dcid:s2CellId/0x39f03ee400000000,dcid:s2CellId/0x39f2126400000000,dcid:s2CellId/0x3992af8400000000,dcid:s2CellId/0x39925b1c00000000,dcid:s2CellId/0x3992a84c00000000,dcid:s2CellId/0x39f03fac00000000,dcid:s2CellId/0x39f1e90400000000,dcid:s2CellId/0x39f0363c00000000,dcid:s2CellId/0x39f1bf1400000000,dcid:s2CellId/0x39929be400000000,dcid:s2CellId/0x39f21c0400000000,dcid:s2CellId/0x39f0236400000000,dcid:s2CellId/0x39f03e2c00000000,dcid:s2CellId/0x39f0404400000000,dcid:s2CellId/0x39925fbc00000000,dcid:s2CellId/0x3992ab5400000000,dcid:s2CellId/0x39f047fc00000000,dcid:s2CellId/0x39f1bf9c00000000,dcid:s2CellId/0x39f1f3c400000000,dcid:s2CellId/0x39f0169400000000,dcid:s2CellId/0x39f03d5400000000,dcid:s2CellId/0x39f1ed7c00000000,dcid:s2CellId/0x39f0390000000000,dcid:s2CellId/0x39f1c6cc00000000,dcid:s2CellId/0x39f2129c00000000,dcid:s2CellId/0x39f035e400000000,dcid:s2CellId/0x39f0310000000000,dcid:s2CellId/0x39f1f36400000000,dcid:s2CellId/0x39f221bc00000000,dcid:s2CellId/0x39f1bf4c00000000,dcid:s2CellId/0x39f00a8400000000,dcid:s2CellId/0x39925b8c00000000,dcid:s2CellId/0x39ed370000000000,dcid:s2CellId/0x39f0190000000000,dcid:s2CellId/0x3992a29400000000,dcid:s2CellId/0x39fa989c00000000,dcid:s2CellId/0x39f21fcc00000000,dcid:s2CellId/0x39f2149400000000,dcid:s2CellId/0x39ed5edc00000000,dcid:s2CellId/0x39f03fc400000000,dcid:s2CellId/0x3992705c00000000,dcid:s2CellId/0x3992a35c00000000,dcid:s2CellId/0x39ed450000000000,dcid:s2CellId/0x39f1e50000000000,dcid:s2CellId/0x39f21c0c00000000,dcid:s2CellId/0x39f283a400000000,dcid:s2CellId/0x39f1eaf400000000,dcid:s2CellId/0x39f0407400000000,dcid:s2CellId/0x39fa94e400000000,dcid:s2CellId/0x39f1f26c00000000,dcid:s2CellId/0x39f0350c00000000,dcid:s2CellId/0x39f1c85400000000,dcid:s2CellId/0x39fa987c00000000,dcid:s2CellId/0x39920b0000000000,dcid:s2CellId/0x39ed53bc00000000,dcid:s2CellId/0x39f1c0f400000000,dcid:s2CellId/0x39f1b4fc00000000,dcid:s2CellId/0x39f1e6e400000000,dcid:s2CellId/0x39f011b400000000,dcid:s2CellId/0x39f0405c00000000,dcid:s2CellId/0x39f046ec00000000,dcid:s2CellId/0x39f215b400000000,dcid:s2CellId/0x39f2190000000000,dcid:s2CellId/0x3992ac4c00000000,dcid:s2CellId/0x39f03b3c00000000,dcid:s2CellId/0x39f2777400000000,dcid:s2CellId/0x39f011cc00000000,dcid:s2CellId/0x39f03ffc00000000,dcid:s2CellId/0x39920abc00000000,dcid:s2CellId/0x39f06b0000000000,dcid:s2CellId/0x39f1e89c00000000,dcid:s2CellId/0x39928b2400000000,dcid:s2CellId/0x39f2175c00000000,dcid:s2CellId/0x3992a70000000000,dcid:s2CellId/0x39f009e400000000,dcid:s2CellId/0x39ed530000000000,dcid:s2CellId/0x39f0050000000000,dcid:s2CellId/0x39f21e7400000000,dcid:s2CellId/0x39fa970000000000,dcid:s2CellId/0x39fa58b400000000,dcid:s2CellId/0x39f1ca9400000000,dcid:s2CellId/0x39f21c2400000000,dcid:s2CellId/0x39f046f400000000,dcid:s2CellId/0x39ed629c00000000,dcid:s2CellId/0x39f046c400000000,dcid:s2CellId/0x39ed5b0000000000,dcid:s2CellId/0x39f1f68400000000,dcid:s2CellId/0x39f210ec00000000,dcid:s2CellId/0x39f2829c00000000,dcid:s2CellId/0x39f2736400000000,dcid:s2CellId/0x39f0486400000000,dcid:s2CellId/0x39f0168c00000000,dcid:s2CellId/0x39f1f29c00000000,dcid:s2CellId/0x39f219ec00000000,dcid:s2CellId/0x39faa13c00000000,dcid:s2CellId/0x3992a93c00000000,dcid:s2CellId/0x39faa30000000000,dcid:s2CellId/0x39f1c2cc00000000,dcid:s2CellId/0x39f1dd4c00000000,dcid:s2CellId/0x39f2726400000000,dcid:s2CellId/0x39f1cb1400000000,dcid:s2CellId/0x39f2149c00000000,dcid:s2CellId/0x39f041cc00000000,dcid:s2CellId/0x39f214ac00000000,dcid:s2CellId/0x39f0408c00000000,dcid:s2CellId/0x39f20d2c00000000,dcid:s2CellId/0x39f038b400000000,dcid:s2CellId/0x39f1ea9c00000000,dcid:s2CellId/0x39f0480400000000,dcid:s2CellId/0x3992670000000000,dcid:s2CellId/0x39f0477400000000,dcid:s2CellId/0x39f280bc00000000,dcid:s2CellId/0x39f0090c00000000,dcid:s2CellId/0x39f1c90c00000000,dcid:s2CellId/0x39f1ccf400000000,dcid:s2CellId/0x39f1f0e400000000,dcid:s2CellId/0x39f1ca8c00000000,dcid:s2CellId/0x39f03fdc00000000,dcid:s2CellId/0x39f1c2bc00000000,dcid:s2CellId/0x399293dc00000000,dcid:s2CellId/0x39f016ac00000000,dcid:s2CellId/0x39f03d0000000000,dcid:s2CellId/0x39f2799400000000,dcid:s2CellId/0x39ed44bc00000000,dcid:s2CellId/0x39f1c1bc00000000,dcid:s2CellId/0x39f2150000000000,dcid:s2CellId/0x39929afc00000000,dcid:s2CellId/0x39f1c01c00000000,dcid:s2CellId/0x3992714c00000000,dcid:s2CellId/0x3992a2bc00000000,dcid:s2CellId/0x3992ac1400000000,dcid:s2CellId/0x39f21e1c00000000,dcid:s2CellId/0x3992a6a400000000,dcid:s2CellId/0x39f06a0c00000000,dcid:s2CellId/0x39f1f27c00000000,dcid:s2CellId/0x39f1c1a400000000,dcid:s2CellId/0x3992852c00000000,dcid:s2CellId/0x39f1e7fc00000000,dcid:s2CellId/0x39f1b5b400000000,dcid:s2CellId/0x39f040f400000000,dcid:s2CellId/0x39f1caec00000000,dcid:s2CellId/0x39f21e8400000000,dcid:s2CellId/0x39f1f49400000000,dcid:s2CellId/0x39fa988400000000,dcid:s2CellId/0x39925f0000000000,dcid:s2CellId/0x39fa957400000000,dcid:s2CellId/0x39f1ca6400000000,dcid:s2CellId/0x3992a91400000000,dcid:s2CellId/0x3992ab0000000000,dcid:s2CellId/0x39f276bc00000000,dcid:s2CellId/0x39928f0c00000000,dcid:s2CellId/0x39faa13400000000,dcid:s2CellId/0x39f0352400000000,dcid:s2CellId/0x39f0479c00000000,dcid:s2CellId/0x39f03f7c00000000,dcid:s2CellId/0x39fa8d0000000000,dcid:s2CellId/0x39f1f5e400000000,dcid:s2CellId/0x39929ad400000000,dcid:s2CellId/0x39f1f24400000000,dcid:s2CellId/0x39f1eda400000000,dcid:s2CellId/0x399284a400000000,dcid:s2CellId/0x39f1b50c00000000,dcid:s2CellId/0x39f1b63c00000000,dcid:s2CellId/0x39f1dd6400000000,dcid:Earth,dcid:s2CellId/0x39f2151c00000000,dcid:s2CellId/0x39927ca400000000,dcid:s2CellId/0x39f210fc00000000,dcid:s2CellId/0x39fa951400000000,dcid:s2CellId/0x3992930000000000,dcid:s2CellId/0x3992706c00000000,dcid:s2CellId/0x39f0400400000000,dcid:s2CellId/0x39f1d8dc00000000,dcid:s2CellId/0x39effd0000000000,dcid:s2CellId/0x398d453c00000000,dcid:s2CellId/0x39f219f400000000,dcid:s2CellId/0x39f034a400000000,dcid:s2CellId/0x39f1b43400000000,dcid:s2CellId/0x399296bc00000000,dcid:s2CellId/0x3992849c00000000,dcid:s2CellId/0x39fa5b6400000000,dcid:s2CellId/0x39f01a1c00000000,dcid:s2CellId/0x39f00a2c00000000,dcid:s2CellId/0x39ed330000000000,dcid:s2CellId/0x39f035bc00000000,dcid:s2CellId/0x39fa980400000000,dcid:s2CellId/0x39ed5d0000000000,dcid:s2CellId/0x3992a85400000000,dcid:s2CellId/0x39f0090000000000,dcid:s2CellId/0x39f26cb400000000,dcid:s2CellId/0x39f1ed6c00000000,dcid:s2CellId/0x39fa92a400000000,dcid:s2CellId/0x39f1e80400000000,dcid:s2CellId/0x39f00fbc00000000,dcid:s2CellId/0x39f1bf8400000000,dcid:s2CellId/0x39f1f5ac00000000,dcid:s2CellId/0x3992a30c00000000,dcid:s2CellId/0x39faa06c00000000,dcid:s2CellId/0x39f2727c00000000,dcid:s2CellId/0x39fa8d5c00000000,dcid:s2CellId/0x399271b400000000,dcid:s2CellId/0x39f2227c00000000,dcid:s2CellId/0x39ed572400000000,dcid:s2CellId/0x39f282a400000000,dcid:s2CellId/0x3992914400000000,dcid:s2CellId/0x39fa962400000000,dcid:s2CellId/0x39f015ec00000000,dcid:s2CellId/0x399276c400000000,dcid:s2CellId/0x399266cc00000000,dcid:s2CellId/0x3992a45c00000000,dcid:s2CellId/0x398d130000000000,dcid:s2CellId/0x39f1b8b400000000,dcid:s2CellId/0x3992a49c00000000,dcid:s2CellId/0x3992aecc00000000,dcid:s2CellId/0x39f221ec00000000,dcid:s2CellId/0x39f1b8cc00000000,dcid:s2CellId/0x39fa980c00000000,dcid:s2CellId/0x39f1bf3c00000000,dcid:s2CellId/0x39f21fb400000000,dcid:s2CellId/0x39f1ed7400000000,dcid:s2CellId/0x3992a15400000000,dcid:s2CellId/0x39ed510000000000,dcid:s2CellId/0x39f0369c00000000,dcid:s2CellId/0x39f1f90000000000,dcid:s2CellId/0x39f21bf400000000,dcid:s2CellId/0x3992990000000000,dcid:s2CellId/0x39f1c9ac00000000,dcid:s2CellId/0x39f1f6ac00000000,dcid:s2CellId/0x39f1c27c00000000,dcid:s2CellId/0x39f215cc00000000,dcid:s2CellId/0x39929b8c00000000,dcid:s2CellId/0x39f2788c00000000,dcid:s2CellId/0x39f038c400000000,dcid:s2CellId/0x39fa8d6400000000,dcid:s2CellId/0x39f02f0000000000,dcid:s2CellId/0x3992ac2c00000000,dcid:s2CellId/0x3992993c00000000,dcid:s2CellId/0x39f0085400000000,dcid:s2CellId/0x398d5a8c00000000,dcid:s2CellId/0x39927b3400000000,dcid:s2CellId/0x3992835400000000,dcid:s2CellId/0x39f1cabc00000000,dcid:s2CellId/0x39f1c6ec00000000,dcid:s2CellId/0x39f2773c00000000,dcid:s2CellId/0x39f1eaec00000000,dcid:s2CellId/0x39f1b5d400000000,dcid:s2CellId/0x39927b1c00000000,dcid:s2CellId/0x39f035ec00000000,dcid:s2CellId/0x39f1cad400000000,dcid:s2CellId/0x39fa947400000000,dcid:s2CellId/0x39fa927400000000,dcid:s2CellId/0x39f0410000000000,dcid:s2CellId/0x39f2144c00000000,dcid:s2CellId/0x39ed56a400000000,dcid:s2CellId/0x39fa93dc00000000,dcid:s2CellId/0x39f2125c00000000,dcid:s2CellId/0x39f0489c00000000,dcid:s2CellId/0x39f1cb5400000000,dcid:s2CellId/0x39f29f8c00000000,dcid:s2CellId/0x39f0333400000000,dcid:s2CellId/0x3992846c00000000,dcid:s2CellId/0x39f037c400000000,dcid:s2CellId/0x39ed5eac00000000,dcid:s2CellId/0x39928f0000000000,dcid:s2CellId/0x39f0229400000000,dcid:s2CellId/0x39f2178400000000,dcid:s2CellId/0x398d6b0000000000,dcid:s2CellId/0x39f29f2400000000,dcid:s2CellId/0x39ed34ec00000000,dcid:s2CellId/0x39f286e400000000,dcid:s2CellId/0x39f273bc00000000,dcid:s2CellId/0x39927acc00000000,dcid:s2CellId/0x39fa5f5400000000,dcid:s2CellId/0x3992b30000000000,dcid:s2CellId/0x39f1b5bc00000000,dcid:s2CellId/0x399276b400000000,dcid:s2CellId/0x3992a51400000000,dcid:s2CellId/0x39f1e82400000000,dcid:s2CellId/0x39f0365400000000,dcid:s2CellId/0x39ed58d400000000,dcid:s2CellId/0x39f2146400000000,dcid:s2CellId/0x39f0109400000000,dcid:s2CellId/0x39f0344c00000000,dcid:s2CellId/0x39f047d400000000,dcid:s2CellId/0x39f1edb400000000,dcid:s2CellId/0x39f0055400000000,dcid:s2CellId/0x3992751400000000,dcid:s2CellId/0x39f21d0000000000,dcid:s2CellId/0x39929b8400000000,dcid:s2CellId/0x39f1cb7400000000,dcid:s2CellId/0x39f1e80c00000000,dcid:s2CellId/0x39f2194c00000000,dcid:s2CellId/0x39f1f6bc00000000,dcid:s2CellId/0x39f015c400000000,dcid:s2CellId/0x3992830000000000,dcid:s2CellId/0x39f210d400000000,dcid:s2CellId/0x398d590000000000,dcid:s2CellId/0x39f1b5c400000000,dcid:s2CellId/0x39f214b400000000,dcid:s2CellId/0x39f1b51400000000,dcid:s2CellId/0x39f1f25400000000,dcid:s2CellId/0x39f2734400000000,dcid:s2CellId/0x39fa5f3c00000000,dcid:s2CellId/0x39f1c0fc00000000,dcid:s2CellId/0x39f2198400000000,dcid:s2CellId/0x39f0163c00000000,dcid:s2CellId/0x39f26b5c00000000,dcid:s2CellId/0x39928d0000000000,dcid:s2CellId/0x39f29d0000000000,dcid:s2CellId/0x39f26b0000000000,dcid:s2CellId/0x39f0370000000000,dcid:s2CellId/0x39f1f4ec00000000,dcid:s2CellId/0x3992ad0000000000,dcid:s2CellId/0x39f038cc00000000,dcid:s2CellId/0x398d6afc00000000,dcid:s2CellId/0x39f2132c00000000,dcid:s2CellId/0x3992890000000000,dcid:s2CellId/0x39f1b5a400000000,dcid:s2CellId/0x39f1c70c00000000,dcid:s2CellId/0x39fa950000000000,dcid:s2CellId/0x39faa05c00000000,dcid:s2CellId/0x39f1b50000000000,dcid:s2CellId/0x39f1cb8400000000,dcid:s2CellId/0x39f2172400000000,dcid:s2CellId/0x39ed606400000000,dcid:s2CellId/0x39f27dec00000000,dcid:s2CellId/0x39f21a1c00000000,dcid:s2CellId/0x3992916400000000,dcid:s2CellId/0x39f035b400000000,dcid:s2CellId/0x39f21c1c00000000,dcid:s2CellId/0x39faa12400000000,dcid:s2CellId/0x398d450000000000,dcid:s2CellId/0x39f0230000000000,dcid:s2CellId/0x39f1e83c00000000,dcid:s2CellId/0x39f0092c00000000,dcid:s2CellId/0x39f1c08c00000000,dcid:s2CellId/0x39f20d0000000000,dcid:s2CellId/0x39f1f2e400000000,dcid:s2CellId/0x39faa10000000000,dcid:s2CellId/0x3992844c00000000,dcid:s2CellId/0x39f0304400000000,dcid:s2CellId/0x39ed34a400000000,dcid:s2CellId/0x39f0408400000000,dcid:s2CellId/0x3992750400000000,dcid:s2CellId/0x39f0470000000000,dcid:s2CellId/0x39f037fc00000000,dcid:s2CellId/0x398d6cc400000000,dcid:s2CellId/0x39927ad400000000,dcid:s2CellId/0x3992a50000000000,dcid:s2CellId/0x39ed7d0000000000,dcid:s2CellId/0x39f0163400000000,dcid:s2CellId/0x398d5b0000000000,dcid:s2CellId/0x39f2110000000000,dcid:s2CellId/0x39927cbc00000000,dcid:s2CellId/0x39f2133400000000,dcid:s2CellId/0x39f0169c00000000,dcid:s2CellId/0x39f03f2c00000000,dcid:s2CellId/0x39fa5f4c00000000,dcid:s2CellId/0x398d50a400000000,dcid:s2CellId/0x39f037a400000000,dcid:s2CellId/0x39fa5b9c00000000,dcid:s2CellId/0x39928d5c00000000,dcid:s2CellId/0x39f0084c00000000,dcid:s2CellId/0x3992bcd400000000,dcid:s2CellId/0x399286f400000000,dcid:s2CellId/0x39f2108400000000,dcid:s2CellId/0x3992847400000000,dcid:s2CellId/0x39928b0000000000,dcid:s2CellId/0x39f047dc00000000,dcid:s2CellId/0x39f0361400000000,dcid:s2CellId/0x39f1cb0000000000,dcid:s2CellId/0x39f1b70000000000,dcid:s2CellId/0x39f1cf0000000000,dcid:s2CellId/0x39f2748400000000,dcid:s2CellId/0x39f0476400000000,dcid:s2CellId/0x3992970000000000,dcid:s2CellId/0x39f0476c00000000,dcid:s2CellId/0x3992910000000000,dcid:s2CellId/0x39f1c2b400000000,dcid:s2CellId/0x399276a400000000,dcid:s2CellId/0x39ed336400000000,dcid:s2CellId/0x39f279e400000000,dcid:s2CellId/0x39faa1e400000000,dcid:s2CellId/0x39ed5b6c00000000,dcid:s2CellId/0x39f03c8400000000,dcid:s2CellId/0x39f0111c00000000,dcid:s2CellId/0x39f1f0d400000000,dcid:s2CellId/0x39f1f45c00000000,dcid:s2CellId/0x39ed34fc00000000,dcid:s2CellId/0x39fa5f5c00000000,dcid:s2CellId/0x39f046dc00000000,dcid:s2CellId/0x39f283fc00000000,dcid:s2CellId/0x3992847c00000000,dcid:s2CellId/0x39fa956c00000000,dcid:s2CellId/0x39fa988c00000000,dcid:s2CellId/0x39f037e400000000,dcid:s2CellId/0x39f29d2400000000,dcid:s2CellId/0x39f010d400000000,dcid:s2CellId/0x39929bac00000000,dcid:s2CellId/0x39f03c8c00000000,dcid:s2CellId/0x39f1e87400000000,dcid:s2CellId/0x39f1b50400000000,dcid:s2CellId/0x39f06aac00000000,dcid:s2CellId/0x39f1cab400000000,dcid:s2CellId/0x39f1ccec00000000,dcid:s2CellId/0x39f0380400000000,dcid:s2CellId/0x39f1bf9400000000,dcid:s2CellId/0x39fa951c00000000,dcid:s2CellId/0x39f017a400000000,dcid:s2CellId/0x39f1e9ac00000000,dcid:s2CellId/0x39f0488c00000000,dcid:s2CellId/0x39f2771400000000,dcid:s2CellId/0x39f1c97c00000000,dcid:s2CellId/0x39f0406400000000,dcid:s2CellId/0x39f2713400000000,dcid:s2CellId/0x39f21e7c00000000,dcid:s2CellId/0x39f2144400000000,dcid:s2CellId/0x3992bd0000000000,dcid:s2CellId/0x39f1f31c00000000,dcid:s2CellId/0x399287ac00000000,dcid:s2CellId/0x39f2124400000000,dcid:s2CellId/0x39f21bec00000000,dcid:s2CellId/0x39f1bf0000000000,dcid:s2CellId/0x3992854400000000,dcid:s2CellId/0x39925fb400000000,dcid:s2CellId/0x39f2730000000000,dcid:s2CellId/0x39f0406c00000000,dcid:s2CellId/0x39f2210000000000,dcid:s2CellId/0x39fa930000000000,dcid:s2CellId/0x399270ec00000000,dcid:s2CellId/0x39f0170000000000,dcid:s2CellId/0x39f034d400000000,dcid:s2CellId/0x39f035a400000000,dcid:s2CellId/0x39f2836c00000000,dcid:s2CellId/0x39f1e9ec00000000,dcid:s2CellId/0x39fa5b0000000000,dcid:s2CellId/0x39f1cbe400000000,dcid:s2CellId/0x39f0342c00000000,dcid:s2CellId/0x39f1ea5c00000000,dcid:s2CellId/0x39fa8d7c00000000,dcid:s2CellId/0x39f1f30400000000,dcid:s2CellId/0x39f1dd5400000000,dcid:s2CellId/0x39f04f5400000000,dcid:s2CellId/0x39f20d5c00000000,dcid:s2CellId/0x39f0469400000000,dcid:s2CellId/0x39f03fe400000000,dcid:s2CellId/0x39f1f36c00000000,dcid:s2CellId/0x398d127c00000000,dcid:s2CellId/0x39fa93b400000000,dcid:s2CellId/0x3992af0000000000,dcid:s2CellId/0x39f00b0000000000,dcid:s2CellId/0x39f037ac00000000,dcid:s2CellId/0x39f1d30000000000,dcid:s2CellId/0x39f1edac00000000,dcid:s2CellId/0x39f1f50000000000,dcid:s2CellId/0x39f2230000000000,dcid:s2CellId/0x39f1f3fc00000000,dcid:s2CellId/0x39928b4400000000,dcid:s2CellId/0x398d5ac400000000,dcid:s2CellId/0x39f21a0400000000,dcid:s2CellId/0x39f0400c00000000,dcid:s2CellId/0x39f1f24c00000000,dcid:s2CellId/0x39f2748c00000000,dcid:s2CellId/0x39f2827400000000,dcid:s2CellId/0x39f2745400000000,dcid:s2CellId/0x39f022cc00000000,dcid:s2CellId/0x39f2148c00000000,dcid:s2CellId/0x3992714400000000,dcid:s2CellId/0x39928cac00000000,dcid:s2CellId/0x39f019dc00000000,dcid:s2CellId/0x39ed539400000000,dcid:s2CellId/0x39928b5400000000,dcid:s2CellId/0x39f1f2ec00000000,dcid:s2CellId/0x39f1c90000000000,dcid:s2CellId/0x39f2195c00000000,dcid:s2CellId/0x39f2199400000000,dcid:s2CellId/0x39fa928400000000,dcid:s2CellId/0x3992a32400000000,dcid:s2CellId/0x39f00a8c00000000,dcid:s2CellId/0x39f2712c00000000,dcid:s2CellId/0x398d12dc00000000,dcid:s2CellId/0x3992a8fc00000000,dcid:s2CellId/0x39f1b63400000000,dcid:s2CellId/0x39fa923c00000000,dcid:s2CellId/0x3992850000000000,dcid:s2CellId/0x39f1bff400000000,dcid:s2CellId/0x39f0098400000000,dcid:s2CellId/0x39928ccc00000000,dcid:s2CellId/0x39f016a400000000,dcid:s2CellId/0x39f1e5f400000000,dcid:s2CellId/0x39f1e60400000000,dcid:s2CellId/0x39f00f3400000000,dcid:s2CellId/0x3992a56c00000000,dcid:s2CellId/0x39f21c1400000000,dcid:s2CellId/0x39f1bf3400000000,dcid:s2CellId/0x39f1bf7400000000,dcid:s2CellId/0x39ed61b400000000,dcid:s2CellId/0x39f1f2f400000000,dcid:s2CellId/0x39f1f48c00000000,dcid:s2CellId/0x39928f1400000000,dcid:s2CellId/0x39f1c28400000000,dcid:s2CellId/0x39f219fc00000000,dcid:s2CellId/0x39f2830000000000,dcid:s2CellId/0x39f03f0000000000,dcid:s2CellId/0x3992988400000000,dcid:s2CellId/0x39f1c13400000000,dcid:s2CellId/0x39f2737400000000,dcid:s2CellId/0x3992980c00000000,dcid:s2CellId/0x3992987c00000000,dcid:s2CellId/0x39927b3c00000000,dcid:s2CellId/0x39f1edf400000000,dcid:s2CellId/0x3992bd3400000000,dcid:s2CellId/0x39f0115c00000000,dcid:s2CellId/0x39927d0000000000,dcid:s2CellId/0x39f0463400000000,dcid:s2CellId/0x39f1b42c00000000,dcid:s2CellId/0x3992b29400000000,dcid:s2CellId/0x399270e400000000,dcid:s2CellId/0x39f1e78c00000000,dcid:s2CellId/0x3992870000000000,dcid:s2CellId/0x39ed610000000000,dcid:s2CellId/0x39f037ec00000000,dcid:s2CellId/0x39928ad400000000,dcid:s2CellId/0x39f0484400000000,dcid:s2CellId/0x39f2148400000000,dcid:s2CellId/0x39f2130000000000,dcid:s2CellId/0x39ed570000000000,dcid:s2CellId/0x39f1c03400000000,dcid:s2CellId/0x39fa958c00000000,dcid:s2CellId/0x3992710000000000,dcid:s2CellId/0x399285fc00000000,dcid:s2CellId/0x3992a10000000000,dcid:s2CellId/0x39f1c07400000000,dcid:s2CellId/0x39ed569400000000,dcid:s2CellId/0x3992916c00000000,dcid:s2CellId/0x39ed58e400000000,dcid:s2CellId/0x39f2134c00000000,dcid:s2CellId/0x39ed56bc00000000,dcid:s2CellId/0x39f1c05400000000,dcid:s2CellId/0x39ed5fe400000000,dcid:s2CellId/0x39f1caf400000000,dcid:s2CellId/0x39f283b400000000,dcid:s2CellId/0x39f1b5ac00000000,dcid:s2CellId/0x39925bf400000000,dcid:s2CellId/0x39faa10c00000000,dcid:s2CellId/0x39f283ac00000000,dcid:s2CellId/0x39f1c00400000000,dcid:s2CellId/0x3992848400000000,dcid:s2CellId/0x39ed5ec400000000,dcid:s2CellId/0x3992a49400000000,dcid:s2CellId/0x39f1b45400000000,dcid:s2CellId/0x39f2738400000000,dcid:s2CellId/0x39f1c10400000000,dcid:s2CellId/0x39f2770c00000000,dcid:s2CellId/0x39f03f2400000000,dcid:s2CellId/0x3992a82400000000,dcid:s2CellId/0x39ed4f0000000000,dcid:s2CellId/0x39f047cc00000000,dcid:s2CellId/0x39927aac00000000,dcid:s2CellId/0x39f1e70000000000,dcid:s2CellId/0x398d5af400000000,dcid:s2CellId/0x39f1b5cc00000000,dcid:s2CellId/0x39fa945c00000000,dcid:s2CellId/0x398d510000000000,dcid:s2CellId/0x39f037bc00000000,dcid:s2CellId/0x39fa927c00000000,dcid:s2CellId/0x3992706400000000,dcid:s2CellId/0x39f04f0000000000,dcid:s2CellId/0x39f1c2ac00000000,dcid:s2CellId/0x39f0478400000000,dcid:s2CellId/0x39f0383c00000000,dcid:s2CellId/0x39f0475c00000000,dcid:s2CellId/0x39f0156c00000000,dcid:s2CellId/0x39f1c07c00000000,dcid:s2CellId/0x39f2172c00000000,dcid:s2CellId/0x39f00e4c00000000,dcid:s2CellId/0x39fa946400000000,dcid:s2CellId/0x39faa08400000000,dcid:s2CellId/0x39f1b51c00000000,dcid:s2CellId/0x39f03edc00000000,dcid:s2CellId/0x39f1f3ac00000000,dcid:s2CellId/0x39fa590000000000,dcid:s2CellId/0x39faa11c00000000,dcid:s2CellId/0x39f047f400000000,dcid:s2CellId/0x39f1f30000000000,dcid:s2CellId/0x39f21fa400000000,dcid:s2CellId/0x39f0479400000000,dcid:s2CellId/0x39925b7400000000,dcid:s2CellId/0x39f048a400000000,dcid:s2CellId/0x39f21f3c00000000,dcid:s2CellId/0x39f29e9c00000000,dcid:s2CellId/0x39faa06400000000,dcid:s2CellId/0x39f27b8c00000000,dcid:s2CellId/0x39f27c1400000000,dcid:s2CellId/0x39ed366400000000,dcid:s2CellId/0x39f037b400000000,dcid:s2CellId/0x39f0385400000000,dcid:s2CellId/0x39f2774400000000,dcid:s2CellId/0x39f01b0000000000,dcid:s2CellId/0x39f1f2fc00000000,dcid:s2CellId/0x39f1f40400000000,dcid:s2CellId/0x39f26adc00000000,dcid:s2CellId/0x39f047ec00000000,dcid:s2CellId/0x39f1efdc00000000,dcid:s2CellId/0x39f024b400000000,dcid:s2CellId/0x39f1ee6c00000000,dcid:s2CellId/0x39f26ccc00000000,dcid:s2CellId/0x3992a69c00000000,dcid:s2CellId/0x39f016b400000000,dcid:s2CellId/0x39f1f45400000000,dcid:s2CellId/0x39f1e77c00000000,dcid:s2CellId/0x3992a2dc00000000,dcid:s2CellId/0x3992855c00000000,dcid:s2CellId/0x39f03e2400000000,dcid:s2CellId/0x39f0177400000000,dcid:s2CellId/0x39f26acc00000000,dcid:s2CellId/0x39fa5f2400000000,dcid:s2CellId/0x39f0234c00000000,dcid:s2CellId/0x39ed53a400000000,dcid:s2CellId/0x39f1f15400000000,dcid:s2CellId/0x39f21f0c00000000,dcid:s2CellId/0x39f1b44c00000000,dcid:s2CellId/0x39fa922c00000000,dcid:s2CellId/0x3992988c00000000,dcid:s2CellId/0x39925eec00000000,dcid:s2CellId/0x39f06a1400000000,dcid:s2CellId/0x39ed349400000000,dcid:s2CellId/0x39ed5c7400000000,dcid:s2CellId/0x39925b9c00000000,dcid:s2CellId/0x39f2128c00000000,dcid:s2CellId/0x3992b28c00000000,dcid:s2CellId/0x39faa18400000000,dcid:s2CellId/0x39929b2400000000,dcid:s2CellId/0x3992a33c00000000,dcid:s2CellId/0x39f0114400000000,dcid:s2CellId/0x39f1c10000000000,dcid:s2CellId/0x3992ae5400000000,dcid:s2CellId/0x39f00f0000000000,dcid:s2CellId/0x3992a39c00000000,dcid:s2CellId/0x39f1b53c00000000,dcid:s2CellId/0x39f046cc00000000,dcid:s2CellId/0x39f2837400000000,dcid:s2CellId/0x39fa5f4400000000,dcid:s2CellId/0x3992a2d400000000,dcid:s2CellId/0x39f0110000000000,dcid:s2CellId/0x399276bc00000000,dcid:s2CellId/0x39f21b0000000000,dcid:s2CellId/0x3992a45400000000,dcid:s2CellId/0x39f022bc00000000,dcid:s2CellId/0x39f1c70000000000,dcid:s2CellId/0x39ed590400000000,dcid:s2CellId/0x39f0175c00000000,dcid:s2CellId/0x39f27bf400000000,dcid:s2CellId/0x39f21fd400000000,dcid:s2CellId/0x39fa93c400000000,dcid:s2CellId/0x39f03b0000000000,dcid:s2CellId/0x3992871c00000000,dcid:s2CellId/0x39fa946c00000000,dcid:s2CellId/0x39faa27c00000000,dcid:s2CellId/0x39f1f15c00000000,dcid:s2CellId/0x39f0401400000000,dcid:s2CellId/0x39f2870000000000,dcid:s2CellId/0x39f03fbc00000000,dcid:s2CellId/0x39f03fd400000000,dcid:s2CellId/0x39f2147c00000000,dcid:s2CellId/0x39ed5eb400000000,dcid:s2CellId/0x39f1c84c00000000,dcid:s2CellId/0x39f1e61c00000000,dcid:s2CellId/0x39f2112c00000000,dcid:s2CellId/0x39f0409400000000,dcid:s2CellId/0x39f21f7400000000,dcid:s2CellId/0x39fa8d8400000000,dcid:s2CellId/0x399276dc00000000,dcid:s2CellId/0x39f0462c00000000,dcid:s2CellId/0x3992a6ac00000000,dcid:s2CellId/0x398d6d0000000000,dcid:s2CellId/0x39f1b8c400000000,dcid:s2CellId/0x39927b2c00000000,dcid:s2CellId/0x39f1c09c00000000,dcid:s2CellId/0x39f21bd400000000,dcid:s2CellId/0x39f00fb400000000,dcid:s2CellId/0x39f0330000000000,dcid:s2CellId/0x39f1b90000000000,dcid:s2CellId/0x39f0351400000000,dcid:s2CellId/0x39f1d96c00000000,dcid:s2CellId/0x39f0108c00000000,dcid:s2CellId/0x39f26cc400000000,dcid:s2CellId/0x39928ff400000000,dcid:s2CellId/0x39f06aa400000000,dcid:s2CellId/0x39f2710000000000,dcid:s2CellId/0x39fa957c00000000,dcid:s2CellId/0x39fa5ebc00000000,dcid:s2CellId/0x3992878c00000000,dcid:s2CellId/0x3992770000000000,dcid:s2CellId/0x39f1e8f400000000,dcid:s2CellId/0x39fa94fc00000000,dcid:s2CellId/0x39f273f400000000,dcid:s2CellId/0x39f279d400000000,dcid:s2CellId/0x39ed5ff400000000,dcid:s2CellId/0x39f017bc00000000,dcid:s2CellId/0x39f1c1ac00000000,dcid:s2CellId/0x39927b5c00000000,dcid:s2CellId/0x39f1f67c00000000,dcid:s2CellId/0x39ed5f0000000000,dcid:s2CellId/0x3992bd8400000000,dcid:s2CellId/0x39f03d7c00000000,dcid:s2CellId/0x3992595400000000,dcid:s2CellId/0x39f1bf8c00000000,dcid:s2CellId/0x39f29f0000000000,dcid:s2CellId/0x39faa14c00000000,dcid:s2CellId/0x39f00af400000000,dcid:s2CellId/0x399284fc00000000,dcid:s2CellId/0x39f2123c00000000,dcid:s2CellId/0x39f2743400000000,dcid:s2CellId/0x39f2197c00000000,dcid:s2CellId/0x39f1c1ec00000000,dcid:s2CellId/0x39f0250000000000,dcid:s2CellId/0x39f017e400000000,dcid:s2CellId/0x39925ef400000000,dcid:s2CellId/0x3992845400000000,dcid:s2CellId/0x39f21f0000000000,dcid:s2CellId/0x39f26b5400000000,dcid:s2CellId/0x39f1f10000000000,dcid:s2CellId/0x39f1ed6400000000,dcid:s2CellId/0x39f0176c00000000,dcid:s2CellId/0x39f1edd400000000,dcid:s2CellId/0x39ed349c00000000,dcid:s2CellId/0x39f1ed0000000000,dcid:s2CellId/0x399288b400000000,dcid:s2CellId/0x3992716c00000000,dcid:s2CellId/0x39f1f72c00000000,dcid:s2CellId/0x39f21a4400000000,dcid:s2CellId/0x39f286d400000000,dcid:s2CellId/0x39f022ec00000000,dcid:s2CellId/0x399284ac00000000,dcid:s2CellId/0x39f022ac00000000,dcid:s2CellId/0x39f0102c00000000,dcid:s2CellId/0x39ed4ffc00000000,dcid:s2CellId/0x39f29d0400000000,dcid:s2CellId/0x39f27b0000000000,dcid:s2CellId/0x39fa923400000000,dcid:s2CellId/0x3992590000000000,dcid:s2CellId/0x39fa93d400000000,dcid:s2CellId/0x39f1c96400000000,dcid:s2CellId/0x39f1e7f400000000,dcid:s2CellId/0x3992af9c00000000,dcid:s2CellId/0x39f0368400000000,dcid:s2CellId/0x39f1f30c00000000,dcid:s2CellId/0x39f009a400000000,dcid:s2CellId/0x3992844400000000,dcid:s2CellId/0x39f00a5400000000,dcid:s2CellId/0x39f1c0a400000000,dcid:s2CellId/0x39f06a7400000000,dcid:s2CellId/0x39f214bc00000000,dcid:s2CellId/0x39f02e5400000000,dcid:s2CellId/0x39f1c7ac00000000,dcid:s2CellId/0x39f1f3e400000000,dcid:s2CellId/0x39f2190400000000,dcid:s2CellId/0x39929b5400000000,dcid:s2CellId/0x39f022dc00000000,dcid:s2CellId/0x398d6c9400000000,dcid:s2CellId/0x39928d8400000000,dcid:s2CellId/0x39f20d4400000000,dcid:s2CellId/0x39faa14400000000,dcid:s2CellId/0x39929b1c00000000,dcid:s2CellId/0x39f03fec00000000,dcid:s2CellId/0x39f2137400000000,dcid:s2CellId/0x39f0162c00000000,dcid:s2CellId/0x39f1c30000000000,dcid:s2CellId/0x39f214ec00000000,dcid:s2CellId/0x39929b2c00000000,dcid:s2CellId/0x39f0460400000000,dcid:s2CellId/0x39925e9400000000,dcid:s2CellId/0x39f015a400000000,dcid:s2CellId/0x39ed350000000000,dcid:s2CellId/0x39f046e400000000,dcid:s2CellId/0x3992772c00000000,dcid:s2CellId/0x39f1d90000000000,dcid:s2CellId/0x39f016bc00000000,dcid:s2CellId/0x39929b0000000000,dcid:s2CellId/0x39f03d0400000000,dcid:s2CellId/0x3992981400000000,dcid:s2CellId/0x39f1f4a400000000,dcid:s2CellId/0x39f1f25c00000000,dcid:s2CellId/0x39f2175400000000,dcid:s2CellId/0x39fa924c00000000,dcid:s2CellId/0x39ed51b400000000,dcid:s2CellId/0x3992843c00000000,dcid:s2CellId/0x39f019e400000000,dcid:s2CellId/0x39f2194400000000,dcid:s2CellId/0x39ed590000000000,dcid:s2CellId/0x39f1c00c00000000,dcid:s2CellId/0x39f0168400000000,dcid:s2CellId/0x39ed509400000000,dcid:s2CellId/0x39f1ed9400000000,dcid:s2CellId/0x3992846400000000,dcid:s2CellId/0x3992afac00000000,dcid:s2CellId/0x39f0334400000000,dcid:s2CellId/0x398d583400000000,dcid:s2CellId/0x3992969400000000,dcid:s2CellId/0x39f2147400000000,dcid:s2CellId/0x39f1f57400000000,dcid:s2CellId/0x39fa926c00000000,dcid:s2CellId/0x39f0461400000000,dcid:s2CellId/0x39f1cb8c00000000,dcid:s2CellId/0x39f038a400000000,dcid:s2CellId/0x39f0101400000000,dcid:s2CellId/0x39f1ea0c00000000,dcid:s2CellId/0x39f2777c00000000,dcid:s2CellId/0x39f1edec00000000,dcid:s2CellId/0x39fa58ac00000000,dcid:s2CellId/0x39f21dfc00000000,dcid:s2CellId/0x39f21a0c00000000,dcid:s2CellId/0x39faa19c00000000,dcid:s2CellId/0x39f1c96c00000000,dcid:s2CellId/0x39f0461c00000000,dcid:s2CellId/0x39f2770000000000,dcid:s2CellId/0x39f1f4bc00000000,dcid:s2CellId/0x39f1ed0400000000,dcid:s2CellId/0x39f2109c00000000,dcid:s2CellId/0x39f2776c00000000,dcid:s2CellId/0x39f008ec00000000,dcid:s2CellId/0x39fa8d5400000000,dcid:s2CellId/0x39f0463c00000000,dcid:s2CellId/0x39f2145400000000,dcid:s2CellId/0x39f0335400000000,dcid:s2CellId/0x39f2793c00000000,dcid:s2CellId/0x39f1f3dc00000000,dcid:s2CellId/0x39ed607c00000000,dcid:s2CellId/0x39f00fc400000000,dcid:s2CellId/0x399270c400000000,dcid:s2CellId/0x39f1b8bc00000000,dcid:s2CellId/0x39f21c2c00000000,dcid:s2CellId/0x39f0487c00000000,dcid:s2CellId/0x39f1ea8c00000000,dcid:s2CellId/0x39f26ca400000000,dcid:s2CellId/0x39f034ac00000000,dcid:s2CellId/0x39f046bc00000000,dcid:s2CellId/0x39fa97fc00000000,dcid:s2CellId/0x39faa0d400000000,dcid:s2CellId/0x39faa27400000000,dcid:s2CellId/0x3992ac3400000000,dcid:s2CellId/0x39f2152400000000,dcid:s2CellId/0x39f1ed9c00000000,dcid:s2CellId/0x39f2736c00000000,dcid:s2CellId/0x39faa1dc00000000,dcid:s2CellId/0x39f1eb0000000000,dcid:s2CellId/0x39fa5ec400000000,dcid:s2CellId/0x39f0462400000000,dcid:s2CellId/0x39ed630000000000,dcid:s2CellId/0x39f0106c00000000,dcid:s2CellId/0x39f0350000000000,dcid:s2CellId/0x3992860c00000000,dcid:s2CellId/0x39f27c7400000000,dcid:s2CellId/0x39f2145c00000000",1000,1001,"[946.33968 SquareKilometer]",946.3396849999998,"","2022-10","{'type': 'MultiPolygon', 'coordinates': [(((84.10128611741789, 26.110058872788112), (84.18571146515119, 26.113481230384203), (84.27001789722121, 26.116849508317603), (84.27001789722121, 26.022620334418804), (84.27001789722121, 25.92835686202932), (84.18571146515119, 25.925005827944414), (84.18571146515119, 26.019260658662585), (84.10128611741789, 26.01584704268557), (84.10128611741789, 26.110058872788112)),), (((86.90229801867378, 25.535506280617078), (86.90229801867378, 25.44084047003454), (86.98242881839165, 25.442500937544825), (86.98242881839165, 25.5371712009299), (87.06242610706224, 25.538789819401725), (87.14228951199856, 25.540362346911774), (87.22201866372775, 25.541888994831428), (87.30161319598756, 25.54336997501217), (87.38107274572258, 25.54480549977361), (87.46039695308058, 25.546195781891544), (87.46039695308058, 25.45150138795216), (87.53958546140831, 25.452843044417644), (87.61863791724736, 25.454140005114738), (87.61863791724736, 25.35940817124251), (87.69755397032972, 25.36065727806544), (87.69755397032972, 25.45539248352429), (87.69755397032972, 25.550097306735392), (87.77633327357327, 25.551308754745385), (87.77633327357327, 25.456600693535744), (87.77633327357327, 25.361862235828678), (87.85497548307694, 25.36302325822337), (87.85497548307694, 25.268251984022655), (87.93348025811581, 25.269366256596808), (87.93348025811581, 25.174562986800925), (87.93348025811581, 25.079731480812), (88.01184726113603, 25.08079650587531), (88.01184726113603, 24.9859345481427), (88.01184726113603, 24.891045808719575), (88.01184726113603, 24.796131023708277), (88.01184726113603, 24.70119093088496), (87.93348025811581, 24.70013777324746), (87.93348025811581, 24.79507488058305), (87.85497548307694, 24.793975946612758), (87.85497548307694, 24.888884664832755), (87.85497548307694, 24.983767362840133), (87.77633327357327, 24.982619010844495), (87.77633327357327, 25.07747176466864), (87.77633327357327, 25.172297041504493), (87.69755397032972, 25.171098630794088), (87.61863791724736, 25.169856311255923), (87.61863791724736, 25.26464669698908), (87.53958546140831, 25.263356734573925), (87.46039695308058, 25.262022317970054), (87.46039695308058, 25.356776657647888), (87.38107274572258, 25.35539382552379), (87.30161319598756, 25.35396599365868), (87.30161319598756, 25.259219275149494), (87.30161319598756, 25.164443709060063), (87.22201866372775, 25.162978672248855), (87.14228951199856, 25.1614684603739), (87.06242610706224, 25.15991286395973), (87.06242610706224, 25.06512164204467), (86.98242881839165, 25.063524856451902), (86.98242881839165, 25.158311674009234), (86.98242881839165, 25.253070446551543), (86.90229801867378, 25.25141894326741), (86.90229801867378, 25.156664682015695), (86.82203408381292, 25.15497167997469), (86.74163739293384, 25.15323246039619), (86.66110832838467, 25.151446816316586), (86.58044727573964, 25.149614541310843), (86.58044727573964, 25.244349487904724), (86.49965462380155, 25.24246522708672), (86.41873076460409, 25.240533794830505), (86.33767609341406, 25.238554985807156), (86.2564910087331, 25.236528595275804), (86.2564910087331, 25.141815023056427), (86.1751759122996, 25.139746516746417), (86.09373120909008, 25.13763015295278), (86.09373120909008, 25.23233225373979), (86.01215730732058, 25.230161896304683), (85.93045461844771, 25.227943144525515), (85.84862355716957, 25.225675796787165), (85.84862355716957, 25.320331243584), (85.84862355716957, 25.414957509808975), (85.76666454142645, 25.412628778375513), (85.68457799240123, 25.410250782196727), (85.60236433451973, 25.407823320516883), (85.52002399545074, 25.40534619328205), (85.52002399545074, 25.499916744085837), (85.4375574061058, 25.497382964438337), (85.35496500063881, 25.49479898605226), (85.27224721644559, 25.492164610478714), (85.18940449416283, 25.489479640022275), (85.18940449416283, 25.5839918332202), (85.10643727766721, 25.581248771186445), (85.02334601407406, 25.57845458425082), (85.02334601407406, 25.672920991102874), (84.94013115373588, 25.670067942552144), (84.94013115373588, 25.57560907648426), (84.8567931502407, 25.57271205276331), (84.77333246041007, 25.569763318782996), (84.77333246041007, 25.4752889995076), (84.8567931502407, 25.478229882544817), (84.8567931502407, 25.38371745058672), (84.77333246041007, 25.380784453006903), (84.77333246041007, 25.286250401660837), (84.6897495442969, 25.283273839648825), (84.6897495442969, 25.377799830725767), (84.6897495442969, 25.472296351953425), (84.6897495442969, 25.566762681069697), (84.60604486518308, 25.563709946994038), (84.60604486518308, 25.658137269444214), (84.52221888957693, 25.65502401338336), (84.43827208721021, 25.65185813798067), (84.43827208721021, 25.55744742353682), (84.35420493103518, 25.554237253233943), (84.35420493103518, 25.648639452655605), (84.27001789722121, 25.645367767724697), (84.18571146515119, 25.64204289441456), (84.10128611741789, 25.638664644874787), (84.10128611741789, 25.544288841315034), (84.01674233981981, 25.54086611270986), (83.93208062135697, 25.53738977865098), (83.84730145422645, 25.533859654689113), (83.84730145422645, 25.62820777449197), (83.93208062135697, 25.631747270397884), (84.01674233981983, 25.635232832191026), (84.01674233981981, 25.72956822521795), (84.10128611741789, 25.73300908174081), (84.1857114651512, 25.736396232637414), (84.27001789722121, 25.739729865377054), (84.27001789722121, 25.834059801565218), (84.27001789722121, 25.92835686202932), (84.35420493103518, 25.931654285473165), (84.43827208721021, 25.93489828871593), (84.52221888957692, 25.93808906311106), (84.52221888957693, 25.84376679810891), (84.60604486518308, 25.84689641208131), (84.6897495442969, 25.849973320515517), (84.6897495442969, 25.755601883022578), (84.77333246041007, 25.758618395249233), (84.8567931502407, 25.761582727117926), (84.8567931502407, 25.855969795459607), (84.94013115373588, 25.858889751452427), (84.94013115373588, 25.76449507323184), (85.02334601407406, 25.767355629027527), (85.02334601407406, 25.861757780846958), (85.10643727766721, 25.86457408046413), (85.18940449416283, 25.867338847933333), (85.18940449416283, 25.77292215549984), (85.27224721644559, 25.775628521100234), (85.27224721644559, 25.68117217706942), (85.35496500063881, 25.68382057678854), (85.4375574061058, 25.686418309464628), (85.52002399545074, 25.68896557469331), (85.52002399545074, 25.59445677839547), (85.60236433451973, 25.596947182154203), (85.60236433451973, 25.502400524184356), (85.68457799240123, 25.504834504651477), (85.68457799240123, 25.59938765278535), (85.76666454142645, 25.601778391498687), (85.84862355716959, 25.604119600207447), (85.93045461844771, 25.6064114815156), (85.93045461844771, 25.511839658093688), (86.01215730732058, 25.51407645332704), (86.01215730732058, 25.419467984896187), (86.09373120909008, 25.421650133457), (86.1751759122996, 25.42378382706151), (86.2564910087331, 25.425869269785743), (86.2564910087331, 25.5204949183438), (86.33767609341406, 25.522537781974258), (86.33767609341406, 25.42790666633226), (86.41873076460409, 25.42989622201769), (86.41873076460409, 25.524532675905252), (86.49965462380155, 25.526479806640555), (86.58044727573964, 25.528379381273865), (86.66110832838467, 25.530231607476438), (86.66110832838467, 25.435579906024774), (86.66110832838467, 25.340898055809642), (86.74163739293384, 25.34269346311163), (86.74163739293384, 25.437380163280384), (86.82203408381292, 25.439133615036358), (86.82203408381292, 25.533794848088245), (86.90229801867378, 25.535506280617078)),), (((84.10128611741789, 25.921600993704935), (84.18571146515119, 25.925005827944414), (84.1857114651512, 25.830717448526272), (84.10128611741789, 25.82732143602137), (84.10128611741789, 25.921600993704935)),), (((85.10643727766721, 26.053292642812583), (85.10643727766721, 25.958950335632913), (85.02334601407406, 25.956126731282584), (84.94013115373588, 25.95325126204064), (84.94013115373588, 26.047578891746294), (84.94013115373588, 26.141871929267474), (85.02334601407406, 26.144762176536553), (85.02334601407406, 26.050461766980458), (85.10643727766721, 26.053292642812583)),), (((87.46039695308058, 25.735490661888026), (87.46039695308058, 25.640859114305), (87.38107274572258, 25.639465131764638), (87.38107274572258, 25.734092995379868), (87.46039695308058, 25.735490661888026)),), (((86.66110832838467, 25.624852435627844), (86.74163739293384, 25.626662329117302), (86.74163739293384, 25.53203669348475), (86.66110832838467, 25.530231607476438), (86.66110832838467, 25.624852435627844)),), (((84.43827208721021, 25.1795037432513), (84.43827208721021, 25.274033342922905), (84.52221888957693, 25.277165499917018), (84.60604486518308, 25.280245602424383), (84.60604486518308, 25.185699102275812), (84.52221888957693, 25.182627378646327), (84.52221888957693, 25.088061308689923), (84.43827208721021, 25.08494623144014), (84.43827208721021, 25.1795037432513)),)]}" -"floodEvent/2022-10_0x39ee6d0000000000","FloodEvent","FloodEvent at LatLong(25.85650:86.45921) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 25.85650 86.45921]","dcid:s2CellId/0x39ee6d2c00000000,dcid:Earth,dcid:s2CellId/0x39ee6d0000000000,dcid:s2CellId/0x39ee110000000000,dcid:s2CellId/0x39ee11bc00000000",4,5,"[1.79107 SquareKilometer]",1.791068,"","2022-10","{'type': 'MultiPolygon', 'coordinates': [(((86.41873076460409, 25.997238431745355), (86.49965462380155, 25.99921126692098), (86.49965462380155, 26.093657155868584), (86.41873076460409, 26.091679249420316), (86.41873076460409, 25.997238431745355)),), (((86.41873076460409, 25.808254312591544), (86.49965462380155, 25.81021693539081), (86.49965462380155, 25.904730955127118), (86.41873076460409, 25.90276321452476), (86.41873076460409, 25.808254312591544)),)]}" -"floodEvent/2022-10_0x398dad0000000000","FloodEvent","FloodEvent at LatLong(24.83720:84.14351) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 24.83720 84.14351]","dcid:s2CellId/0x398dad0000000000,dcid:s2CellId/0x398dad1400000000,dcid:Earth,dcid:s2CellId/0x398dad0c00000000",3,4,"[1.8073 SquareKilometer]",1.807302,"","2022-10","{'type': 'Polygon', 'coordinates': (((84.10128611741789, 24.788239718921737), (84.1857114651512, 24.79153608914476), (84.1857114651512, 24.886146090200345), (84.10128611741789, 24.882840466824423), (84.10128611741789, 24.788239718921737)),)}" -"floodEvent/2022-10_0x39f3cd0000000000","FloodEvent","FloodEvent at LatLong(24.80489:86.05296) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 24.80489 86.05296]","dcid:s2CellId/0x39f3cdac00000000,dcid:Earth,dcid:s2CellId/0x39f3cd0000000000",2,3,"[0.90384 SquareKilometer]",0.903843,"","2022-10","{'type': 'Polygon', 'coordinates': (((86.01215730732058, 24.756410613360817), (86.09373120909008, 24.758551048456575), (86.09373120909008, 24.853359964214558), (86.01215730732058, 24.851213494211738), (86.01215730732058, 24.756410613360817)),)}" -"floodEvent/2022-10_0x39e5410000000000","FloodEvent","FloodEvent at LatLong(25.97770:87.81567) on 2022-10","2022-10","2022-10","P1D",1,"[LatLong 25.97770 87.81567]","dcid:s2CellId/0x39e5413400000000,dcid:Earth,dcid:s2CellId/0x39e5410000000000,dcid:s2CellId/0x39e5493400000000,dcid:s2CellId/0x39e5490000000000,dcid:s2CellId/0x39e54ed400000000,dcid:s2CellId/0x39e5489400000000,dcid:s2CellId/0x39e54f0000000000,dcid:s2CellId/0x39e5495400000000",8,9,"[4.4824 SquareKilometer]",4.482403,"","2022-10","{'type': 'MultiPolygon', 'coordinates': [(((87.77633327357327, 26.024367791331297), (87.85497548307694, 26.025550458330905), (87.85497548307694, 25.931002171995136), (87.77633327357327, 25.92982255544202), (87.77633327357327, 26.024367791331297)),), (((87.85497548307694, 25.836419867259345), (87.85497548307694, 25.741804261933925), (87.77633327357327, 25.740630788088815), (87.69755397032972, 25.73941290701931), (87.69755397032972, 25.834022239067483), (87.77633327357327, 25.83524331510538), (87.85497548307694, 25.836419867259345)),)]}" +"dcid","typeOf","name","startDate","endDate","observationPeriod","DurationDays","numberOfDays","startLocation","affectedPlace","AffectedPlaceCount","area","AreaSqKm","observationDate","geoJsonCoordinatesDP1" +"floodEvent/2022-10_0x39f2fb0000000000","FloodEvent","FloodEvent at LatLong(25.00855:85.50457) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 25.00855 85.50457]","dcid:s2CellId/0x39f2fa1400000000,dcid:s2CellId/0x39f2fb0000000000",2,"[0.9023 SquareKilometer]",0.9023,"2022-10","{'type': 'Polygon', 'coordinates': (((85.4375574061058, 24.929568460361843), (85.52002399545074, 24.932061071646416), (85.52002399545074, 25.026773319001666), (85.4375574061058, 25.024273772791044), (85.4375574061058, 24.929568460361843)),)}" +"floodEvent/2022-10_0x39ee6d0000000000","FloodEvent","FloodEvent at LatLong(25.85650:86.45921) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 25.85650 86.45921]","dcid:s2CellId/0x39ee110000000000,dcid:s2CellId/0x39ee11bc00000000,dcid:s2CellId/0x39ee6d0000000000,dcid:s2CellId/0x39ee6d2c00000000",4,"[1.79107 SquareKilometer]",1.79107,"2022-10","{'type': 'MultiPolygon', 'coordinates': [(((86.41873076460409, 25.997238431745355), (86.49965462380155, 25.99921126692098), (86.49965462380155, 26.093657155868584), (86.41873076460409, 26.091679249420316), (86.41873076460409, 25.997238431745355)),), (((86.41873076460409, 25.808254312591544), (86.49965462380155, 25.81021693539081), (86.49965462380155, 25.904730955127118), (86.41873076460409, 25.90276321452476), (86.41873076460409, 25.808254312591544)),)]}" +"floodEvent/2022-10_0x39f3cd0000000000","FloodEvent","FloodEvent at LatLong(24.80489:86.05296) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 24.80489 86.05296]","dcid:s2CellId/0x39f3cd0000000000,dcid:s2CellId/0x39f3cdac00000000",2,"[0.90384 SquareKilometer]",0.90384,"2022-10","{'type': 'Polygon', 'coordinates': (((86.01215730732058, 24.756410613360817), (86.09373120909008, 24.758551048456575), (86.09373120909008, 24.853359964214558), (86.01215730732058, 24.851213494211738), (86.01215730732058, 24.756410613360817)),)}" +"floodEvent/2022-10_0x39f2cf0000000000","FloodEvent","FloodEvent at LatLong(25.05296:85.03894) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 25.05296 85.03894]","dcid:s2CellId/0x39f2ce6400000000,dcid:s2CellId/0x39f2cf0000000000,dcid:s2CellId/0x39f2d01c00000000,dcid:s2CellId/0x39f2d10000000000",4,"[1.80441 SquareKilometer]",1.80441,"2022-10","{'type': 'Polygon', 'coordinates': (((85.02334601407406, 25.105671247006093), (85.10643727766721, 25.108427924255686), (85.10643727766721, 25.0137784684534), (85.10643727766721, 24.91910228280929), (85.02334601407406, 24.916360836175645), (85.02334601407406, 25.01102939043017), (85.02334601407406, 25.105671247006093)),)}" +"floodEvent/2022-10_0x39f1a90000000000","FloodEvent","FloodEvent at LatLong(24.82228:86.78185) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 24.82228 86.78185]","dcid:s2CellId/0x39f1070000000000,dcid:s2CellId/0x39f1072400000000,dcid:s2CellId/0x39f1a90000000000,dcid:s2CellId/0x39f1a95c00000000",4,"[1.80634 SquareKilometer]",1.80634,"2022-10","{'type': 'Polygon', 'coordinates': (((86.74163739293384, 24.9636595181691), (86.82203408381292, 24.965389147310105), (86.82203408381292, 24.870557703590148), (86.82203408381292, 24.775700454671043), (86.74163739293384, 24.773980497142173), (86.74163739293384, 24.86883290014557), (86.74163739293384, 24.9636595181691)),)}" +"floodEvent/2022-10_0x39fb030000000000","FloodEvent","FloodEvent at LatLong(25.03584:88.20716) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 25.03584 88.20716]","dcid:s2CellId/0x39fb030000000000,dcid:s2CellId/0x39fb030400000000,dcid:s2CellId/0x39fb031400000000,dcid:s2CellId/0x39fb03a400000000,dcid:s2CellId/0x39fb070000000000,dcid:s2CellId/0x39fb074400000000",6,"[3.60933 SquareKilometer]",3.60933,"2022-10","{'type': 'MultiPolygon', 'coordinates': [(((88.16816661672841, 24.987930457273897), (88.16816661672841, 25.082797955021128), (88.24611830999973, 25.083734806160862), (88.24611830999973, 24.988864715366525), (88.16816661672841, 24.987930457273897)),), (((88.32393091263926, 24.98975679359349), (88.32393091263926, 24.89485740029704), (88.24611830999973, 24.893967808439232), (88.24611830999973, 24.988864715366525), (88.32393091263926, 24.98975679359349)),)]}" +"floodEvent/2022-10_0x39925b0000000000","FloodEvent","FloodEvent at LatLong(25.12651:84.44352) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 25.12651 84.44352]","dcid:s2CellId/0x398d127c00000000,dcid:s2CellId/0x398d12dc00000000,dcid:s2CellId/0x398d130000000000,dcid:s2CellId/0x398d450000000000,dcid:s2CellId/0x398d451c00000000,dcid:s2CellId/0x398d453c00000000,dcid:s2CellId/0x398d50a400000000,dcid:s2CellId/0x398d510000000000,dcid:s2CellId/0x398d583400000000,dcid:s2CellId/0x398d590000000000,dcid:s2CellId/0x398d5a8c00000000,dcid:s2CellId/0x398d5ac400000000,dcid:s2CellId/0x398d5af400000000,dcid:s2CellId/0x398d5b0000000000,dcid:s2CellId/0x398d6afc00000000,dcid:s2CellId/0x398d6b0000000000,dcid:s2CellId/0x398d6c9400000000,dcid:s2CellId/0x398d6cc400000000,dcid:s2CellId/0x398d6d0000000000,dcid:s2CellId/0x39920abc00000000,dcid:s2CellId/0x39920b0000000000,dcid:s2CellId/0x3992590000000000,dcid:s2CellId/0x3992595400000000,dcid:s2CellId/0x39925b0000000000,dcid:s2CellId/0x39925b1c00000000,dcid:s2CellId/0x39925b7400000000,dcid:s2CellId/0x39925b8c00000000,dcid:s2CellId/0x39925b9c00000000,dcid:s2CellId/0x39925bf400000000,dcid:s2CellId/0x39925bfc00000000,dcid:s2CellId/0x39925e9400000000,dcid:s2CellId/0x39925eec00000000,dcid:s2CellId/0x39925ef400000000,dcid:s2CellId/0x39925f0000000000,dcid:s2CellId/0x39925fb400000000,dcid:s2CellId/0x39925fbc00000000,dcid:s2CellId/0x399266cc00000000,dcid:s2CellId/0x3992670000000000,dcid:s2CellId/0x3992705c00000000,dcid:s2CellId/0x3992706400000000,dcid:s2CellId/0x3992706c00000000,dcid:s2CellId/0x399270c400000000,dcid:s2CellId/0x399270e400000000,dcid:s2CellId/0x399270ec00000000,dcid:s2CellId/0x3992710000000000,dcid:s2CellId/0x3992714400000000,dcid:s2CellId/0x3992714c00000000,dcid:s2CellId/0x3992716c00000000,dcid:s2CellId/0x399271b400000000,dcid:s2CellId/0x3992750000000000,dcid:s2CellId/0x3992750400000000,dcid:s2CellId/0x3992751400000000,dcid:s2CellId/0x399276a400000000,dcid:s2CellId/0x399276ac00000000,dcid:s2CellId/0x399276b400000000,dcid:s2CellId/0x399276bc00000000,dcid:s2CellId/0x399276c400000000,dcid:s2CellId/0x399276dc00000000,dcid:s2CellId/0x3992770000000000,dcid:s2CellId/0x3992772c00000000,dcid:s2CellId/0x39927aac00000000,dcid:s2CellId/0x39927acc00000000,dcid:s2CellId/0x39927ad400000000,dcid:s2CellId/0x39927b0000000000,dcid:s2CellId/0x39927b1c00000000,dcid:s2CellId/0x39927b2c00000000,dcid:s2CellId/0x39927b3400000000,dcid:s2CellId/0x39927b3c00000000,dcid:s2CellId/0x39927b5c00000000,dcid:s2CellId/0x39927ca400000000,dcid:s2CellId/0x39927cbc00000000,dcid:s2CellId/0x39927d0000000000,dcid:s2CellId/0x3992830000000000,dcid:s2CellId/0x3992835400000000,dcid:s2CellId/0x3992843c00000000,dcid:s2CellId/0x3992844400000000,dcid:s2CellId/0x3992844c00000000,dcid:s2CellId/0x3992845400000000,dcid:s2CellId/0x3992846400000000,dcid:s2CellId/0x3992846c00000000,dcid:s2CellId/0x3992847400000000,dcid:s2CellId/0x3992847c00000000,dcid:s2CellId/0x3992848400000000,dcid:s2CellId/0x3992849c00000000,dcid:s2CellId/0x399284a400000000,dcid:s2CellId/0x399284ac00000000,dcid:s2CellId/0x399284fc00000000,dcid:s2CellId/0x3992850000000000,dcid:s2CellId/0x3992852c00000000,dcid:s2CellId/0x3992854400000000,dcid:s2CellId/0x3992855c00000000,dcid:s2CellId/0x399285fc00000000,dcid:s2CellId/0x3992860c00000000,dcid:s2CellId/0x3992865400000000,dcid:s2CellId/0x3992866c00000000,dcid:s2CellId/0x399286ec00000000,dcid:s2CellId/0x399286f400000000,dcid:s2CellId/0x3992870000000000,dcid:s2CellId/0x3992871c00000000,dcid:s2CellId/0x3992878c00000000,dcid:s2CellId/0x3992879400000000,dcid:s2CellId/0x399287ac00000000,dcid:s2CellId/0x399288b400000000,dcid:s2CellId/0x3992890000000000,dcid:s2CellId/0x39928ad400000000,dcid:s2CellId/0x39928b0000000000,dcid:s2CellId/0x39928b2400000000,dcid:s2CellId/0x39928b4400000000,dcid:s2CellId/0x39928b5400000000,dcid:s2CellId/0x39928cac00000000,dcid:s2CellId/0x39928ccc00000000,dcid:s2CellId/0x39928d0000000000,dcid:s2CellId/0x39928d5c00000000,dcid:s2CellId/0x39928d8400000000,dcid:s2CellId/0x39928f0000000000,dcid:s2CellId/0x39928f0c00000000,dcid:s2CellId/0x39928f1400000000,dcid:s2CellId/0x39928fec00000000,dcid:s2CellId/0x39928ff400000000,dcid:s2CellId/0x3992910000000000,dcid:s2CellId/0x3992914400000000,dcid:s2CellId/0x3992916400000000,dcid:s2CellId/0x3992916c00000000,dcid:s2CellId/0x3992930000000000,dcid:s2CellId/0x399293dc00000000,dcid:s2CellId/0x3992968c00000000,dcid:s2CellId/0x3992969400000000,dcid:s2CellId/0x399296bc00000000,dcid:s2CellId/0x3992970000000000,dcid:s2CellId/0x3992980c00000000,dcid:s2CellId/0x3992981400000000,dcid:s2CellId/0x3992987c00000000,dcid:s2CellId/0x3992988400000000,dcid:s2CellId/0x3992988c00000000,dcid:s2CellId/0x3992990000000000,dcid:s2CellId/0x3992993c00000000,dcid:s2CellId/0x3992995c00000000,dcid:s2CellId/0x39929ad400000000,dcid:s2CellId/0x39929afc00000000,dcid:s2CellId/0x39929b0000000000,dcid:s2CellId/0x39929b1c00000000,dcid:s2CellId/0x39929b2400000000,dcid:s2CellId/0x39929b2c00000000,dcid:s2CellId/0x39929b5400000000,dcid:s2CellId/0x39929b8400000000,dcid:s2CellId/0x39929b8c00000000,dcid:s2CellId/0x39929bac00000000,dcid:s2CellId/0x39929be400000000,dcid:s2CellId/0x3992a10000000000,dcid:s2CellId/0x3992a15400000000,dcid:s2CellId/0x3992a27c00000000,dcid:s2CellId/0x3992a29400000000,dcid:s2CellId/0x3992a2bc00000000,dcid:s2CellId/0x3992a2d400000000,dcid:s2CellId/0x3992a2dc00000000,dcid:s2CellId/0x3992a30000000000,dcid:s2CellId/0x3992a30c00000000,dcid:s2CellId/0x3992a32400000000,dcid:s2CellId/0x3992a33c00000000,dcid:s2CellId/0x3992a35c00000000,dcid:s2CellId/0x3992a39c00000000,dcid:s2CellId/0x3992a45400000000,dcid:s2CellId/0x3992a45c00000000,dcid:s2CellId/0x3992a49400000000,dcid:s2CellId/0x3992a49c00000000,dcid:s2CellId/0x3992a50000000000,dcid:s2CellId/0x3992a51400000000,dcid:s2CellId/0x3992a56c00000000,dcid:s2CellId/0x3992a5ac00000000,dcid:s2CellId/0x3992a69c00000000,dcid:s2CellId/0x3992a6a400000000,dcid:s2CellId/0x3992a6ac00000000,dcid:s2CellId/0x3992a70000000000,dcid:s2CellId/0x3992a82400000000,dcid:s2CellId/0x3992a84c00000000,dcid:s2CellId/0x3992a85400000000,dcid:s2CellId/0x3992a8fc00000000,dcid:s2CellId/0x3992a90000000000,dcid:s2CellId/0x3992a91400000000,dcid:s2CellId/0x3992a92400000000,dcid:s2CellId/0x3992a93c00000000,dcid:s2CellId/0x3992a9cc00000000,dcid:s2CellId/0x3992ab0000000000,dcid:s2CellId/0x3992ab5400000000,dcid:s2CellId/0x3992ac1400000000,dcid:s2CellId/0x3992ac2c00000000,dcid:s2CellId/0x3992ac3400000000,dcid:s2CellId/0x3992ac4c00000000,dcid:s2CellId/0x3992ac5400000000,dcid:s2CellId/0x3992ad0000000000,dcid:s2CellId/0x3992ae5400000000,dcid:s2CellId/0x3992aecc00000000,dcid:s2CellId/0x3992af0000000000,dcid:s2CellId/0x3992af8400000000,dcid:s2CellId/0x3992af9c00000000,dcid:s2CellId/0x3992afac00000000,dcid:s2CellId/0x3992b28c00000000,dcid:s2CellId/0x3992b29400000000,dcid:s2CellId/0x3992b30000000000,dcid:s2CellId/0x3992bcd400000000,dcid:s2CellId/0x3992bd0000000000,dcid:s2CellId/0x3992bd3400000000,dcid:s2CellId/0x3992bd6c00000000,dcid:s2CellId/0x3992bd8400000000,dcid:s2CellId/0x39ed330000000000,dcid:s2CellId/0x39ed336400000000,dcid:s2CellId/0x39ed349400000000,dcid:s2CellId/0x39ed349c00000000,dcid:s2CellId/0x39ed34a400000000,dcid:s2CellId/0x39ed34ec00000000,dcid:s2CellId/0x39ed34fc00000000,dcid:s2CellId/0x39ed350000000000,dcid:s2CellId/0x39ed366400000000,dcid:s2CellId/0x39ed370000000000,dcid:s2CellId/0x39ed44bc00000000,dcid:s2CellId/0x39ed450000000000,dcid:s2CellId/0x39ed4f0000000000,dcid:s2CellId/0x39ed4ffc00000000,dcid:s2CellId/0x39ed509400000000,dcid:s2CellId/0x39ed510000000000,dcid:s2CellId/0x39ed51b400000000,dcid:s2CellId/0x39ed530000000000,dcid:s2CellId/0x39ed538c00000000,dcid:s2CellId/0x39ed539400000000,dcid:s2CellId/0x39ed53a400000000,dcid:s2CellId/0x39ed53bc00000000,dcid:s2CellId/0x39ed569400000000,dcid:s2CellId/0x39ed56a400000000,dcid:s2CellId/0x39ed56bc00000000,dcid:s2CellId/0x39ed56c400000000,dcid:s2CellId/0x39ed56dc00000000,dcid:s2CellId/0x39ed570000000000,dcid:s2CellId/0x39ed572400000000,dcid:s2CellId/0x39ed58d400000000,dcid:s2CellId/0x39ed58e400000000,dcid:s2CellId/0x39ed590000000000,dcid:s2CellId/0x39ed590400000000,dcid:s2CellId/0x39ed592c00000000,dcid:s2CellId/0x39ed5a2c00000000,dcid:s2CellId/0x39ed5b0000000000,dcid:s2CellId/0x39ed5b6c00000000,dcid:s2CellId/0x39ed5c7400000000,dcid:s2CellId/0x39ed5d0000000000,dcid:s2CellId/0x39ed5eac00000000,dcid:s2CellId/0x39ed5eb400000000,dcid:s2CellId/0x39ed5ec400000000,dcid:s2CellId/0x39ed5edc00000000,dcid:s2CellId/0x39ed5f0000000000,dcid:s2CellId/0x39ed5fe400000000,dcid:s2CellId/0x39ed5ff400000000,dcid:s2CellId/0x39ed606400000000,dcid:s2CellId/0x39ed607c00000000,dcid:s2CellId/0x39ed610000000000,dcid:s2CellId/0x39ed61b400000000,dcid:s2CellId/0x39ed629c00000000,dcid:s2CellId/0x39ed630000000000,dcid:s2CellId/0x39ed7d0000000000,dcid:s2CellId/0x39ed7d5c00000000,dcid:s2CellId/0x39effc6c00000000,dcid:s2CellId/0x39effd0000000000,dcid:s2CellId/0x39f0050000000000,dcid:s2CellId/0x39f0054c00000000,dcid:s2CellId/0x39f0055400000000,dcid:s2CellId/0x39f0055c00000000,dcid:s2CellId/0x39f0084c00000000,dcid:s2CellId/0x39f0085400000000,dcid:s2CellId/0x39f0085c00000000,dcid:s2CellId/0x39f008ec00000000,dcid:s2CellId/0x39f0090000000000,dcid:s2CellId/0x39f0090c00000000,dcid:s2CellId/0x39f0092c00000000,dcid:s2CellId/0x39f0098400000000,dcid:s2CellId/0x39f009a400000000,dcid:s2CellId/0x39f009e400000000,dcid:s2CellId/0x39f00a2c00000000,dcid:s2CellId/0x39f00a5400000000,dcid:s2CellId/0x39f00a8400000000,dcid:s2CellId/0x39f00a8c00000000,dcid:s2CellId/0x39f00af400000000,dcid:s2CellId/0x39f00afc00000000,dcid:s2CellId/0x39f00b0000000000,dcid:s2CellId/0x39f00e4c00000000,dcid:s2CellId/0x39f00ed400000000,dcid:s2CellId/0x39f00f0000000000,dcid:s2CellId/0x39f00f3400000000,dcid:s2CellId/0x39f00fb400000000,dcid:s2CellId/0x39f00fbc00000000,dcid:s2CellId/0x39f00fc400000000,dcid:s2CellId/0x39f0101400000000,dcid:s2CellId/0x39f0102c00000000,dcid:s2CellId/0x39f0106c00000000,dcid:s2CellId/0x39f0108c00000000,dcid:s2CellId/0x39f0109400000000,dcid:s2CellId/0x39f010cc00000000,dcid:s2CellId/0x39f010d400000000,dcid:s2CellId/0x39f0110000000000,dcid:s2CellId/0x39f0111c00000000,dcid:s2CellId/0x39f0112400000000,dcid:s2CellId/0x39f0114400000000,dcid:s2CellId/0x39f0114c00000000,dcid:s2CellId/0x39f0115400000000,dcid:s2CellId/0x39f0115c00000000,dcid:s2CellId/0x39f011b400000000,dcid:s2CellId/0x39f011cc00000000,dcid:s2CellId/0x39f0150000000000,dcid:s2CellId/0x39f0156c00000000,dcid:s2CellId/0x39f015a400000000,dcid:s2CellId/0x39f015c400000000,dcid:s2CellId/0x39f015ec00000000,dcid:s2CellId/0x39f0162c00000000,dcid:s2CellId/0x39f0163400000000,dcid:s2CellId/0x39f0163c00000000,dcid:s2CellId/0x39f0164c00000000,dcid:s2CellId/0x39f0168400000000,dcid:s2CellId/0x39f0168c00000000,dcid:s2CellId/0x39f0169400000000,dcid:s2CellId/0x39f0169c00000000,dcid:s2CellId/0x39f016a400000000,dcid:s2CellId/0x39f016ac00000000,dcid:s2CellId/0x39f016b400000000,dcid:s2CellId/0x39f016bc00000000,dcid:s2CellId/0x39f016f400000000,dcid:s2CellId/0x39f0170000000000,dcid:s2CellId/0x39f0174400000000,dcid:s2CellId/0x39f0175c00000000,dcid:s2CellId/0x39f0176400000000,dcid:s2CellId/0x39f0176c00000000,dcid:s2CellId/0x39f0177400000000,dcid:s2CellId/0x39f017a400000000,dcid:s2CellId/0x39f017bc00000000,dcid:s2CellId/0x39f017e400000000,dcid:s2CellId/0x39f0190000000000,dcid:s2CellId/0x39f019dc00000000,dcid:s2CellId/0x39f019e400000000,dcid:s2CellId/0x39f019f400000000,dcid:s2CellId/0x39f01a1c00000000,dcid:s2CellId/0x39f01b0000000000,dcid:s2CellId/0x39f0229400000000,dcid:s2CellId/0x39f022ac00000000,dcid:s2CellId/0x39f022bc00000000,dcid:s2CellId/0x39f022cc00000000,dcid:s2CellId/0x39f022dc00000000,dcid:s2CellId/0x39f022ec00000000,dcid:s2CellId/0x39f0230000000000,dcid:s2CellId/0x39f0231c00000000,dcid:s2CellId/0x39f0234c00000000,dcid:s2CellId/0x39f0236400000000,dcid:s2CellId/0x39f024ac00000000,dcid:s2CellId/0x39f024b400000000,dcid:s2CellId/0x39f0250000000000,dcid:s2CellId/0x39f02e5400000000,dcid:s2CellId/0x39f02f0000000000,dcid:s2CellId/0x39f0304400000000,dcid:s2CellId/0x39f0310000000000,dcid:s2CellId/0x39f0330000000000,dcid:s2CellId/0x39f0333400000000,dcid:s2CellId/0x39f0334400000000,dcid:s2CellId/0x39f0335400000000,dcid:s2CellId/0x39f0342c00000000,dcid:s2CellId/0x39f0343400000000,dcid:s2CellId/0x39f0344c00000000,dcid:s2CellId/0x39f034a400000000,dcid:s2CellId/0x39f034ac00000000,dcid:s2CellId/0x39f034d400000000,dcid:s2CellId/0x39f034ec00000000,dcid:s2CellId/0x39f0350000000000,dcid:s2CellId/0x39f0350c00000000,dcid:s2CellId/0x39f0351400000000,dcid:s2CellId/0x39f0352400000000,dcid:s2CellId/0x39f0352c00000000,dcid:s2CellId/0x39f035a400000000,dcid:s2CellId/0x39f035b400000000,dcid:s2CellId/0x39f035bc00000000,dcid:s2CellId/0x39f035e400000000,dcid:s2CellId/0x39f035ec00000000,dcid:s2CellId/0x39f0361400000000,dcid:s2CellId/0x39f0363c00000000,dcid:s2CellId/0x39f0365400000000,dcid:s2CellId/0x39f0368400000000,dcid:s2CellId/0x39f0368c00000000,dcid:s2CellId/0x39f0369c00000000,dcid:s2CellId/0x39f0370000000000,dcid:s2CellId/0x39f037a400000000,dcid:s2CellId/0x39f037ac00000000,dcid:s2CellId/0x39f037b400000000,dcid:s2CellId/0x39f037bc00000000,dcid:s2CellId/0x39f037c400000000,dcid:s2CellId/0x39f037e400000000,dcid:s2CellId/0x39f037ec00000000,dcid:s2CellId/0x39f037fc00000000,dcid:s2CellId/0x39f0380400000000,dcid:s2CellId/0x39f0383c00000000,dcid:s2CellId/0x39f0384c00000000,dcid:s2CellId/0x39f0385400000000,dcid:s2CellId/0x39f038a400000000,dcid:s2CellId/0x39f038ac00000000,dcid:s2CellId/0x39f038b400000000,dcid:s2CellId/0x39f038bc00000000,dcid:s2CellId/0x39f038c400000000,dcid:s2CellId/0x39f038cc00000000,dcid:s2CellId/0x39f0390000000000,dcid:s2CellId/0x39f03b0000000000,dcid:s2CellId/0x39f03b2400000000,dcid:s2CellId/0x39f03b3c00000000,dcid:s2CellId/0x39f03b4c00000000,dcid:s2CellId/0x39f03c8400000000,dcid:s2CellId/0x39f03c8c00000000,dcid:s2CellId/0x39f03d0000000000,dcid:s2CellId/0x39f03d0400000000,dcid:s2CellId/0x39f03d5400000000,dcid:s2CellId/0x39f03d7c00000000,dcid:s2CellId/0x39f03e2400000000,dcid:s2CellId/0x39f03e2c00000000,dcid:s2CellId/0x39f03edc00000000,dcid:s2CellId/0x39f03ee400000000,dcid:s2CellId/0x39f03f0000000000,dcid:s2CellId/0x39f03f2400000000,dcid:s2CellId/0x39f03f2c00000000,dcid:s2CellId/0x39f03f7c00000000,dcid:s2CellId/0x39f03fa400000000,dcid:s2CellId/0x39f03fac00000000,dcid:s2CellId/0x39f03fbc00000000,dcid:s2CellId/0x39f03fc400000000,dcid:s2CellId/0x39f03fd400000000,dcid:s2CellId/0x39f03fdc00000000,dcid:s2CellId/0x39f03fe400000000,dcid:s2CellId/0x39f03fec00000000,dcid:s2CellId/0x39f03ffc00000000,dcid:s2CellId/0x39f0400400000000,dcid:s2CellId/0x39f0400c00000000,dcid:s2CellId/0x39f0401400000000,dcid:s2CellId/0x39f0404400000000,dcid:s2CellId/0x39f0405c00000000,dcid:s2CellId/0x39f0406400000000,dcid:s2CellId/0x39f0406c00000000,dcid:s2CellId/0x39f0407400000000,dcid:s2CellId/0x39f0408400000000,dcid:s2CellId/0x39f0408c00000000,dcid:s2CellId/0x39f0409400000000,dcid:s2CellId/0x39f040f400000000,dcid:s2CellId/0x39f0410000000000,dcid:s2CellId/0x39f0415400000000,dcid:s2CellId/0x39f041c400000000,dcid:s2CellId/0x39f041cc00000000,dcid:s2CellId/0x39f041dc00000000,dcid:s2CellId/0x39f0460400000000,dcid:s2CellId/0x39f0461400000000,dcid:s2CellId/0x39f0461c00000000,dcid:s2CellId/0x39f0462400000000,dcid:s2CellId/0x39f0462c00000000,dcid:s2CellId/0x39f0463400000000,dcid:s2CellId/0x39f0463c00000000,dcid:s2CellId/0x39f0469400000000,dcid:s2CellId/0x39f046bc00000000,dcid:s2CellId/0x39f046c400000000,dcid:s2CellId/0x39f046cc00000000,dcid:s2CellId/0x39f046dc00000000,dcid:s2CellId/0x39f046e400000000,dcid:s2CellId/0x39f046ec00000000,dcid:s2CellId/0x39f046f400000000,dcid:s2CellId/0x39f0470000000000,dcid:s2CellId/0x39f0475c00000000,dcid:s2CellId/0x39f0476400000000,dcid:s2CellId/0x39f0476c00000000,dcid:s2CellId/0x39f0477400000000,dcid:s2CellId/0x39f0478400000000,dcid:s2CellId/0x39f0479400000000,dcid:s2CellId/0x39f0479c00000000,dcid:s2CellId/0x39f047c400000000,dcid:s2CellId/0x39f047cc00000000,dcid:s2CellId/0x39f047d400000000,dcid:s2CellId/0x39f047dc00000000,dcid:s2CellId/0x39f047ec00000000,dcid:s2CellId/0x39f047f400000000,dcid:s2CellId/0x39f047fc00000000,dcid:s2CellId/0x39f0480400000000,dcid:s2CellId/0x39f0484400000000,dcid:s2CellId/0x39f0486400000000,dcid:s2CellId/0x39f0487c00000000,dcid:s2CellId/0x39f0488400000000,dcid:s2CellId/0x39f0488c00000000,dcid:s2CellId/0x39f0489c00000000,dcid:s2CellId/0x39f048a400000000,dcid:s2CellId/0x39f048ac00000000,dcid:s2CellId/0x39f0490000000000,dcid:s2CellId/0x39f04f0000000000,dcid:s2CellId/0x39f04f5400000000,dcid:s2CellId/0x39f06a0c00000000,dcid:s2CellId/0x39f06a1400000000,dcid:s2CellId/0x39f06a7400000000,dcid:s2CellId/0x39f06aa400000000,dcid:s2CellId/0x39f06aac00000000,dcid:s2CellId/0x39f06b0000000000,dcid:s2CellId/0x39f1b42c00000000,dcid:s2CellId/0x39f1b43400000000,dcid:s2CellId/0x39f1b44c00000000,dcid:s2CellId/0x39f1b45400000000,dcid:s2CellId/0x39f1b4fc00000000,dcid:s2CellId/0x39f1b50000000000,dcid:s2CellId/0x39f1b50400000000,dcid:s2CellId/0x39f1b50c00000000,dcid:s2CellId/0x39f1b51400000000,dcid:s2CellId/0x39f1b51c00000000,dcid:s2CellId/0x39f1b52400000000,dcid:s2CellId/0x39f1b53c00000000,dcid:s2CellId/0x39f1b57400000000,dcid:s2CellId/0x39f1b5a400000000,dcid:s2CellId/0x39f1b5ac00000000,dcid:s2CellId/0x39f1b5b400000000,dcid:s2CellId/0x39f1b5bc00000000,dcid:s2CellId/0x39f1b5c400000000,dcid:s2CellId/0x39f1b5cc00000000,dcid:s2CellId/0x39f1b5d400000000,dcid:s2CellId/0x39f1b5dc00000000,dcid:s2CellId/0x39f1b63400000000,dcid:s2CellId/0x39f1b63c00000000,dcid:s2CellId/0x39f1b70000000000,dcid:s2CellId/0x39f1b8b400000000,dcid:s2CellId/0x39f1b8bc00000000,dcid:s2CellId/0x39f1b8c400000000,dcid:s2CellId/0x39f1b8cc00000000,dcid:s2CellId/0x39f1b90000000000,dcid:s2CellId/0x39f1bf0000000000,dcid:s2CellId/0x39f1bf1400000000,dcid:s2CellId/0x39f1bf3400000000,dcid:s2CellId/0x39f1bf3c00000000,dcid:s2CellId/0x39f1bf4c00000000,dcid:s2CellId/0x39f1bf7400000000,dcid:s2CellId/0x39f1bf8400000000,dcid:s2CellId/0x39f1bf8c00000000,dcid:s2CellId/0x39f1bf9400000000,dcid:s2CellId/0x39f1bf9c00000000,dcid:s2CellId/0x39f1bff400000000,dcid:s2CellId/0x39f1c00400000000,dcid:s2CellId/0x39f1c00c00000000,dcid:s2CellId/0x39f1c01c00000000,dcid:s2CellId/0x39f1c03400000000,dcid:s2CellId/0x39f1c05400000000,dcid:s2CellId/0x39f1c07400000000,dcid:s2CellId/0x39f1c07c00000000,dcid:s2CellId/0x39f1c08c00000000,dcid:s2CellId/0x39f1c09400000000,dcid:s2CellId/0x39f1c09c00000000,dcid:s2CellId/0x39f1c0a400000000,dcid:s2CellId/0x39f1c0f400000000,dcid:s2CellId/0x39f1c0fc00000000,dcid:s2CellId/0x39f1c10000000000,dcid:s2CellId/0x39f1c10400000000,dcid:s2CellId/0x39f1c12c00000000,dcid:s2CellId/0x39f1c13400000000,dcid:s2CellId/0x39f1c1a400000000,dcid:s2CellId/0x39f1c1ac00000000,dcid:s2CellId/0x39f1c1bc00000000,dcid:s2CellId/0x39f1c1ec00000000,dcid:s2CellId/0x39f1c27c00000000,dcid:s2CellId/0x39f1c28400000000,dcid:s2CellId/0x39f1c2ac00000000,dcid:s2CellId/0x39f1c2b400000000,dcid:s2CellId/0x39f1c2bc00000000,dcid:s2CellId/0x39f1c2cc00000000,dcid:s2CellId/0x39f1c30000000000,dcid:s2CellId/0x39f1c6cc00000000,dcid:s2CellId/0x39f1c6ec00000000,dcid:s2CellId/0x39f1c70000000000,dcid:s2CellId/0x39f1c70c00000000,dcid:s2CellId/0x39f1c75c00000000,dcid:s2CellId/0x39f1c7ac00000000,dcid:s2CellId/0x39f1c84c00000000,dcid:s2CellId/0x39f1c85400000000,dcid:s2CellId/0x39f1c90000000000,dcid:s2CellId/0x39f1c90c00000000,dcid:s2CellId/0x39f1c96400000000,dcid:s2CellId/0x39f1c96c00000000,dcid:s2CellId/0x39f1c97c00000000,dcid:s2CellId/0x39f1c9ac00000000,dcid:s2CellId/0x39f1ca6400000000,dcid:s2CellId/0x39f1ca8c00000000,dcid:s2CellId/0x39f1ca9400000000,dcid:s2CellId/0x39f1cab400000000,dcid:s2CellId/0x39f1cabc00000000,dcid:s2CellId/0x39f1cad400000000,dcid:s2CellId/0x39f1caec00000000,dcid:s2CellId/0x39f1caf400000000,dcid:s2CellId/0x39f1cb0000000000,dcid:s2CellId/0x39f1cb0c00000000,dcid:s2CellId/0x39f1cb1400000000,dcid:s2CellId/0x39f1cb5400000000,dcid:s2CellId/0x39f1cb7400000000,dcid:s2CellId/0x39f1cb8400000000,dcid:s2CellId/0x39f1cb8c00000000,dcid:s2CellId/0x39f1cbe400000000,dcid:s2CellId/0x39f1cbf400000000,dcid:s2CellId/0x39f1cce400000000,dcid:s2CellId/0x39f1ccec00000000,dcid:s2CellId/0x39f1ccf400000000,dcid:s2CellId/0x39f1ccfc00000000,dcid:s2CellId/0x39f1cd0000000000,dcid:s2CellId/0x39f1ce9c00000000,dcid:s2CellId/0x39f1cf0000000000,dcid:s2CellId/0x39f1d2ec00000000,dcid:s2CellId/0x39f1d30000000000,dcid:s2CellId/0x39f1d8dc00000000,dcid:s2CellId/0x39f1d90000000000,dcid:s2CellId/0x39f1d94c00000000,dcid:s2CellId/0x39f1d96c00000000,dcid:s2CellId/0x39f1dd0000000000,dcid:s2CellId/0x39f1dd4c00000000,dcid:s2CellId/0x39f1dd5400000000,dcid:s2CellId/0x39f1dd6400000000,dcid:s2CellId/0x39f1dd7c00000000,dcid:s2CellId/0x39f1e50000000000,dcid:s2CellId/0x39f1e5f400000000,dcid:s2CellId/0x39f1e60400000000,dcid:s2CellId/0x39f1e61c00000000,dcid:s2CellId/0x39f1e62400000000,dcid:s2CellId/0x39f1e6e400000000,dcid:s2CellId/0x39f1e70000000000,dcid:s2CellId/0x39f1e77c00000000,dcid:s2CellId/0x39f1e78c00000000,dcid:s2CellId/0x39f1e7e400000000,dcid:s2CellId/0x39f1e7f400000000,dcid:s2CellId/0x39f1e7fc00000000,dcid:s2CellId/0x39f1e80400000000,dcid:s2CellId/0x39f1e80c00000000,dcid:s2CellId/0x39f1e82400000000,dcid:s2CellId/0x39f1e83c00000000,dcid:s2CellId/0x39f1e87400000000,dcid:s2CellId/0x39f1e88c00000000,dcid:s2CellId/0x39f1e89c00000000,dcid:s2CellId/0x39f1e8f400000000,dcid:s2CellId/0x39f1e90000000000,dcid:s2CellId/0x39f1e90400000000,dcid:s2CellId/0x39f1e9ac00000000,dcid:s2CellId/0x39f1e9ec00000000,dcid:s2CellId/0x39f1ea0c00000000,dcid:s2CellId/0x39f1ea5c00000000,dcid:s2CellId/0x39f1ea8c00000000,dcid:s2CellId/0x39f1ea9c00000000,dcid:s2CellId/0x39f1eaa400000000,dcid:s2CellId/0x39f1eaec00000000,dcid:s2CellId/0x39f1eaf400000000,dcid:s2CellId/0x39f1eb0000000000,dcid:s2CellId/0x39f1ed0000000000,dcid:s2CellId/0x39f1ed0400000000,dcid:s2CellId/0x39f1ed0c00000000,dcid:s2CellId/0x39f1ed6400000000,dcid:s2CellId/0x39f1ed6c00000000,dcid:s2CellId/0x39f1ed7400000000,dcid:s2CellId/0x39f1ed7c00000000,dcid:s2CellId/0x39f1ed9400000000,dcid:s2CellId/0x39f1ed9c00000000,dcid:s2CellId/0x39f1eda400000000,dcid:s2CellId/0x39f1edac00000000,dcid:s2CellId/0x39f1edb400000000,dcid:s2CellId/0x39f1edbc00000000,dcid:s2CellId/0x39f1edd400000000,dcid:s2CellId/0x39f1edec00000000,dcid:s2CellId/0x39f1edf400000000,dcid:s2CellId/0x39f1ee6c00000000,dcid:s2CellId/0x39f1ef0000000000,dcid:s2CellId/0x39f1efdc00000000,dcid:s2CellId/0x39f1f0d400000000,dcid:s2CellId/0x39f1f0e400000000,dcid:s2CellId/0x39f1f10000000000,dcid:s2CellId/0x39f1f15400000000,dcid:s2CellId/0x39f1f15c00000000,dcid:s2CellId/0x39f1f24400000000,dcid:s2CellId/0x39f1f24c00000000,dcid:s2CellId/0x39f1f25400000000,dcid:s2CellId/0x39f1f25c00000000,dcid:s2CellId/0x39f1f26c00000000,dcid:s2CellId/0x39f1f27400000000,dcid:s2CellId/0x39f1f27c00000000,dcid:s2CellId/0x39f1f28400000000,dcid:s2CellId/0x39f1f29400000000,dcid:s2CellId/0x39f1f29c00000000,dcid:s2CellId/0x39f1f2e400000000,dcid:s2CellId/0x39f1f2ec00000000,dcid:s2CellId/0x39f1f2f400000000,dcid:s2CellId/0x39f1f2fc00000000,dcid:s2CellId/0x39f1f30000000000,dcid:s2CellId/0x39f1f30400000000,dcid:s2CellId/0x39f1f30c00000000,dcid:s2CellId/0x39f1f31400000000,dcid:s2CellId/0x39f1f31c00000000,dcid:s2CellId/0x39f1f34400000000,dcid:s2CellId/0x39f1f36400000000,dcid:s2CellId/0x39f1f36c00000000,dcid:s2CellId/0x39f1f3ac00000000,dcid:s2CellId/0x39f1f3b400000000,dcid:s2CellId/0x39f1f3c400000000,dcid:s2CellId/0x39f1f3dc00000000,dcid:s2CellId/0x39f1f3e400000000,dcid:s2CellId/0x39f1f3fc00000000,dcid:s2CellId/0x39f1f40400000000,dcid:s2CellId/0x39f1f45400000000,dcid:s2CellId/0x39f1f45c00000000,dcid:s2CellId/0x39f1f46400000000,dcid:s2CellId/0x39f1f48c00000000,dcid:s2CellId/0x39f1f49400000000,dcid:s2CellId/0x39f1f4a400000000,dcid:s2CellId/0x39f1f4bc00000000,dcid:s2CellId/0x39f1f4ec00000000,dcid:s2CellId/0x39f1f50000000000,dcid:s2CellId/0x39f1f57400000000,dcid:s2CellId/0x39f1f57c00000000,dcid:s2CellId/0x39f1f5ac00000000,dcid:s2CellId/0x39f1f5e400000000,dcid:s2CellId/0x39f1f67c00000000,dcid:s2CellId/0x39f1f68400000000,dcid:s2CellId/0x39f1f6ac00000000,dcid:s2CellId/0x39f1f6bc00000000,dcid:s2CellId/0x39f1f70000000000,dcid:s2CellId/0x39f1f71c00000000,dcid:s2CellId/0x39f1f72c00000000,dcid:s2CellId/0x39f1f90000000000,dcid:s2CellId/0x39f1f94c00000000,dcid:s2CellId/0x39f20d0000000000,dcid:s2CellId/0x39f20d2c00000000,dcid:s2CellId/0x39f20d4400000000,dcid:s2CellId/0x39f20d4c00000000,dcid:s2CellId/0x39f20d5400000000,dcid:s2CellId/0x39f20d5c00000000,dcid:s2CellId/0x39f2108400000000,dcid:s2CellId/0x39f2109c00000000,dcid:s2CellId/0x39f210d400000000,dcid:s2CellId/0x39f210ec00000000,dcid:s2CellId/0x39f210fc00000000,dcid:s2CellId/0x39f2110000000000,dcid:s2CellId/0x39f2112c00000000,dcid:s2CellId/0x39f2121400000000,dcid:s2CellId/0x39f2123c00000000,dcid:s2CellId/0x39f2124400000000,dcid:s2CellId/0x39f2125c00000000,dcid:s2CellId/0x39f2126400000000,dcid:s2CellId/0x39f2128c00000000,dcid:s2CellId/0x39f2129c00000000,dcid:s2CellId/0x39f212d400000000,dcid:s2CellId/0x39f2130000000000,dcid:s2CellId/0x39f2132c00000000,dcid:s2CellId/0x39f2133400000000,dcid:s2CellId/0x39f2134c00000000,dcid:s2CellId/0x39f2137400000000,dcid:s2CellId/0x39f2138400000000,dcid:s2CellId/0x39f2144400000000,dcid:s2CellId/0x39f2144c00000000,dcid:s2CellId/0x39f2145400000000,dcid:s2CellId/0x39f2145c00000000,dcid:s2CellId/0x39f2146400000000,dcid:s2CellId/0x39f2146c00000000,dcid:s2CellId/0x39f2147400000000,dcid:s2CellId/0x39f2147c00000000,dcid:s2CellId/0x39f2148400000000,dcid:s2CellId/0x39f2148c00000000,dcid:s2CellId/0x39f2149400000000,dcid:s2CellId/0x39f2149c00000000,dcid:s2CellId/0x39f214ac00000000,dcid:s2CellId/0x39f214b400000000,dcid:s2CellId/0x39f214bc00000000,dcid:s2CellId/0x39f214ec00000000,dcid:s2CellId/0x39f2150000000000,dcid:s2CellId/0x39f2151c00000000,dcid:s2CellId/0x39f2152400000000,dcid:s2CellId/0x39f215b400000000,dcid:s2CellId/0x39f215cc00000000,dcid:s2CellId/0x39f2170000000000,dcid:s2CellId/0x39f2172400000000,dcid:s2CellId/0x39f2172c00000000,dcid:s2CellId/0x39f2175400000000,dcid:s2CellId/0x39f2175c00000000,dcid:s2CellId/0x39f2178400000000,dcid:s2CellId/0x39f2190000000000,dcid:s2CellId/0x39f2190400000000,dcid:s2CellId/0x39f2194400000000,dcid:s2CellId/0x39f2194c00000000,dcid:s2CellId/0x39f2195c00000000,dcid:s2CellId/0x39f2197c00000000,dcid:s2CellId/0x39f2198400000000,dcid:s2CellId/0x39f2199400000000,dcid:s2CellId/0x39f219ec00000000,dcid:s2CellId/0x39f219f400000000,dcid:s2CellId/0x39f219fc00000000,dcid:s2CellId/0x39f21a0400000000,dcid:s2CellId/0x39f21a0c00000000,dcid:s2CellId/0x39f21a1c00000000,dcid:s2CellId/0x39f21a4400000000,dcid:s2CellId/0x39f21b0000000000,dcid:s2CellId/0x39f21bc400000000,dcid:s2CellId/0x39f21bd400000000,dcid:s2CellId/0x39f21bec00000000,dcid:s2CellId/0x39f21bf400000000,dcid:s2CellId/0x39f21c0400000000,dcid:s2CellId/0x39f21c0c00000000,dcid:s2CellId/0x39f21c1400000000,dcid:s2CellId/0x39f21c1c00000000,dcid:s2CellId/0x39f21c2400000000,dcid:s2CellId/0x39f21c2c00000000,dcid:s2CellId/0x39f21d0000000000,dcid:s2CellId/0x39f21dfc00000000,dcid:s2CellId/0x39f21e1c00000000,dcid:s2CellId/0x39f21e7400000000,dcid:s2CellId/0x39f21e7c00000000,dcid:s2CellId/0x39f21e8400000000,dcid:s2CellId/0x39f21e9c00000000,dcid:s2CellId/0x39f21f0000000000,dcid:s2CellId/0x39f21f0c00000000,dcid:s2CellId/0x39f21f3c00000000,dcid:s2CellId/0x39f21f7400000000,dcid:s2CellId/0x39f21fa400000000,dcid:s2CellId/0x39f21fac00000000,dcid:s2CellId/0x39f21fb400000000,dcid:s2CellId/0x39f21fcc00000000,dcid:s2CellId/0x39f21fd400000000,dcid:s2CellId/0x39f2210000000000,dcid:s2CellId/0x39f221bc00000000,dcid:s2CellId/0x39f221ec00000000,dcid:s2CellId/0x39f2227c00000000,dcid:s2CellId/0x39f2230000000000,dcid:s2CellId/0x39f26acc00000000,dcid:s2CellId/0x39f26adc00000000,dcid:s2CellId/0x39f26b0000000000,dcid:s2CellId/0x39f26b2400000000,dcid:s2CellId/0x39f26b3c00000000,dcid:s2CellId/0x39f26b5400000000,dcid:s2CellId/0x39f26b5c00000000,dcid:s2CellId/0x39f26ca400000000,dcid:s2CellId/0x39f26cac00000000,dcid:s2CellId/0x39f26cb400000000,dcid:s2CellId/0x39f26cc400000000,dcid:s2CellId/0x39f26ccc00000000,dcid:s2CellId/0x39f26d0000000000,dcid:s2CellId/0x39f2710000000000,dcid:s2CellId/0x39f2712c00000000,dcid:s2CellId/0x39f2713400000000,dcid:s2CellId/0x39f2714c00000000,dcid:s2CellId/0x39f2717c00000000,dcid:s2CellId/0x39f2726400000000,dcid:s2CellId/0x39f2727c00000000,dcid:s2CellId/0x39f2730000000000,dcid:s2CellId/0x39f2734400000000,dcid:s2CellId/0x39f2736400000000,dcid:s2CellId/0x39f2736c00000000,dcid:s2CellId/0x39f2737400000000,dcid:s2CellId/0x39f2738400000000,dcid:s2CellId/0x39f273bc00000000,dcid:s2CellId/0x39f273d400000000,dcid:s2CellId/0x39f273f400000000,dcid:s2CellId/0x39f2743400000000,dcid:s2CellId/0x39f2744c00000000,dcid:s2CellId/0x39f2745400000000,dcid:s2CellId/0x39f2748400000000,dcid:s2CellId/0x39f2748c00000000,dcid:s2CellId/0x39f274f400000000,dcid:s2CellId/0x39f2750000000000,dcid:s2CellId/0x39f276bc00000000,dcid:s2CellId/0x39f2770000000000,dcid:s2CellId/0x39f2770c00000000,dcid:s2CellId/0x39f2771400000000,dcid:s2CellId/0x39f2773c00000000,dcid:s2CellId/0x39f2774400000000,dcid:s2CellId/0x39f2775c00000000,dcid:s2CellId/0x39f2776c00000000,dcid:s2CellId/0x39f2777400000000,dcid:s2CellId/0x39f2777c00000000,dcid:s2CellId/0x39f2788c00000000,dcid:s2CellId/0x39f2790000000000,dcid:s2CellId/0x39f2793400000000,dcid:s2CellId/0x39f2793c00000000,dcid:s2CellId/0x39f2799400000000,dcid:s2CellId/0x39f279cc00000000,dcid:s2CellId/0x39f279d400000000,dcid:s2CellId/0x39f279e400000000,dcid:s2CellId/0x39f27b0000000000,dcid:s2CellId/0x39f27b8c00000000,dcid:s2CellId/0x39f27bf400000000,dcid:s2CellId/0x39f27c1400000000,dcid:s2CellId/0x39f27c7400000000,dcid:s2CellId/0x39f27d0000000000,dcid:s2CellId/0x39f27dec00000000,dcid:s2CellId/0x39f27df400000000,dcid:s2CellId/0x39f2804c00000000,dcid:s2CellId/0x39f280bc00000000,dcid:s2CellId/0x39f2810000000000,dcid:s2CellId/0x39f2827400000000,dcid:s2CellId/0x39f2829c00000000,dcid:s2CellId/0x39f282a400000000,dcid:s2CellId/0x39f2830000000000,dcid:s2CellId/0x39f2836c00000000,dcid:s2CellId/0x39f2837400000000,dcid:s2CellId/0x39f283a400000000,dcid:s2CellId/0x39f283ac00000000,dcid:s2CellId/0x39f283b400000000,dcid:s2CellId/0x39f283f400000000,dcid:s2CellId/0x39f283fc00000000,dcid:s2CellId/0x39f286d400000000,dcid:s2CellId/0x39f286e400000000,dcid:s2CellId/0x39f2870000000000,dcid:s2CellId/0x39f29d0000000000,dcid:s2CellId/0x39f29d0400000000,dcid:s2CellId/0x39f29d2400000000,dcid:s2CellId/0x39f29e9c00000000,dcid:s2CellId/0x39f29f0000000000,dcid:s2CellId/0x39f29f2400000000,dcid:s2CellId/0x39f29f8c00000000,dcid:s2CellId/0x39f2a00400000000,dcid:s2CellId/0x39f2a10000000000,dcid:s2CellId/0x39fa58ac00000000,dcid:s2CellId/0x39fa58b400000000,dcid:s2CellId/0x39fa590000000000,dcid:s2CellId/0x39fa5b0000000000,dcid:s2CellId/0x39fa5b5c00000000,dcid:s2CellId/0x39fa5b6400000000,dcid:s2CellId/0x39fa5b9c00000000,dcid:s2CellId/0x39fa5ebc00000000,dcid:s2CellId/0x39fa5ec400000000,dcid:s2CellId/0x39fa5f0000000000,dcid:s2CellId/0x39fa5f2400000000,dcid:s2CellId/0x39fa5f3c00000000,dcid:s2CellId/0x39fa5f4400000000,dcid:s2CellId/0x39fa5f4c00000000,dcid:s2CellId/0x39fa5f5400000000,dcid:s2CellId/0x39fa5f5c00000000,dcid:s2CellId/0x39fa8d0000000000,dcid:s2CellId/0x39fa8d5400000000,dcid:s2CellId/0x39fa8d5c00000000,dcid:s2CellId/0x39fa8d6400000000,dcid:s2CellId/0x39fa8d7c00000000,dcid:s2CellId/0x39fa8d8400000000,dcid:s2CellId/0x39fa922c00000000,dcid:s2CellId/0x39fa923400000000,dcid:s2CellId/0x39fa923c00000000,dcid:s2CellId/0x39fa924400000000,dcid:s2CellId/0x39fa924c00000000,dcid:s2CellId/0x39fa926c00000000,dcid:s2CellId/0x39fa927400000000,dcid:s2CellId/0x39fa927c00000000,dcid:s2CellId/0x39fa928400000000,dcid:s2CellId/0x39fa92a400000000,dcid:s2CellId/0x39fa930000000000,dcid:s2CellId/0x39fa93b400000000,dcid:s2CellId/0x39fa93c400000000,dcid:s2CellId/0x39fa93cc00000000,dcid:s2CellId/0x39fa93d400000000,dcid:s2CellId/0x39fa93dc00000000,dcid:s2CellId/0x39fa93ec00000000,dcid:s2CellId/0x39fa93fc00000000,dcid:s2CellId/0x39fa945c00000000,dcid:s2CellId/0x39fa946400000000,dcid:s2CellId/0x39fa946c00000000,dcid:s2CellId/0x39fa947400000000,dcid:s2CellId/0x39fa94e400000000,dcid:s2CellId/0x39fa94fc00000000,dcid:s2CellId/0x39fa950000000000,dcid:s2CellId/0x39fa950400000000,dcid:s2CellId/0x39fa951400000000,dcid:s2CellId/0x39fa951c00000000,dcid:s2CellId/0x39fa956400000000,dcid:s2CellId/0x39fa956c00000000,dcid:s2CellId/0x39fa957400000000,dcid:s2CellId/0x39fa957c00000000,dcid:s2CellId/0x39fa958400000000,dcid:s2CellId/0x39fa958c00000000,dcid:s2CellId/0x39fa962400000000,dcid:s2CellId/0x39fa970000000000,dcid:s2CellId/0x39fa97e400000000,dcid:s2CellId/0x39fa97fc00000000,dcid:s2CellId/0x39fa980400000000,dcid:s2CellId/0x39fa980c00000000,dcid:s2CellId/0x39fa987400000000,dcid:s2CellId/0x39fa987c00000000,dcid:s2CellId/0x39fa988400000000,dcid:s2CellId/0x39fa988c00000000,dcid:s2CellId/0x39fa989c00000000,dcid:s2CellId/0x39fa990000000000,dcid:s2CellId/0x39faa05c00000000,dcid:s2CellId/0x39faa06400000000,dcid:s2CellId/0x39faa06c00000000,dcid:s2CellId/0x39faa07c00000000,dcid:s2CellId/0x39faa08400000000,dcid:s2CellId/0x39faa09c00000000,dcid:s2CellId/0x39faa0cc00000000,dcid:s2CellId/0x39faa0d400000000,dcid:s2CellId/0x39faa10000000000,dcid:s2CellId/0x39faa10c00000000,dcid:s2CellId/0x39faa11c00000000,dcid:s2CellId/0x39faa12400000000,dcid:s2CellId/0x39faa13400000000,dcid:s2CellId/0x39faa13c00000000,dcid:s2CellId/0x39faa14400000000,dcid:s2CellId/0x39faa14c00000000,dcid:s2CellId/0x39faa18400000000,dcid:s2CellId/0x39faa19c00000000,dcid:s2CellId/0x39faa1dc00000000,dcid:s2CellId/0x39faa1e400000000,dcid:s2CellId/0x39faa27400000000,dcid:s2CellId/0x39faa27c00000000,dcid:s2CellId/0x39faa2ac00000000,dcid:s2CellId/0x39faa2f400000000,dcid:s2CellId/0x39faa30000000000,dcid:s2CellId/0x39faa65400000000",1000,"[910.35501 SquareKilometer]",910.35501,"2022-10","{'type': 'MultiPolygon', 'coordinates': [(((84.10128611741789, 26.110058872788112), (84.18571146515119, 26.113481230384203), (84.27001789722121, 26.116849508317603), (84.27001789722121, 26.022620334418804), (84.27001789722121, 25.92835686202932), (84.18571146515119, 25.925005827944414), (84.18571146515119, 26.019260658662585), (84.10128611741789, 26.01584704268557), (84.10128611741789, 26.110058872788112)),), (((86.90229801867378, 25.535506280617078), (86.90229801867378, 25.44084047003454), (86.98242881839165, 25.442500937544825), (86.98242881839165, 25.5371712009299), (87.06242610706224, 25.538789819401725), (87.14228951199856, 25.540362346911774), (87.22201866372775, 25.541888994831428), (87.30161319598756, 25.54336997501217), (87.38107274572258, 25.54480549977361), (87.46039695308058, 25.546195781891544), (87.46039695308058, 25.45150138795216), (87.53958546140831, 25.452843044417644), (87.61863791724736, 25.454140005114738), (87.61863791724736, 25.35940817124251), (87.69755397032972, 25.36065727806544), (87.69755397032972, 25.45539248352429), (87.69755397032972, 25.550097306735392), (87.77633327357327, 25.551308754745385), (87.77633327357327, 25.456600693535744), (87.77633327357327, 25.361862235828678), (87.85497548307694, 25.36302325822337), (87.85497548307694, 25.268251984022655), (87.93348025811581, 25.269366256596808), (87.93348025811581, 25.174562986800925), (87.93348025811581, 25.079731480812), (88.01184726113603, 25.08079650587531), (88.01184726113603, 24.9859345481427), (88.01184726113603, 24.891045808719575), (88.01184726113603, 24.796131023708277), (88.01184726113603, 24.70119093088496), (87.93348025811581, 24.70013777324746), (87.93348025811581, 24.79507488058305), (87.85497548307694, 24.793975946612758), (87.85497548307694, 24.888884664832755), (87.85497548307694, 24.983767362840133), (87.77633327357327, 24.982619010844495), (87.77633327357327, 25.07747176466864), (87.77633327357327, 25.172297041504493), (87.69755397032972, 25.171098630794088), (87.61863791724736, 25.169856311255923), (87.61863791724736, 25.26464669698908), (87.53958546140831, 25.263356734573925), (87.46039695308058, 25.262022317970054), (87.46039695308058, 25.356776657647888), (87.38107274572258, 25.35539382552379), (87.30161319598756, 25.35396599365868), (87.30161319598756, 25.259219275149494), (87.30161319598756, 25.164443709060063), (87.22201866372775, 25.162978672248855), (87.14228951199856, 25.1614684603739), (87.06242610706224, 25.15991286395973), (87.06242610706224, 25.06512164204467), (86.98242881839165, 25.063524856451902), (86.98242881839165, 25.158311674009234), (86.98242881839165, 25.253070446551543), (86.90229801867378, 25.25141894326741), (86.90229801867378, 25.156664682015695), (86.82203408381292, 25.15497167997469), (86.74163739293384, 25.15323246039619), (86.66110832838467, 25.151446816316586), (86.58044727573964, 25.149614541310843), (86.58044727573964, 25.244349487904724), (86.49965462380155, 25.24246522708672), (86.41873076460409, 25.240533794830505), (86.33767609341406, 25.238554985807156), (86.2564910087331, 25.236528595275804), (86.2564910087331, 25.141815023056427), (86.1751759122996, 25.139746516746417), (86.09373120909008, 25.13763015295278), (86.09373120909008, 25.23233225373979), (86.01215730732058, 25.230161896304683), (85.93045461844771, 25.227943144525515), (85.84862355716957, 25.225675796787165), (85.84862355716957, 25.320331243584), (85.84862355716957, 25.414957509808975), (85.76666454142645, 25.412628778375513), (85.68457799240123, 25.410250782196727), (85.60236433451973, 25.407823320516883), (85.52002399545074, 25.40534619328205), (85.52002399545074, 25.499916744085837), (85.4375574061058, 25.497382964438337), (85.35496500063881, 25.49479898605226), (85.27224721644559, 25.492164610478714), (85.18940449416283, 25.489479640022275), (85.18940449416283, 25.5839918332202), (85.10643727766721, 25.581248771186445), (85.02334601407406, 25.57845458425082), (85.02334601407406, 25.672920991102874), (84.94013115373588, 25.670067942552144), (84.94013115373588, 25.57560907648426), (84.8567931502407, 25.57271205276331), (84.77333246041007, 25.569763318782996), (84.77333246041007, 25.4752889995076), (84.8567931502407, 25.478229882544817), (84.8567931502407, 25.38371745058672), (84.77333246041007, 25.380784453006903), (84.77333246041007, 25.286250401660837), (84.6897495442969, 25.283273839648825), (84.6897495442969, 25.377799830725767), (84.6897495442969, 25.472296351953425), (84.6897495442969, 25.566762681069697), (84.60604486518308, 25.563709946994038), (84.60604486518308, 25.658137269444214), (84.52221888957693, 25.65502401338336), (84.43827208721021, 25.65185813798067), (84.43827208721021, 25.55744742353682), (84.35420493103518, 25.554237253233943), (84.35420493103518, 25.648639452655605), (84.27001789722121, 25.645367767724697), (84.18571146515119, 25.64204289441456), (84.10128611741789, 25.638664644874787), (84.10128611741789, 25.544288841315034), (84.01674233981981, 25.54086611270986), (83.93208062135697, 25.53738977865098), (83.84730145422645, 25.533859654689113), (83.84730145422645, 25.62820777449197), (83.93208062135697, 25.631747270397884), (84.01674233981983, 25.635232832191026), (84.01674233981981, 25.72956822521795), (84.10128611741789, 25.73300908174081), (84.1857114651512, 25.736396232637414), (84.27001789722121, 25.739729865377054), (84.27001789722121, 25.834059801565218), (84.27001789722121, 25.92835686202932), (84.35420493103518, 25.931654285473165), (84.43827208721021, 25.93489828871593), (84.52221888957692, 25.93808906311106), (84.52221888957693, 25.84376679810891), (84.60604486518308, 25.84689641208131), (84.6897495442969, 25.849973320515517), (84.6897495442969, 25.755601883022578), (84.77333246041007, 25.758618395249233), (84.8567931502407, 25.761582727117926), (84.8567931502407, 25.855969795459607), (84.94013115373588, 25.858889751452427), (84.94013115373588, 25.76449507323184), (85.02334601407406, 25.767355629027527), (85.02334601407406, 25.861757780846958), (85.10643727766721, 25.86457408046413), (85.18940449416283, 25.867338847933333), (85.18940449416283, 25.77292215549984), (85.27224721644559, 25.775628521100234), (85.27224721644559, 25.68117217706942), (85.35496500063881, 25.68382057678854), (85.4375574061058, 25.686418309464628), (85.52002399545074, 25.68896557469331), (85.52002399545074, 25.59445677839547), (85.60236433451973, 25.596947182154203), (85.60236433451973, 25.502400524184356), (85.68457799240123, 25.504834504651477), (85.68457799240123, 25.59938765278535), (85.76666454142645, 25.601778391498687), (85.84862355716959, 25.604119600207447), (85.93045461844771, 25.6064114815156), (85.93045461844771, 25.511839658093688), (86.01215730732058, 25.51407645332704), (86.01215730732058, 25.419467984896187), (86.09373120909008, 25.421650133457), (86.1751759122996, 25.42378382706151), (86.2564910087331, 25.425869269785743), (86.2564910087331, 25.5204949183438), (86.33767609341406, 25.522537781974258), (86.33767609341406, 25.42790666633226), (86.41873076460409, 25.42989622201769), (86.41873076460409, 25.524532675905252), (86.49965462380155, 25.526479806640555), (86.58044727573964, 25.528379381273865), (86.66110832838467, 25.530231607476438), (86.66110832838467, 25.435579906024774), (86.66110832838467, 25.340898055809642), (86.74163739293384, 25.34269346311163), (86.74163739293384, 25.437380163280384), (86.82203408381292, 25.439133615036358), (86.82203408381292, 25.533794848088245), (86.90229801867378, 25.535506280617078)),), (((84.10128611741789, 25.921600993704935), (84.18571146515119, 25.925005827944414), (84.1857114651512, 25.830717448526272), (84.10128611741789, 25.82732143602137), (84.10128611741789, 25.921600993704935)),), (((85.10643727766721, 26.053292642812583), (85.10643727766721, 25.958950335632913), (85.02334601407406, 25.956126731282584), (84.94013115373588, 25.95325126204064), (84.94013115373588, 26.047578891746294), (84.94013115373588, 26.141871929267474), (85.02334601407406, 26.144762176536553), (85.02334601407406, 26.050461766980458), (85.10643727766721, 26.053292642812583)),), (((87.46039695308058, 25.735490661888026), (87.46039695308058, 25.640859114305), (87.38107274572258, 25.639465131764638), (87.38107274572258, 25.734092995379868), (87.46039695308058, 25.735490661888026)),), (((86.66110832838467, 25.624852435627844), (86.74163739293384, 25.626662329117302), (86.74163739293384, 25.53203669348475), (86.66110832838467, 25.530231607476438), (86.66110832838467, 25.624852435627844)),), (((84.43827208721021, 25.1795037432513), (84.43827208721021, 25.274033342922905), (84.52221888957693, 25.277165499917018), (84.60604486518308, 25.280245602424383), (84.60604486518308, 25.185699102275812), (84.52221888957693, 25.182627378646327), (84.52221888957693, 25.088061308689923), (84.43827208721021, 25.08494623144014), (84.43827208721021, 25.1795037432513)),)]}" +"floodEvent/2022-10_0x398dad0000000000","FloodEvent","FloodEvent at LatLong(24.83720:84.14351) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 24.83720 84.14351]","dcid:s2CellId/0x398dad0000000000,dcid:s2CellId/0x398dad0c00000000,dcid:s2CellId/0x398dad1400000000",3,"[1.8073 SquareKilometer]",1.8073,"2022-10","{'type': 'Polygon', 'coordinates': (((84.10128611741789, 24.788239718921737), (84.1857114651512, 24.79153608914476), (84.1857114651512, 24.886146090200345), (84.10128611741789, 24.882840466824423), (84.10128611741789, 24.788239718921737)),)}" +"floodEvent/2022-10_0x39e5410000000000","FloodEvent","FloodEvent at LatLong(25.97770:87.81567) on 2022-10","2022-10","2022-10","P1D",1,1,"[LatLong 25.97770 87.81567]","dcid:s2CellId/0x39e5410000000000,dcid:s2CellId/0x39e5413400000000,dcid:s2CellId/0x39e5489400000000,dcid:s2CellId/0x39e5490000000000,dcid:s2CellId/0x39e5493400000000,dcid:s2CellId/0x39e5495400000000,dcid:s2CellId/0x39e54ed400000000,dcid:s2CellId/0x39e54f0000000000",8,"[4.4824 SquareKilometer]",4.4824,"2022-10","{'type': 'MultiPolygon', 'coordinates': [(((87.77633327357327, 26.024367791331297), (87.85497548307694, 26.025550458330905), (87.85497548307694, 25.931002171995136), (87.77633327357327, 25.92982255544202), (87.77633327357327, 26.024367791331297)),), (((87.85497548307694, 25.836419867259345), (87.85497548307694, 25.741804261933925), (87.77633327357327, 25.740630788088815), (87.69755397032972, 25.73941290701931), (87.69755397032972, 25.834022239067483), (87.77633327357327, 25.83524331510538), (87.85497548307694, 25.836419867259345)),)]}" diff --git a/scripts/earthengine/test_data/sample_floods_events.tmcf b/scripts/earthengine/test_data/sample_floods_events.tmcf index df055fe033..48b300abe2 100644 --- a/scripts/earthengine/test_data/sample_floods_events.tmcf +++ b/scripts/earthengine/test_data/sample_floods_events.tmcf @@ -5,9 +5,9 @@ name: C:Events->name startDate: C:Events->startDate endDate: C:Events->endDate observationPeriod: C:Events->observationPeriod +numberOfDays: C:Events->numberOfDays startLocation: C:Events->startLocation affectedPlace: C:Events->affectedPlace area: C:Events->area -subEvents: C:Events->subEvents observationDate: C:Events->observationDate geoJsonCoordinatesDP1: C:Events->geoJsonCoordinatesDP1 \ No newline at end of file diff --git a/scripts/earthengine/test_data/sample_floods_output.csv b/scripts/earthengine/test_data/sample_floods_output.csv index 2f2e9da247..f645858cf9 100644 --- a/scripts/earthengine/test_data/sample_floods_output.csv +++ b/scripts/earthengine/test_data/sample_floods_output.csv @@ -29,7 +29,7 @@ "0.895735","2022-10","25.911904","84.437145","dcid:s2CellId/0x39928d5c00000000",13,1 "0.896002","2022-10","25.875972","84.437145","dcid:s2CellId/0x39928d8400000000",13,1 "0.896002","2022-10","25.875972","86.440388","dcid:s2CellId/0x39ee11bc00000000",13,1 -"1.792270","2022-10","25.858005","84.181125","dcid:s2CellId/0x399266cc00000000",26,2 +"0.896135","2022-10","25.858005","84.181125","dcid:s2CellId/0x399266cc00000000",13,1 "0.896202","2022-10","25.849022","84.500027","dcid:s2CellId/0x399293dc00000000",13,1 "0.896268","2022-10","25.840039","84.500027","dcid:s2CellId/0x3992916400000000",13,1 "0.896335","2022-10","25.831056","84.500027","dcid:s2CellId/0x3992916c00000000",13,1 @@ -40,8 +40,8 @@ "0.896468","2022-10","25.813090","87.796844","dcid:s2CellId/0x39e5489400000000",13,1 "0.896534","2022-10","25.804107","84.607825","dcid:s2CellId/0x3992bd8400000000",13,1 "0.896667","2022-10","25.786140","84.625791","dcid:s2CellId/0x3992bd6c00000000",13,1 -"1.793401","2022-10","25.781649","84.904269","dcid:s2CellId/0x3992b28c00000000",26,2 -"1.793401","2022-10","25.781649","84.913252","dcid:s2CellId/0x3992b29400000000",26,2 +"1.793401","2022-10","25.781649","84.904269","dcid:s2CellId/0x3992b28c00000000",13,1 +"1.793401","2022-10","25.781649","84.913252","dcid:s2CellId/0x3992b29400000000",13,1 "0.896667","2022-10","25.786140","85.173764","dcid:s2CellId/0x39ed44bc00000000",13,1 "0.896667","2022-10","25.786140","87.769895","dcid:s2CellId/0x39e54ed400000000",13,1 "0.896734","2022-10","25.777157","85.101898","dcid:s2CellId/0x39ed4ffc00000000",13,1 @@ -58,7 +58,7 @@ "0.896999","2022-10","25.741224","84.419179","dcid:s2CellId/0x3992855c00000000",13,1 "0.896999","2022-10","25.741224","84.652741","dcid:s2CellId/0x3992a32400000000",13,1 "0.896999","2022-10","25.741224","84.661724","dcid:s2CellId/0x3992a33c00000000",13,1 -"1.794065","2022-10","25.736733","84.688673","dcid:s2CellId/0x3992a35c00000000",26,2 +"1.794065","2022-10","25.736733","84.688673","dcid:s2CellId/0x3992a35c00000000",13,1 "0.896999","2022-10","25.741224","85.056983","dcid:s2CellId/0x39ed51b400000000",13,1 "0.896999","2022-10","25.741224","85.173764","dcid:s2CellId/0x39ed5b6c00000000",13,1 "0.897065","2022-10","25.732241","84.122735","dcid:s2CellId/0x39927acc00000000",13,1 @@ -72,23 +72,23 @@ "0.897065","2022-10","25.732241","84.643758","dcid:s2CellId/0x3992a2dc00000000",13,1 "0.897065","2022-10","25.732241","84.697657","dcid:s2CellId/0x3992a49c00000000",13,1 "0.897065","2022-10","25.732241","84.706640","dcid:s2CellId/0x3992a49400000000",13,1 -"3.588394","2022-10","25.727750","84.747064","dcid:s2CellId/0x3992a51400000000",52,4 +"2.691329","2022-10","25.727750","84.747064","dcid:s2CellId/0x3992a51400000000",13,1 "0.897065","2022-10","25.732241","84.760539","dcid:s2CellId/0x3992a56c00000000",13,1 "0.897132","2022-10","25.723258","84.104768","dcid:s2CellId/0x39927aac00000000",13,1 "0.897132","2022-10","25.723258","84.158667","dcid:s2CellId/0x39927b3c00000000",13,1 -"1.794264","2022-10","25.723258","84.181125","dcid:s2CellId/0x39927b5c00000000",26,2 +"0.897132","2022-10","25.723258","84.181125","dcid:s2CellId/0x39927b5c00000000",13,1 "0.897132","2022-10","25.723258","84.194600","dcid:s2CellId/0x39927ca400000000",13,1 "0.897132","2022-10","25.723258","84.203583","dcid:s2CellId/0x39927cbc00000000",13,1 "0.897132","2022-10","25.723258","84.347314","dcid:s2CellId/0x3992860c00000000",13,1 "0.897132","2022-10","25.723258","84.419179","dcid:s2CellId/0x3992854400000000",13,1 -"1.794264","2022-10","25.723258","84.621300","dcid:s2CellId/0x3992a29400000000",26,2 -"1.794264","2022-10","25.723258","84.809946","dcid:s2CellId/0x3992afac00000000",26,2 +"0.897132","2022-10","25.723258","84.621300","dcid:s2CellId/0x3992a29400000000",13,1 +"0.897132","2022-10","25.723258","84.809946","dcid:s2CellId/0x3992afac00000000",13,1 "0.897132","2022-10","25.723258","84.823421","dcid:s2CellId/0x3992ae5400000000",13,1 "0.897198","2022-10","25.714275","84.338330","dcid:s2CellId/0x3992866c00000000",13,1 "0.897198","2022-10","25.714275","84.661724","dcid:s2CellId/0x3992a30c00000000",13,1 "0.897198","2022-10","25.714275","84.778505","dcid:s2CellId/0x3992af8400000000",13,1 "0.897198","2022-10","25.714275","84.787488","dcid:s2CellId/0x3992af9c00000000",13,1 -"1.794462","2022-10","25.709783","84.872828","dcid:s2CellId/0x3992ac3400000000",26,2 +"1.794462","2022-10","25.709783","84.872828","dcid:s2CellId/0x3992ac3400000000",13,1 "0.897198","2022-10","25.714275","84.886303","dcid:s2CellId/0x3992ac4c00000000",13,1 "0.897198","2022-10","25.714275","84.895286","dcid:s2CellId/0x3992ac5400000000",13,1 "0.897198","2022-10","25.714275","87.437518","dcid:s2CellId/0x39effc6c00000000",13,1 @@ -112,7 +112,7 @@ "0.897264","2022-10","25.705292","85.191730","dcid:s2CellId/0x39ed5c7400000000",13,1 "0.897331","2022-10","25.696309","84.050870","dcid:s2CellId/0x399271b400000000",13,1 "0.897331","2022-10","25.696309","84.086802","dcid:s2CellId/0x3992706400000000",13,1 -"1.794727","2022-10","25.691817","84.392229","dcid:s2CellId/0x3992845400000000",26,2 +"1.794727","2022-10","25.691817","84.392229","dcid:s2CellId/0x3992845400000000",13,1 "0.897331","2022-10","25.696309","84.401213","dcid:s2CellId/0x399284fc00000000",13,1 "0.897331","2022-10","25.696309","84.446128","dcid:s2CellId/0x39929b2c00000000",13,1 "0.897331","2022-10","25.696309","84.455111","dcid:s2CellId/0x39929b2400000000",13,1 @@ -134,7 +134,7 @@ "0.897463","2022-10","25.678342","84.517994","dcid:s2CellId/0x39929be400000000",13,1 "0.897463","2022-10","25.678342","84.544943","dcid:s2CellId/0x3992993c00000000",13,1 "0.897463","2022-10","25.678342","84.994101","dcid:s2CellId/0x39ed538c00000000",13,1 -"1.794926","2022-10","25.678342","85.142323","dcid:s2CellId/0x39ed5a2c00000000",26,2 +"0.897463","2022-10","25.678342","85.142323","dcid:s2CellId/0x39ed5a2c00000000",13,1 "0.897529","2022-10","25.669359","84.068836","dcid:s2CellId/0x399270e400000000",13,1 "0.897529","2022-10","25.669359","84.077819","dcid:s2CellId/0x399270ec00000000",13,1 "0.897529","2022-10","25.669359","84.383246","dcid:s2CellId/0x3992846c00000000",13,1 @@ -147,22 +147,22 @@ "0.897595","2022-10","25.660376","84.392229","dcid:s2CellId/0x3992847c00000000",13,1 "0.897595","2022-10","25.660376","84.401213","dcid:s2CellId/0x3992848400000000",13,1 "0.897595","2022-10","25.660376","84.410196","dcid:s2CellId/0x3992849c00000000",13,1 -"1.795257","2022-10","25.655885","84.419179","dcid:s2CellId/0x399284a400000000",26,2 -"1.795190","2022-10","25.660376","84.432654","dcid:s2CellId/0x399284ac00000000",26,2 +"1.795257","2022-10","25.655885","84.419179","dcid:s2CellId/0x399284a400000000",13,1 +"0.897595","2022-10","25.660376","84.432654","dcid:s2CellId/0x399284ac00000000",13,1 "0.897595","2022-10","25.660376","84.446128","dcid:s2CellId/0x39929b5400000000",13,1 "0.897595","2022-10","25.660376","84.482061","dcid:s2CellId/0x39929b8400000000",13,1 "0.897595","2022-10","25.660376","84.491044","dcid:s2CellId/0x39929b8c00000000",13,1 -"1.795257","2022-10","25.655885","84.706640","dcid:s2CellId/0x3992a6a400000000",26,2 +"1.795257","2022-10","25.655885","84.706640","dcid:s2CellId/0x3992a6a400000000",13,1 "0.897595","2022-10","25.660376","84.715623","dcid:s2CellId/0x3992a69c00000000",13,1 "0.897595","2022-10","25.660376","84.931219","dcid:s2CellId/0x3992ab5400000000",13,1 -"1.795257","2022-10","25.655885","85.030033","dcid:s2CellId/0x39ed56a400000000",26,2 +"1.795257","2022-10","25.655885","85.030033","dcid:s2CellId/0x39ed56a400000000",13,1 "0.897595","2022-10","25.660376","85.039016","dcid:s2CellId/0x39ed56bc00000000",13,1 "0.897595","2022-10","25.660376","85.048000","dcid:s2CellId/0x39ed56c400000000",13,1 "0.897595","2022-10","25.660376","85.191730","dcid:s2CellId/0x39ed5eb400000000",13,1 "0.897661","2022-10","25.651393","84.032903","dcid:s2CellId/0x3992714400000000",13,1 "0.897661","2022-10","25.651393","84.077819","dcid:s2CellId/0x399270c400000000",13,1 "0.897661","2022-10","25.651393","84.428162","dcid:s2CellId/0x3992835400000000",13,1 -"1.795323","2022-10","25.651393","84.684182","dcid:s2CellId/0x3992a15400000000",26,2 +"0.897661","2022-10","25.651393","84.684182","dcid:s2CellId/0x3992a15400000000",13,1 "0.897661","2022-10","25.651393","84.697657","dcid:s2CellId/0x3992a6ac00000000",13,1 "0.897661","2022-10","25.651393","84.832404","dcid:s2CellId/0x3992a93c00000000",13,1 "0.897661","2022-10","25.651393","85.056983","dcid:s2CellId/0x39ed56dc00000000",13,1 @@ -172,8 +172,8 @@ "0.897727","2022-10","25.642410","84.823421","dcid:s2CellId/0x3992a92400000000",13,1 "0.897727","2022-10","25.642410","84.832404","dcid:s2CellId/0x3992a91400000000",13,1 "0.897727","2022-10","25.642410","85.039016","dcid:s2CellId/0x39ed569400000000",13,1 -"1.795521","2022-10","25.637918","85.200713","dcid:s2CellId/0x39ed5edc00000000",26,2 -"1.795587","2022-10","25.633427","84.064344","dcid:s2CellId/0x3992772c00000000",26,2 +"1.795521","2022-10","25.637918","85.200713","dcid:s2CellId/0x39ed5edc00000000",13,1 +"0.897794","2022-10","25.633427","84.064344","dcid:s2CellId/0x3992772c00000000",13,1 "0.897794","2022-10","25.633427","85.155797","dcid:s2CellId/0x39ed590400000000",13,1 "0.897794","2022-10","25.633427","85.182747","dcid:s2CellId/0x39ed592c00000000",13,1 "0.897860","2022-10","25.624443","84.023920","dcid:s2CellId/0x399276ac00000000",13,1 @@ -189,7 +189,7 @@ "0.897926","2022-10","25.615460","84.032903","dcid:s2CellId/0x399276bc00000000",13,1 "0.897926","2022-10","25.615460","84.814438","dcid:s2CellId/0x3992a85400000000",13,1 "0.897926","2022-10","25.615460","85.317494","dcid:s2CellId/0x39ed61b400000000",13,1 -"1.796049","2022-10","25.601986","84.814438","dcid:s2CellId/0x3992a84c00000000",26,2 +"1.796049","2022-10","25.601986","84.814438","dcid:s2CellId/0x3992a84c00000000",13,1 "0.897992","2022-10","25.606477","85.263595","dcid:s2CellId/0x39ed5fe400000000",13,1 "0.898058","2022-10","25.597494","85.407326","dcid:s2CellId/0x39ed629c00000000",13,1 "0.898058","2022-10","25.597494","85.452241","dcid:s2CellId/0x39ed7d5c00000000",13,1 @@ -198,7 +198,7 @@ "0.898124","2022-10","25.588511","85.452241","dcid:s2CellId/0x39f282a400000000",13,1 "0.898124","2022-10","25.588511","85.461225","dcid:s2CellId/0x39f2829c00000000",13,1 "0.898124","2022-10","25.588511","85.497157","dcid:s2CellId/0x39f2827400000000",13,1 -"1.796313","2022-10","25.584019","85.721736","dcid:s2CellId/0x39f2788c00000000",26,2 +"1.796313","2022-10","25.584019","85.721736","dcid:s2CellId/0x39f2788c00000000",13,1 "0.898190","2022-10","25.579528","83.970021","dcid:s2CellId/0x3992750400000000",13,1 "0.898190","2022-10","25.579528","84.796471","dcid:s2CellId/0x3992a82400000000",13,1 "0.898190","2022-10","25.579528","85.263595","dcid:s2CellId/0x39f2a00400000000",13,1 @@ -209,8 +209,8 @@ "0.898387","2022-10","25.552578","83.916122","dcid:s2CellId/0x39920abc00000000",13,1 "0.898387","2022-10","25.552578","85.398342","dcid:s2CellId/0x39f29d0400000000",13,1 "0.898387","2022-10","25.552578","85.425292","dcid:s2CellId/0x39f29d2400000000",13,1 -"1.796840","2022-10","25.548087","85.775635","dcid:s2CellId/0x39f2777c00000000",26,2 -"1.796840","2022-10","25.548087","85.784618","dcid:s2CellId/0x39f2777400000000",26,2 +"1.796840","2022-10","25.548087","85.775635","dcid:s2CellId/0x39f2777c00000000",13,1 +"1.796840","2022-10","25.548087","85.784618","dcid:s2CellId/0x39f2777400000000",13,1 "0.898387","2022-10","25.552578","85.793601","dcid:s2CellId/0x39f2770c00000000",13,1 "0.898387","2022-10","25.552578","85.865466","dcid:s2CellId/0x39f2743400000000",13,1 "0.898387","2022-10","25.552578","85.874450","dcid:s2CellId/0x39f2744c00000000",13,1 @@ -219,7 +219,7 @@ "0.898453","2022-10","25.543595","85.497157","dcid:s2CellId/0x39f283b400000000",13,1 "0.898453","2022-10","25.543595","85.748685","dcid:s2CellId/0x39f279cc00000000",13,1 "0.898453","2022-10","25.543595","85.757669","dcid:s2CellId/0x39f279d400000000",13,1 -"1.796972","2022-10","25.539104","85.892416","dcid:s2CellId/0x39f274f400000000",26,2 +"1.796972","2022-10","25.539104","85.892416","dcid:s2CellId/0x39f274f400000000",13,1 "0.898453","2022-10","25.543595","86.682933","dcid:s2CellId/0x39f1d96c00000000",13,1 "0.898519","2022-10","25.534612","85.479191","dcid:s2CellId/0x39f283ac00000000",13,1 "0.898519","2022-10","25.534612","85.694787","dcid:s2CellId/0x39f2793400000000",13,1 @@ -244,26 +244,26 @@ "0.898651","2022-10","25.516646","86.323607","dcid:s2CellId/0x39f1f94c00000000",13,1 "0.898716","2022-10","25.507662","85.506140","dcid:s2CellId/0x39f283f400000000",13,1 "0.898716","2022-10","25.507662","85.515123","dcid:s2CellId/0x39f283fc00000000",13,1 -"1.797499","2022-10","25.503171","85.829534","dcid:s2CellId/0x39f2714c00000000",26,2 +"1.797499","2022-10","25.503171","85.829534","dcid:s2CellId/0x39f2714c00000000",13,1 "0.898716","2022-10","25.507662","85.865466","dcid:s2CellId/0x39f273f400000000",13,1 "0.898716","2022-10","25.507662","85.883433","dcid:s2CellId/0x39f2738400000000",13,1 "0.898716","2022-10","25.507662","85.901399","dcid:s2CellId/0x39f2736400000000",13,1 "0.898716","2022-10","25.507662","87.760912","dcid:s2CellId/0x39fab12400000000",13,1 -"1.797630","2022-10","25.494188","85.551056","dcid:s2CellId/0x39f286d400000000",26,2 +"1.797630","2022-10","25.494188","85.551056","dcid:s2CellId/0x39f286d400000000",13,1 "0.898782","2022-10","25.498679","85.811568","dcid:s2CellId/0x39f2712c00000000",13,1 "0.898782","2022-10","25.498679","85.820551","dcid:s2CellId/0x39f2713400000000",13,1 "0.898782","2022-10","25.498679","85.892416","dcid:s2CellId/0x39f2737400000000",13,1 "0.898782","2022-10","25.498679","85.901399","dcid:s2CellId/0x39f2736c00000000",13,1 "0.898782","2022-10","25.498679","86.530220","dcid:s2CellId/0x39f1e6e400000000",13,1 -"2.696675","2022-10","25.483707","85.616933","dcid:s2CellId/0x39f27dec00000000",39,3 -"1.797696","2022-10","25.489696","85.690295","dcid:s2CellId/0x39f27bf400000000",26,2 +"2.696675","2022-10","25.483707","85.616933","dcid:s2CellId/0x39f27dec00000000",13,1 +"0.898848","2022-10","25.489696","85.690295","dcid:s2CellId/0x39f27bf400000000",13,1 "0.898848","2022-10","25.489696","85.910382","dcid:s2CellId/0x39f2734400000000",13,1 "0.898848","2022-10","25.489696","86.575136","dcid:s2CellId/0x39f1e77c00000000",13,1 -"1.797761","2022-10","25.485205","87.015310","dcid:s2CellId/0x39f02e5400000000",26,2 +"1.797761","2022-10","25.485205","87.015310","dcid:s2CellId/0x39f02e5400000000",13,1 "0.898914","2022-10","25.480713","85.604955","dcid:s2CellId/0x39f27df400000000",13,1 "0.898914","2022-10","25.480713","85.667837","dcid:s2CellId/0x39f27c1400000000",13,1 "0.898914","2022-10","25.480713","85.676820","dcid:s2CellId/0x39f27c7400000000",13,1 -"1.797827","2022-10","25.480713","85.690295","dcid:s2CellId/0x39f27b8c00000000",26,2 +"0.898914","2022-10","25.480713","85.690295","dcid:s2CellId/0x39f27b8c00000000",13,1 "0.898914","2022-10","25.480713","85.874450","dcid:s2CellId/0x39f273bc00000000",13,1 "0.898914","2022-10","25.480713","86.584119","dcid:s2CellId/0x39f1dd7c00000000",13,1 "0.898979","2022-10","25.471730","85.551056","dcid:s2CellId/0x39f286e400000000",13,1 @@ -274,7 +274,7 @@ "0.898979","2022-10","25.471730","87.177007","dcid:s2CellId/0x39f0231c00000000",13,1 "0.898979","2022-10","25.471730","87.194973","dcid:s2CellId/0x39f022ec00000000",13,1 "0.898979","2022-10","25.471730","87.203956","dcid:s2CellId/0x39f0229400000000",13,1 -"1.798024","2022-10","25.467238","87.302771","dcid:s2CellId/0x39f01a1c00000000",26,2 +"1.798024","2022-10","25.467238","87.302771","dcid:s2CellId/0x39f01a1c00000000",13,1 "0.899045","2022-10","25.462747","86.575136","dcid:s2CellId/0x39f1e78c00000000",13,1 "0.899045","2022-10","25.462747","86.584119","dcid:s2CellId/0x39f1dd6400000000",13,1 "0.899045","2022-10","25.462747","87.185990","dcid:s2CellId/0x39f022dc00000000",13,1 @@ -293,9 +293,9 @@ "0.899111","2022-10","25.453764","87.284805","dcid:s2CellId/0x39f019e400000000",13,1 "0.899111","2022-10","25.453764","87.383619","dcid:s2CellId/0x39f0055400000000",13,1 "0.899111","2022-10","25.453764","87.392602","dcid:s2CellId/0x39f0055c00000000",13,1 -"1.798418","2022-10","25.440289","86.575136","dcid:s2CellId/0x39f1e7fc00000000",26,2 +"1.798418","2022-10","25.440289","86.575136","dcid:s2CellId/0x39f1e7fc00000000",13,1 "0.899176","2022-10","25.444780","87.123108","dcid:s2CellId/0x39f03b4c00000000",13,1 -"1.798418","2022-10","25.440289","87.221923","dcid:s2CellId/0x39f03d5400000000",26,2 +"1.798418","2022-10","25.440289","87.221923","dcid:s2CellId/0x39f03d5400000000",13,1 "0.899176","2022-10","25.444780","87.275821","dcid:s2CellId/0x39f0176400000000",13,1 "0.899176","2022-10","25.444780","87.284805","dcid:s2CellId/0x39f0175c00000000",13,1 "0.899242","2022-10","25.435797","85.883433","dcid:s2CellId/0x39f2726400000000",13,1 @@ -315,8 +315,8 @@ "0.899242","2022-10","25.435797","87.356670","dcid:s2CellId/0x39f0106c00000000",13,1 "0.899242","2022-10","25.435797","87.365653","dcid:s2CellId/0x39f0101400000000",13,1 "0.899307","2022-10","25.426814","85.883433","dcid:s2CellId/0x39f2727c00000000",13,1 -"1.798680","2022-10","25.422323","85.937332","dcid:s2CellId/0x39f20d5400000000",26,2 -"1.798680","2022-10","25.422323","85.946315","dcid:s2CellId/0x39f20d5c00000000",26,2 +"1.798680","2022-10","25.422323","85.937332","dcid:s2CellId/0x39f20d5400000000",13,1 +"1.798680","2022-10","25.422323","85.946315","dcid:s2CellId/0x39f20d5c00000000",13,1 "0.899307","2022-10","25.426814","86.521237","dcid:s2CellId/0x39f1e89c00000000",13,1 "0.899307","2022-10","25.426814","86.557169","dcid:s2CellId/0x39f1e87400000000",13,1 "0.899307","2022-10","25.426814","86.566152","dcid:s2CellId/0x39f1e80c00000000",13,1 @@ -346,7 +346,7 @@ "0.899373","2022-10","25.417831","87.554299","dcid:s2CellId/0x39faa79400000000",13,1 "0.899373","2022-10","25.417831","87.581249","dcid:s2CellId/0x39faa65400000000",13,1 "0.899438","2022-10","25.408848","85.955298","dcid:s2CellId/0x39f2129c00000000",13,1 -"1.798942","2022-10","25.404356","86.534711","dcid:s2CellId/0x39f1e8f400000000",26,2 +"1.798942","2022-10","25.404356","86.534711","dcid:s2CellId/0x39f1e8f400000000",13,1 "0.899438","2022-10","25.408848","87.150057","dcid:s2CellId/0x39f03c8400000000",13,1 "0.899438","2022-10","25.408848","87.159040","dcid:s2CellId/0x39f03c8c00000000",13,1 "0.899438","2022-10","25.408848","87.185990","dcid:s2CellId/0x39f03d0400000000",13,1 @@ -354,7 +354,7 @@ "0.899438","2022-10","25.408848","87.302771","dcid:s2CellId/0x39f010d400000000",13,1 "0.899438","2022-10","25.408848","87.374636","dcid:s2CellId/0x39f0102c00000000",13,1 "0.899438","2022-10","25.408848","87.401586","dcid:s2CellId/0x39f00fb400000000",13,1 -"1.798877","2022-10","25.408848","87.504892","dcid:s2CellId/0x39f0085400000000",26,2 +"0.899438","2022-10","25.408848","87.504892","dcid:s2CellId/0x39f0085400000000",13,1 "0.899438","2022-10","25.408848","87.518367","dcid:s2CellId/0x39f0084c00000000",13,1 "0.899438","2022-10","25.408848","87.563282","dcid:s2CellId/0x39faa7a400000000",13,1 "0.899438","2022-10","25.408848","87.572265","dcid:s2CellId/0x39faa7ac00000000",13,1 @@ -365,9 +365,9 @@ "0.899504","2022-10","25.399865","86.422422","dcid:s2CellId/0x39f1efdc00000000",13,1 "0.899504","2022-10","25.399865","86.566152","dcid:s2CellId/0x39f1e83c00000000",13,1 "0.899504","2022-10","25.399865","86.575136","dcid:s2CellId/0x39f1e82400000000",13,1 -"1.799073","2022-10","25.395373","87.316246","dcid:s2CellId/0x39f0112400000000",26,2 +"1.799073","2022-10","25.395373","87.316246","dcid:s2CellId/0x39f0112400000000",13,1 "0.899504","2022-10","25.399865","87.365653","dcid:s2CellId/0x39f011cc00000000",13,1 -"1.799008","2022-10","25.399865","87.406077","dcid:s2CellId/0x39f00e4c00000000",26,2 +"0.899504","2022-10","25.399865","87.406077","dcid:s2CellId/0x39f00e4c00000000",13,1 "0.899504","2022-10","25.399865","87.455484","dcid:s2CellId/0x39f00ed400000000",13,1 "0.899504","2022-10","25.399865","87.464468","dcid:s2CellId/0x39f0092c00000000",13,1 "0.899504","2022-10","25.399865","87.572265","dcid:s2CellId/0x39faa70400000000",13,1 @@ -377,8 +377,8 @@ "0.899569","2022-10","25.390882","86.000214","dcid:s2CellId/0x39f2123c00000000",13,1 "0.899569","2022-10","25.390882","86.314624","dcid:s2CellId/0x39f1f71c00000000",13,1 "0.899569","2022-10","25.390882","86.584119","dcid:s2CellId/0x39f1c28400000000",13,1 -"1.799204","2022-10","25.386390","86.871580","dcid:s2CellId/0x39f1ccfc00000000",26,2 -"1.799204","2022-10","25.386390","86.880563","dcid:s2CellId/0x39f1cce400000000",26,2 +"1.799204","2022-10","25.386390","86.871580","dcid:s2CellId/0x39f1ccfc00000000",13,1 +"1.799204","2022-10","25.386390","86.880563","dcid:s2CellId/0x39f1cce400000000",13,1 "0.899569","2022-10","25.390882","87.230906","dcid:s2CellId/0x39f0162c00000000",13,1 "0.899569","2022-10","25.390882","87.239889","dcid:s2CellId/0x39f0163400000000",13,1 "0.899569","2022-10","25.390882","87.248872","dcid:s2CellId/0x39f0164c00000000",13,1 @@ -412,18 +412,18 @@ "0.899700","2022-10","25.372915","87.311754","dcid:s2CellId/0x39f0114400000000",13,1 "0.899700","2022-10","25.372915","87.536333","dcid:s2CellId/0x39f009e400000000",13,1 "0.899700","2022-10","25.372915","87.545316","dcid:s2CellId/0x39faa75c00000000",13,1 -"1.799401","2022-10","25.372915","87.603707","dcid:s2CellId/0x39faa6bc00000000",26,2 +"0.899700","2022-10","25.372915","87.603707","dcid:s2CellId/0x39faa6bc00000000",13,1 "0.899766","2022-10","25.363932","84.742572","dcid:s2CellId/0x398d453c00000000",13,1 "0.899766","2022-10","25.363932","85.937332","dcid:s2CellId/0x39f2132c00000000",13,1 "0.899766","2022-10","25.363932","86.063096","dcid:s2CellId/0x39f210fc00000000",13,1 "0.899766","2022-10","25.363932","86.090045","dcid:s2CellId/0x39f2108400000000",13,1 "0.899766","2022-10","25.363932","86.916495","dcid:s2CellId/0x39f0334400000000",13,1 -"1.799597","2022-10","25.359440","87.266838","dcid:s2CellId/0x39f0168400000000",26,2 +"1.799597","2022-10","25.359440","87.266838","dcid:s2CellId/0x39f0168400000000",13,1 "0.899766","2022-10","25.363932","87.275821","dcid:s2CellId/0x39f0169c00000000",13,1 "0.899766","2022-10","25.363932","87.284805","dcid:s2CellId/0x39f016a400000000",13,1 -"1.799597","2022-10","25.359440","87.293788","dcid:s2CellId/0x39f016ac00000000",26,2 +"1.799597","2022-10","25.359440","87.293788","dcid:s2CellId/0x39f016ac00000000",13,1 "0.899766","2022-10","25.363932","87.302771","dcid:s2CellId/0x39f0115400000000",13,1 -"1.799532","2022-10","25.363932","87.316246","dcid:s2CellId/0x39f0115c00000000",26,2 +"0.899766","2022-10","25.363932","87.316246","dcid:s2CellId/0x39f0115c00000000",13,1 "0.899766","2022-10","25.363932","87.509383","dcid:s2CellId/0x39f0098400000000",13,1 "0.899766","2022-10","25.363932","87.545316","dcid:s2CellId/0x39faa75400000000",13,1 "0.899766","2022-10","25.363932","87.554299","dcid:s2CellId/0x39faa74c00000000",13,1 @@ -443,7 +443,7 @@ "0.899831","2022-10","25.354949","87.590232","dcid:s2CellId/0x39faa13400000000",13,1 "0.899831","2022-10","25.354949","87.608198","dcid:s2CellId/0x39faa14c00000000",13,1 "0.899897","2022-10","25.345966","85.919365","dcid:s2CellId/0x39f26cc400000000",13,1 -"1.799859","2022-10","25.341474","85.928349","dcid:s2CellId/0x39f26cb400000000",26,2 +"1.799859","2022-10","25.341474","85.928349","dcid:s2CellId/0x39f26cb400000000",13,1 "0.899897","2022-10","25.345966","85.964281","dcid:s2CellId/0x39f2137400000000",13,1 "0.899897","2022-10","25.345966","86.099028","dcid:s2CellId/0x39f21a0c00000000",13,1 "0.899897","2022-10","25.345966","86.152927","dcid:s2CellId/0x39f21bc400000000",13,1 @@ -466,7 +466,7 @@ "0.899962","2022-10","25.336983","86.197843","dcid:s2CellId/0x39f21c2400000000",13,1 "0.899962","2022-10","25.336983","86.215809","dcid:s2CellId/0x39f21c2c00000000",13,1 "0.899962","2022-10","25.336983","86.251742","dcid:s2CellId/0x39f21dfc00000000",13,1 -"1.799924","2022-10","25.336983","86.292166","dcid:s2CellId/0x39f1f67c00000000",26,2 +"0.899962","2022-10","25.336983","86.292166","dcid:s2CellId/0x39f1f67c00000000",13,1 "0.899962","2022-10","25.336983","86.305641","dcid:s2CellId/0x39f1f68400000000",13,1 "0.899962","2022-10","25.336983","86.332590","dcid:s2CellId/0x39f1f6ac00000000",13,1 "0.899962","2022-10","25.336983","86.341574","dcid:s2CellId/0x39f1f15400000000",13,1 @@ -495,7 +495,7 @@ "0.900027","2022-10","25.327999","86.449371","dcid:s2CellId/0x39f1edd400000000",13,1 "0.900027","2022-10","25.327999","86.826664","dcid:s2CellId/0x39f1cbe400000000",13,1 "0.900027","2022-10","25.327999","86.871580","dcid:s2CellId/0x39f1cb7400000000",13,1 -"1.800120","2022-10","25.323508","87.212939","dcid:s2CellId/0x39f03e2400000000",26,2 +"1.800120","2022-10","25.323508","87.212939","dcid:s2CellId/0x39f03e2400000000",13,1 "0.900027","2022-10","25.327999","87.545316","dcid:s2CellId/0x39faa09c00000000",13,1 "0.900027","2022-10","25.327999","87.581249","dcid:s2CellId/0x39faa11c00000000",13,1 "0.900093","2022-10","25.319016","85.919365","dcid:s2CellId/0x39f26b5c00000000",13,1 @@ -520,19 +520,19 @@ "0.900093","2022-10","25.319016","86.575136","dcid:s2CellId/0x39f1ea0c00000000",13,1 "0.900093","2022-10","25.319016","86.593102","dcid:s2CellId/0x39f1c1ec00000000",13,1 "0.900093","2022-10","25.319016","86.817681","dcid:s2CellId/0x39f1c96400000000",13,1 -"1.800185","2022-10","25.319016","86.867088","dcid:s2CellId/0x39f1cb0c00000000",26,2 +"0.900093","2022-10","25.319016","86.867088","dcid:s2CellId/0x39f1cb0c00000000",13,1 "0.900093","2022-10","25.319016","86.880563","dcid:s2CellId/0x39f1cb1400000000",13,1 "0.900093","2022-10","25.319016","86.925478","dcid:s2CellId/0x39f034ec00000000",13,1 "0.900093","2022-10","25.319016","86.988361","dcid:s2CellId/0x39f0369c00000000",13,1 "0.900093","2022-10","25.319016","87.509383","dcid:s2CellId/0x39f00a5400000000",13,1 "0.900093","2022-10","25.319016","87.545316","dcid:s2CellId/0x39faa08400000000",13,1 "0.900093","2022-10","25.319016","87.590232","dcid:s2CellId/0x39faa10c00000000",13,1 -"1.800381","2022-10","25.305542","85.937332","dcid:s2CellId/0x39f214b400000000",26,2 -"1.800381","2022-10","25.305542","85.946315","dcid:s2CellId/0x39f214bc00000000",26,2 -"1.800381","2022-10","25.305542","85.955298","dcid:s2CellId/0x39f2149400000000",26,2 -"1.800381","2022-10","25.305542","85.964281","dcid:s2CellId/0x39f2148c00000000",26,2 -"1.800381","2022-10","25.305542","85.973264","dcid:s2CellId/0x39f2146400000000",26,2 -"1.800381","2022-10","25.305542","85.982247","dcid:s2CellId/0x39f2146c00000000",26,2 +"1.800381","2022-10","25.305542","85.937332","dcid:s2CellId/0x39f214b400000000",13,1 +"1.800381","2022-10","25.305542","85.946315","dcid:s2CellId/0x39f214bc00000000",13,1 +"1.800381","2022-10","25.305542","85.955298","dcid:s2CellId/0x39f2149400000000",13,1 +"1.800381","2022-10","25.305542","85.964281","dcid:s2CellId/0x39f2148c00000000",13,1 +"1.800381","2022-10","25.305542","85.973264","dcid:s2CellId/0x39f2146400000000",13,1 +"1.800381","2022-10","25.305542","85.982247","dcid:s2CellId/0x39f2146c00000000",13,1 "0.900158","2022-10","25.310033","86.054113","dcid:s2CellId/0x39f2172400000000",13,1 "0.900158","2022-10","25.310033","86.090045","dcid:s2CellId/0x39f2175c00000000",13,1 "0.900158","2022-10","25.310033","86.108012","dcid:s2CellId/0x39f219ec00000000",13,1 @@ -544,27 +544,27 @@ "0.900158","2022-10","25.310033","86.395472","dcid:s2CellId/0x39f1f24400000000",13,1 "0.900158","2022-10","25.310033","86.404456","dcid:s2CellId/0x39f1f26c00000000",13,1 "0.900158","2022-10","25.310033","86.413439","dcid:s2CellId/0x39f1f27400000000",13,1 -"1.800381","2022-10","25.305542","86.440388","dcid:s2CellId/0x39f1edbc00000000",26,2 -"2.700604","2022-10","25.304044","86.455360","dcid:s2CellId/0x39f1edb400000000",39,3 +"1.800381","2022-10","25.305542","86.440388","dcid:s2CellId/0x39f1edbc00000000",13,1 +"2.700604","2022-10","25.304044","86.455360","dcid:s2CellId/0x39f1edb400000000",13,1 "0.900158","2022-10","25.310033","86.602085","dcid:s2CellId/0x39f1c1bc00000000",13,1 "0.900158","2022-10","25.310033","86.611068","dcid:s2CellId/0x39f1c1a400000000",13,1 "0.900158","2022-10","25.310033","86.655984","dcid:s2CellId/0x39f1c13400000000",13,1 "0.900158","2022-10","25.310033","86.664967","dcid:s2CellId/0x39f1c6cc00000000",13,1 "0.900158","2022-10","25.310033","86.682933","dcid:s2CellId/0x39f1c6ec00000000",13,1 "0.900158","2022-10","25.310033","86.808697","dcid:s2CellId/0x39f1c96c00000000",13,1 -"1.800381","2022-10","25.305542","86.956920","dcid:s2CellId/0x39f0344c00000000",26,2 -"1.800381","2022-10","25.305542","86.970394","dcid:s2CellId/0x39f0343400000000",26,2 +"1.800381","2022-10","25.305542","86.956920","dcid:s2CellId/0x39f0344c00000000",13,1 +"1.800381","2022-10","25.305542","86.970394","dcid:s2CellId/0x39f0343400000000",13,1 "0.900158","2022-10","25.310033","86.979377","dcid:s2CellId/0x39f0342c00000000",13,1 "0.900158","2022-10","25.310033","86.988361","dcid:s2CellId/0x39f0368400000000",13,1 "0.900158","2022-10","25.310033","86.997344","dcid:s2CellId/0x39f0368c00000000",13,1 "0.900158","2022-10","25.310033","87.159040","dcid:s2CellId/0x39f03edc00000000",13,1 "0.900158","2022-10","25.310033","87.168024","dcid:s2CellId/0x39f03ee400000000",13,1 -"1.800316","2022-10","25.310033","87.217431","dcid:s2CellId/0x39f03e2c00000000",26,2 +"0.900158","2022-10","25.310033","87.217431","dcid:s2CellId/0x39f03e2c00000000",13,1 "0.900158","2022-10","25.310033","87.248872","dcid:s2CellId/0x39f015a400000000",13,1 -"2.700539","2022-10","25.307039","87.506389","dcid:s2CellId/0x39f00afc00000000",39,3 -"1.800381","2022-10","25.305542","87.518367","dcid:s2CellId/0x39f00af400000000",26,2 -"1.800381","2022-10","25.305542","87.527350","dcid:s2CellId/0x39f00a8c00000000",26,2 -"1.800381","2022-10","25.305542","87.545316","dcid:s2CellId/0x39faa07c00000000",26,2 +"1.800381","2022-10","25.307039","87.506389","dcid:s2CellId/0x39f00afc00000000",13,1 +"1.800381","2022-10","25.305542","87.518367","dcid:s2CellId/0x39f00af400000000",13,1 +"1.800381","2022-10","25.305542","87.527350","dcid:s2CellId/0x39f00a8c00000000",13,1 +"1.800381","2022-10","25.305542","87.545316","dcid:s2CellId/0x39faa07c00000000",13,1 "0.900158","2022-10","25.310033","87.554299","dcid:s2CellId/0x39faa06400000000",13,1 "0.900158","2022-10","25.310033","87.563282","dcid:s2CellId/0x39faa05c00000000",13,1 "0.900158","2022-10","25.310033","87.599215","dcid:s2CellId/0x39faa19c00000000",13,1 @@ -578,7 +578,7 @@ "0.900223","2022-10","25.301050","86.907512","dcid:s2CellId/0x39f034d400000000",13,1 "0.900223","2022-10","25.301050","87.015310","dcid:s2CellId/0x39f0365400000000",13,1 "0.900223","2022-10","25.301050","87.024293","dcid:s2CellId/0x39f037ac00000000",13,1 -"1.800512","2022-10","25.296558","87.150057","dcid:s2CellId/0x39f03f2c00000000",26,2 +"1.800512","2022-10","25.296558","87.150057","dcid:s2CellId/0x39f03f2c00000000",13,1 "0.900223","2022-10","25.301050","87.159040","dcid:s2CellId/0x39f03f2400000000",13,1 "0.900223","2022-10","25.301050","87.185990","dcid:s2CellId/0x39f03fac00000000",13,1 "0.900223","2022-10","25.301050","87.221923","dcid:s2CellId/0x39f03fd400000000",13,1 @@ -592,43 +592,43 @@ "0.900288","2022-10","25.292067","86.305641","dcid:s2CellId/0x39f1f45400000000",13,1 "0.900288","2022-10","25.292067","86.314624","dcid:s2CellId/0x39f1f45c00000000",13,1 "0.900288","2022-10","25.292067","86.323607","dcid:s2CellId/0x39f1f46400000000",13,1 -"1.800577","2022-10","25.292067","86.373015","dcid:s2CellId/0x39f1f3ac00000000",26,2 +"0.900288","2022-10","25.292067","86.373015","dcid:s2CellId/0x39f1f3ac00000000",13,1 "0.900288","2022-10","25.292067","86.386489","dcid:s2CellId/0x39f1f25400000000",13,1 "0.900288","2022-10","25.292067","86.395472","dcid:s2CellId/0x39f1f25c00000000",13,1 "0.900288","2022-10","25.292067","86.413439","dcid:s2CellId/0x39f1f27c00000000",13,1 "0.900288","2022-10","25.292067","86.431405","dcid:s2CellId/0x39f1ed9c00000000",13,1 "0.900288","2022-10","25.292067","86.440388","dcid:s2CellId/0x39f1eda400000000",13,1 -"1.800577","2022-10","25.292067","86.453863","dcid:s2CellId/0x39f1edac00000000",26,2 +"0.900288","2022-10","25.292067","86.453863","dcid:s2CellId/0x39f1edac00000000",13,1 "0.900288","2022-10","25.292067","86.557169","dcid:s2CellId/0x39f1ea5c00000000",13,1 "0.900288","2022-10","25.292067","86.620051","dcid:s2CellId/0x39f1c05400000000",13,1 -"1.800642","2022-10","25.287575","86.629034","dcid:s2CellId/0x39f1c0fc00000000",26,2 +"1.800642","2022-10","25.287575","86.629034","dcid:s2CellId/0x39f1c0fc00000000",13,1 "0.900288","2022-10","25.292067","86.781748","dcid:s2CellId/0x39f1c85400000000",13,1 "0.900288","2022-10","25.292067","86.790731","dcid:s2CellId/0x39f1c9ac00000000",13,1 "0.900288","2022-10","25.292067","86.898529","dcid:s2CellId/0x39f1cad400000000",13,1 "0.900288","2022-10","25.292067","86.907512","dcid:s2CellId/0x39f0352c00000000",13,1 "0.900288","2022-10","25.292067","86.916495","dcid:s2CellId/0x39f0352400000000",13,1 -"1.800577","2022-10","25.292067","86.956920","dcid:s2CellId/0x39f035b400000000",26,2 +"0.900288","2022-10","25.292067","86.956920","dcid:s2CellId/0x39f035b400000000",13,1 "0.900288","2022-10","25.292067","87.033276","dcid:s2CellId/0x39f037a400000000",13,1 "0.900288","2022-10","25.292067","87.087175","dcid:s2CellId/0x39f0384c00000000",13,1 "0.900288","2022-10","25.292067","87.096158","dcid:s2CellId/0x39f0385400000000",13,1 "0.900288","2022-10","25.292067","87.185990","dcid:s2CellId/0x39f03fa400000000",13,1 "0.900288","2022-10","25.292067","87.194973","dcid:s2CellId/0x39f03fbc00000000",13,1 -"1.800642","2022-10","25.287575","87.203956","dcid:s2CellId/0x39f03fc400000000",26,2 +"1.800642","2022-10","25.287575","87.203956","dcid:s2CellId/0x39f03fc400000000",13,1 "0.900288","2022-10","25.292067","87.212939","dcid:s2CellId/0x39f03fdc00000000",13,1 -"1.800642","2022-10","25.287575","87.239889","dcid:s2CellId/0x39f0156c00000000",26,2 +"1.800642","2022-10","25.287575","87.239889","dcid:s2CellId/0x39f0156c00000000",13,1 "0.900288","2022-10","25.292067","87.554299","dcid:s2CellId/0x39faa06c00000000",13,1 "0.900288","2022-10","25.292067","87.662097","dcid:s2CellId/0x39faa2f400000000",13,1 "0.900288","2022-10","25.292067","87.814811","dcid:s2CellId/0x39fabe4c00000000",13,1 "0.900354","2022-10","25.283084","85.919365","dcid:s2CellId/0x39f26b2400000000",13,1 "0.900354","2022-10","25.283084","85.973264","dcid:s2CellId/0x39f2145400000000",13,1 "0.900354","2022-10","25.283084","85.982247","dcid:s2CellId/0x39f2144c00000000",13,1 -"1.800772","2022-10","25.278592","86.233776","dcid:s2CellId/0x39f21fb400000000",26,2 -"1.800772","2022-10","25.278592","86.242759","dcid:s2CellId/0x39f21fcc00000000",26,2 -"1.800772","2022-10","25.278592","86.251742","dcid:s2CellId/0x39f21fd400000000",26,2 +"1.800772","2022-10","25.278592","86.233776","dcid:s2CellId/0x39f21fb400000000",13,1 +"1.800772","2022-10","25.278592","86.242759","dcid:s2CellId/0x39f21fcc00000000",13,1 +"1.800772","2022-10","25.278592","86.251742","dcid:s2CellId/0x39f21fd400000000",13,1 "0.900354","2022-10","25.283084","86.260725","dcid:s2CellId/0x39f1f57c00000000",13,1 "0.900354","2022-10","25.283084","86.269708","dcid:s2CellId/0x39f1f57400000000",13,1 "0.900354","2022-10","25.283084","86.359540","dcid:s2CellId/0x39f1f30c00000000",13,1 -"1.800707","2022-10","25.283084","86.373015","dcid:s2CellId/0x39f1f30400000000",26,2 +"0.900354","2022-10","25.283084","86.373015","dcid:s2CellId/0x39f1f30400000000",13,1 "0.900354","2022-10","25.283084","86.386489","dcid:s2CellId/0x39f1f2fc00000000",13,1 "0.900354","2022-10","25.283084","86.395472","dcid:s2CellId/0x39f1f2f400000000",13,1 "0.900354","2022-10","25.283084","86.413439","dcid:s2CellId/0x39f1f28400000000",13,1 @@ -646,7 +646,7 @@ "0.900354","2022-10","25.283084","86.925478","dcid:s2CellId/0x39f0351400000000",13,1 "0.900354","2022-10","25.283084","86.934462","dcid:s2CellId/0x39f0350c00000000",13,1 "0.900354","2022-10","25.283084","86.943445","dcid:s2CellId/0x39f035a400000000",13,1 -"1.800707","2022-10","25.283084","86.956920","dcid:s2CellId/0x39f035bc00000000",26,2 +"0.900354","2022-10","25.283084","86.956920","dcid:s2CellId/0x39f035bc00000000",13,1 "0.900354","2022-10","25.283084","87.024293","dcid:s2CellId/0x39f037b400000000",13,1 "0.900354","2022-10","25.283084","87.033276","dcid:s2CellId/0x39f037bc00000000",13,1 "0.900354","2022-10","25.283084","87.078192","dcid:s2CellId/0x39f0383c00000000",13,1 @@ -656,44 +656,44 @@ "0.900354","2022-10","25.283084","87.805827","dcid:s2CellId/0x39fabe3c00000000",13,1 "0.900354","2022-10","25.283084","87.814811","dcid:s2CellId/0x39fabe3400000000",13,1 "0.900354","2022-10","25.283084","87.823794","dcid:s2CellId/0x39fabfcc00000000",13,1 -"1.800903","2022-10","25.269609","85.919365","dcid:s2CellId/0x39f26adc00000000",26,2 +"1.800903","2022-10","25.269609","85.919365","dcid:s2CellId/0x39f26adc00000000",13,1 "0.900419","2022-10","25.274101","85.946315","dcid:s2CellId/0x39f2152400000000",13,1 "0.900419","2022-10","25.274101","85.955298","dcid:s2CellId/0x39f2151c00000000",13,1 -"1.800838","2022-10","25.274101","85.986739","dcid:s2CellId/0x39f215b400000000",26,2 +"0.900419","2022-10","25.274101","85.986739","dcid:s2CellId/0x39f215b400000000",13,1 "0.900419","2022-10","25.274101","86.000214","dcid:s2CellId/0x39f215cc00000000",13,1 "0.900419","2022-10","25.274101","86.090045","dcid:s2CellId/0x39f2178400000000",13,1 "0.900419","2022-10","25.274101","86.224793","dcid:s2CellId/0x39f21fac00000000",13,1 "0.900419","2022-10","25.274101","86.323607","dcid:s2CellId/0x39f1f48c00000000",13,1 "0.900419","2022-10","25.274101","86.359540","dcid:s2CellId/0x39f1f31400000000",13,1 -"3.601806","2022-10","25.269609","86.373015","dcid:s2CellId/0x39f1f31c00000000",52,4 -"1.800903","2022-10","25.269609","86.386489","dcid:s2CellId/0x39f1f2e400000000",26,2 -"1.800903","2022-10","25.269609","86.395472","dcid:s2CellId/0x39f1f2ec00000000",26,2 -"1.800903","2022-10","25.269609","86.404456","dcid:s2CellId/0x39f1f29400000000",26,2 +"2.701387","2022-10","25.269609","86.373015","dcid:s2CellId/0x39f1f31c00000000",13,1 +"1.800903","2022-10","25.269609","86.386489","dcid:s2CellId/0x39f1f2e400000000",13,1 +"1.800903","2022-10","25.269609","86.395472","dcid:s2CellId/0x39f1f2ec00000000",13,1 +"1.800903","2022-10","25.269609","86.404456","dcid:s2CellId/0x39f1f29400000000",13,1 "0.900419","2022-10","25.274101","86.413439","dcid:s2CellId/0x39f1f29c00000000",13,1 "0.900419","2022-10","25.274101","86.422422","dcid:s2CellId/0x39f1ed6400000000",13,1 "0.900419","2022-10","25.274101","86.557169","dcid:s2CellId/0x39f1eaec00000000",13,1 "0.900419","2022-10","25.274101","86.575136","dcid:s2CellId/0x39f1ea9c00000000",13,1 "0.900419","2022-10","25.274101","86.629034","dcid:s2CellId/0x39f1c0f400000000",13,1 -"1.800838","2022-10","25.274101","86.696408","dcid:s2CellId/0x39f1c70c00000000",26,2 +"0.900419","2022-10","25.274101","86.696408","dcid:s2CellId/0x39f1c70c00000000",13,1 "0.900419","2022-10","25.274101","86.862596","dcid:s2CellId/0x39f1ca8c00000000",13,1 -"1.800903","2022-10","25.269609","86.880563","dcid:s2CellId/0x39f1ca9400000000",26,2 -"1.800903","2022-10","25.269609","86.889546","dcid:s2CellId/0x39f1cabc00000000",26,2 +"1.800903","2022-10","25.269609","86.880563","dcid:s2CellId/0x39f1ca9400000000",13,1 +"1.800903","2022-10","25.269609","86.889546","dcid:s2CellId/0x39f1cabc00000000",13,1 "0.900419","2022-10","25.274101","86.970394","dcid:s2CellId/0x39f035ec00000000",13,1 "0.900419","2022-10","25.274101","86.997344","dcid:s2CellId/0x39f0361400000000",13,1 "0.900419","2022-10","25.274101","87.006327","dcid:s2CellId/0x39f0363c00000000",13,1 "0.900419","2022-10","25.274101","87.042259","dcid:s2CellId/0x39f037c400000000",13,1 "0.900419","2022-10","25.274101","87.051243","dcid:s2CellId/0x39f037ec00000000",13,1 -"1.800838","2022-10","25.274101","87.127599","dcid:s2CellId/0x39f038bc00000000",26,2 +"0.900419","2022-10","25.274101","87.127599","dcid:s2CellId/0x39f038bc00000000",13,1 "0.900419","2022-10","25.274101","87.141074","dcid:s2CellId/0x39f038b400000000",13,1 "0.900419","2022-10","25.274101","87.203956","dcid:s2CellId/0x39f03fec00000000",13,1 "0.900419","2022-10","25.274101","87.212939","dcid:s2CellId/0x39f03fe400000000",13,1 "0.900419","2022-10","25.274101","87.590232","dcid:s2CellId/0x39faa1dc00000000",13,1 -"1.800903","2022-10","25.269609","87.644131","dcid:s2CellId/0x39faa27400000000",26,2 +"1.800903","2022-10","25.269609","87.644131","dcid:s2CellId/0x39faa27400000000",13,1 "0.900419","2022-10","25.274101","87.653114","dcid:s2CellId/0x39faa27c00000000",13,1 "0.900419","2022-10","25.274101","87.689046","dcid:s2CellId/0x39faa2ac00000000",13,1 "0.900419","2022-10","25.274101","87.778878","dcid:s2CellId/0x39fabe0400000000",13,1 "0.900419","2022-10","25.274101","87.787861","dcid:s2CellId/0x39fabe1c00000000",13,1 -"1.800838","2022-10","25.274101","87.801336","dcid:s2CellId/0x39fabe2400000000",26,2 +"0.900419","2022-10","25.274101","87.801336","dcid:s2CellId/0x39fabe2400000000",13,1 "0.900419","2022-10","25.274101","87.814811","dcid:s2CellId/0x39fabe2c00000000",13,1 "0.900419","2022-10","25.274101","87.823794","dcid:s2CellId/0x39fabfd400000000",13,1 "0.900419","2022-10","25.274101","87.832777","dcid:s2CellId/0x39fabfdc00000000",13,1 @@ -712,26 +712,26 @@ "0.900484","2022-10","25.265117","86.853613","dcid:s2CellId/0x39f1ca6400000000",13,1 "0.900484","2022-10","25.265117","86.898529","dcid:s2CellId/0x39f1cab400000000",13,1 "0.900484","2022-10","25.265117","86.979377","dcid:s2CellId/0x39f035e400000000",13,1 -"3.602066","2022-10","25.260626","87.127599","dcid:s2CellId/0x39f038a400000000",52,4 +"2.701582","2022-10","25.260626","87.127599","dcid:s2CellId/0x39f038a400000000",13,1 "0.900484","2022-10","25.265117","87.141074","dcid:s2CellId/0x39f038ac00000000",13,1 "0.900484","2022-10","25.265117","87.177007","dcid:s2CellId/0x39f03f7c00000000",13,1 -"1.800968","2022-10","25.265117","87.217431","dcid:s2CellId/0x39f03ffc00000000",26,2 +"0.900484","2022-10","25.265117","87.217431","dcid:s2CellId/0x39f03ffc00000000",13,1 "0.900484","2022-10","25.265117","87.599215","dcid:s2CellId/0x39faa1e400000000",13,1 -"1.801033","2022-10","25.260626","87.653114","dcid:s2CellId/0x39fa988400000000",26,2 -"1.801033","2022-10","25.260626","87.662097","dcid:s2CellId/0x39fa987c00000000",26,2 +"1.801033","2022-10","25.260626","87.653114","dcid:s2CellId/0x39fa988400000000",13,1 +"1.801033","2022-10","25.260626","87.662097","dcid:s2CellId/0x39fa987c00000000",13,1 "0.900484","2022-10","25.265117","87.715996","dcid:s2CellId/0x39fa97e400000000",13,1 "0.900484","2022-10","25.265117","87.751929","dcid:s2CellId/0x39fa962400000000",13,1 -"1.800968","2022-10","25.265117","87.801336","dcid:s2CellId/0x39fa958c00000000",26,2 -"1.801033","2022-10","25.260626","87.814811","dcid:s2CellId/0x39fa958400000000",26,2 -"1.801033","2022-10","25.260626","87.832777","dcid:s2CellId/0x39fa956400000000",26,2 +"0.900484","2022-10","25.265117","87.801336","dcid:s2CellId/0x39fa958c00000000",13,1 +"1.801033","2022-10","25.260626","87.814811","dcid:s2CellId/0x39fa958400000000",13,1 +"1.801033","2022-10","25.260626","87.832777","dcid:s2CellId/0x39fa956400000000",13,1 "0.900549","2022-10","25.256134","85.928349","dcid:s2CellId/0x39f26acc00000000",13,1 "0.900549","2022-10","25.256134","86.215809","dcid:s2CellId/0x39f21f7400000000",13,1 "0.900549","2022-10","25.256134","86.323607","dcid:s2CellId/0x39f1f4bc00000000",13,1 "0.900549","2022-10","25.256134","86.332590","dcid:s2CellId/0x39f1f4a400000000",13,1 "0.900549","2022-10","25.256134","86.350557","dcid:s2CellId/0x39f1f34400000000",13,1 "0.900549","2022-10","25.256134","86.584119","dcid:s2CellId/0x39f1c00400000000",13,1 -"1.801163","2022-10","25.251643","86.593102","dcid:s2CellId/0x39f1c00c00000000",26,2 -"1.801163","2022-10","25.251643","86.602085","dcid:s2CellId/0x39f1c07400000000",26,2 +"1.801163","2022-10","25.251643","86.593102","dcid:s2CellId/0x39f1c00c00000000",13,1 +"1.801163","2022-10","25.251643","86.602085","dcid:s2CellId/0x39f1c07400000000",13,1 "0.900549","2022-10","25.256134","86.638018","dcid:s2CellId/0x39f1c09c00000000",13,1 "0.900549","2022-10","25.256134","86.647001","dcid:s2CellId/0x39f1c0a400000000",13,1 "0.900549","2022-10","25.256134","86.673950","dcid:s2CellId/0x39f1c75c00000000",13,1 @@ -743,7 +743,7 @@ "0.900549","2022-10","25.256134","87.671080","dcid:s2CellId/0x39fa987400000000",13,1 "0.900549","2022-10","25.256134","87.680063","dcid:s2CellId/0x39fa980c00000000",13,1 "0.900549","2022-10","25.256134","87.689046","dcid:s2CellId/0x39fa980400000000",13,1 -"1.801098","2022-10","25.256134","87.702521","dcid:s2CellId/0x39fa97fc00000000",26,2 +"0.900549","2022-10","25.256134","87.702521","dcid:s2CellId/0x39fa97fc00000000",13,1 "0.900549","2022-10","25.256134","87.823794","dcid:s2CellId/0x39fa957c00000000",13,1 "0.900549","2022-10","25.256134","87.868710","dcid:s2CellId/0x39faeabc00000000",13,1 "0.900614","2022-10","25.247151","86.611068","dcid:s2CellId/0x39f1c07c00000000",13,1 @@ -778,7 +778,7 @@ "0.900745","2022-10","25.229185","84.571892","dcid:s2CellId/0x398d6afc00000000",13,1 "0.900745","2022-10","25.229185","86.134961","dcid:s2CellId/0x39f2227c00000000",13,1 "0.900745","2022-10","25.229185","86.602085","dcid:s2CellId/0x39f1bf9400000000",13,1 -"1.801489","2022-10","25.229185","86.615560","dcid:s2CellId/0x39f1bf9c00000000",26,2 +"0.900745","2022-10","25.229185","86.615560","dcid:s2CellId/0x39f1bf9c00000000",13,1 "0.900745","2022-10","25.229185","86.629034","dcid:s2CellId/0x39f1bf7400000000",13,1 "0.900745","2022-10","25.229185","86.655984","dcid:s2CellId/0x39f1bf4c00000000",13,1 "0.900745","2022-10","25.229185","86.664967","dcid:s2CellId/0x39f1b8b400000000",13,1 @@ -794,22 +794,22 @@ "0.900745","2022-10","25.229185","87.832777","dcid:s2CellId/0x39fa951c00000000",13,1 "0.900745","2022-10","25.229185","87.886676","dcid:s2CellId/0x39faeafc00000000",13,1 "0.900745","2022-10","25.229185","87.895659","dcid:s2CellId/0x39faea5400000000",13,1 -"1.801684","2022-10","25.215710","86.638018","dcid:s2CellId/0x39f1bf1400000000",26,2 -"1.801684","2022-10","25.215710","86.647001","dcid:s2CellId/0x39f1bf3c00000000",26,2 -"1.801684","2022-10","25.215710","86.655984","dcid:s2CellId/0x39f1bf3400000000",26,2 -"1.801684","2022-10","25.215710","86.664967","dcid:s2CellId/0x39f1b8cc00000000",26,2 -"1.801684","2022-10","25.215710","86.673950","dcid:s2CellId/0x39f1b8c400000000",26,2 +"1.801684","2022-10","25.215710","86.638018","dcid:s2CellId/0x39f1bf1400000000",13,1 +"1.801684","2022-10","25.215710","86.647001","dcid:s2CellId/0x39f1bf3c00000000",13,1 +"1.801684","2022-10","25.215710","86.655984","dcid:s2CellId/0x39f1bf3400000000",13,1 +"1.801684","2022-10","25.215710","86.664967","dcid:s2CellId/0x39f1b8cc00000000",13,1 +"1.801684","2022-10","25.215710","86.673950","dcid:s2CellId/0x39f1b8c400000000",13,1 "0.900810","2022-10","25.220202","86.826664","dcid:s2CellId/0x39f1b5dc00000000",13,1 "0.900810","2022-10","25.220202","86.835647","dcid:s2CellId/0x39f1b5c400000000",13,1 "0.900810","2022-10","25.220202","86.844630","dcid:s2CellId/0x39f1b5bc00000000",13,1 "0.900810","2022-10","25.220202","86.853613","dcid:s2CellId/0x39f1b5a400000000",13,1 -"1.801619","2022-10","25.220202","86.867088","dcid:s2CellId/0x39f1b50c00000000",26,2 +"0.900810","2022-10","25.220202","86.867088","dcid:s2CellId/0x39f1b50c00000000",13,1 "0.900810","2022-10","25.220202","86.880563","dcid:s2CellId/0x39f1b51400000000",13,1 "0.900810","2022-10","25.220202","86.889546","dcid:s2CellId/0x39f1b53c00000000",13,1 "0.900810","2022-10","25.220202","87.033276","dcid:s2CellId/0x39f0484400000000",13,1 "0.900810","2022-10","25.220202","87.069209","dcid:s2CellId/0x39f047dc00000000",13,1 "0.900810","2022-10","25.220202","87.823794","dcid:s2CellId/0x39fa94fc00000000",13,1 -"1.801684","2022-10","25.215710","87.832777","dcid:s2CellId/0x39fa94e400000000",26,2 +"1.801684","2022-10","25.215710","87.832777","dcid:s2CellId/0x39fa94e400000000",13,1 "0.900810","2022-10","25.220202","87.895659","dcid:s2CellId/0x39faebac00000000",13,1 "0.900875","2022-10","25.211218","84.509010","dcid:s2CellId/0x398d6c9400000000",13,1 "0.900875","2022-10","25.211218","86.188860","dcid:s2CellId/0x39f221ec00000000",13,1 @@ -818,7 +818,7 @@ "0.900875","2022-10","25.211218","86.835647","dcid:s2CellId/0x39f1b5cc00000000",13,1 "0.900875","2022-10","25.211218","86.844630","dcid:s2CellId/0x39f1b5b400000000",13,1 "0.900875","2022-10","25.211218","86.853613","dcid:s2CellId/0x39f1b5ac00000000",13,1 -"1.801749","2022-10","25.211218","86.867088","dcid:s2CellId/0x39f1b50400000000",26,2 +"0.900875","2022-10","25.211218","86.867088","dcid:s2CellId/0x39f1b50400000000",13,1 "0.900875","2022-10","25.211218","86.880563","dcid:s2CellId/0x39f1b51c00000000",13,1 "0.900875","2022-10","25.211218","86.889546","dcid:s2CellId/0x39f1b52400000000",13,1 "0.900875","2022-10","25.211218","87.051243","dcid:s2CellId/0x39f0486400000000",13,1 @@ -826,32 +826,32 @@ "0.900875","2022-10","25.211218","87.069209","dcid:s2CellId/0x39f047d400000000",13,1 "0.900875","2022-10","25.211218","87.078192","dcid:s2CellId/0x39f047cc00000000",13,1 "0.900940","2022-10","25.202235","84.491044","dcid:s2CellId/0x398d6cc400000000",13,1 -"1.801944","2022-10","25.197744","86.826664","dcid:s2CellId/0x39f1b42c00000000",26,2 +"1.801944","2022-10","25.197744","86.826664","dcid:s2CellId/0x39f1b42c00000000",13,1 "0.900940","2022-10","25.202235","86.835647","dcid:s2CellId/0x39f1b43400000000",13,1 "0.900940","2022-10","25.202235","86.844630","dcid:s2CellId/0x39f1b44c00000000",13,1 "0.900940","2022-10","25.202235","86.853613","dcid:s2CellId/0x39f1b45400000000",13,1 -"1.801879","2022-10","25.202235","86.867088","dcid:s2CellId/0x39f1b4fc00000000",26,2 +"0.900940","2022-10","25.202235","86.867088","dcid:s2CellId/0x39f1b4fc00000000",13,1 "0.900940","2022-10","25.202235","87.051243","dcid:s2CellId/0x39f0488c00000000",13,1 "0.900940","2022-10","25.202235","87.060226","dcid:s2CellId/0x39f0488400000000",13,1 "0.900940","2022-10","25.202235","87.069209","dcid:s2CellId/0x39f0462c00000000",13,1 "0.900940","2022-10","25.202235","87.078192","dcid:s2CellId/0x39f0463400000000",13,1 "0.900940","2022-10","25.202235","87.114125","dcid:s2CellId/0x39f046e400000000",13,1 -"1.801879","2022-10","25.202235","87.127599","dcid:s2CellId/0x39f046dc00000000",26,2 +"0.900940","2022-10","25.202235","87.127599","dcid:s2CellId/0x39f046dc00000000",13,1 "0.900940","2022-10","25.202235","87.203956","dcid:s2CellId/0x39f041cc00000000",13,1 "0.900940","2022-10","25.202235","87.814811","dcid:s2CellId/0x39fa945c00000000",13,1 -"1.802074","2022-10","25.188761","87.060226","dcid:s2CellId/0x39f0489c00000000",26,2 -"1.802074","2022-10","25.188761","87.069209","dcid:s2CellId/0x39f0462400000000",26,2 -"1.802074","2022-10","25.188761","87.078192","dcid:s2CellId/0x39f0463c00000000",26,2 +"1.802074","2022-10","25.188761","87.060226","dcid:s2CellId/0x39f0489c00000000",13,1 +"1.802074","2022-10","25.188761","87.069209","dcid:s2CellId/0x39f0462400000000",13,1 +"1.802074","2022-10","25.188761","87.078192","dcid:s2CellId/0x39f0463c00000000",13,1 "0.901005","2022-10","25.193252","87.105142","dcid:s2CellId/0x39f046f400000000",13,1 "0.901005","2022-10","25.193252","87.114125","dcid:s2CellId/0x39f046ec00000000",13,1 -"1.802009","2022-10","25.193252","87.127599","dcid:s2CellId/0x39f046c400000000",26,2 +"0.901005","2022-10","25.193252","87.127599","dcid:s2CellId/0x39f046c400000000",13,1 "0.901005","2022-10","25.193252","87.141074","dcid:s2CellId/0x39f046cc00000000",13,1 "0.901005","2022-10","25.193252","87.203956","dcid:s2CellId/0x39f041c400000000",13,1 "0.901005","2022-10","25.193252","87.212939","dcid:s2CellId/0x39f041dc00000000",13,1 "0.901005","2022-10","25.193252","87.230906","dcid:s2CellId/0x39f06a7400000000",13,1 "0.901005","2022-10","25.193252","87.796844","dcid:s2CellId/0x39fa946c00000000",13,1 "0.901005","2022-10","25.193252","87.814811","dcid:s2CellId/0x39fa946400000000",13,1 -"1.802204","2022-10","25.179777","87.114125","dcid:s2CellId/0x39f0469400000000",26,2 +"1.802204","2022-10","25.179777","87.114125","dcid:s2CellId/0x39f0469400000000",13,1 "0.901070","2022-10","25.184269","87.123108","dcid:s2CellId/0x39f046bc00000000",13,1 "0.901070","2022-10","25.184269","87.230906","dcid:s2CellId/0x39f06a0c00000000",13,1 "0.901070","2022-10","25.184269","87.239889","dcid:s2CellId/0x39f06a1400000000",13,1 @@ -864,10 +864,10 @@ "0.901200","2022-10","25.166303","87.069209","dcid:s2CellId/0x39f0460400000000",13,1 "0.901200","2022-10","25.166303","87.150057","dcid:s2CellId/0x39f0415400000000",13,1 "0.901200","2022-10","25.166303","87.778878","dcid:s2CellId/0x39fa93fc00000000",13,1 -"1.802594","2022-10","25.152828","87.060226","dcid:s2CellId/0x39f04f5400000000",26,2 +"1.802594","2022-10","25.152828","87.060226","dcid:s2CellId/0x39f04f5400000000",13,1 "0.901264","2022-10","25.157320","87.787861","dcid:s2CellId/0x39fa93ec00000000",13,1 "0.901264","2022-10","25.157320","87.886676","dcid:s2CellId/0x39faec8c00000000",13,1 -"1.802724","2022-10","25.143845","87.787861","dcid:s2CellId/0x39fa93c400000000",26,2 +"1.802724","2022-10","25.143845","87.787861","dcid:s2CellId/0x39fa93c400000000",13,1 "0.901394","2022-10","25.139353","87.778878","dcid:s2CellId/0x39fa93dc00000000",13,1 "0.901394","2022-10","25.139353","87.895659","dcid:s2CellId/0x39faec5c00000000",13,1 "0.901459","2022-10","25.130370","87.778878","dcid:s2CellId/0x39fa93d400000000",13,1 @@ -885,12 +885,12 @@ "0.901783","2022-10","25.085454","87.823794","dcid:s2CellId/0x39fa928400000000",13,1 "0.901783","2022-10","25.085454","87.841760","dcid:s2CellId/0x39fa92a400000000",13,1 "0.901848","2022-10","25.076471","87.814811","dcid:s2CellId/0x39fa8d8400000000",13,1 -"1.803760","2022-10","25.071980","87.823794","dcid:s2CellId/0x39fa8d7c00000000",26,2 -"1.803760","2022-10","25.071980","87.832777","dcid:s2CellId/0x39fa8d6400000000",26,2 +"1.803760","2022-10","25.071980","87.823794","dcid:s2CellId/0x39fa8d7c00000000",13,1 +"1.803760","2022-10","25.071980","87.832777","dcid:s2CellId/0x39fa8d6400000000",13,1 "0.901848","2022-10","25.076471","87.850743","dcid:s2CellId/0x39fa8d5400000000",13,1 "0.901912","2022-10","25.067488","87.841760","dcid:s2CellId/0x39fa8d5c00000000",13,1 "0.902042","2022-10","25.049522","85.039016","dcid:s2CellId/0x39f2ce6400000000",13,1 -"1.804084","2022-10","25.049522","87.909134","dcid:s2CellId/0x39faf24400000000",26,2 +"0.902042","2022-10","25.049522","87.909134","dcid:s2CellId/0x39faf24400000000",13,1 "0.902042","2022-10","25.049522","88.219052","dcid:s2CellId/0x39fb031400000000",13,1 "0.902106","2022-10","25.040539","87.868710","dcid:s2CellId/0x39faf2dc00000000",13,1 "0.902106","2022-10","25.040539","87.877693","dcid:s2CellId/0x39faf2e400000000",13,1 @@ -905,23 +905,23 @@ "0.902171","2022-10","25.031555","88.219052","dcid:s2CellId/0x39fb03a400000000",13,1 "0.902300","2022-10","25.013589","85.506140","dcid:s2CellId/0x39f2fa1400000000",13,1 "0.902365","2022-10","25.004606","85.092915","dcid:s2CellId/0x39f2d01c00000000",13,1 -"1.804923","2022-10","24.991131","87.967524","dcid:s2CellId/0x39faf12c00000000",26,2 +"1.804923","2022-10","24.991131","87.967524","dcid:s2CellId/0x39faf12c00000000",13,1 "0.902558","2022-10","24.977656","87.976507","dcid:s2CellId/0x39faf72c00000000",13,1 "0.902623","2022-10","24.968673","87.958541","dcid:s2CellId/0x39faf6c400000000",13,1 -"1.805439","2022-10","24.955199","87.940575","dcid:s2CellId/0x39faf69c00000000",26,2 +"1.805439","2022-10","24.955199","87.940575","dcid:s2CellId/0x39faf69c00000000",13,1 "0.902687","2022-10","24.959690","87.949558","dcid:s2CellId/0x39faf69400000000",13,1 "0.902752","2022-10","24.950707","86.817681","dcid:s2CellId/0x39f1a95c00000000",13,1 "0.902880","2022-10","24.932741","87.922608","dcid:s2CellId/0x39faf5cc00000000",13,1 "0.902880","2022-10","24.932741","87.931592","dcid:s2CellId/0x39faf5d400000000",13,1 -"1.805954","2022-10","24.919266","87.922608","dcid:s2CellId/0x39faf5c400000000",26,2 +"1.805954","2022-10","24.919266","87.922608","dcid:s2CellId/0x39faf5c400000000",13,1 "0.903009","2022-10","24.914774","88.263968","dcid:s2CellId/0x39fb074400000000",13,1 "0.903073","2022-10","24.905791","87.922608","dcid:s2CellId/0x39faf5ec00000000",13,1 "0.903073","2022-10","24.905791","87.931592","dcid:s2CellId/0x39faf5e400000000",13,1 "0.903138","2022-10","24.896808","87.922608","dcid:s2CellId/0x39faf5f400000000",13,1 "0.903138","2022-10","24.896808","87.931592","dcid:s2CellId/0x39faf5fc00000000",13,1 -"1.806468","2022-10","24.883333","87.922608","dcid:s2CellId/0x39fa5f5c00000000",26,2 -"1.806468","2022-10","24.883333","87.931592","dcid:s2CellId/0x39fa5f5400000000",26,2 -"1.806468","2022-10","24.883333","87.940575","dcid:s2CellId/0x39fa58ac00000000",26,2 +"1.806468","2022-10","24.883333","87.922608","dcid:s2CellId/0x39fa5f5c00000000",13,1 +"1.806468","2022-10","24.883333","87.931592","dcid:s2CellId/0x39fa5f5400000000",13,1 +"1.806468","2022-10","24.883333","87.940575","dcid:s2CellId/0x39fa58ac00000000",13,1 "0.903330","2022-10","24.869859","87.922608","dcid:s2CellId/0x39fa5f4400000000",13,1 "0.903330","2022-10","24.869859","87.931592","dcid:s2CellId/0x39fa5f4c00000000",13,1 "0.903330","2022-10","24.869859","87.940575","dcid:s2CellId/0x39fa58b400000000",13,1 diff --git a/scripts/earthengine/test_data/sample_floods_output_filtered.csv b/scripts/earthengine/test_data/sample_floods_output_filtered.csv index 7c20e7fac5..882185bb8f 100644 --- a/scripts/earthengine/test_data/sample_floods_output_filtered.csv +++ b/scripts/earthengine/test_data/sample_floods_output_filtered.csv @@ -1,126 +1,90 @@ "area","date","latitude","longitude","s2CellId","s2Level","water" -"1.792270","2022-10","25.858005","84.181125","dcid:s2CellId/0x399266cc00000000",13,2 -"1.793401","2022-10","25.781649","84.904269","dcid:s2CellId/0x3992b28c00000000",13,2 -"1.793401","2022-10","25.781649","84.913252","dcid:s2CellId/0x3992b29400000000",13,2 -"1.794065","2022-10","25.736733","84.688673","dcid:s2CellId/0x3992a35c00000000",13,2 -"3.588394","2022-10","25.727750","84.747064","dcid:s2CellId/0x3992a51400000000",13,4 -"1.794264","2022-10","25.723258","84.181125","dcid:s2CellId/0x39927b5c00000000",13,2 -"1.794264","2022-10","25.723258","84.621300","dcid:s2CellId/0x3992a29400000000",13,2 -"1.794264","2022-10","25.723258","84.809946","dcid:s2CellId/0x3992afac00000000",13,2 -"1.794462","2022-10","25.709783","84.872828","dcid:s2CellId/0x3992ac3400000000",13,2 -"1.794727","2022-10","25.691817","84.392229","dcid:s2CellId/0x3992845400000000",13,2 -"1.794926","2022-10","25.678342","85.142323","dcid:s2CellId/0x39ed5a2c00000000",13,2 -"1.795257","2022-10","25.655885","84.419179","dcid:s2CellId/0x399284a400000000",13,2 -"1.795190","2022-10","25.660376","84.432654","dcid:s2CellId/0x399284ac00000000",13,2 -"1.795257","2022-10","25.655885","84.706640","dcid:s2CellId/0x3992a6a400000000",13,2 -"1.795257","2022-10","25.655885","85.030033","dcid:s2CellId/0x39ed56a400000000",13,2 -"1.795323","2022-10","25.651393","84.684182","dcid:s2CellId/0x3992a15400000000",13,2 -"1.795521","2022-10","25.637918","85.200713","dcid:s2CellId/0x39ed5edc00000000",13,2 -"1.795587","2022-10","25.633427","84.064344","dcid:s2CellId/0x3992772c00000000",13,2 -"1.796049","2022-10","25.601986","84.814438","dcid:s2CellId/0x3992a84c00000000",13,2 -"1.796313","2022-10","25.584019","85.721736","dcid:s2CellId/0x39f2788c00000000",13,2 -"1.796840","2022-10","25.548087","85.775635","dcid:s2CellId/0x39f2777c00000000",13,2 -"1.796840","2022-10","25.548087","85.784618","dcid:s2CellId/0x39f2777400000000",13,2 -"1.796972","2022-10","25.539104","85.892416","dcid:s2CellId/0x39f274f400000000",13,2 -"1.797499","2022-10","25.503171","85.829534","dcid:s2CellId/0x39f2714c00000000",13,2 -"1.797630","2022-10","25.494188","85.551056","dcid:s2CellId/0x39f286d400000000",13,2 -"2.696675","2022-10","25.483707","85.616933","dcid:s2CellId/0x39f27dec00000000",13,3 -"1.797696","2022-10","25.489696","85.690295","dcid:s2CellId/0x39f27bf400000000",13,2 -"1.797761","2022-10","25.485205","87.015310","dcid:s2CellId/0x39f02e5400000000",13,2 -"1.797827","2022-10","25.480713","85.690295","dcid:s2CellId/0x39f27b8c00000000",13,2 -"1.798024","2022-10","25.467238","87.302771","dcid:s2CellId/0x39f01a1c00000000",13,2 -"1.798418","2022-10","25.440289","86.575136","dcid:s2CellId/0x39f1e7fc00000000",13,2 -"1.798418","2022-10","25.440289","87.221923","dcid:s2CellId/0x39f03d5400000000",13,2 -"1.798680","2022-10","25.422323","85.937332","dcid:s2CellId/0x39f20d5400000000",13,2 -"1.798680","2022-10","25.422323","85.946315","dcid:s2CellId/0x39f20d5c00000000",13,2 -"1.798942","2022-10","25.404356","86.534711","dcid:s2CellId/0x39f1e8f400000000",13,2 -"1.798877","2022-10","25.408848","87.504892","dcid:s2CellId/0x39f0085400000000",13,2 -"1.799073","2022-10","25.395373","87.316246","dcid:s2CellId/0x39f0112400000000",13,2 -"1.799008","2022-10","25.399865","87.406077","dcid:s2CellId/0x39f00e4c00000000",13,2 -"1.799204","2022-10","25.386390","86.871580","dcid:s2CellId/0x39f1ccfc00000000",13,2 -"1.799204","2022-10","25.386390","86.880563","dcid:s2CellId/0x39f1cce400000000",13,2 -"1.799401","2022-10","25.372915","87.603707","dcid:s2CellId/0x39faa6bc00000000",13,2 -"1.799597","2022-10","25.359440","87.266838","dcid:s2CellId/0x39f0168400000000",13,2 -"1.799597","2022-10","25.359440","87.293788","dcid:s2CellId/0x39f016ac00000000",13,2 -"1.799532","2022-10","25.363932","87.316246","dcid:s2CellId/0x39f0115c00000000",13,2 -"1.799859","2022-10","25.341474","85.928349","dcid:s2CellId/0x39f26cb400000000",13,2 -"1.799924","2022-10","25.336983","86.292166","dcid:s2CellId/0x39f1f67c00000000",13,2 -"1.800120","2022-10","25.323508","87.212939","dcid:s2CellId/0x39f03e2400000000",13,2 -"1.800185","2022-10","25.319016","86.867088","dcid:s2CellId/0x39f1cb0c00000000",13,2 -"1.800381","2022-10","25.305542","85.937332","dcid:s2CellId/0x39f214b400000000",13,2 -"1.800381","2022-10","25.305542","85.946315","dcid:s2CellId/0x39f214bc00000000",13,2 -"1.800381","2022-10","25.305542","85.955298","dcid:s2CellId/0x39f2149400000000",13,2 -"1.800381","2022-10","25.305542","85.964281","dcid:s2CellId/0x39f2148c00000000",13,2 -"1.800381","2022-10","25.305542","85.973264","dcid:s2CellId/0x39f2146400000000",13,2 -"1.800381","2022-10","25.305542","85.982247","dcid:s2CellId/0x39f2146c00000000",13,2 -"1.800381","2022-10","25.305542","86.440388","dcid:s2CellId/0x39f1edbc00000000",13,2 -"2.700604","2022-10","25.304044","86.455360","dcid:s2CellId/0x39f1edb400000000",13,3 -"1.800381","2022-10","25.305542","86.956920","dcid:s2CellId/0x39f0344c00000000",13,2 -"1.800381","2022-10","25.305542","86.970394","dcid:s2CellId/0x39f0343400000000",13,2 -"1.800316","2022-10","25.310033","87.217431","dcid:s2CellId/0x39f03e2c00000000",13,2 -"2.700539","2022-10","25.307039","87.506389","dcid:s2CellId/0x39f00afc00000000",13,3 -"1.800381","2022-10","25.305542","87.518367","dcid:s2CellId/0x39f00af400000000",13,2 -"1.800381","2022-10","25.305542","87.527350","dcid:s2CellId/0x39f00a8c00000000",13,2 -"1.800381","2022-10","25.305542","87.545316","dcid:s2CellId/0x39faa07c00000000",13,2 -"1.800512","2022-10","25.296558","87.150057","dcid:s2CellId/0x39f03f2c00000000",13,2 -"1.800577","2022-10","25.292067","86.373015","dcid:s2CellId/0x39f1f3ac00000000",13,2 -"1.800577","2022-10","25.292067","86.453863","dcid:s2CellId/0x39f1edac00000000",13,2 -"1.800642","2022-10","25.287575","86.629034","dcid:s2CellId/0x39f1c0fc00000000",13,2 -"1.800577","2022-10","25.292067","86.956920","dcid:s2CellId/0x39f035b400000000",13,2 -"1.800642","2022-10","25.287575","87.203956","dcid:s2CellId/0x39f03fc400000000",13,2 -"1.800642","2022-10","25.287575","87.239889","dcid:s2CellId/0x39f0156c00000000",13,2 -"1.800772","2022-10","25.278592","86.233776","dcid:s2CellId/0x39f21fb400000000",13,2 -"1.800772","2022-10","25.278592","86.242759","dcid:s2CellId/0x39f21fcc00000000",13,2 -"1.800772","2022-10","25.278592","86.251742","dcid:s2CellId/0x39f21fd400000000",13,2 -"1.800707","2022-10","25.283084","86.373015","dcid:s2CellId/0x39f1f30400000000",13,2 -"1.800707","2022-10","25.283084","86.956920","dcid:s2CellId/0x39f035bc00000000",13,2 -"1.800903","2022-10","25.269609","85.919365","dcid:s2CellId/0x39f26adc00000000",13,2 -"1.800838","2022-10","25.274101","85.986739","dcid:s2CellId/0x39f215b400000000",13,2 -"3.601806","2022-10","25.269609","86.373015","dcid:s2CellId/0x39f1f31c00000000",13,4 -"1.800903","2022-10","25.269609","86.386489","dcid:s2CellId/0x39f1f2e400000000",13,2 -"1.800903","2022-10","25.269609","86.395472","dcid:s2CellId/0x39f1f2ec00000000",13,2 -"1.800903","2022-10","25.269609","86.404456","dcid:s2CellId/0x39f1f29400000000",13,2 -"1.800838","2022-10","25.274101","86.696408","dcid:s2CellId/0x39f1c70c00000000",13,2 -"1.800903","2022-10","25.269609","86.880563","dcid:s2CellId/0x39f1ca9400000000",13,2 -"1.800903","2022-10","25.269609","86.889546","dcid:s2CellId/0x39f1cabc00000000",13,2 -"1.800838","2022-10","25.274101","87.127599","dcid:s2CellId/0x39f038bc00000000",13,2 -"1.800903","2022-10","25.269609","87.644131","dcid:s2CellId/0x39faa27400000000",13,2 -"1.800838","2022-10","25.274101","87.801336","dcid:s2CellId/0x39fabe2400000000",13,2 -"3.602066","2022-10","25.260626","87.127599","dcid:s2CellId/0x39f038a400000000",13,4 -"1.800968","2022-10","25.265117","87.217431","dcid:s2CellId/0x39f03ffc00000000",13,2 -"1.801033","2022-10","25.260626","87.653114","dcid:s2CellId/0x39fa988400000000",13,2 -"1.801033","2022-10","25.260626","87.662097","dcid:s2CellId/0x39fa987c00000000",13,2 -"1.800968","2022-10","25.265117","87.801336","dcid:s2CellId/0x39fa958c00000000",13,2 -"1.801033","2022-10","25.260626","87.814811","dcid:s2CellId/0x39fa958400000000",13,2 -"1.801033","2022-10","25.260626","87.832777","dcid:s2CellId/0x39fa956400000000",13,2 -"1.801163","2022-10","25.251643","86.593102","dcid:s2CellId/0x39f1c00c00000000",13,2 -"1.801163","2022-10","25.251643","86.602085","dcid:s2CellId/0x39f1c07400000000",13,2 -"1.801098","2022-10","25.256134","87.702521","dcid:s2CellId/0x39fa97fc00000000",13,2 -"1.801489","2022-10","25.229185","86.615560","dcid:s2CellId/0x39f1bf9c00000000",13,2 -"1.801684","2022-10","25.215710","86.638018","dcid:s2CellId/0x39f1bf1400000000",13,2 -"1.801684","2022-10","25.215710","86.647001","dcid:s2CellId/0x39f1bf3c00000000",13,2 -"1.801684","2022-10","25.215710","86.655984","dcid:s2CellId/0x39f1bf3400000000",13,2 -"1.801684","2022-10","25.215710","86.664967","dcid:s2CellId/0x39f1b8cc00000000",13,2 -"1.801684","2022-10","25.215710","86.673950","dcid:s2CellId/0x39f1b8c400000000",13,2 -"1.801619","2022-10","25.220202","86.867088","dcid:s2CellId/0x39f1b50c00000000",13,2 -"1.801684","2022-10","25.215710","87.832777","dcid:s2CellId/0x39fa94e400000000",13,2 -"1.801749","2022-10","25.211218","86.867088","dcid:s2CellId/0x39f1b50400000000",13,2 -"1.801944","2022-10","25.197744","86.826664","dcid:s2CellId/0x39f1b42c00000000",13,2 -"1.801879","2022-10","25.202235","86.867088","dcid:s2CellId/0x39f1b4fc00000000",13,2 -"1.801879","2022-10","25.202235","87.127599","dcid:s2CellId/0x39f046dc00000000",13,2 -"1.802074","2022-10","25.188761","87.060226","dcid:s2CellId/0x39f0489c00000000",13,2 -"1.802074","2022-10","25.188761","87.069209","dcid:s2CellId/0x39f0462400000000",13,2 -"1.802074","2022-10","25.188761","87.078192","dcid:s2CellId/0x39f0463c00000000",13,2 -"1.802009","2022-10","25.193252","87.127599","dcid:s2CellId/0x39f046c400000000",13,2 -"1.802204","2022-10","25.179777","87.114125","dcid:s2CellId/0x39f0469400000000",13,2 -"1.802594","2022-10","25.152828","87.060226","dcid:s2CellId/0x39f04f5400000000",13,2 -"1.802724","2022-10","25.143845","87.787861","dcid:s2CellId/0x39fa93c400000000",13,2 -"1.803760","2022-10","25.071980","87.823794","dcid:s2CellId/0x39fa8d7c00000000",13,2 -"1.803760","2022-10","25.071980","87.832777","dcid:s2CellId/0x39fa8d6400000000",13,2 -"1.804084","2022-10","25.049522","87.909134","dcid:s2CellId/0x39faf24400000000",13,2 -"1.804923","2022-10","24.991131","87.967524","dcid:s2CellId/0x39faf12c00000000",13,2 -"1.805439","2022-10","24.955199","87.940575","dcid:s2CellId/0x39faf69c00000000",13,2 -"1.805954","2022-10","24.919266","87.922608","dcid:s2CellId/0x39faf5c400000000",13,2 -"1.806468","2022-10","24.883333","87.922608","dcid:s2CellId/0x39fa5f5c00000000",13,2 -"1.806468","2022-10","24.883333","87.931592","dcid:s2CellId/0x39fa5f5400000000",13,2 -"1.806468","2022-10","24.883333","87.940575","dcid:s2CellId/0x39fa58ac00000000",13,2 +"1.793401","2022-10","25.781649","84.904269","dcid:s2CellId/0x3992b28c00000000",13,1 +"1.793401","2022-10","25.781649","84.913252","dcid:s2CellId/0x3992b29400000000",13,1 +"1.794065","2022-10","25.736733","84.688673","dcid:s2CellId/0x3992a35c00000000",13,1 +"2.691329","2022-10","25.727750","84.747064","dcid:s2CellId/0x3992a51400000000",13,1 +"1.794462","2022-10","25.709783","84.872828","dcid:s2CellId/0x3992ac3400000000",13,1 +"1.794727","2022-10","25.691817","84.392229","dcid:s2CellId/0x3992845400000000",13,1 +"1.795257","2022-10","25.655885","84.419179","dcid:s2CellId/0x399284a400000000",13,1 +"1.795257","2022-10","25.655885","84.706640","dcid:s2CellId/0x3992a6a400000000",13,1 +"1.795257","2022-10","25.655885","85.030033","dcid:s2CellId/0x39ed56a400000000",13,1 +"1.795521","2022-10","25.637918","85.200713","dcid:s2CellId/0x39ed5edc00000000",13,1 +"1.796049","2022-10","25.601986","84.814438","dcid:s2CellId/0x3992a84c00000000",13,1 +"1.796313","2022-10","25.584019","85.721736","dcid:s2CellId/0x39f2788c00000000",13,1 +"1.796840","2022-10","25.548087","85.775635","dcid:s2CellId/0x39f2777c00000000",13,1 +"1.796840","2022-10","25.548087","85.784618","dcid:s2CellId/0x39f2777400000000",13,1 +"1.796972","2022-10","25.539104","85.892416","dcid:s2CellId/0x39f274f400000000",13,1 +"1.797499","2022-10","25.503171","85.829534","dcid:s2CellId/0x39f2714c00000000",13,1 +"1.797630","2022-10","25.494188","85.551056","dcid:s2CellId/0x39f286d400000000",13,1 +"2.696675","2022-10","25.483707","85.616933","dcid:s2CellId/0x39f27dec00000000",13,1 +"1.797761","2022-10","25.485205","87.015310","dcid:s2CellId/0x39f02e5400000000",13,1 +"1.798024","2022-10","25.467238","87.302771","dcid:s2CellId/0x39f01a1c00000000",13,1 +"1.798418","2022-10","25.440289","86.575136","dcid:s2CellId/0x39f1e7fc00000000",13,1 +"1.798418","2022-10","25.440289","87.221923","dcid:s2CellId/0x39f03d5400000000",13,1 +"1.798680","2022-10","25.422323","85.937332","dcid:s2CellId/0x39f20d5400000000",13,1 +"1.798680","2022-10","25.422323","85.946315","dcid:s2CellId/0x39f20d5c00000000",13,1 +"1.798942","2022-10","25.404356","86.534711","dcid:s2CellId/0x39f1e8f400000000",13,1 +"1.799073","2022-10","25.395373","87.316246","dcid:s2CellId/0x39f0112400000000",13,1 +"1.799204","2022-10","25.386390","86.871580","dcid:s2CellId/0x39f1ccfc00000000",13,1 +"1.799204","2022-10","25.386390","86.880563","dcid:s2CellId/0x39f1cce400000000",13,1 +"1.799597","2022-10","25.359440","87.266838","dcid:s2CellId/0x39f0168400000000",13,1 +"1.799597","2022-10","25.359440","87.293788","dcid:s2CellId/0x39f016ac00000000",13,1 +"1.799859","2022-10","25.341474","85.928349","dcid:s2CellId/0x39f26cb400000000",13,1 +"1.800120","2022-10","25.323508","87.212939","dcid:s2CellId/0x39f03e2400000000",13,1 +"1.800381","2022-10","25.305542","85.937332","dcid:s2CellId/0x39f214b400000000",13,1 +"1.800381","2022-10","25.305542","85.946315","dcid:s2CellId/0x39f214bc00000000",13,1 +"1.800381","2022-10","25.305542","85.955298","dcid:s2CellId/0x39f2149400000000",13,1 +"1.800381","2022-10","25.305542","85.964281","dcid:s2CellId/0x39f2148c00000000",13,1 +"1.800381","2022-10","25.305542","85.973264","dcid:s2CellId/0x39f2146400000000",13,1 +"1.800381","2022-10","25.305542","85.982247","dcid:s2CellId/0x39f2146c00000000",13,1 +"1.800381","2022-10","25.305542","86.440388","dcid:s2CellId/0x39f1edbc00000000",13,1 +"2.700604","2022-10","25.304044","86.455360","dcid:s2CellId/0x39f1edb400000000",13,1 +"1.800381","2022-10","25.305542","86.956920","dcid:s2CellId/0x39f0344c00000000",13,1 +"1.800381","2022-10","25.305542","86.970394","dcid:s2CellId/0x39f0343400000000",13,1 +"1.800381","2022-10","25.307039","87.506389","dcid:s2CellId/0x39f00afc00000000",13,1 +"1.800381","2022-10","25.305542","87.518367","dcid:s2CellId/0x39f00af400000000",13,1 +"1.800381","2022-10","25.305542","87.527350","dcid:s2CellId/0x39f00a8c00000000",13,1 +"1.800381","2022-10","25.305542","87.545316","dcid:s2CellId/0x39faa07c00000000",13,1 +"1.800512","2022-10","25.296558","87.150057","dcid:s2CellId/0x39f03f2c00000000",13,1 +"1.800642","2022-10","25.287575","86.629034","dcid:s2CellId/0x39f1c0fc00000000",13,1 +"1.800642","2022-10","25.287575","87.203956","dcid:s2CellId/0x39f03fc400000000",13,1 +"1.800642","2022-10","25.287575","87.239889","dcid:s2CellId/0x39f0156c00000000",13,1 +"1.800772","2022-10","25.278592","86.233776","dcid:s2CellId/0x39f21fb400000000",13,1 +"1.800772","2022-10","25.278592","86.242759","dcid:s2CellId/0x39f21fcc00000000",13,1 +"1.800772","2022-10","25.278592","86.251742","dcid:s2CellId/0x39f21fd400000000",13,1 +"1.800903","2022-10","25.269609","85.919365","dcid:s2CellId/0x39f26adc00000000",13,1 +"2.701387","2022-10","25.269609","86.373015","dcid:s2CellId/0x39f1f31c00000000",13,1 +"1.800903","2022-10","25.269609","86.386489","dcid:s2CellId/0x39f1f2e400000000",13,1 +"1.800903","2022-10","25.269609","86.395472","dcid:s2CellId/0x39f1f2ec00000000",13,1 +"1.800903","2022-10","25.269609","86.404456","dcid:s2CellId/0x39f1f29400000000",13,1 +"1.800903","2022-10","25.269609","86.880563","dcid:s2CellId/0x39f1ca9400000000",13,1 +"1.800903","2022-10","25.269609","86.889546","dcid:s2CellId/0x39f1cabc00000000",13,1 +"1.800903","2022-10","25.269609","87.644131","dcid:s2CellId/0x39faa27400000000",13,1 +"2.701582","2022-10","25.260626","87.127599","dcid:s2CellId/0x39f038a400000000",13,1 +"1.801033","2022-10","25.260626","87.653114","dcid:s2CellId/0x39fa988400000000",13,1 +"1.801033","2022-10","25.260626","87.662097","dcid:s2CellId/0x39fa987c00000000",13,1 +"1.801033","2022-10","25.260626","87.814811","dcid:s2CellId/0x39fa958400000000",13,1 +"1.801033","2022-10","25.260626","87.832777","dcid:s2CellId/0x39fa956400000000",13,1 +"1.801163","2022-10","25.251643","86.593102","dcid:s2CellId/0x39f1c00c00000000",13,1 +"1.801163","2022-10","25.251643","86.602085","dcid:s2CellId/0x39f1c07400000000",13,1 +"1.801684","2022-10","25.215710","86.638018","dcid:s2CellId/0x39f1bf1400000000",13,1 +"1.801684","2022-10","25.215710","86.647001","dcid:s2CellId/0x39f1bf3c00000000",13,1 +"1.801684","2022-10","25.215710","86.655984","dcid:s2CellId/0x39f1bf3400000000",13,1 +"1.801684","2022-10","25.215710","86.664967","dcid:s2CellId/0x39f1b8cc00000000",13,1 +"1.801684","2022-10","25.215710","86.673950","dcid:s2CellId/0x39f1b8c400000000",13,1 +"1.801684","2022-10","25.215710","87.832777","dcid:s2CellId/0x39fa94e400000000",13,1 +"1.801944","2022-10","25.197744","86.826664","dcid:s2CellId/0x39f1b42c00000000",13,1 +"1.802074","2022-10","25.188761","87.060226","dcid:s2CellId/0x39f0489c00000000",13,1 +"1.802074","2022-10","25.188761","87.069209","dcid:s2CellId/0x39f0462400000000",13,1 +"1.802074","2022-10","25.188761","87.078192","dcid:s2CellId/0x39f0463c00000000",13,1 +"1.802204","2022-10","25.179777","87.114125","dcid:s2CellId/0x39f0469400000000",13,1 +"1.802594","2022-10","25.152828","87.060226","dcid:s2CellId/0x39f04f5400000000",13,1 +"1.802724","2022-10","25.143845","87.787861","dcid:s2CellId/0x39fa93c400000000",13,1 +"1.803760","2022-10","25.071980","87.823794","dcid:s2CellId/0x39fa8d7c00000000",13,1 +"1.803760","2022-10","25.071980","87.832777","dcid:s2CellId/0x39fa8d6400000000",13,1 +"1.804923","2022-10","24.991131","87.967524","dcid:s2CellId/0x39faf12c00000000",13,1 +"1.805439","2022-10","24.955199","87.940575","dcid:s2CellId/0x39faf69c00000000",13,1 +"1.805954","2022-10","24.919266","87.922608","dcid:s2CellId/0x39faf5c400000000",13,1 +"1.806468","2022-10","24.883333","87.922608","dcid:s2CellId/0x39fa5f5c00000000",13,1 +"1.806468","2022-10","24.883333","87.931592","dcid:s2CellId/0x39fa5f5400000000",13,1 +"1.806468","2022-10","24.883333","87.940575","dcid:s2CellId/0x39fa58ac00000000",13,1 diff --git a/scripts/earthengine/test_data/sample_floods_place_svobs.csv b/scripts/earthengine/test_data/sample_floods_place_svobs.csv index fcdb8d3b1e..f68e4a0e2f 100644 --- a/scripts/earthengine/test_data/sample_floods_place_svobs.csv +++ b/scripts/earthengine/test_data/sample_floods_place_svobs.csv @@ -1,25 +1,26 @@ "observationAbout","observationDate","observationPeriod","area","count" -"s2CellId/0x39fb030000000000","2022-10","P1M",2.706,1 -"s2CellId/0x39fb070000000000","2022-10","P1M",0.903,1 "s2CellId/0x39e5410000000000","2022-10","P1M",0.896,1 "s2CellId/0x39e5490000000000","2022-10","P1M",2.69,1 "s2CellId/0x39e54f0000000000","2022-10","P1M",0.897,1 -"s2CellId/0x39f3cd0000000000","2022-10","P1M",0.904,1 +"s2CellId/0x39f2cf0000000000","2022-10","P1M",0.902,1 +"s2CellId/0x39f2d10000000000","2022-10","P1M",0.902,1 +"s2CellId/0x39fb030000000000","2022-10","P1M",2.706,1 +"s2CellId/0x39fb070000000000","2022-10","P1M",0.903,1 "s2CellId/0x39925b0000000000","2022-10","P1M",5.369,1 "s2CellId/0x3992590000000000","2022-10","P1M",0.895,1 "s2CellId/0x39925f0000000000","2022-10","P1M",4.476,1 "s2CellId/0x39928d0000000000","2022-10","P1M",3.583,1 "s2CellId/0x39928b0000000000","2022-10","P1M",3.583,1 -"s2CellId/0x3992670000000000","2022-10","P1M",1.792,1 +"s2CellId/0x3992670000000000","2022-10","P1M",0.896,1 "s2CellId/0x3992930000000000","2022-10","P1M",0.896,1 "s2CellId/0x3992910000000000","2022-10","P1M",2.689,1 "s2CellId/0x3992970000000000","2022-10","P1M",2.689,1 "s2CellId/0x3992bd0000000000","2022-10","P1M",3.587,1 "s2CellId/0x39928f0000000000","2022-10","P1M",3.587,1 "s2CellId/0x3992890000000000","2022-10","P1M",0.897,1 -"s2CellId/0x3992a30000000000","2022-10","P1M",10.765,1 -"s2CellId/0x3992850000000000","2022-10","P1M",17.949,1 -"s2CellId/0x39927b0000000000","2022-10","P1M",8.074,1 +"s2CellId/0x3992a30000000000","2022-10","P1M",9.868,1 +"s2CellId/0x3992850000000000","2022-10","P1M",17.051,1 +"s2CellId/0x39927b0000000000","2022-10","P1M",7.177,1 "s2CellId/0x3992990000000000","2022-10","P1M",6.281,1 "s2CellId/0x39ed330000000000","2022-10","P1M",0.895,1 "s2CellId/0x39ed350000000000","2022-10","P1M",4.474,1 @@ -28,11 +29,11 @@ "s2CellId/0x39ed450000000000","2022-10","P1M",0.897,1 "s2CellId/0x39ed4f0000000000","2022-10","P1M",0.897,1 "s2CellId/0x39ed510000000000","2022-10","P1M",1.794,1 -"s2CellId/0x39ed5b0000000000","2022-10","P1M",2.692,1 -"s2CellId/0x3992a50000000000","2022-10","P1M",8.971,1 +"s2CellId/0x39ed5b0000000000","2022-10","P1M",1.794,1 +"s2CellId/0x3992a50000000000","2022-10","P1M",8.074,1 "s2CellId/0x39927d0000000000","2022-10","P1M",1.794,1 "s2CellId/0x3992870000000000","2022-10","P1M",8.076,1 -"s2CellId/0x3992af0000000000","2022-10","P1M",5.383,1 +"s2CellId/0x3992af0000000000","2022-10","P1M",4.486,1 "s2CellId/0x3992ad0000000000","2022-10","P1M",5.384,1 "s2CellId/0x3992710000000000","2022-10","P1M",8.975,1 "s2CellId/0x39929b0000000000","2022-10","P1M",8.974,1 @@ -43,9 +44,9 @@ "s2CellId/0x3992ab0000000000","2022-10","P1M",0.898,1 "s2CellId/0x39ed570000000000","2022-10","P1M",6.283,1 "s2CellId/0x3992830000000000","2022-10","P1M",0.898,1 -"s2CellId/0x3992a10000000000","2022-10","P1M",1.795,1 +"s2CellId/0x3992a10000000000","2022-10","P1M",0.898,1 "s2CellId/0x3992a90000000000","2022-10","P1M",8.081,1 -"s2CellId/0x3992770000000000","2022-10","P1M",7.183,1 +"s2CellId/0x3992770000000000","2022-10","P1M",6.285,1 "s2CellId/0x39ed590000000000","2022-10","P1M",3.591,1 "s2CellId/0x39ed610000000000","2022-10","P1M",2.694,1 "s2CellId/0x39ed630000000000","2022-10","P1M",0.898,1 @@ -65,7 +66,7 @@ "s2CellId/0x39f2730000000000","2022-10","P1M",8.989,1 "s2CellId/0x39f2870000000000","2022-10","P1M",2.697,1 "s2CellId/0x39f27d0000000000","2022-10","P1M",5.393,1 -"s2CellId/0x39f27b0000000000","2022-10","P1M",3.596,1 +"s2CellId/0x39f27b0000000000","2022-10","P1M",1.798,1 "s2CellId/0x398d510000000000","2022-10","P1M",0.899,1 "s2CellId/0x39f20d0000000000","2022-10","P1M",6.295,1 "s2CellId/0x398d5b0000000000","2022-10","P1M",2.698,1 @@ -89,60 +90,60 @@ "s2CellId/0x39f0170000000000","2022-10","P1M",20.69,1 "s2CellId/0x39f1f90000000000","2022-10","P1M",0.899,1 "s2CellId/0x39f1e50000000000","2022-10","P1M",0.899,1 -"s2CellId/0x39f0110000000000","2022-10","P1M",15.292,1 +"s2CellId/0x39f0110000000000","2022-10","P1M",14.392,1 "s2CellId/0x39f1e90000000000","2022-10","P1M",10.794,1 "s2CellId/0x39f1c30000000000","2022-10","P1M",5.396,1 "s2CellId/0x39fab10000000000","2022-10","P1M",0.899,1 -"s2CellId/0x39faa70000000000","2022-10","P1M",15.293,1 +"s2CellId/0x39faa70000000000","2022-10","P1M",14.393,1 "s2CellId/0x39f0310000000000","2022-10","P1M",0.899,1 -"s2CellId/0x39f00f0000000000","2022-10","P1M",6.296,1 -"s2CellId/0x39f0090000000000","2022-10","P1M",8.995,1 +"s2CellId/0x39f00f0000000000","2022-10","P1M",5.397,1 +"s2CellId/0x39f0090000000000","2022-10","P1M",8.096,1 "s2CellId/0x39f1ef0000000000","2022-10","P1M",1.799,1 "s2CellId/0x39fabb0000000000","2022-10","P1M",1.799,1 -"s2CellId/0x39f1f70000000000","2022-10","P1M",6.299,1 +"s2CellId/0x39f1f70000000000","2022-10","P1M",5.399,1 "s2CellId/0x39f1cd0000000000","2022-10","P1M",5.398,1 "s2CellId/0x39f1f10000000000","2022-10","P1M",3.599,1 "s2CellId/0x39f1cf0000000000","2022-10","P1M",0.9,1 "s2CellId/0x39f0330000000000","2022-10","P1M",2.699,1 "s2CellId/0x39f21b0000000000","2022-10","P1M",7.199,1 -"s2CellId/0x39f00b0000000000","2022-10","P1M",9.001,1 +"s2CellId/0x39f00b0000000000","2022-10","P1M",8.101,1 "s2CellId/0x39faa10000000000","2022-10","P1M",18.001,1 "s2CellId/0x39f21d0000000000","2022-10","P1M",6.3,1 -"s2CellId/0x39f1cb0000000000","2022-10","P1M",17.104,1 -"s2CellId/0x39f0350000000000","2022-10","P1M",18.005,1 +"s2CellId/0x39f1cb0000000000","2022-10","P1M",16.204,1 +"s2CellId/0x39f0350000000000","2022-10","P1M",16.204,1 "s2CellId/0x39fabd0000000000","2022-10","P1M",2.7,1 "s2CellId/0x39f0150000000000","2022-10","P1M",4.501,1 "s2CellId/0x39f2190000000000","2022-10","P1M",9.001,1 "s2CellId/0x39f21f0000000000","2022-10","P1M",14.405,1 "s2CellId/0x39f1f50000000000","2022-10","P1M",11.704,1 -"s2CellId/0x39f1f30000000000","2022-10","P1M",31.511,1 -"s2CellId/0x39f1ed0000000000","2022-10","P1M",17.105,1 -"s2CellId/0x39f03f0000000000","2022-10","P1M",18.906,1 +"s2CellId/0x39f1f30000000000","2022-10","P1M",28.81,1 +"s2CellId/0x39f1ed0000000000","2022-10","P1M",16.205,1 +"s2CellId/0x39f03f0000000000","2022-10","P1M",17.105,1 "s2CellId/0x39f26b0000000000","2022-10","P1M",6.302,1 -"s2CellId/0x39f2150000000000","2022-10","P1M",24.306,1 +"s2CellId/0x39f2150000000000","2022-10","P1M",23.406,1 "s2CellId/0x39f2170000000000","2022-10","P1M",4.501,1 "s2CellId/0x39f1eb0000000000","2022-10","P1M",6.302,1 "s2CellId/0x39f1c10000000000","2022-10","P1M",20.709,1 "s2CellId/0x39f1c90000000000","2022-10","P1M",6.302,1 "s2CellId/0x39f0370000000000","2022-10","P1M",12.605,1 -"s2CellId/0x39f1c70000000000","2022-10","P1M",5.402,1 -"s2CellId/0x39f0390000000000","2022-10","P1M",12.606,1 +"s2CellId/0x39f1c70000000000","2022-10","P1M",4.502,1 +"s2CellId/0x39f0390000000000","2022-10","P1M",10.805,1 "s2CellId/0x39faa30000000000","2022-10","P1M",4.502,1 -"s2CellId/0x39fabf0000000000","2022-10","P1M",9.904,1 +"s2CellId/0x39fabf0000000000","2022-10","P1M",9.004,1 "s2CellId/0x39fa990000000000","2022-10","P1M",8.105,1 -"s2CellId/0x39fa970000000000","2022-10","P1M",3.602,1 -"s2CellId/0x39fa950000000000","2022-10","P1M",17.114,1 +"s2CellId/0x39fa970000000000","2022-10","P1M",2.702,1 +"s2CellId/0x39fa950000000000","2022-10","P1M",16.213,1 "s2CellId/0x39f0410000000000","2022-10","P1M",14.412,1 "s2CellId/0x39faeb0000000000","2022-10","P1M",3.603,1 "s2CellId/0x39f0490000000000","2022-10","P1M",9.009,1 -"s2CellId/0x39f0470000000000","2022-10","P1M",30.63,1 +"s2CellId/0x39f0470000000000","2022-10","P1M",28.828,1 "s2CellId/0x39f06b0000000000","2022-10","P1M",4.504,1 -"s2CellId/0x39f1bf0000000000","2022-10","P1M",12.611,1 +"s2CellId/0x39f1bf0000000000","2022-10","P1M",11.71,1 "s2CellId/0x398d6b0000000000","2022-10","P1M",0.901,1 "s2CellId/0x39f2230000000000","2022-10","P1M",0.901,1 "s2CellId/0x39f1b90000000000","2022-10","P1M",5.405,1 "s2CellId/0x39f1b70000000000","2022-10","P1M",1.801,1 -"s2CellId/0x39f1b50000000000","2022-10","P1M",21.621,1 +"s2CellId/0x39f1b50000000000","2022-10","P1M",18.918,1 "s2CellId/0x398d6d0000000000","2022-10","P1M",1.802,1 "s2CellId/0x39f2210000000000","2022-10","P1M",1.802,1 "s2CellId/0x398d130000000000","2022-10","P1M",1.803,1 @@ -150,7 +151,7 @@ "s2CellId/0x39f04f0000000000","2022-10","P1M",1.803,1 "s2CellId/0x39faed0000000000","2022-10","P1M",1.803,1 "s2CellId/0x39fa8d0000000000","2022-10","P1M",6.313,1 -"s2CellId/0x39faf30000000000","2022-10","P1M",8.119,1 +"s2CellId/0x39faf30000000000","2022-10","P1M",7.217,1 "s2CellId/0x39faf10000000000","2022-10","P1M",3.609,1 "s2CellId/0x39faf70000000000","2022-10","P1M",4.513,1 "s2CellId/0x39faf50000000000","2022-10","P1M",7.224,1 @@ -159,33 +160,33 @@ "s2CellId/0x39fa5b0000000000","2022-10","P1M",2.713,1 "s2CellId/0x39ee6d0000000000","2022-10","P1M",0.895,1 "s2CellId/0x39ee110000000000","2022-10","P1M",0.896,1 -"s2CellId/0x39f2cf0000000000","2022-10","P1M",0.902,1 -"s2CellId/0x39f2d10000000000","2022-10","P1M",0.902,1 -"s2CellId/0x398dad0000000000","2022-10","P1M",1.807,1 "s2CellId/0x39f2fb0000000000","2022-10","P1M",0.902,1 "s2CellId/0x39f1a90000000000","2022-10","P1M",0.903,1 "s2CellId/0x39f1070000000000","2022-10","P1M",0.904,1 -"s2CellId/0x39fb030000000000","2022","P1Y",2.706,1 -"s2CellId/0x39fb070000000000","2022","P1Y",0.903,1 +"s2CellId/0x39f3cd0000000000","2022-10","P1M",0.904,1 +"s2CellId/0x398dad0000000000","2022-10","P1M",1.807,1 "s2CellId/0x39e5410000000000","2022","P1Y",0.896,1 "s2CellId/0x39e5490000000000","2022","P1Y",2.69,1 "s2CellId/0x39e54f0000000000","2022","P1Y",0.897,1 -"s2CellId/0x39f3cd0000000000","2022","P1Y",0.904,1 +"s2CellId/0x39f2cf0000000000","2022","P1Y",0.902,1 +"s2CellId/0x39f2d10000000000","2022","P1Y",0.902,1 +"s2CellId/0x39fb030000000000","2022","P1Y",2.706,1 +"s2CellId/0x39fb070000000000","2022","P1Y",0.903,1 "s2CellId/0x39925b0000000000","2022","P1Y",5.369,1 "s2CellId/0x3992590000000000","2022","P1Y",0.895,1 "s2CellId/0x39925f0000000000","2022","P1Y",4.476,1 "s2CellId/0x39928d0000000000","2022","P1Y",3.583,1 "s2CellId/0x39928b0000000000","2022","P1Y",3.583,1 -"s2CellId/0x3992670000000000","2022","P1Y",1.792,1 +"s2CellId/0x3992670000000000","2022","P1Y",0.896,1 "s2CellId/0x3992930000000000","2022","P1Y",0.896,1 "s2CellId/0x3992910000000000","2022","P1Y",2.689,1 "s2CellId/0x3992970000000000","2022","P1Y",2.689,1 "s2CellId/0x3992bd0000000000","2022","P1Y",3.587,1 "s2CellId/0x39928f0000000000","2022","P1Y",3.587,1 "s2CellId/0x3992890000000000","2022","P1Y",0.897,1 -"s2CellId/0x3992a30000000000","2022","P1Y",10.765,1 -"s2CellId/0x3992850000000000","2022","P1Y",17.949,1 -"s2CellId/0x39927b0000000000","2022","P1Y",8.074,1 +"s2CellId/0x3992a30000000000","2022","P1Y",9.868,1 +"s2CellId/0x3992850000000000","2022","P1Y",17.051,1 +"s2CellId/0x39927b0000000000","2022","P1Y",7.177,1 "s2CellId/0x3992990000000000","2022","P1Y",6.281,1 "s2CellId/0x39ed330000000000","2022","P1Y",0.895,1 "s2CellId/0x39ed350000000000","2022","P1Y",4.474,1 @@ -194,11 +195,11 @@ "s2CellId/0x39ed450000000000","2022","P1Y",0.897,1 "s2CellId/0x39ed4f0000000000","2022","P1Y",0.897,1 "s2CellId/0x39ed510000000000","2022","P1Y",1.794,1 -"s2CellId/0x39ed5b0000000000","2022","P1Y",2.692,1 -"s2CellId/0x3992a50000000000","2022","P1Y",8.971,1 +"s2CellId/0x39ed5b0000000000","2022","P1Y",1.794,1 +"s2CellId/0x3992a50000000000","2022","P1Y",8.074,1 "s2CellId/0x39927d0000000000","2022","P1Y",1.794,1 "s2CellId/0x3992870000000000","2022","P1Y",8.076,1 -"s2CellId/0x3992af0000000000","2022","P1Y",5.383,1 +"s2CellId/0x3992af0000000000","2022","P1Y",4.486,1 "s2CellId/0x3992ad0000000000","2022","P1Y",5.384,1 "s2CellId/0x3992710000000000","2022","P1Y",8.975,1 "s2CellId/0x39929b0000000000","2022","P1Y",8.974,1 @@ -209,9 +210,9 @@ "s2CellId/0x3992ab0000000000","2022","P1Y",0.898,1 "s2CellId/0x39ed570000000000","2022","P1Y",6.283,1 "s2CellId/0x3992830000000000","2022","P1Y",0.898,1 -"s2CellId/0x3992a10000000000","2022","P1Y",1.795,1 +"s2CellId/0x3992a10000000000","2022","P1Y",0.898,1 "s2CellId/0x3992a90000000000","2022","P1Y",8.081,1 -"s2CellId/0x3992770000000000","2022","P1Y",7.183,1 +"s2CellId/0x3992770000000000","2022","P1Y",6.285,1 "s2CellId/0x39ed590000000000","2022","P1Y",3.591,1 "s2CellId/0x39ed610000000000","2022","P1Y",2.694,1 "s2CellId/0x39ed630000000000","2022","P1Y",0.898,1 @@ -231,7 +232,7 @@ "s2CellId/0x39f2730000000000","2022","P1Y",8.989,1 "s2CellId/0x39f2870000000000","2022","P1Y",2.697,1 "s2CellId/0x39f27d0000000000","2022","P1Y",5.393,1 -"s2CellId/0x39f27b0000000000","2022","P1Y",3.596,1 +"s2CellId/0x39f27b0000000000","2022","P1Y",1.798,1 "s2CellId/0x398d510000000000","2022","P1Y",0.899,1 "s2CellId/0x39f20d0000000000","2022","P1Y",6.295,1 "s2CellId/0x398d5b0000000000","2022","P1Y",2.698,1 @@ -255,60 +256,60 @@ "s2CellId/0x39f0170000000000","2022","P1Y",20.69,1 "s2CellId/0x39f1f90000000000","2022","P1Y",0.899,1 "s2CellId/0x39f1e50000000000","2022","P1Y",0.899,1 -"s2CellId/0x39f0110000000000","2022","P1Y",15.292,1 +"s2CellId/0x39f0110000000000","2022","P1Y",14.392,1 "s2CellId/0x39f1e90000000000","2022","P1Y",10.794,1 "s2CellId/0x39f1c30000000000","2022","P1Y",5.396,1 "s2CellId/0x39fab10000000000","2022","P1Y",0.899,1 -"s2CellId/0x39faa70000000000","2022","P1Y",15.293,1 +"s2CellId/0x39faa70000000000","2022","P1Y",14.393,1 "s2CellId/0x39f0310000000000","2022","P1Y",0.899,1 -"s2CellId/0x39f00f0000000000","2022","P1Y",6.296,1 -"s2CellId/0x39f0090000000000","2022","P1Y",8.995,1 +"s2CellId/0x39f00f0000000000","2022","P1Y",5.397,1 +"s2CellId/0x39f0090000000000","2022","P1Y",8.096,1 "s2CellId/0x39f1ef0000000000","2022","P1Y",1.799,1 "s2CellId/0x39fabb0000000000","2022","P1Y",1.799,1 -"s2CellId/0x39f1f70000000000","2022","P1Y",6.299,1 +"s2CellId/0x39f1f70000000000","2022","P1Y",5.399,1 "s2CellId/0x39f1cd0000000000","2022","P1Y",5.398,1 "s2CellId/0x39f1f10000000000","2022","P1Y",3.599,1 "s2CellId/0x39f1cf0000000000","2022","P1Y",0.9,1 "s2CellId/0x39f0330000000000","2022","P1Y",2.699,1 "s2CellId/0x39f21b0000000000","2022","P1Y",7.199,1 -"s2CellId/0x39f00b0000000000","2022","P1Y",9.001,1 +"s2CellId/0x39f00b0000000000","2022","P1Y",8.101,1 "s2CellId/0x39faa10000000000","2022","P1Y",18.001,1 "s2CellId/0x39f21d0000000000","2022","P1Y",6.3,1 -"s2CellId/0x39f1cb0000000000","2022","P1Y",17.104,1 -"s2CellId/0x39f0350000000000","2022","P1Y",18.005,1 +"s2CellId/0x39f1cb0000000000","2022","P1Y",16.204,1 +"s2CellId/0x39f0350000000000","2022","P1Y",16.204,1 "s2CellId/0x39fabd0000000000","2022","P1Y",2.7,1 "s2CellId/0x39f0150000000000","2022","P1Y",4.501,1 "s2CellId/0x39f2190000000000","2022","P1Y",9.001,1 "s2CellId/0x39f21f0000000000","2022","P1Y",14.405,1 "s2CellId/0x39f1f50000000000","2022","P1Y",11.704,1 -"s2CellId/0x39f1f30000000000","2022","P1Y",31.511,1 -"s2CellId/0x39f1ed0000000000","2022","P1Y",17.105,1 -"s2CellId/0x39f03f0000000000","2022","P1Y",18.906,1 +"s2CellId/0x39f1f30000000000","2022","P1Y",28.81,1 +"s2CellId/0x39f1ed0000000000","2022","P1Y",16.205,1 +"s2CellId/0x39f03f0000000000","2022","P1Y",17.105,1 "s2CellId/0x39f26b0000000000","2022","P1Y",6.302,1 -"s2CellId/0x39f2150000000000","2022","P1Y",24.306,1 +"s2CellId/0x39f2150000000000","2022","P1Y",23.406,1 "s2CellId/0x39f2170000000000","2022","P1Y",4.501,1 "s2CellId/0x39f1eb0000000000","2022","P1Y",6.302,1 "s2CellId/0x39f1c10000000000","2022","P1Y",20.709,1 "s2CellId/0x39f1c90000000000","2022","P1Y",6.302,1 "s2CellId/0x39f0370000000000","2022","P1Y",12.605,1 -"s2CellId/0x39f1c70000000000","2022","P1Y",5.402,1 -"s2CellId/0x39f0390000000000","2022","P1Y",12.606,1 +"s2CellId/0x39f1c70000000000","2022","P1Y",4.502,1 +"s2CellId/0x39f0390000000000","2022","P1Y",10.805,1 "s2CellId/0x39faa30000000000","2022","P1Y",4.502,1 -"s2CellId/0x39fabf0000000000","2022","P1Y",9.904,1 +"s2CellId/0x39fabf0000000000","2022","P1Y",9.004,1 "s2CellId/0x39fa990000000000","2022","P1Y",8.105,1 -"s2CellId/0x39fa970000000000","2022","P1Y",3.602,1 -"s2CellId/0x39fa950000000000","2022","P1Y",17.114,1 +"s2CellId/0x39fa970000000000","2022","P1Y",2.702,1 +"s2CellId/0x39fa950000000000","2022","P1Y",16.213,1 "s2CellId/0x39f0410000000000","2022","P1Y",14.412,1 "s2CellId/0x39faeb0000000000","2022","P1Y",3.603,1 "s2CellId/0x39f0490000000000","2022","P1Y",9.009,1 -"s2CellId/0x39f0470000000000","2022","P1Y",30.63,1 +"s2CellId/0x39f0470000000000","2022","P1Y",28.828,1 "s2CellId/0x39f06b0000000000","2022","P1Y",4.504,1 -"s2CellId/0x39f1bf0000000000","2022","P1Y",12.611,1 +"s2CellId/0x39f1bf0000000000","2022","P1Y",11.71,1 "s2CellId/0x398d6b0000000000","2022","P1Y",0.901,1 "s2CellId/0x39f2230000000000","2022","P1Y",0.901,1 "s2CellId/0x39f1b90000000000","2022","P1Y",5.405,1 "s2CellId/0x39f1b70000000000","2022","P1Y",1.801,1 -"s2CellId/0x39f1b50000000000","2022","P1Y",21.621,1 +"s2CellId/0x39f1b50000000000","2022","P1Y",18.918,1 "s2CellId/0x398d6d0000000000","2022","P1Y",1.802,1 "s2CellId/0x39f2210000000000","2022","P1Y",1.802,1 "s2CellId/0x398d130000000000","2022","P1Y",1.803,1 @@ -316,7 +317,7 @@ "s2CellId/0x39f04f0000000000","2022","P1Y",1.803,1 "s2CellId/0x39faed0000000000","2022","P1Y",1.803,1 "s2CellId/0x39fa8d0000000000","2022","P1Y",6.313,1 -"s2CellId/0x39faf30000000000","2022","P1Y",8.119,1 +"s2CellId/0x39faf30000000000","2022","P1Y",7.217,1 "s2CellId/0x39faf10000000000","2022","P1Y",3.609,1 "s2CellId/0x39faf70000000000","2022","P1Y",4.513,1 "s2CellId/0x39faf50000000000","2022","P1Y",7.224,1 @@ -325,9 +326,8 @@ "s2CellId/0x39fa5b0000000000","2022","P1Y",2.713,1 "s2CellId/0x39ee6d0000000000","2022","P1Y",0.895,1 "s2CellId/0x39ee110000000000","2022","P1Y",0.896,1 -"s2CellId/0x39f2cf0000000000","2022","P1Y",0.902,1 -"s2CellId/0x39f2d10000000000","2022","P1Y",0.902,1 -"s2CellId/0x398dad0000000000","2022","P1Y",1.807,1 "s2CellId/0x39f2fb0000000000","2022","P1Y",0.902,1 "s2CellId/0x39f1a90000000000","2022","P1Y",0.903,1 "s2CellId/0x39f1070000000000","2022","P1Y",0.904,1 +"s2CellId/0x39f3cd0000000000","2022","P1Y",0.904,1 +"s2CellId/0x398dad0000000000","2022","P1Y",1.807,1 diff --git a/scripts/earthengine/test_data/sample_floods_svobs.csv b/scripts/earthengine/test_data/sample_floods_svobs.csv index 7c363ba8d4..af401e61c1 100644 --- a/scripts/earthengine/test_data/sample_floods_svobs.csv +++ b/scripts/earthengine/test_data/sample_floods_svobs.csv @@ -1,10 +1,10 @@ -"dcid","observationDate","affectedPlace","area","observationDate" -"floodEvent/2022-10_0x39e5410000000000","2022-10","s2CellId/0x39e5413400000000,s2CellId/0x39e5489400000000,s2CellId/0x39e5493400000000,s2CellId/0x39e5495400000000,s2CellId/0x39e54ed400000000",4.482403,"2022-10" -"floodEvent/2022-10_0x39f1a90000000000","2022-10","s2CellId/0x39f1072400000000,s2CellId/0x39f1a95c00000000",1.806339,"2022-10" -"floodEvent/2022-10_0x39f2fb0000000000","2022-10","s2CellId/0x39f2fa1400000000",0.9023,"2022-10" -"floodEvent/2022-10_0x39f3cd0000000000","2022-10","s2CellId/0x39f3cdac00000000",0.903843,"2022-10" -"floodEvent/2022-10_0x39ee6d0000000000","2022-10","s2CellId/0x39ee11bc00000000,s2CellId/0x39ee6d2c00000000",1.791068,"2022-10" -"floodEvent/2022-10_0x39925b0000000000","2022-10","s2CellId/0x398d127c00000000,s2CellId/0x398d12dc00000000,s2CellId/0x398d451c00000000,s2CellId/0x398d453c00000000,s2CellId/0x398d50a400000000,s2CellId/0x398d583400000000,s2CellId/0x398d5a8c00000000,s2CellId/0x398d5ac400000000,s2CellId/0x398d5af400000000,s2CellId/0x398d6afc00000000,s2CellId/0x398d6c9400000000,s2CellId/0x398d6cc400000000,s2CellId/0x39920abc00000000,s2CellId/0x3992595400000000,s2CellId/0x39925b1c00000000,s2CellId/0x39925b7400000000,s2CellId/0x39925b8c00000000,s2CellId/0x39925b9c00000000,s2CellId/0x39925bf400000000,s2CellId/0x39925bfc00000000,s2CellId/0x39925e9400000000,s2CellId/0x39925eec00000000,s2CellId/0x39925ef400000000,s2CellId/0x39925fb400000000,s2CellId/0x39925fbc00000000,s2CellId/0x399266cc00000000,s2CellId/0x3992705c00000000,s2CellId/0x3992706400000000,s2CellId/0x3992706c00000000,s2CellId/0x399270c400000000,s2CellId/0x399270e400000000,s2CellId/0x399270ec00000000,s2CellId/0x3992714400000000,s2CellId/0x3992714c00000000,s2CellId/0x3992716c00000000,s2CellId/0x399271b400000000,s2CellId/0x3992750400000000,s2CellId/0x3992751400000000,s2CellId/0x399276a400000000,s2CellId/0x399276ac00000000,s2CellId/0x399276b400000000,s2CellId/0x399276bc00000000,s2CellId/0x399276c400000000,s2CellId/0x399276dc00000000,s2CellId/0x3992772c00000000,s2CellId/0x39927aac00000000,s2CellId/0x39927acc00000000,s2CellId/0x39927ad400000000,s2CellId/0x39927b1c00000000,s2CellId/0x39927b2c00000000,s2CellId/0x39927b3400000000,s2CellId/0x39927b3c00000000,s2CellId/0x39927b5c00000000,s2CellId/0x39927ca400000000,s2CellId/0x39927cbc00000000,s2CellId/0x3992835400000000,s2CellId/0x3992843c00000000,s2CellId/0x3992844400000000,s2CellId/0x3992844c00000000,s2CellId/0x3992845400000000,s2CellId/0x3992846400000000,s2CellId/0x3992846c00000000,s2CellId/0x3992847400000000,s2CellId/0x3992847c00000000,s2CellId/0x3992848400000000,s2CellId/0x3992849c00000000,s2CellId/0x399284a400000000,s2CellId/0x399284ac00000000,s2CellId/0x399284fc00000000,s2CellId/0x3992852c00000000,s2CellId/0x3992854400000000,s2CellId/0x3992855c00000000,s2CellId/0x399285fc00000000,s2CellId/0x3992860c00000000,s2CellId/0x3992865400000000,s2CellId/0x3992866c00000000,s2CellId/0x399286ec00000000,s2CellId/0x399286f400000000,s2CellId/0x3992871c00000000,s2CellId/0x3992878c00000000,s2CellId/0x3992879400000000,s2CellId/0x399287ac00000000,s2CellId/0x399288b400000000,s2CellId/0x39928ad400000000,s2CellId/0x39928b2400000000,s2CellId/0x39928b4400000000,s2CellId/0x39928b5400000000,s2CellId/0x39928cac00000000,s2CellId/0x39928ccc00000000,s2CellId/0x39928d5c00000000,s2CellId/0x39928d8400000000,s2CellId/0x39928f0c00000000,s2CellId/0x39928f1400000000,s2CellId/0x39928fec00000000,s2CellId/0x39928ff400000000,s2CellId/0x3992914400000000,s2CellId/0x3992916400000000,s2CellId/0x3992916c00000000,s2CellId/0x399293dc00000000,s2CellId/0x3992968c00000000,s2CellId/0x3992969400000000,s2CellId/0x399296bc00000000,s2CellId/0x3992980c00000000,s2CellId/0x3992981400000000,s2CellId/0x3992987c00000000,s2CellId/0x3992988400000000,s2CellId/0x3992988c00000000,s2CellId/0x3992993c00000000,s2CellId/0x3992995c00000000,s2CellId/0x39929ad400000000,s2CellId/0x39929afc00000000,s2CellId/0x39929b1c00000000,s2CellId/0x39929b2400000000,s2CellId/0x39929b2c00000000,s2CellId/0x39929b5400000000,s2CellId/0x39929b8400000000,s2CellId/0x39929b8c00000000,s2CellId/0x39929bac00000000,s2CellId/0x39929be400000000,s2CellId/0x3992a15400000000,s2CellId/0x3992a27c00000000,s2CellId/0x3992a29400000000,s2CellId/0x3992a2bc00000000,s2CellId/0x3992a2d400000000,s2CellId/0x3992a2dc00000000,s2CellId/0x3992a30c00000000,s2CellId/0x3992a32400000000,s2CellId/0x3992a33c00000000,s2CellId/0x3992a35c00000000,s2CellId/0x3992a39c00000000,s2CellId/0x3992a45400000000,s2CellId/0x3992a45c00000000,s2CellId/0x3992a49400000000,s2CellId/0x3992a49c00000000,s2CellId/0x3992a51400000000,s2CellId/0x3992a56c00000000,s2CellId/0x3992a5ac00000000,s2CellId/0x3992a69c00000000,s2CellId/0x3992a6a400000000,s2CellId/0x3992a6ac00000000,s2CellId/0x3992a82400000000,s2CellId/0x3992a84c00000000,s2CellId/0x3992a85400000000,s2CellId/0x3992a8fc00000000,s2CellId/0x3992a91400000000,s2CellId/0x3992a92400000000,s2CellId/0x3992a93c00000000,s2CellId/0x3992a9cc00000000,s2CellId/0x3992ab5400000000,s2CellId/0x3992ac1400000000,s2CellId/0x3992ac2c00000000,s2CellId/0x3992ac3400000000,s2CellId/0x3992ac4c00000000,s2CellId/0x3992ac5400000000,s2CellId/0x3992ae5400000000,s2CellId/0x3992aecc00000000,s2CellId/0x3992af8400000000,s2CellId/0x3992af9c00000000,s2CellId/0x3992afac00000000,s2CellId/0x3992b28c00000000,s2CellId/0x3992b29400000000,s2CellId/0x3992bcd400000000,s2CellId/0x3992bd3400000000,s2CellId/0x3992bd6c00000000,s2CellId/0x3992bd8400000000,s2CellId/0x39ed336400000000,s2CellId/0x39ed349400000000,s2CellId/0x39ed349c00000000,s2CellId/0x39ed34a400000000,s2CellId/0x39ed34ec00000000,s2CellId/0x39ed34fc00000000,s2CellId/0x39ed366400000000,s2CellId/0x39ed44bc00000000,s2CellId/0x39ed4ffc00000000,s2CellId/0x39ed509400000000,s2CellId/0x39ed51b400000000,s2CellId/0x39ed538c00000000,s2CellId/0x39ed539400000000,s2CellId/0x39ed53a400000000,s2CellId/0x39ed53bc00000000,s2CellId/0x39ed569400000000,s2CellId/0x39ed56a400000000,s2CellId/0x39ed56bc00000000,s2CellId/0x39ed56c400000000,s2CellId/0x39ed56dc00000000,s2CellId/0x39ed572400000000,s2CellId/0x39ed58d400000000,s2CellId/0x39ed58e400000000,s2CellId/0x39ed590400000000,s2CellId/0x39ed592c00000000,s2CellId/0x39ed5a2c00000000,s2CellId/0x39ed5b6c00000000,s2CellId/0x39ed5c7400000000,s2CellId/0x39ed5eac00000000,s2CellId/0x39ed5eb400000000,s2CellId/0x39ed5ec400000000,s2CellId/0x39ed5edc00000000,s2CellId/0x39ed5fe400000000,s2CellId/0x39ed5ff400000000,s2CellId/0x39ed606400000000,s2CellId/0x39ed607c00000000,s2CellId/0x39ed61b400000000,s2CellId/0x39ed629c00000000,s2CellId/0x39ed7d5c00000000,s2CellId/0x39effc6c00000000,s2CellId/0x39f0054c00000000,s2CellId/0x39f0055400000000,s2CellId/0x39f0055c00000000,s2CellId/0x39f0084c00000000,s2CellId/0x39f0085400000000,s2CellId/0x39f0085c00000000,s2CellId/0x39f008ec00000000,s2CellId/0x39f0090c00000000,s2CellId/0x39f0092c00000000,s2CellId/0x39f0098400000000,s2CellId/0x39f009a400000000,s2CellId/0x39f009e400000000,s2CellId/0x39f00a2c00000000,s2CellId/0x39f00a5400000000,s2CellId/0x39f00a8400000000,s2CellId/0x39f00a8c00000000,s2CellId/0x39f00af400000000,s2CellId/0x39f00afc00000000,s2CellId/0x39f00e4c00000000,s2CellId/0x39f00ed400000000,s2CellId/0x39f00f3400000000,s2CellId/0x39f00fb400000000,s2CellId/0x39f00fbc00000000,s2CellId/0x39f00fc400000000,s2CellId/0x39f0101400000000,s2CellId/0x39f0102c00000000,s2CellId/0x39f0106c00000000,s2CellId/0x39f0108c00000000,s2CellId/0x39f0109400000000,s2CellId/0x39f010cc00000000,s2CellId/0x39f010d400000000,s2CellId/0x39f0111c00000000,s2CellId/0x39f0112400000000,s2CellId/0x39f0114400000000,s2CellId/0x39f0114c00000000,s2CellId/0x39f0115400000000,s2CellId/0x39f0115c00000000,s2CellId/0x39f011b400000000,s2CellId/0x39f011cc00000000,s2CellId/0x39f0156c00000000,s2CellId/0x39f015a400000000,s2CellId/0x39f015c400000000,s2CellId/0x39f015ec00000000,s2CellId/0x39f0162c00000000,s2CellId/0x39f0163400000000,s2CellId/0x39f0163c00000000,s2CellId/0x39f0164c00000000,s2CellId/0x39f0168400000000,s2CellId/0x39f0168c00000000,s2CellId/0x39f0169400000000,s2CellId/0x39f0169c00000000,s2CellId/0x39f016a400000000,s2CellId/0x39f016ac00000000,s2CellId/0x39f016b400000000,s2CellId/0x39f016bc00000000,s2CellId/0x39f016f400000000,s2CellId/0x39f0174400000000,s2CellId/0x39f0175c00000000,s2CellId/0x39f0176400000000,s2CellId/0x39f0176c00000000,s2CellId/0x39f0177400000000,s2CellId/0x39f017a400000000,s2CellId/0x39f017bc00000000,s2CellId/0x39f017e400000000,s2CellId/0x39f019dc00000000,s2CellId/0x39f019e400000000,s2CellId/0x39f019f400000000,s2CellId/0x39f01a1c00000000,s2CellId/0x39f0229400000000,s2CellId/0x39f022ac00000000,s2CellId/0x39f022bc00000000,s2CellId/0x39f022cc00000000,s2CellId/0x39f022dc00000000,s2CellId/0x39f022ec00000000,s2CellId/0x39f0231c00000000,s2CellId/0x39f0234c00000000,s2CellId/0x39f0236400000000,s2CellId/0x39f024ac00000000,s2CellId/0x39f024b400000000,s2CellId/0x39f02e5400000000,s2CellId/0x39f0304400000000,s2CellId/0x39f0333400000000,s2CellId/0x39f0334400000000,s2CellId/0x39f0335400000000,s2CellId/0x39f0342c00000000,s2CellId/0x39f0343400000000,s2CellId/0x39f0344c00000000,s2CellId/0x39f034a400000000,s2CellId/0x39f034ac00000000,s2CellId/0x39f034d400000000,s2CellId/0x39f034ec00000000,s2CellId/0x39f0350c00000000,s2CellId/0x39f0351400000000,s2CellId/0x39f0352400000000,s2CellId/0x39f0352c00000000,s2CellId/0x39f035a400000000,s2CellId/0x39f035b400000000,s2CellId/0x39f035bc00000000,s2CellId/0x39f035e400000000,s2CellId/0x39f035ec00000000,s2CellId/0x39f0361400000000,s2CellId/0x39f0363c00000000,s2CellId/0x39f0365400000000,s2CellId/0x39f0368400000000,s2CellId/0x39f0368c00000000,s2CellId/0x39f0369c00000000,s2CellId/0x39f037a400000000,s2CellId/0x39f037ac00000000,s2CellId/0x39f037b400000000,s2CellId/0x39f037bc00000000,s2CellId/0x39f037c400000000,s2CellId/0x39f037e400000000,s2CellId/0x39f037ec00000000,s2CellId/0x39f037fc00000000,s2CellId/0x39f0380400000000,s2CellId/0x39f0383c00000000,s2CellId/0x39f0384c00000000,s2CellId/0x39f0385400000000,s2CellId/0x39f038a400000000,s2CellId/0x39f038ac00000000,s2CellId/0x39f038b400000000,s2CellId/0x39f038bc00000000,s2CellId/0x39f038c400000000,s2CellId/0x39f038cc00000000,s2CellId/0x39f03b2400000000,s2CellId/0x39f03b3c00000000,s2CellId/0x39f03b4c00000000,s2CellId/0x39f03c8400000000,s2CellId/0x39f03c8c00000000,s2CellId/0x39f03d0400000000,s2CellId/0x39f03d5400000000,s2CellId/0x39f03d7c00000000,s2CellId/0x39f03e2400000000,s2CellId/0x39f03e2c00000000,s2CellId/0x39f03edc00000000,s2CellId/0x39f03ee400000000,s2CellId/0x39f03f2400000000,s2CellId/0x39f03f2c00000000,s2CellId/0x39f03f7c00000000,s2CellId/0x39f03fa400000000,s2CellId/0x39f03fac00000000,s2CellId/0x39f03fbc00000000,s2CellId/0x39f03fc400000000,s2CellId/0x39f03fd400000000,s2CellId/0x39f03fdc00000000,s2CellId/0x39f03fe400000000,s2CellId/0x39f03fec00000000,s2CellId/0x39f03ffc00000000,s2CellId/0x39f0400400000000,s2CellId/0x39f0400c00000000,s2CellId/0x39f0401400000000,s2CellId/0x39f0404400000000,s2CellId/0x39f0405c00000000,s2CellId/0x39f0406400000000,s2CellId/0x39f0406c00000000,s2CellId/0x39f0407400000000,s2CellId/0x39f0408400000000,s2CellId/0x39f0408c00000000,s2CellId/0x39f0409400000000,s2CellId/0x39f040f400000000,s2CellId/0x39f0415400000000,s2CellId/0x39f041c400000000,s2CellId/0x39f041cc00000000,s2CellId/0x39f041dc00000000,s2CellId/0x39f0460400000000,s2CellId/0x39f0461400000000,s2CellId/0x39f0461c00000000,s2CellId/0x39f0462400000000,s2CellId/0x39f0462c00000000,s2CellId/0x39f0463400000000,s2CellId/0x39f0463c00000000,s2CellId/0x39f0469400000000,s2CellId/0x39f046bc00000000,s2CellId/0x39f046c400000000,s2CellId/0x39f046cc00000000,s2CellId/0x39f046dc00000000,s2CellId/0x39f046e400000000,s2CellId/0x39f046ec00000000,s2CellId/0x39f046f400000000,s2CellId/0x39f0475c00000000,s2CellId/0x39f0476400000000,s2CellId/0x39f0476c00000000,s2CellId/0x39f0477400000000,s2CellId/0x39f0478400000000,s2CellId/0x39f0479400000000,s2CellId/0x39f0479c00000000,s2CellId/0x39f047c400000000,s2CellId/0x39f047cc00000000,s2CellId/0x39f047d400000000,s2CellId/0x39f047dc00000000,s2CellId/0x39f047ec00000000,s2CellId/0x39f047f400000000,s2CellId/0x39f047fc00000000,s2CellId/0x39f0480400000000,s2CellId/0x39f0484400000000,s2CellId/0x39f0486400000000,s2CellId/0x39f0487c00000000,s2CellId/0x39f0488400000000,s2CellId/0x39f0488c00000000,s2CellId/0x39f0489c00000000,s2CellId/0x39f048a400000000,s2CellId/0x39f048ac00000000,s2CellId/0x39f04f5400000000,s2CellId/0x39f06a0c00000000,s2CellId/0x39f06a1400000000,s2CellId/0x39f06a7400000000,s2CellId/0x39f06aa400000000,s2CellId/0x39f06aac00000000,s2CellId/0x39f1b42c00000000,s2CellId/0x39f1b43400000000,s2CellId/0x39f1b44c00000000,s2CellId/0x39f1b45400000000,s2CellId/0x39f1b4fc00000000,s2CellId/0x39f1b50400000000,s2CellId/0x39f1b50c00000000,s2CellId/0x39f1b51400000000,s2CellId/0x39f1b51c00000000,s2CellId/0x39f1b52400000000,s2CellId/0x39f1b53c00000000,s2CellId/0x39f1b57400000000,s2CellId/0x39f1b5a400000000,s2CellId/0x39f1b5ac00000000,s2CellId/0x39f1b5b400000000,s2CellId/0x39f1b5bc00000000,s2CellId/0x39f1b5c400000000,s2CellId/0x39f1b5cc00000000,s2CellId/0x39f1b5d400000000,s2CellId/0x39f1b5dc00000000,s2CellId/0x39f1b63400000000,s2CellId/0x39f1b63c00000000,s2CellId/0x39f1b8b400000000,s2CellId/0x39f1b8bc00000000,s2CellId/0x39f1b8c400000000,s2CellId/0x39f1b8cc00000000,s2CellId/0x39f1bf1400000000,s2CellId/0x39f1bf3400000000,s2CellId/0x39f1bf3c00000000,s2CellId/0x39f1bf4c00000000,s2CellId/0x39f1bf7400000000,s2CellId/0x39f1bf8400000000,s2CellId/0x39f1bf8c00000000,s2CellId/0x39f1bf9400000000,s2CellId/0x39f1bf9c00000000,s2CellId/0x39f1bff400000000,s2CellId/0x39f1c00400000000,s2CellId/0x39f1c00c00000000,s2CellId/0x39f1c01c00000000,s2CellId/0x39f1c03400000000,s2CellId/0x39f1c05400000000,s2CellId/0x39f1c07400000000,s2CellId/0x39f1c07c00000000,s2CellId/0x39f1c08c00000000,s2CellId/0x39f1c09400000000,s2CellId/0x39f1c09c00000000,s2CellId/0x39f1c0a400000000,s2CellId/0x39f1c0f400000000,s2CellId/0x39f1c0fc00000000,s2CellId/0x39f1c10400000000,s2CellId/0x39f1c12c00000000,s2CellId/0x39f1c13400000000,s2CellId/0x39f1c1a400000000,s2CellId/0x39f1c1ac00000000,s2CellId/0x39f1c1bc00000000,s2CellId/0x39f1c1ec00000000,s2CellId/0x39f1c27c00000000,s2CellId/0x39f1c28400000000,s2CellId/0x39f1c2ac00000000,s2CellId/0x39f1c2b400000000,s2CellId/0x39f1c2bc00000000,s2CellId/0x39f1c2cc00000000,s2CellId/0x39f1c6cc00000000,s2CellId/0x39f1c6ec00000000,s2CellId/0x39f1c70c00000000,s2CellId/0x39f1c75c00000000,s2CellId/0x39f1c7ac00000000,s2CellId/0x39f1c84c00000000,s2CellId/0x39f1c85400000000,s2CellId/0x39f1c90c00000000,s2CellId/0x39f1c96400000000,s2CellId/0x39f1c96c00000000,s2CellId/0x39f1c97c00000000,s2CellId/0x39f1c9ac00000000,s2CellId/0x39f1ca6400000000,s2CellId/0x39f1ca8c00000000,s2CellId/0x39f1ca9400000000,s2CellId/0x39f1cab400000000,s2CellId/0x39f1cabc00000000,s2CellId/0x39f1cad400000000,s2CellId/0x39f1caec00000000,s2CellId/0x39f1caf400000000,s2CellId/0x39f1cb0c00000000,s2CellId/0x39f1cb1400000000,s2CellId/0x39f1cb5400000000,s2CellId/0x39f1cb7400000000,s2CellId/0x39f1cb8400000000,s2CellId/0x39f1cb8c00000000,s2CellId/0x39f1cbe400000000,s2CellId/0x39f1cbf400000000,s2CellId/0x39f1cce400000000,s2CellId/0x39f1ccec00000000,s2CellId/0x39f1ccf400000000,s2CellId/0x39f1ccfc00000000,s2CellId/0x39f1ce9c00000000,s2CellId/0x39f1d2ec00000000,s2CellId/0x39f1d8dc00000000,s2CellId/0x39f1d94c00000000,s2CellId/0x39f1d96c00000000,s2CellId/0x39f1dd4c00000000,s2CellId/0x39f1dd5400000000,s2CellId/0x39f1dd6400000000,s2CellId/0x39f1dd7c00000000,s2CellId/0x39f1e5f400000000,s2CellId/0x39f1e60400000000,s2CellId/0x39f1e61c00000000,s2CellId/0x39f1e62400000000,s2CellId/0x39f1e6e400000000,s2CellId/0x39f1e77c00000000,s2CellId/0x39f1e78c00000000,s2CellId/0x39f1e7e400000000,s2CellId/0x39f1e7f400000000,s2CellId/0x39f1e7fc00000000,s2CellId/0x39f1e80400000000,s2CellId/0x39f1e80c00000000,s2CellId/0x39f1e82400000000,s2CellId/0x39f1e83c00000000,s2CellId/0x39f1e87400000000,s2CellId/0x39f1e88c00000000,s2CellId/0x39f1e89c00000000,s2CellId/0x39f1e8f400000000,s2CellId/0x39f1e90400000000,s2CellId/0x39f1e9ac00000000,s2CellId/0x39f1e9ec00000000,s2CellId/0x39f1ea0c00000000,s2CellId/0x39f1ea5c00000000,s2CellId/0x39f1ea8c00000000,s2CellId/0x39f1ea9c00000000,s2CellId/0x39f1eaa400000000,s2CellId/0x39f1eaec00000000,s2CellId/0x39f1eaf400000000,s2CellId/0x39f1ed0400000000,s2CellId/0x39f1ed0c00000000,s2CellId/0x39f1ed6400000000,s2CellId/0x39f1ed6c00000000,s2CellId/0x39f1ed7400000000,s2CellId/0x39f1ed7c00000000,s2CellId/0x39f1ed9400000000,s2CellId/0x39f1ed9c00000000,s2CellId/0x39f1eda400000000,s2CellId/0x39f1edac00000000,s2CellId/0x39f1edb400000000,s2CellId/0x39f1edbc00000000,s2CellId/0x39f1edd400000000,s2CellId/0x39f1edec00000000,s2CellId/0x39f1edf400000000,s2CellId/0x39f1ee6c00000000,s2CellId/0x39f1efdc00000000,s2CellId/0x39f1f0d400000000,s2CellId/0x39f1f0e400000000,s2CellId/0x39f1f15400000000,s2CellId/0x39f1f15c00000000,s2CellId/0x39f1f24400000000,s2CellId/0x39f1f24c00000000,s2CellId/0x39f1f25400000000,s2CellId/0x39f1f25c00000000,s2CellId/0x39f1f26c00000000,s2CellId/0x39f1f27400000000,s2CellId/0x39f1f27c00000000,s2CellId/0x39f1f28400000000,s2CellId/0x39f1f29400000000,s2CellId/0x39f1f29c00000000,s2CellId/0x39f1f2e400000000,s2CellId/0x39f1f2ec00000000,s2CellId/0x39f1f2f400000000,s2CellId/0x39f1f2fc00000000,s2CellId/0x39f1f30400000000,s2CellId/0x39f1f30c00000000,s2CellId/0x39f1f31400000000,s2CellId/0x39f1f31c00000000,s2CellId/0x39f1f34400000000,s2CellId/0x39f1f36400000000,s2CellId/0x39f1f36c00000000,s2CellId/0x39f1f3ac00000000,s2CellId/0x39f1f3b400000000,s2CellId/0x39f1f3c400000000,s2CellId/0x39f1f3dc00000000,s2CellId/0x39f1f3e400000000,s2CellId/0x39f1f3fc00000000,s2CellId/0x39f1f40400000000,s2CellId/0x39f1f45400000000,s2CellId/0x39f1f45c00000000,s2CellId/0x39f1f46400000000,s2CellId/0x39f1f48c00000000,s2CellId/0x39f1f49400000000,s2CellId/0x39f1f4a400000000,s2CellId/0x39f1f4bc00000000,s2CellId/0x39f1f4ec00000000,s2CellId/0x39f1f57400000000,s2CellId/0x39f1f57c00000000,s2CellId/0x39f1f5ac00000000,s2CellId/0x39f1f5e400000000,s2CellId/0x39f1f67c00000000,s2CellId/0x39f1f68400000000,s2CellId/0x39f1f6ac00000000,s2CellId/0x39f1f6bc00000000,s2CellId/0x39f1f71c00000000,s2CellId/0x39f1f72c00000000,s2CellId/0x39f1f94c00000000,s2CellId/0x39f20d2c00000000,s2CellId/0x39f20d4400000000,s2CellId/0x39f20d4c00000000,s2CellId/0x39f20d5400000000,s2CellId/0x39f20d5c00000000,s2CellId/0x39f2108400000000,s2CellId/0x39f2109c00000000,s2CellId/0x39f210d400000000,s2CellId/0x39f210ec00000000,s2CellId/0x39f210fc00000000,s2CellId/0x39f2112c00000000,s2CellId/0x39f2121400000000,s2CellId/0x39f2123c00000000,s2CellId/0x39f2124400000000,s2CellId/0x39f2125c00000000,s2CellId/0x39f2126400000000,s2CellId/0x39f2128c00000000,s2CellId/0x39f2129c00000000,s2CellId/0x39f212d400000000,s2CellId/0x39f2132c00000000,s2CellId/0x39f2133400000000,s2CellId/0x39f2134c00000000,s2CellId/0x39f2137400000000,s2CellId/0x39f2138400000000,s2CellId/0x39f2144400000000,s2CellId/0x39f2144c00000000,s2CellId/0x39f2145400000000,s2CellId/0x39f2145c00000000,s2CellId/0x39f2146400000000,s2CellId/0x39f2146c00000000,s2CellId/0x39f2147400000000,s2CellId/0x39f2147c00000000,s2CellId/0x39f2148400000000,s2CellId/0x39f2148c00000000,s2CellId/0x39f2149400000000,s2CellId/0x39f2149c00000000,s2CellId/0x39f214ac00000000,s2CellId/0x39f214b400000000,s2CellId/0x39f214bc00000000,s2CellId/0x39f214ec00000000,s2CellId/0x39f2151c00000000,s2CellId/0x39f2152400000000,s2CellId/0x39f215b400000000,s2CellId/0x39f215cc00000000,s2CellId/0x39f2172400000000,s2CellId/0x39f2172c00000000,s2CellId/0x39f2175400000000,s2CellId/0x39f2175c00000000,s2CellId/0x39f2178400000000,s2CellId/0x39f2190400000000,s2CellId/0x39f2194400000000,s2CellId/0x39f2194c00000000,s2CellId/0x39f2195c00000000,s2CellId/0x39f2197c00000000,s2CellId/0x39f2198400000000,s2CellId/0x39f2199400000000,s2CellId/0x39f219ec00000000,s2CellId/0x39f219f400000000,s2CellId/0x39f219fc00000000,s2CellId/0x39f21a0400000000,s2CellId/0x39f21a0c00000000,s2CellId/0x39f21a1c00000000,s2CellId/0x39f21a4400000000,s2CellId/0x39f21bc400000000,s2CellId/0x39f21bd400000000,s2CellId/0x39f21bec00000000,s2CellId/0x39f21bf400000000,s2CellId/0x39f21c0400000000,s2CellId/0x39f21c0c00000000,s2CellId/0x39f21c1400000000,s2CellId/0x39f21c1c00000000,s2CellId/0x39f21c2400000000,s2CellId/0x39f21c2c00000000,s2CellId/0x39f21dfc00000000,s2CellId/0x39f21e1c00000000,s2CellId/0x39f21e7400000000,s2CellId/0x39f21e7c00000000,s2CellId/0x39f21e8400000000,s2CellId/0x39f21e9c00000000,s2CellId/0x39f21f0c00000000,s2CellId/0x39f21f3c00000000,s2CellId/0x39f21f7400000000,s2CellId/0x39f21fa400000000,s2CellId/0x39f21fac00000000,s2CellId/0x39f21fb400000000,s2CellId/0x39f21fcc00000000,s2CellId/0x39f21fd400000000,s2CellId/0x39f221bc00000000,s2CellId/0x39f221ec00000000,s2CellId/0x39f2227c00000000,s2CellId/0x39f26acc00000000,s2CellId/0x39f26adc00000000,s2CellId/0x39f26b2400000000,s2CellId/0x39f26b3c00000000,s2CellId/0x39f26b5400000000,s2CellId/0x39f26b5c00000000,s2CellId/0x39f26ca400000000,s2CellId/0x39f26cac00000000,s2CellId/0x39f26cb400000000,s2CellId/0x39f26cc400000000,s2CellId/0x39f26ccc00000000,s2CellId/0x39f2712c00000000,s2CellId/0x39f2713400000000,s2CellId/0x39f2714c00000000,s2CellId/0x39f2717c00000000,s2CellId/0x39f2726400000000,s2CellId/0x39f2727c00000000,s2CellId/0x39f2734400000000,s2CellId/0x39f2736400000000,s2CellId/0x39f2736c00000000,s2CellId/0x39f2737400000000,s2CellId/0x39f2738400000000,s2CellId/0x39f273bc00000000,s2CellId/0x39f273d400000000,s2CellId/0x39f273f400000000,s2CellId/0x39f2743400000000,s2CellId/0x39f2744c00000000,s2CellId/0x39f2745400000000,s2CellId/0x39f2748400000000,s2CellId/0x39f2748c00000000,s2CellId/0x39f274f400000000,s2CellId/0x39f276bc00000000,s2CellId/0x39f2770c00000000,s2CellId/0x39f2771400000000,s2CellId/0x39f2773c00000000,s2CellId/0x39f2774400000000,s2CellId/0x39f2775c00000000,s2CellId/0x39f2776c00000000,s2CellId/0x39f2777400000000,s2CellId/0x39f2777c00000000,s2CellId/0x39f2788c00000000,s2CellId/0x39f2793400000000,s2CellId/0x39f2793c00000000,s2CellId/0x39f2799400000000,s2CellId/0x39f279cc00000000,s2CellId/0x39f279d400000000,s2CellId/0x39f279e400000000,s2CellId/0x39f27b8c00000000,s2CellId/0x39f27bf400000000,s2CellId/0x39f27c1400000000,s2CellId/0x39f27c7400000000,s2CellId/0x39f27dec00000000,s2CellId/0x39f27df400000000,s2CellId/0x39f2804c00000000,s2CellId/0x39f280bc00000000,s2CellId/0x39f2827400000000,s2CellId/0x39f2829c00000000,s2CellId/0x39f282a400000000,s2CellId/0x39f2836c00000000,s2CellId/0x39f2837400000000,s2CellId/0x39f283a400000000,s2CellId/0x39f283ac00000000,s2CellId/0x39f283b400000000,s2CellId/0x39f283f400000000,s2CellId/0x39f283fc00000000,s2CellId/0x39f286d400000000,s2CellId/0x39f286e400000000,s2CellId/0x39f29d0400000000,s2CellId/0x39f29d2400000000,s2CellId/0x39f29e9c00000000,s2CellId/0x39f29f2400000000,s2CellId/0x39f29f8c00000000,s2CellId/0x39f2a00400000000,s2CellId/0x39fa58ac00000000,s2CellId/0x39fa58b400000000,s2CellId/0x39fa5b5c00000000,s2CellId/0x39fa5b6400000000,s2CellId/0x39fa5b9c00000000,s2CellId/0x39fa5ebc00000000,s2CellId/0x39fa5ec400000000,s2CellId/0x39fa5f2400000000,s2CellId/0x39fa5f3c00000000,s2CellId/0x39fa5f4400000000,s2CellId/0x39fa5f4c00000000,s2CellId/0x39fa5f5400000000,s2CellId/0x39fa5f5c00000000,s2CellId/0x39fa8d5400000000,s2CellId/0x39fa8d5c00000000,s2CellId/0x39fa8d6400000000,s2CellId/0x39fa8d7c00000000,s2CellId/0x39fa8d8400000000,s2CellId/0x39fa922c00000000,s2CellId/0x39fa923400000000,s2CellId/0x39fa923c00000000,s2CellId/0x39fa924400000000,s2CellId/0x39fa924c00000000,s2CellId/0x39fa926c00000000,s2CellId/0x39fa927400000000,s2CellId/0x39fa927c00000000,s2CellId/0x39fa928400000000,s2CellId/0x39fa92a400000000,s2CellId/0x39fa93b400000000,s2CellId/0x39fa93c400000000,s2CellId/0x39fa93cc00000000,s2CellId/0x39fa93d400000000,s2CellId/0x39fa93dc00000000,s2CellId/0x39fa93ec00000000,s2CellId/0x39fa93fc00000000,s2CellId/0x39fa945c00000000,s2CellId/0x39fa946400000000,s2CellId/0x39fa946c00000000,s2CellId/0x39fa947400000000,s2CellId/0x39fa94e400000000,s2CellId/0x39fa94fc00000000,s2CellId/0x39fa950400000000,s2CellId/0x39fa951400000000,s2CellId/0x39fa951c00000000,s2CellId/0x39fa956400000000,s2CellId/0x39fa956c00000000,s2CellId/0x39fa957400000000,s2CellId/0x39fa957c00000000,s2CellId/0x39fa958400000000,s2CellId/0x39fa958c00000000,s2CellId/0x39fa962400000000,s2CellId/0x39fa97e400000000,s2CellId/0x39fa97fc00000000,s2CellId/0x39fa980400000000,s2CellId/0x39fa980c00000000,s2CellId/0x39fa987400000000,s2CellId/0x39fa987c00000000,s2CellId/0x39fa988400000000,s2CellId/0x39fa988c00000000,s2CellId/0x39fa989c00000000,s2CellId/0x39faa05c00000000,s2CellId/0x39faa06400000000,s2CellId/0x39faa06c00000000,s2CellId/0x39faa07c00000000,s2CellId/0x39faa08400000000,s2CellId/0x39faa09c00000000,s2CellId/0x39faa0cc00000000,s2CellId/0x39faa0d400000000,s2CellId/0x39faa10c00000000,s2CellId/0x39faa11c00000000,s2CellId/0x39faa12400000000,s2CellId/0x39faa13400000000,s2CellId/0x39faa13c00000000,s2CellId/0x39faa14400000000,s2CellId/0x39faa14c00000000,s2CellId/0x39faa18400000000,s2CellId/0x39faa19c00000000,s2CellId/0x39faa1dc00000000,s2CellId/0x39faa1e400000000,s2CellId/0x39faa27400000000,s2CellId/0x39faa27c00000000,s2CellId/0x39faa2ac00000000,s2CellId/0x39faa2f400000000,s2CellId/0x39faa65400000000,s2CellId/0x39faa6b400000000,s2CellId/0x39faa6bc00000000,s2CellId/0x39faa6c400000000,s2CellId/0x39faa70400000000,s2CellId/0x39faa71400000000,s2CellId/0x39faa71c00000000,s2CellId/0x39faa72400000000,s2CellId/0x39faa74c00000000,s2CellId/0x39faa75400000000,s2CellId/0x39faa75c00000000,s2CellId/0x39faa78c00000000,s2CellId/0x39faa79400000000,s2CellId/0x39faa7a400000000,s2CellId/0x39faa7ac00000000,s2CellId/0x39faa7bc00000000,s2CellId/0x39fab12400000000,s2CellId/0x39fabbc400000000,s2CellId/0x39fabbcc00000000,s2CellId/0x39fabc3c00000000,s2CellId/0x39fabc8c00000000,s2CellId/0x39fabde400000000,s2CellId/0x39fabe0400000000,s2CellId/0x39fabe1c00000000,s2CellId/0x39fabe2400000000,s2CellId/0x39fabe2c00000000,s2CellId/0x39fabe3400000000,s2CellId/0x39fabe3c00000000,s2CellId/0x39fabe4c00000000,s2CellId/0x39fabfcc00000000,s2CellId/0x39fabfd400000000,s2CellId/0x39fabfdc00000000,s2CellId/0x39faea5400000000,s2CellId/0x39faeabc00000000,s2CellId/0x39faeafc00000000,s2CellId/0x39faebac00000000,s2CellId/0x39faec5c00000000,s2CellId/0x39faec8c00000000,s2CellId/0x39faf12c00000000,s2CellId/0x39faf17400000000,s2CellId/0x39faf18400000000,s2CellId/0x39faf22c00000000,s2CellId/0x39faf23400000000,s2CellId/0x39faf24400000000,s2CellId/0x39faf24c00000000,s2CellId/0x39faf25400000000,s2CellId/0x39faf2dc00000000,s2CellId/0x39faf2e400000000,s2CellId/0x39faf2fc00000000,s2CellId/0x39faf5c400000000,s2CellId/0x39faf5cc00000000,s2CellId/0x39faf5d400000000,s2CellId/0x39faf5e400000000,s2CellId/0x39faf5ec00000000,s2CellId/0x39faf5f400000000,s2CellId/0x39faf5fc00000000,s2CellId/0x39faf69400000000,s2CellId/0x39faf69c00000000,s2CellId/0x39faf6c400000000,s2CellId/0x39faf72c00000000",946.3396849999998,"2022-10" -"floodEvent/2022-10_0x398dad0000000000","2022-10","s2CellId/0x398dad0c00000000,s2CellId/0x398dad1400000000",1.807302,"2022-10" -"floodEvent/2022-10_0x39fb030000000000","2022-10","s2CellId/0x39fb030400000000,s2CellId/0x39fb031400000000,s2CellId/0x39fb03a400000000,s2CellId/0x39fb074400000000",3.609328,"2022-10" -"floodEvent/2022-10_0x39f2cf0000000000","2022-10","s2CellId/0x39f2ce6400000000,s2CellId/0x39f2d01c00000000",1.8044069999999999,"2022-10" +"dcid","observationDate","affectedPlace","area" +"floodEvent/2022-10_0x39fb030000000000","2022-10","dcid:s2CellId/0x39fb030000000000,dcid:s2CellId/0x39fb030400000000,dcid:s2CellId/0x39fb031400000000,dcid:s2CellId/0x39fb03a400000000,dcid:s2CellId/0x39fb070000000000,dcid:s2CellId/0x39fb074400000000",3.609 +"floodEvent/2022-10_0x39f2fb0000000000","2022-10","dcid:s2CellId/0x39f2fa1400000000,dcid:s2CellId/0x39f2fb0000000000",0.902 +"floodEvent/2022-10_0x39f3cd0000000000","2022-10","dcid:s2CellId/0x39f3cdac00000000,dcid:s2CellId/0x39f3cd0000000000",0.904 +"floodEvent/2022-10_0x39925b0000000000","2022-10","dcid:s2CellId/0x398d127c00000000,dcid:s2CellId/0x398d12dc00000000,dcid:s2CellId/0x398d130000000000,dcid:s2CellId/0x398d450000000000,dcid:s2CellId/0x398d451c00000000,dcid:s2CellId/0x398d453c00000000,dcid:s2CellId/0x398d50a400000000,dcid:s2CellId/0x398d510000000000,dcid:s2CellId/0x398d583400000000,dcid:s2CellId/0x398d590000000000,dcid:s2CellId/0x398d5a8c00000000,dcid:s2CellId/0x398d5ac400000000,dcid:s2CellId/0x398d5af400000000,dcid:s2CellId/0x398d5b0000000000,dcid:s2CellId/0x398d6afc00000000,dcid:s2CellId/0x398d6b0000000000,dcid:s2CellId/0x398d6c9400000000,dcid:s2CellId/0x398d6cc400000000,dcid:s2CellId/0x398d6d0000000000,dcid:s2CellId/0x39920abc00000000,dcid:s2CellId/0x39920b0000000000,dcid:s2CellId/0x3992590000000000,dcid:s2CellId/0x3992595400000000,dcid:s2CellId/0x39925b0000000000,dcid:s2CellId/0x39925b1c00000000,dcid:s2CellId/0x39925b7400000000,dcid:s2CellId/0x39925b8c00000000,dcid:s2CellId/0x39925b9c00000000,dcid:s2CellId/0x39925bf400000000,dcid:s2CellId/0x39925bfc00000000,dcid:s2CellId/0x39925e9400000000,dcid:s2CellId/0x39925eec00000000,dcid:s2CellId/0x39925ef400000000,dcid:s2CellId/0x39925f0000000000,dcid:s2CellId/0x39925fb400000000,dcid:s2CellId/0x39925fbc00000000,dcid:s2CellId/0x399266cc00000000,dcid:s2CellId/0x3992670000000000,dcid:s2CellId/0x3992705c00000000,dcid:s2CellId/0x3992706400000000,dcid:s2CellId/0x3992706c00000000,dcid:s2CellId/0x399270c400000000,dcid:s2CellId/0x399270e400000000,dcid:s2CellId/0x399270ec00000000,dcid:s2CellId/0x3992710000000000,dcid:s2CellId/0x3992714400000000,dcid:s2CellId/0x3992714c00000000,dcid:s2CellId/0x3992716c00000000,dcid:s2CellId/0x399271b400000000,dcid:s2CellId/0x3992750000000000,dcid:s2CellId/0x3992750400000000,dcid:s2CellId/0x3992751400000000,dcid:s2CellId/0x399276a400000000,dcid:s2CellId/0x399276ac00000000,dcid:s2CellId/0x399276b400000000,dcid:s2CellId/0x399276bc00000000,dcid:s2CellId/0x399276c400000000,dcid:s2CellId/0x399276dc00000000,dcid:s2CellId/0x3992770000000000,dcid:s2CellId/0x3992772c00000000,dcid:s2CellId/0x39927aac00000000,dcid:s2CellId/0x39927acc00000000,dcid:s2CellId/0x39927ad400000000,dcid:s2CellId/0x39927b0000000000,dcid:s2CellId/0x39927b1c00000000,dcid:s2CellId/0x39927b2c00000000,dcid:s2CellId/0x39927b3400000000,dcid:s2CellId/0x39927b3c00000000,dcid:s2CellId/0x39927b5c00000000,dcid:s2CellId/0x39927ca400000000,dcid:s2CellId/0x39927cbc00000000,dcid:s2CellId/0x39927d0000000000,dcid:s2CellId/0x3992830000000000,dcid:s2CellId/0x3992835400000000,dcid:s2CellId/0x3992843c00000000,dcid:s2CellId/0x3992844400000000,dcid:s2CellId/0x3992844c00000000,dcid:s2CellId/0x3992845400000000,dcid:s2CellId/0x3992846400000000,dcid:s2CellId/0x3992846c00000000,dcid:s2CellId/0x3992847400000000,dcid:s2CellId/0x3992847c00000000,dcid:s2CellId/0x3992848400000000,dcid:s2CellId/0x3992849c00000000,dcid:s2CellId/0x399284a400000000,dcid:s2CellId/0x399284ac00000000,dcid:s2CellId/0x399284fc00000000,dcid:s2CellId/0x3992850000000000,dcid:s2CellId/0x3992852c00000000,dcid:s2CellId/0x3992854400000000,dcid:s2CellId/0x3992855c00000000,dcid:s2CellId/0x399285fc00000000,dcid:s2CellId/0x3992860c00000000,dcid:s2CellId/0x3992865400000000,dcid:s2CellId/0x3992866c00000000,dcid:s2CellId/0x399286ec00000000,dcid:s2CellId/0x399286f400000000,dcid:s2CellId/0x3992870000000000,dcid:s2CellId/0x3992871c00000000,dcid:s2CellId/0x3992878c00000000,dcid:s2CellId/0x3992879400000000,dcid:s2CellId/0x399287ac00000000,dcid:s2CellId/0x399288b400000000,dcid:s2CellId/0x3992890000000000,dcid:s2CellId/0x39928ad400000000,dcid:s2CellId/0x39928b0000000000,dcid:s2CellId/0x39928b2400000000,dcid:s2CellId/0x39928b4400000000,dcid:s2CellId/0x39928b5400000000,dcid:s2CellId/0x39928cac00000000,dcid:s2CellId/0x39928ccc00000000,dcid:s2CellId/0x39928d0000000000,dcid:s2CellId/0x39928d5c00000000,dcid:s2CellId/0x39928d8400000000,dcid:s2CellId/0x39928f0000000000,dcid:s2CellId/0x39928f0c00000000,dcid:s2CellId/0x39928f1400000000,dcid:s2CellId/0x39928fec00000000,dcid:s2CellId/0x39928ff400000000,dcid:s2CellId/0x3992910000000000,dcid:s2CellId/0x3992914400000000,dcid:s2CellId/0x3992916400000000,dcid:s2CellId/0x3992916c00000000,dcid:s2CellId/0x3992930000000000,dcid:s2CellId/0x399293dc00000000,dcid:s2CellId/0x3992968c00000000,dcid:s2CellId/0x3992969400000000,dcid:s2CellId/0x399296bc00000000,dcid:s2CellId/0x3992970000000000,dcid:s2CellId/0x3992980c00000000,dcid:s2CellId/0x3992981400000000,dcid:s2CellId/0x3992987c00000000,dcid:s2CellId/0x3992988400000000,dcid:s2CellId/0x3992988c00000000,dcid:s2CellId/0x3992990000000000,dcid:s2CellId/0x3992993c00000000,dcid:s2CellId/0x3992995c00000000,dcid:s2CellId/0x39929ad400000000,dcid:s2CellId/0x39929afc00000000,dcid:s2CellId/0x39929b0000000000,dcid:s2CellId/0x39929b1c00000000,dcid:s2CellId/0x39929b2400000000,dcid:s2CellId/0x39929b2c00000000,dcid:s2CellId/0x39929b5400000000,dcid:s2CellId/0x39929b8400000000,dcid:s2CellId/0x39929b8c00000000,dcid:s2CellId/0x39929bac00000000,dcid:s2CellId/0x39929be400000000,dcid:s2CellId/0x3992a10000000000,dcid:s2CellId/0x3992a15400000000,dcid:s2CellId/0x3992a27c00000000,dcid:s2CellId/0x3992a29400000000,dcid:s2CellId/0x3992a2bc00000000,dcid:s2CellId/0x3992a2d400000000,dcid:s2CellId/0x3992a2dc00000000,dcid:s2CellId/0x3992a30000000000,dcid:s2CellId/0x3992a30c00000000,dcid:s2CellId/0x3992a32400000000,dcid:s2CellId/0x3992a33c00000000,dcid:s2CellId/0x3992a35c00000000,dcid:s2CellId/0x3992a39c00000000,dcid:s2CellId/0x3992a45400000000,dcid:s2CellId/0x3992a45c00000000,dcid:s2CellId/0x3992a49400000000,dcid:s2CellId/0x3992a49c00000000,dcid:s2CellId/0x3992a50000000000,dcid:s2CellId/0x3992a51400000000,dcid:s2CellId/0x3992a56c00000000,dcid:s2CellId/0x3992a5ac00000000,dcid:s2CellId/0x3992a69c00000000,dcid:s2CellId/0x3992a6a400000000,dcid:s2CellId/0x3992a6ac00000000,dcid:s2CellId/0x3992a70000000000,dcid:s2CellId/0x3992a82400000000,dcid:s2CellId/0x3992a84c00000000,dcid:s2CellId/0x3992a85400000000,dcid:s2CellId/0x3992a8fc00000000,dcid:s2CellId/0x3992a90000000000,dcid:s2CellId/0x3992a91400000000,dcid:s2CellId/0x3992a92400000000,dcid:s2CellId/0x3992a93c00000000,dcid:s2CellId/0x3992a9cc00000000,dcid:s2CellId/0x3992ab0000000000,dcid:s2CellId/0x3992ab5400000000,dcid:s2CellId/0x3992ac1400000000,dcid:s2CellId/0x3992ac2c00000000,dcid:s2CellId/0x3992ac3400000000,dcid:s2CellId/0x3992ac4c00000000,dcid:s2CellId/0x3992ac5400000000,dcid:s2CellId/0x3992ad0000000000,dcid:s2CellId/0x3992ae5400000000,dcid:s2CellId/0x3992aecc00000000,dcid:s2CellId/0x3992af0000000000,dcid:s2CellId/0x3992af8400000000,dcid:s2CellId/0x3992af9c00000000,dcid:s2CellId/0x3992afac00000000,dcid:s2CellId/0x3992b28c00000000,dcid:s2CellId/0x3992b29400000000,dcid:s2CellId/0x3992b30000000000,dcid:s2CellId/0x3992bcd400000000,dcid:s2CellId/0x3992bd0000000000,dcid:s2CellId/0x3992bd3400000000,dcid:s2CellId/0x3992bd6c00000000,dcid:s2CellId/0x3992bd8400000000,dcid:s2CellId/0x39ed330000000000,dcid:s2CellId/0x39ed336400000000,dcid:s2CellId/0x39ed349400000000,dcid:s2CellId/0x39ed349c00000000,dcid:s2CellId/0x39ed34a400000000,dcid:s2CellId/0x39ed34ec00000000,dcid:s2CellId/0x39ed34fc00000000,dcid:s2CellId/0x39ed350000000000,dcid:s2CellId/0x39ed366400000000,dcid:s2CellId/0x39ed370000000000,dcid:s2CellId/0x39ed44bc00000000,dcid:s2CellId/0x39ed450000000000,dcid:s2CellId/0x39ed4f0000000000,dcid:s2CellId/0x39ed4ffc00000000,dcid:s2CellId/0x39ed509400000000,dcid:s2CellId/0x39ed510000000000,dcid:s2CellId/0x39ed51b400000000,dcid:s2CellId/0x39ed530000000000,dcid:s2CellId/0x39ed538c00000000,dcid:s2CellId/0x39ed539400000000,dcid:s2CellId/0x39ed53a400000000,dcid:s2CellId/0x39ed53bc00000000,dcid:s2CellId/0x39ed569400000000,dcid:s2CellId/0x39ed56a400000000,dcid:s2CellId/0x39ed56bc00000000,dcid:s2CellId/0x39ed56c400000000,dcid:s2CellId/0x39ed56dc00000000,dcid:s2CellId/0x39ed570000000000,dcid:s2CellId/0x39ed572400000000,dcid:s2CellId/0x39ed58d400000000,dcid:s2CellId/0x39ed58e400000000,dcid:s2CellId/0x39ed590000000000,dcid:s2CellId/0x39ed590400000000,dcid:s2CellId/0x39ed592c00000000,dcid:s2CellId/0x39ed5a2c00000000,dcid:s2CellId/0x39ed5b0000000000,dcid:s2CellId/0x39ed5b6c00000000,dcid:s2CellId/0x39ed5c7400000000,dcid:s2CellId/0x39ed5d0000000000,dcid:s2CellId/0x39ed5eac00000000,dcid:s2CellId/0x39ed5eb400000000,dcid:s2CellId/0x39ed5ec400000000,dcid:s2CellId/0x39ed5edc00000000,dcid:s2CellId/0x39ed5f0000000000,dcid:s2CellId/0x39ed5fe400000000,dcid:s2CellId/0x39ed5ff400000000,dcid:s2CellId/0x39ed606400000000,dcid:s2CellId/0x39ed607c00000000,dcid:s2CellId/0x39ed610000000000,dcid:s2CellId/0x39ed61b400000000,dcid:s2CellId/0x39ed629c00000000,dcid:s2CellId/0x39ed630000000000,dcid:s2CellId/0x39ed7d0000000000,dcid:s2CellId/0x39ed7d5c00000000,dcid:s2CellId/0x39effc6c00000000,dcid:s2CellId/0x39effd0000000000,dcid:s2CellId/0x39f0050000000000,dcid:s2CellId/0x39f0054c00000000,dcid:s2CellId/0x39f0055400000000,dcid:s2CellId/0x39f0055c00000000,dcid:s2CellId/0x39f0084c00000000,dcid:s2CellId/0x39f0085400000000,dcid:s2CellId/0x39f0085c00000000,dcid:s2CellId/0x39f008ec00000000,dcid:s2CellId/0x39f0090000000000,dcid:s2CellId/0x39f0090c00000000,dcid:s2CellId/0x39f0092c00000000,dcid:s2CellId/0x39f0098400000000,dcid:s2CellId/0x39f009a400000000,dcid:s2CellId/0x39f009e400000000,dcid:s2CellId/0x39f00a2c00000000,dcid:s2CellId/0x39f00a5400000000,dcid:s2CellId/0x39f00a8400000000,dcid:s2CellId/0x39f00a8c00000000,dcid:s2CellId/0x39f00af400000000,dcid:s2CellId/0x39f00afc00000000,dcid:s2CellId/0x39f00b0000000000,dcid:s2CellId/0x39f00e4c00000000,dcid:s2CellId/0x39f00ed400000000,dcid:s2CellId/0x39f00f0000000000,dcid:s2CellId/0x39f00f3400000000,dcid:s2CellId/0x39f00fb400000000,dcid:s2CellId/0x39f00fbc00000000,dcid:s2CellId/0x39f00fc400000000,dcid:s2CellId/0x39f0101400000000,dcid:s2CellId/0x39f0102c00000000,dcid:s2CellId/0x39f0106c00000000,dcid:s2CellId/0x39f0108c00000000,dcid:s2CellId/0x39f0109400000000,dcid:s2CellId/0x39f010cc00000000,dcid:s2CellId/0x39f010d400000000,dcid:s2CellId/0x39f0110000000000,dcid:s2CellId/0x39f0111c00000000,dcid:s2CellId/0x39f0112400000000,dcid:s2CellId/0x39f0114400000000,dcid:s2CellId/0x39f0114c00000000,dcid:s2CellId/0x39f0115400000000,dcid:s2CellId/0x39f0115c00000000,dcid:s2CellId/0x39f011b400000000,dcid:s2CellId/0x39f011cc00000000,dcid:s2CellId/0x39f0150000000000,dcid:s2CellId/0x39f0156c00000000,dcid:s2CellId/0x39f015a400000000,dcid:s2CellId/0x39f015c400000000,dcid:s2CellId/0x39f015ec00000000,dcid:s2CellId/0x39f0162c00000000,dcid:s2CellId/0x39f0163400000000,dcid:s2CellId/0x39f0163c00000000,dcid:s2CellId/0x39f0164c00000000,dcid:s2CellId/0x39f0168400000000,dcid:s2CellId/0x39f0168c00000000,dcid:s2CellId/0x39f0169400000000,dcid:s2CellId/0x39f0169c00000000,dcid:s2CellId/0x39f016a400000000,dcid:s2CellId/0x39f016ac00000000,dcid:s2CellId/0x39f016b400000000,dcid:s2CellId/0x39f016bc00000000,dcid:s2CellId/0x39f016f400000000,dcid:s2CellId/0x39f0170000000000,dcid:s2CellId/0x39f0174400000000,dcid:s2CellId/0x39f0175c00000000,dcid:s2CellId/0x39f0176400000000,dcid:s2CellId/0x39f0176c00000000,dcid:s2CellId/0x39f0177400000000,dcid:s2CellId/0x39f017a400000000,dcid:s2CellId/0x39f017bc00000000,dcid:s2CellId/0x39f017e400000000,dcid:s2CellId/0x39f0190000000000,dcid:s2CellId/0x39f019dc00000000,dcid:s2CellId/0x39f019e400000000,dcid:s2CellId/0x39f019f400000000,dcid:s2CellId/0x39f01a1c00000000,dcid:s2CellId/0x39f01b0000000000,dcid:s2CellId/0x39f0229400000000,dcid:s2CellId/0x39f022ac00000000,dcid:s2CellId/0x39f022bc00000000,dcid:s2CellId/0x39f022cc00000000,dcid:s2CellId/0x39f022dc00000000,dcid:s2CellId/0x39f022ec00000000,dcid:s2CellId/0x39f0230000000000,dcid:s2CellId/0x39f0231c00000000,dcid:s2CellId/0x39f0234c00000000,dcid:s2CellId/0x39f0236400000000,dcid:s2CellId/0x39f024ac00000000,dcid:s2CellId/0x39f024b400000000,dcid:s2CellId/0x39f0250000000000,dcid:s2CellId/0x39f02e5400000000,dcid:s2CellId/0x39f02f0000000000,dcid:s2CellId/0x39f0304400000000,dcid:s2CellId/0x39f0310000000000,dcid:s2CellId/0x39f0330000000000,dcid:s2CellId/0x39f0333400000000,dcid:s2CellId/0x39f0334400000000,dcid:s2CellId/0x39f0335400000000,dcid:s2CellId/0x39f0342c00000000,dcid:s2CellId/0x39f0343400000000,dcid:s2CellId/0x39f0344c00000000,dcid:s2CellId/0x39f034a400000000,dcid:s2CellId/0x39f034ac00000000,dcid:s2CellId/0x39f034d400000000,dcid:s2CellId/0x39f034ec00000000,dcid:s2CellId/0x39f0350000000000,dcid:s2CellId/0x39f0350c00000000,dcid:s2CellId/0x39f0351400000000,dcid:s2CellId/0x39f0352400000000,dcid:s2CellId/0x39f0352c00000000,dcid:s2CellId/0x39f035a400000000,dcid:s2CellId/0x39f035b400000000,dcid:s2CellId/0x39f035bc00000000,dcid:s2CellId/0x39f035e400000000,dcid:s2CellId/0x39f035ec00000000,dcid:s2CellId/0x39f0361400000000,dcid:s2CellId/0x39f0363c00000000,dcid:s2CellId/0x39f0365400000000,dcid:s2CellId/0x39f0368400000000,dcid:s2CellId/0x39f0368c00000000,dcid:s2CellId/0x39f0369c00000000,dcid:s2CellId/0x39f0370000000000,dcid:s2CellId/0x39f037a400000000,dcid:s2CellId/0x39f037ac00000000,dcid:s2CellId/0x39f037b400000000,dcid:s2CellId/0x39f037bc00000000,dcid:s2CellId/0x39f037c400000000,dcid:s2CellId/0x39f037e400000000,dcid:s2CellId/0x39f037ec00000000,dcid:s2CellId/0x39f037fc00000000,dcid:s2CellId/0x39f0380400000000,dcid:s2CellId/0x39f0383c00000000,dcid:s2CellId/0x39f0384c00000000,dcid:s2CellId/0x39f0385400000000,dcid:s2CellId/0x39f038a400000000,dcid:s2CellId/0x39f038ac00000000,dcid:s2CellId/0x39f038b400000000,dcid:s2CellId/0x39f038bc00000000,dcid:s2CellId/0x39f038c400000000,dcid:s2CellId/0x39f038cc00000000,dcid:s2CellId/0x39f0390000000000,dcid:s2CellId/0x39f03b0000000000,dcid:s2CellId/0x39f03b2400000000,dcid:s2CellId/0x39f03b3c00000000,dcid:s2CellId/0x39f03b4c00000000,dcid:s2CellId/0x39f03c8400000000,dcid:s2CellId/0x39f03c8c00000000,dcid:s2CellId/0x39f03d0000000000,dcid:s2CellId/0x39f03d0400000000,dcid:s2CellId/0x39f03d5400000000,dcid:s2CellId/0x39f03d7c00000000,dcid:s2CellId/0x39f03e2400000000,dcid:s2CellId/0x39f03e2c00000000,dcid:s2CellId/0x39f03edc00000000,dcid:s2CellId/0x39f03ee400000000,dcid:s2CellId/0x39f03f0000000000,dcid:s2CellId/0x39f03f2400000000,dcid:s2CellId/0x39f03f2c00000000,dcid:s2CellId/0x39f03f7c00000000,dcid:s2CellId/0x39f03fa400000000,dcid:s2CellId/0x39f03fac00000000,dcid:s2CellId/0x39f03fbc00000000,dcid:s2CellId/0x39f03fc400000000,dcid:s2CellId/0x39f03fd400000000,dcid:s2CellId/0x39f03fdc00000000,dcid:s2CellId/0x39f03fe400000000,dcid:s2CellId/0x39f03fec00000000,dcid:s2CellId/0x39f03ffc00000000,dcid:s2CellId/0x39f0400400000000,dcid:s2CellId/0x39f0400c00000000,dcid:s2CellId/0x39f0401400000000,dcid:s2CellId/0x39f0404400000000,dcid:s2CellId/0x39f0405c00000000,dcid:s2CellId/0x39f0406400000000,dcid:s2CellId/0x39f0406c00000000,dcid:s2CellId/0x39f0407400000000,dcid:s2CellId/0x39f0408400000000,dcid:s2CellId/0x39f0408c00000000,dcid:s2CellId/0x39f0409400000000,dcid:s2CellId/0x39f040f400000000,dcid:s2CellId/0x39f0410000000000,dcid:s2CellId/0x39f0415400000000,dcid:s2CellId/0x39f041c400000000,dcid:s2CellId/0x39f041cc00000000,dcid:s2CellId/0x39f041dc00000000,dcid:s2CellId/0x39f0460400000000,dcid:s2CellId/0x39f0461400000000,dcid:s2CellId/0x39f0461c00000000,dcid:s2CellId/0x39f0462400000000,dcid:s2CellId/0x39f0462c00000000,dcid:s2CellId/0x39f0463400000000,dcid:s2CellId/0x39f0463c00000000,dcid:s2CellId/0x39f0469400000000,dcid:s2CellId/0x39f046bc00000000,dcid:s2CellId/0x39f046c400000000,dcid:s2CellId/0x39f046cc00000000,dcid:s2CellId/0x39f046dc00000000,dcid:s2CellId/0x39f046e400000000,dcid:s2CellId/0x39f046ec00000000,dcid:s2CellId/0x39f046f400000000,dcid:s2CellId/0x39f0470000000000,dcid:s2CellId/0x39f0475c00000000,dcid:s2CellId/0x39f0476400000000,dcid:s2CellId/0x39f0476c00000000,dcid:s2CellId/0x39f0477400000000,dcid:s2CellId/0x39f0478400000000,dcid:s2CellId/0x39f0479400000000,dcid:s2CellId/0x39f0479c00000000,dcid:s2CellId/0x39f047c400000000,dcid:s2CellId/0x39f047cc00000000,dcid:s2CellId/0x39f047d400000000,dcid:s2CellId/0x39f047dc00000000,dcid:s2CellId/0x39f047ec00000000,dcid:s2CellId/0x39f047f400000000,dcid:s2CellId/0x39f047fc00000000,dcid:s2CellId/0x39f0480400000000,dcid:s2CellId/0x39f0484400000000,dcid:s2CellId/0x39f0486400000000,dcid:s2CellId/0x39f0487c00000000,dcid:s2CellId/0x39f0488400000000,dcid:s2CellId/0x39f0488c00000000,dcid:s2CellId/0x39f0489c00000000,dcid:s2CellId/0x39f048a400000000,dcid:s2CellId/0x39f048ac00000000,dcid:s2CellId/0x39f0490000000000,dcid:s2CellId/0x39f04f0000000000,dcid:s2CellId/0x39f04f5400000000,dcid:s2CellId/0x39f06a0c00000000,dcid:s2CellId/0x39f06a1400000000,dcid:s2CellId/0x39f06a7400000000,dcid:s2CellId/0x39f06aa400000000,dcid:s2CellId/0x39f06aac00000000,dcid:s2CellId/0x39f06b0000000000,dcid:s2CellId/0x39f1b42c00000000,dcid:s2CellId/0x39f1b43400000000,dcid:s2CellId/0x39f1b44c00000000,dcid:s2CellId/0x39f1b45400000000,dcid:s2CellId/0x39f1b4fc00000000,dcid:s2CellId/0x39f1b50000000000,dcid:s2CellId/0x39f1b50400000000,dcid:s2CellId/0x39f1b50c00000000,dcid:s2CellId/0x39f1b51400000000,dcid:s2CellId/0x39f1b51c00000000,dcid:s2CellId/0x39f1b52400000000,dcid:s2CellId/0x39f1b53c00000000,dcid:s2CellId/0x39f1b57400000000,dcid:s2CellId/0x39f1b5a400000000,dcid:s2CellId/0x39f1b5ac00000000,dcid:s2CellId/0x39f1b5b400000000,dcid:s2CellId/0x39f1b5bc00000000,dcid:s2CellId/0x39f1b5c400000000,dcid:s2CellId/0x39f1b5cc00000000,dcid:s2CellId/0x39f1b5d400000000,dcid:s2CellId/0x39f1b5dc00000000,dcid:s2CellId/0x39f1b63400000000,dcid:s2CellId/0x39f1b63c00000000,dcid:s2CellId/0x39f1b70000000000,dcid:s2CellId/0x39f1b8b400000000,dcid:s2CellId/0x39f1b8bc00000000,dcid:s2CellId/0x39f1b8c400000000,dcid:s2CellId/0x39f1b8cc00000000,dcid:s2CellId/0x39f1b90000000000,dcid:s2CellId/0x39f1bf0000000000,dcid:s2CellId/0x39f1bf1400000000,dcid:s2CellId/0x39f1bf3400000000,dcid:s2CellId/0x39f1bf3c00000000,dcid:s2CellId/0x39f1bf4c00000000,dcid:s2CellId/0x39f1bf7400000000,dcid:s2CellId/0x39f1bf8400000000,dcid:s2CellId/0x39f1bf8c00000000,dcid:s2CellId/0x39f1bf9400000000,dcid:s2CellId/0x39f1bf9c00000000,dcid:s2CellId/0x39f1bff400000000,dcid:s2CellId/0x39f1c00400000000,dcid:s2CellId/0x39f1c00c00000000,dcid:s2CellId/0x39f1c01c00000000,dcid:s2CellId/0x39f1c03400000000,dcid:s2CellId/0x39f1c05400000000,dcid:s2CellId/0x39f1c07400000000,dcid:s2CellId/0x39f1c07c00000000,dcid:s2CellId/0x39f1c08c00000000,dcid:s2CellId/0x39f1c09400000000,dcid:s2CellId/0x39f1c09c00000000,dcid:s2CellId/0x39f1c0a400000000,dcid:s2CellId/0x39f1c0f400000000,dcid:s2CellId/0x39f1c0fc00000000,dcid:s2CellId/0x39f1c10000000000,dcid:s2CellId/0x39f1c10400000000,dcid:s2CellId/0x39f1c12c00000000,dcid:s2CellId/0x39f1c13400000000,dcid:s2CellId/0x39f1c1a400000000,dcid:s2CellId/0x39f1c1ac00000000,dcid:s2CellId/0x39f1c1bc00000000,dcid:s2CellId/0x39f1c1ec00000000,dcid:s2CellId/0x39f1c27c00000000,dcid:s2CellId/0x39f1c28400000000,dcid:s2CellId/0x39f1c2ac00000000,dcid:s2CellId/0x39f1c2b400000000,dcid:s2CellId/0x39f1c2bc00000000,dcid:s2CellId/0x39f1c2cc00000000,dcid:s2CellId/0x39f1c30000000000,dcid:s2CellId/0x39f1c6cc00000000,dcid:s2CellId/0x39f1c6ec00000000,dcid:s2CellId/0x39f1c70000000000,dcid:s2CellId/0x39f1c70c00000000,dcid:s2CellId/0x39f1c75c00000000,dcid:s2CellId/0x39f1c7ac00000000,dcid:s2CellId/0x39f1c84c00000000,dcid:s2CellId/0x39f1c85400000000,dcid:s2CellId/0x39f1c90000000000,dcid:s2CellId/0x39f1c90c00000000,dcid:s2CellId/0x39f1c96400000000,dcid:s2CellId/0x39f1c96c00000000,dcid:s2CellId/0x39f1c97c00000000,dcid:s2CellId/0x39f1c9ac00000000,dcid:s2CellId/0x39f1ca6400000000,dcid:s2CellId/0x39f1ca8c00000000,dcid:s2CellId/0x39f1ca9400000000,dcid:s2CellId/0x39f1cab400000000,dcid:s2CellId/0x39f1cabc00000000,dcid:s2CellId/0x39f1cad400000000,dcid:s2CellId/0x39f1caec00000000,dcid:s2CellId/0x39f1caf400000000,dcid:s2CellId/0x39f1cb0000000000,dcid:s2CellId/0x39f1cb0c00000000,dcid:s2CellId/0x39f1cb1400000000,dcid:s2CellId/0x39f1cb5400000000,dcid:s2CellId/0x39f1cb7400000000,dcid:s2CellId/0x39f1cb8400000000,dcid:s2CellId/0x39f1cb8c00000000,dcid:s2CellId/0x39f1cbe400000000,dcid:s2CellId/0x39f1cbf400000000,dcid:s2CellId/0x39f1cce400000000,dcid:s2CellId/0x39f1ccec00000000,dcid:s2CellId/0x39f1ccf400000000,dcid:s2CellId/0x39f1ccfc00000000,dcid:s2CellId/0x39f1cd0000000000,dcid:s2CellId/0x39f1ce9c00000000,dcid:s2CellId/0x39f1cf0000000000,dcid:s2CellId/0x39f1d2ec00000000,dcid:s2CellId/0x39f1d30000000000,dcid:s2CellId/0x39f1d8dc00000000,dcid:s2CellId/0x39f1d90000000000,dcid:s2CellId/0x39f1d94c00000000,dcid:s2CellId/0x39f1d96c00000000,dcid:s2CellId/0x39f1dd0000000000,dcid:s2CellId/0x39f1dd4c00000000,dcid:s2CellId/0x39f1dd5400000000,dcid:s2CellId/0x39f1dd6400000000,dcid:s2CellId/0x39f1dd7c00000000,dcid:s2CellId/0x39f1e50000000000,dcid:s2CellId/0x39f1e5f400000000,dcid:s2CellId/0x39f1e60400000000,dcid:s2CellId/0x39f1e61c00000000,dcid:s2CellId/0x39f1e62400000000,dcid:s2CellId/0x39f1e6e400000000,dcid:s2CellId/0x39f1e70000000000,dcid:s2CellId/0x39f1e77c00000000,dcid:s2CellId/0x39f1e78c00000000,dcid:s2CellId/0x39f1e7e400000000,dcid:s2CellId/0x39f1e7f400000000,dcid:s2CellId/0x39f1e7fc00000000,dcid:s2CellId/0x39f1e80400000000,dcid:s2CellId/0x39f1e80c00000000,dcid:s2CellId/0x39f1e82400000000,dcid:s2CellId/0x39f1e83c00000000,dcid:s2CellId/0x39f1e87400000000,dcid:s2CellId/0x39f1e88c00000000,dcid:s2CellId/0x39f1e89c00000000,dcid:s2CellId/0x39f1e8f400000000,dcid:s2CellId/0x39f1e90000000000,dcid:s2CellId/0x39f1e90400000000,dcid:s2CellId/0x39f1e9ac00000000,dcid:s2CellId/0x39f1e9ec00000000,dcid:s2CellId/0x39f1ea0c00000000,dcid:s2CellId/0x39f1ea5c00000000,dcid:s2CellId/0x39f1ea8c00000000,dcid:s2CellId/0x39f1ea9c00000000,dcid:s2CellId/0x39f1eaa400000000,dcid:s2CellId/0x39f1eaec00000000,dcid:s2CellId/0x39f1eaf400000000,dcid:s2CellId/0x39f1eb0000000000,dcid:s2CellId/0x39f1ed0000000000,dcid:s2CellId/0x39f1ed0400000000,dcid:s2CellId/0x39f1ed0c00000000,dcid:s2CellId/0x39f1ed6400000000,dcid:s2CellId/0x39f1ed6c00000000,dcid:s2CellId/0x39f1ed7400000000,dcid:s2CellId/0x39f1ed7c00000000,dcid:s2CellId/0x39f1ed9400000000,dcid:s2CellId/0x39f1ed9c00000000,dcid:s2CellId/0x39f1eda400000000,dcid:s2CellId/0x39f1edac00000000,dcid:s2CellId/0x39f1edb400000000,dcid:s2CellId/0x39f1edbc00000000,dcid:s2CellId/0x39f1edd400000000,dcid:s2CellId/0x39f1edec00000000,dcid:s2CellId/0x39f1edf400000000,dcid:s2CellId/0x39f1ee6c00000000,dcid:s2CellId/0x39f1ef0000000000,dcid:s2CellId/0x39f1efdc00000000,dcid:s2CellId/0x39f1f0d400000000,dcid:s2CellId/0x39f1f0e400000000,dcid:s2CellId/0x39f1f10000000000,dcid:s2CellId/0x39f1f15400000000,dcid:s2CellId/0x39f1f15c00000000,dcid:s2CellId/0x39f1f24400000000,dcid:s2CellId/0x39f1f24c00000000,dcid:s2CellId/0x39f1f25400000000,dcid:s2CellId/0x39f1f25c00000000,dcid:s2CellId/0x39f1f26c00000000,dcid:s2CellId/0x39f1f27400000000,dcid:s2CellId/0x39f1f27c00000000,dcid:s2CellId/0x39f1f28400000000,dcid:s2CellId/0x39f1f29400000000,dcid:s2CellId/0x39f1f29c00000000,dcid:s2CellId/0x39f1f2e400000000,dcid:s2CellId/0x39f1f2ec00000000,dcid:s2CellId/0x39f1f2f400000000,dcid:s2CellId/0x39f1f2fc00000000,dcid:s2CellId/0x39f1f30000000000,dcid:s2CellId/0x39f1f30400000000,dcid:s2CellId/0x39f1f30c00000000,dcid:s2CellId/0x39f1f31400000000,dcid:s2CellId/0x39f1f31c00000000,dcid:s2CellId/0x39f1f34400000000,dcid:s2CellId/0x39f1f36400000000,dcid:s2CellId/0x39f1f36c00000000,dcid:s2CellId/0x39f1f3ac00000000,dcid:s2CellId/0x39f1f3b400000000,dcid:s2CellId/0x39f1f3c400000000,dcid:s2CellId/0x39f1f3dc00000000,dcid:s2CellId/0x39f1f3e400000000,dcid:s2CellId/0x39f1f3fc00000000,dcid:s2CellId/0x39f1f40400000000,dcid:s2CellId/0x39f1f45400000000,dcid:s2CellId/0x39f1f45c00000000,dcid:s2CellId/0x39f1f46400000000,dcid:s2CellId/0x39f1f48c00000000,dcid:s2CellId/0x39f1f49400000000,dcid:s2CellId/0x39f1f4a400000000,dcid:s2CellId/0x39f1f4bc00000000,dcid:s2CellId/0x39f1f4ec00000000,dcid:s2CellId/0x39f1f50000000000,dcid:s2CellId/0x39f1f57400000000,dcid:s2CellId/0x39f1f57c00000000,dcid:s2CellId/0x39f1f5ac00000000,dcid:s2CellId/0x39f1f5e400000000,dcid:s2CellId/0x39f1f67c00000000,dcid:s2CellId/0x39f1f68400000000,dcid:s2CellId/0x39f1f6ac00000000,dcid:s2CellId/0x39f1f6bc00000000,dcid:s2CellId/0x39f1f70000000000,dcid:s2CellId/0x39f1f71c00000000,dcid:s2CellId/0x39f1f72c00000000,dcid:s2CellId/0x39f1f90000000000,dcid:s2CellId/0x39f1f94c00000000,dcid:s2CellId/0x39f20d0000000000,dcid:s2CellId/0x39f20d2c00000000,dcid:s2CellId/0x39f20d4400000000,dcid:s2CellId/0x39f20d4c00000000,dcid:s2CellId/0x39f20d5400000000,dcid:s2CellId/0x39f20d5c00000000,dcid:s2CellId/0x39f2108400000000,dcid:s2CellId/0x39f2109c00000000,dcid:s2CellId/0x39f210d400000000,dcid:s2CellId/0x39f210ec00000000,dcid:s2CellId/0x39f210fc00000000,dcid:s2CellId/0x39f2110000000000,dcid:s2CellId/0x39f2112c00000000,dcid:s2CellId/0x39f2121400000000,dcid:s2CellId/0x39f2123c00000000,dcid:s2CellId/0x39f2124400000000,dcid:s2CellId/0x39f2125c00000000,dcid:s2CellId/0x39f2126400000000,dcid:s2CellId/0x39f2128c00000000,dcid:s2CellId/0x39f2129c00000000,dcid:s2CellId/0x39f212d400000000,dcid:s2CellId/0x39f2130000000000,dcid:s2CellId/0x39f2132c00000000,dcid:s2CellId/0x39f2133400000000,dcid:s2CellId/0x39f2134c00000000,dcid:s2CellId/0x39f2137400000000,dcid:s2CellId/0x39f2138400000000,dcid:s2CellId/0x39f2144400000000,dcid:s2CellId/0x39f2144c00000000,dcid:s2CellId/0x39f2145400000000,dcid:s2CellId/0x39f2145c00000000,dcid:s2CellId/0x39f2146400000000,dcid:s2CellId/0x39f2146c00000000,dcid:s2CellId/0x39f2147400000000,dcid:s2CellId/0x39f2147c00000000,dcid:s2CellId/0x39f2148400000000,dcid:s2CellId/0x39f2148c00000000,dcid:s2CellId/0x39f2149400000000,dcid:s2CellId/0x39f2149c00000000,dcid:s2CellId/0x39f214ac00000000,dcid:s2CellId/0x39f214b400000000,dcid:s2CellId/0x39f214bc00000000,dcid:s2CellId/0x39f214ec00000000,dcid:s2CellId/0x39f2150000000000,dcid:s2CellId/0x39f2151c00000000,dcid:s2CellId/0x39f2152400000000,dcid:s2CellId/0x39f215b400000000,dcid:s2CellId/0x39f215cc00000000,dcid:s2CellId/0x39f2170000000000,dcid:s2CellId/0x39f2172400000000,dcid:s2CellId/0x39f2172c00000000,dcid:s2CellId/0x39f2175400000000,dcid:s2CellId/0x39f2175c00000000,dcid:s2CellId/0x39f2178400000000,dcid:s2CellId/0x39f2190000000000,dcid:s2CellId/0x39f2190400000000,dcid:s2CellId/0x39f2194400000000,dcid:s2CellId/0x39f2194c00000000,dcid:s2CellId/0x39f2195c00000000,dcid:s2CellId/0x39f2197c00000000,dcid:s2CellId/0x39f2198400000000,dcid:s2CellId/0x39f2199400000000,dcid:s2CellId/0x39f219ec00000000,dcid:s2CellId/0x39f219f400000000,dcid:s2CellId/0x39f219fc00000000,dcid:s2CellId/0x39f21a0400000000,dcid:s2CellId/0x39f21a0c00000000,dcid:s2CellId/0x39f21a1c00000000,dcid:s2CellId/0x39f21a4400000000,dcid:s2CellId/0x39f21b0000000000,dcid:s2CellId/0x39f21bc400000000,dcid:s2CellId/0x39f21bd400000000,dcid:s2CellId/0x39f21bec00000000,dcid:s2CellId/0x39f21bf400000000,dcid:s2CellId/0x39f21c0400000000,dcid:s2CellId/0x39f21c0c00000000,dcid:s2CellId/0x39f21c1400000000,dcid:s2CellId/0x39f21c1c00000000,dcid:s2CellId/0x39f21c2400000000,dcid:s2CellId/0x39f21c2c00000000,dcid:s2CellId/0x39f21d0000000000,dcid:s2CellId/0x39f21dfc00000000,dcid:s2CellId/0x39f21e1c00000000,dcid:s2CellId/0x39f21e7400000000,dcid:s2CellId/0x39f21e7c00000000,dcid:s2CellId/0x39f21e8400000000,dcid:s2CellId/0x39f21e9c00000000,dcid:s2CellId/0x39f21f0000000000,dcid:s2CellId/0x39f21f0c00000000,dcid:s2CellId/0x39f21f3c00000000,dcid:s2CellId/0x39f21f7400000000,dcid:s2CellId/0x39f21fa400000000,dcid:s2CellId/0x39f21fac00000000,dcid:s2CellId/0x39f21fb400000000,dcid:s2CellId/0x39f21fcc00000000,dcid:s2CellId/0x39f21fd400000000,dcid:s2CellId/0x39f2210000000000,dcid:s2CellId/0x39f221bc00000000,dcid:s2CellId/0x39f221ec00000000,dcid:s2CellId/0x39f2227c00000000,dcid:s2CellId/0x39f2230000000000,dcid:s2CellId/0x39f26acc00000000,dcid:s2CellId/0x39f26adc00000000,dcid:s2CellId/0x39f26b0000000000,dcid:s2CellId/0x39f26b2400000000,dcid:s2CellId/0x39f26b3c00000000,dcid:s2CellId/0x39f26b5400000000,dcid:s2CellId/0x39f26b5c00000000,dcid:s2CellId/0x39f26ca400000000,dcid:s2CellId/0x39f26cac00000000,dcid:s2CellId/0x39f26cb400000000,dcid:s2CellId/0x39f26cc400000000,dcid:s2CellId/0x39f26ccc00000000,dcid:s2CellId/0x39f26d0000000000,dcid:s2CellId/0x39f2710000000000,dcid:s2CellId/0x39f2712c00000000,dcid:s2CellId/0x39f2713400000000,dcid:s2CellId/0x39f2714c00000000,dcid:s2CellId/0x39f2717c00000000,dcid:s2CellId/0x39f2726400000000,dcid:s2CellId/0x39f2727c00000000,dcid:s2CellId/0x39f2730000000000,dcid:s2CellId/0x39f2734400000000,dcid:s2CellId/0x39f2736400000000,dcid:s2CellId/0x39f2736c00000000,dcid:s2CellId/0x39f2737400000000,dcid:s2CellId/0x39f2738400000000,dcid:s2CellId/0x39f273bc00000000,dcid:s2CellId/0x39f273d400000000,dcid:s2CellId/0x39f273f400000000,dcid:s2CellId/0x39f2743400000000,dcid:s2CellId/0x39f2744c00000000,dcid:s2CellId/0x39f2745400000000,dcid:s2CellId/0x39f2748400000000,dcid:s2CellId/0x39f2748c00000000,dcid:s2CellId/0x39f274f400000000,dcid:s2CellId/0x39f2750000000000,dcid:s2CellId/0x39f276bc00000000,dcid:s2CellId/0x39f2770000000000,dcid:s2CellId/0x39f2770c00000000,dcid:s2CellId/0x39f2771400000000,dcid:s2CellId/0x39f2773c00000000,dcid:s2CellId/0x39f2774400000000,dcid:s2CellId/0x39f2775c00000000,dcid:s2CellId/0x39f2776c00000000,dcid:s2CellId/0x39f2777400000000,dcid:s2CellId/0x39f2777c00000000,dcid:s2CellId/0x39f2788c00000000,dcid:s2CellId/0x39f2790000000000,dcid:s2CellId/0x39f2793400000000,dcid:s2CellId/0x39f2793c00000000,dcid:s2CellId/0x39f2799400000000,dcid:s2CellId/0x39f279cc00000000,dcid:s2CellId/0x39f279d400000000,dcid:s2CellId/0x39f279e400000000,dcid:s2CellId/0x39f27b0000000000,dcid:s2CellId/0x39f27b8c00000000,dcid:s2CellId/0x39f27bf400000000,dcid:s2CellId/0x39f27c1400000000,dcid:s2CellId/0x39f27c7400000000,dcid:s2CellId/0x39f27d0000000000,dcid:s2CellId/0x39f27dec00000000,dcid:s2CellId/0x39f27df400000000,dcid:s2CellId/0x39f2804c00000000,dcid:s2CellId/0x39f280bc00000000,dcid:s2CellId/0x39f2810000000000,dcid:s2CellId/0x39f2827400000000,dcid:s2CellId/0x39f2829c00000000,dcid:s2CellId/0x39f282a400000000,dcid:s2CellId/0x39f2830000000000,dcid:s2CellId/0x39f2836c00000000,dcid:s2CellId/0x39f2837400000000,dcid:s2CellId/0x39f283a400000000,dcid:s2CellId/0x39f283ac00000000,dcid:s2CellId/0x39f283b400000000,dcid:s2CellId/0x39f283f400000000,dcid:s2CellId/0x39f283fc00000000,dcid:s2CellId/0x39f286d400000000,dcid:s2CellId/0x39f286e400000000,dcid:s2CellId/0x39f2870000000000,dcid:s2CellId/0x39f29d0000000000,dcid:s2CellId/0x39f29d0400000000,dcid:s2CellId/0x39f29d2400000000,dcid:s2CellId/0x39f29e9c00000000,dcid:s2CellId/0x39f29f0000000000,dcid:s2CellId/0x39f29f2400000000,dcid:s2CellId/0x39f29f8c00000000,dcid:s2CellId/0x39f2a00400000000,dcid:s2CellId/0x39f2a10000000000,dcid:s2CellId/0x39fa58ac00000000,dcid:s2CellId/0x39fa58b400000000,dcid:s2CellId/0x39fa590000000000,dcid:s2CellId/0x39fa5b0000000000,dcid:s2CellId/0x39fa5b5c00000000,dcid:s2CellId/0x39fa5b6400000000,dcid:s2CellId/0x39fa5b9c00000000,dcid:s2CellId/0x39fa5ebc00000000,dcid:s2CellId/0x39fa5ec400000000,dcid:s2CellId/0x39fa5f0000000000,dcid:s2CellId/0x39fa5f2400000000,dcid:s2CellId/0x39fa5f3c00000000,dcid:s2CellId/0x39fa5f4400000000,dcid:s2CellId/0x39fa5f4c00000000,dcid:s2CellId/0x39fa5f5400000000,dcid:s2CellId/0x39fa5f5c00000000,dcid:s2CellId/0x39fa8d0000000000,dcid:s2CellId/0x39fa8d5400000000,dcid:s2CellId/0x39fa8d5c00000000,dcid:s2CellId/0x39fa8d6400000000,dcid:s2CellId/0x39fa8d7c00000000,dcid:s2CellId/0x39fa8d8400000000,dcid:s2CellId/0x39fa922c00000000,dcid:s2CellId/0x39fa923400000000,dcid:s2CellId/0x39fa923c00000000,dcid:s2CellId/0x39fa924400000000,dcid:s2CellId/0x39fa924c00000000,dcid:s2CellId/0x39fa926c00000000,dcid:s2CellId/0x39fa927400000000,dcid:s2CellId/0x39fa927c00000000,dcid:s2CellId/0x39fa928400000000,dcid:s2CellId/0x39fa92a400000000,dcid:s2CellId/0x39fa930000000000,dcid:s2CellId/0x39fa93b400000000,dcid:s2CellId/0x39fa93c400000000,dcid:s2CellId/0x39fa93cc00000000,dcid:s2CellId/0x39fa93d400000000,dcid:s2CellId/0x39fa93dc00000000,dcid:s2CellId/0x39fa93ec00000000,dcid:s2CellId/0x39fa93fc00000000,dcid:s2CellId/0x39fa945c00000000,dcid:s2CellId/0x39fa946400000000,dcid:s2CellId/0x39fa946c00000000,dcid:s2CellId/0x39fa947400000000,dcid:s2CellId/0x39fa94e400000000,dcid:s2CellId/0x39fa94fc00000000,dcid:s2CellId/0x39fa950000000000,dcid:s2CellId/0x39fa950400000000,dcid:s2CellId/0x39fa951400000000,dcid:s2CellId/0x39fa951c00000000,dcid:s2CellId/0x39fa956400000000,dcid:s2CellId/0x39fa956c00000000,dcid:s2CellId/0x39fa957400000000,dcid:s2CellId/0x39fa957c00000000,dcid:s2CellId/0x39fa958400000000,dcid:s2CellId/0x39fa958c00000000,dcid:s2CellId/0x39fa962400000000,dcid:s2CellId/0x39fa970000000000,dcid:s2CellId/0x39fa97e400000000,dcid:s2CellId/0x39fa97fc00000000,dcid:s2CellId/0x39fa980400000000,dcid:s2CellId/0x39fa980c00000000,dcid:s2CellId/0x39fa987400000000,dcid:s2CellId/0x39fa987c00000000,dcid:s2CellId/0x39fa988400000000,dcid:s2CellId/0x39fa988c00000000,dcid:s2CellId/0x39fa989c00000000,dcid:s2CellId/0x39fa990000000000,dcid:s2CellId/0x39faa05c00000000,dcid:s2CellId/0x39faa06400000000,dcid:s2CellId/0x39faa06c00000000,dcid:s2CellId/0x39faa07c00000000,dcid:s2CellId/0x39faa08400000000,dcid:s2CellId/0x39faa09c00000000,dcid:s2CellId/0x39faa0cc00000000,dcid:s2CellId/0x39faa0d400000000,dcid:s2CellId/0x39faa10000000000,dcid:s2CellId/0x39faa10c00000000,dcid:s2CellId/0x39faa11c00000000,dcid:s2CellId/0x39faa12400000000,dcid:s2CellId/0x39faa13400000000,dcid:s2CellId/0x39faa13c00000000,dcid:s2CellId/0x39faa14400000000,dcid:s2CellId/0x39faa14c00000000,dcid:s2CellId/0x39faa18400000000,dcid:s2CellId/0x39faa19c00000000,dcid:s2CellId/0x39faa1dc00000000,dcid:s2CellId/0x39faa1e400000000,dcid:s2CellId/0x39faa27400000000,dcid:s2CellId/0x39faa27c00000000,dcid:s2CellId/0x39faa2ac00000000,dcid:s2CellId/0x39faa2f400000000,dcid:s2CellId/0x39faa30000000000,dcid:s2CellId/0x39faa65400000000,dcid:s2CellId/0x39faa6b400000000,dcid:s2CellId/0x39faa6bc00000000,dcid:s2CellId/0x39faa6c400000000,dcid:s2CellId/0x39faa70000000000,dcid:s2CellId/0x39faa70400000000,dcid:s2CellId/0x39faa71400000000,dcid:s2CellId/0x39faa71c00000000,dcid:s2CellId/0x39faa72400000000,dcid:s2CellId/0x39faa74c00000000,dcid:s2CellId/0x39faa75400000000,dcid:s2CellId/0x39faa75c00000000,dcid:s2CellId/0x39faa78c00000000,dcid:s2CellId/0x39faa79400000000,dcid:s2CellId/0x39faa7a400000000,dcid:s2CellId/0x39faa7ac00000000,dcid:s2CellId/0x39faa7bc00000000,dcid:s2CellId/0x39fab10000000000,dcid:s2CellId/0x39fab12400000000,dcid:s2CellId/0x39fabb0000000000,dcid:s2CellId/0x39fabbc400000000,dcid:s2CellId/0x39fabbcc00000000,dcid:s2CellId/0x39fabc3c00000000,dcid:s2CellId/0x39fabc8c00000000,dcid:s2CellId/0x39fabd0000000000,dcid:s2CellId/0x39fabde400000000,dcid:s2CellId/0x39fabe0400000000,dcid:s2CellId/0x39fabe1c00000000,dcid:s2CellId/0x39fabe2400000000,dcid:s2CellId/0x39fabe2c00000000,dcid:s2CellId/0x39fabe3400000000,dcid:s2CellId/0x39fabe3c00000000,dcid:s2CellId/0x39fabe4c00000000,dcid:s2CellId/0x39fabf0000000000,dcid:s2CellId/0x39fabfcc00000000,dcid:s2CellId/0x39fabfd400000000,dcid:s2CellId/0x39fabfdc00000000,dcid:s2CellId/0x39faea5400000000,dcid:s2CellId/0x39faeabc00000000,dcid:s2CellId/0x39faeafc00000000,dcid:s2CellId/0x39faeb0000000000,dcid:s2CellId/0x39faebac00000000,dcid:s2CellId/0x39faec5c00000000,dcid:s2CellId/0x39faec8c00000000,dcid:s2CellId/0x39faed0000000000,dcid:s2CellId/0x39faf10000000000,dcid:s2CellId/0x39faf12c00000000,dcid:s2CellId/0x39faf17400000000,dcid:s2CellId/0x39faf18400000000,dcid:s2CellId/0x39faf22c00000000,dcid:s2CellId/0x39faf23400000000,dcid:s2CellId/0x39faf24400000000,dcid:s2CellId/0x39faf24c00000000,dcid:s2CellId/0x39faf25400000000,dcid:s2CellId/0x39faf2dc00000000,dcid:s2CellId/0x39faf2e400000000,dcid:s2CellId/0x39faf2fc00000000,dcid:s2CellId/0x39faf30000000000,dcid:s2CellId/0x39faf50000000000,dcid:s2CellId/0x39faf5c400000000,dcid:s2CellId/0x39faf5cc00000000,dcid:s2CellId/0x39faf5d400000000,dcid:s2CellId/0x39faf5e400000000,dcid:s2CellId/0x39faf5ec00000000,dcid:s2CellId/0x39faf5f400000000,dcid:s2CellId/0x39faf5fc00000000,dcid:s2CellId/0x39faf69400000000,dcid:s2CellId/0x39faf69c00000000,dcid:s2CellId/0x39faf6c400000000,dcid:s2CellId/0x39faf70000000000,dcid:s2CellId/0x39faf72c00000000",910.355 +"floodEvent/2022-10_0x39ee6d0000000000","2022-10","dcid:s2CellId/0x39ee110000000000,dcid:s2CellId/0x39ee11bc00000000,dcid:s2CellId/0x39ee6d0000000000,dcid:s2CellId/0x39ee6d2c00000000",1.791 +"floodEvent/2022-10_0x398dad0000000000","2022-10","dcid:s2CellId/0x398dad0000000000,dcid:s2CellId/0x398dad0c00000000,dcid:s2CellId/0x398dad1400000000",1.807 +"floodEvent/2022-10_0x39f2cf0000000000","2022-10","dcid:s2CellId/0x39f2ce6400000000,dcid:s2CellId/0x39f2cf0000000000,dcid:s2CellId/0x39f2d01c00000000,dcid:s2CellId/0x39f2d10000000000",1.804 +"floodEvent/2022-10_0x39e5410000000000","2022-10","dcid:s2CellId/0x39e5410000000000,dcid:s2CellId/0x39e5413400000000,dcid:s2CellId/0x39e5489400000000,dcid:s2CellId/0x39e5490000000000,dcid:s2CellId/0x39e5493400000000,dcid:s2CellId/0x39e5495400000000,dcid:s2CellId/0x39e54ed400000000,dcid:s2CellId/0x39e54f0000000000",4.482 +"floodEvent/2022-10_0x39f1a90000000000","2022-10","dcid:s2CellId/0x39f1070000000000,dcid:s2CellId/0x39f1072400000000,dcid:s2CellId/0x39f1a90000000000,dcid:s2CellId/0x39f1a95c00000000",1.806 diff --git a/scripts/earthengine/test_data/sample_floods_svobs.tmcf b/scripts/earthengine/test_data/sample_floods_svobs.tmcf index d49575dbff..8ec4fd7abe 100644 --- a/scripts/earthengine/test_data/sample_floods_svobs.tmcf +++ b/scripts/earthengine/test_data/sample_floods_svobs.tmcf @@ -3,5 +3,4 @@ typeOf: C:SVObs->dcid:StatVarObservation dcid: C:SVObs->dcid observationDate: C:SVObs->observationDate affectedPlace: C:SVObs->affectedPlace -area: C:SVObs->area -observationDate: C:SVObs->observationDate \ No newline at end of file +area: C:SVObs->area \ No newline at end of file diff --git a/scripts/earthengine/utils.py b/scripts/earthengine/utils.py index 969254e210..4cd91a3c10 100644 --- a/scripts/earthengine/utils.py +++ b/scripts/earthengine/utils.py @@ -14,31 +14,32 @@ """Utility functions""" import csv -import datacommons as dc import datetime +from datetime import date +from datetime import datetime import glob import os import pickle import re -import s2sphere import sys import tempfile +from typing import Union from absl import logging -from datetime import date -from datetime import datetime +import datacommons as dc from dateutil.relativedelta import relativedelta from geopy import distance -from s2sphere import LatLng, Cell, CellId +import s2sphere +from s2sphere import Cell, CellId, LatLng from shapely.geometry import Polygon -from typing import Union _SCRIPTS_DIR = os.path.dirname(__file__) sys.path.append(_SCRIPTS_DIR) sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) sys.path.append( - os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util')) + os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util') +) from config_map import ConfigMap, read_py_dict_from_file, write_py_dict_to_file from dc_api_wrapper import dc_api_wrapper @@ -47,468 +48,514 @@ def dict_filter_values(pvs: dict, config: dict = {}) -> bool: - '''Returns true if the property values are allowed by the config. + """Returns true if the property values are allowed by the config. + removes the properties not allowed by the config from the dict. Args: pvs: dictionary with property values to be filtered. - config: dictionary with a per property filter settings: - { - : { - 'min': ', - 'max': ', - 'regex': ', - }, - } + config: dictionary with a per property filter settings: { : { 'min': + ', 'max': ', 'regex': ', }, } + Returns: True if the key:values in pvs meet all config criteria. - ''' - props = list(pvs.keys()) - is_allowed = True - for p in props: - value = pvs.get(p, None) - allow_value = True - if value is None: + """ + props = list(pvs.keys()) + is_allowed = True + for p in props: + value = pvs.get(p, None) + allow_value = True + if value is None: + allow_value = False + else: + prop_config = config.get(p, config) + if prop_config: + if 'min' in prop_config: + if value < prop_config['min']: + allow_value = False + if 'max' in prop_config: + if value > prop_config['max']: + allow_value = False + if 'regex' in prop_config: + if not isinstance(value, str): + value = str(value) + matches = re.search(prop_config['regex'], value) + if not matches: allow_value = False - else: - prop_config = config.get(p, config) - if prop_config: - if 'min' in prop_config: - if value < prop_config['min']: - allow_value = False - if 'max' in prop_config: - if value > prop_config['max']: - allow_value = False - if 'regex' in prop_config: - if not isinstance(value, str): - value = str(value) - matches = re.search(prop_config['regex'], value) - if not matches: - allow_value = False - if 'ignore' in prop_config: - if not isinstance(value, str): - value = str(value) - matches = re.search(prop_config['ignore'], value) - if matches: - allow_value = False - if not allow_value: - pvs.pop(p) - is_allowed = False - return is_allowed + if 'ignore' in prop_config: + if not isinstance(value, str): + value = str(value) + matches = re.search(prop_config['ignore'], value) + if matches: + allow_value = False + if not allow_value: + pvs.pop(p) + is_allowed = False + return is_allowed # Utilities related to S2 Cells def is_s2_cell_id(dcid: str) -> bool: - '''Returns true if the dcid is an s2 cell id.''' - return strip_namespace(dcid).startswith('s2CellId/') + """Returns true if the dcid is an s2 cell id.""" + return strip_namespace(dcid).startswith('s2CellId/') def s2_cell_from_latlng(lat: float, lng: float, level: int) -> CellId: - '''Returns an S2 CellId object of level for the given location lat/lng. + """Returns an S2 CellId object of level for the given location lat/lng. - Args: - lat: Latitude in degrees - lng: Longitude in degrees - level: desired S2 level for cell id. - Should be <30, the max s2 level supported. + Args: + lat: Latitude in degrees + lng: Longitude in degrees + level: desired S2 level for cell id. Should be <30, the max s2 level + supported. - Returns: - CellId object oof the desired level that contains the lat/lng point. - ''' - assert level >= 0 and level <= 30 - ll = s2sphere.LatLng.from_degrees(lat, lng) - cell = s2sphere.CellId.from_lat_lng(ll) - if level < 30: - cell = cell.parent(level) - return cell + Returns: + CellId object oof the desired level that contains the lat/lng point. + """ + assert level >= 0 and level <= 30 + ll = s2sphere.LatLng.from_degrees(lat, lng) + cell = s2sphere.CellId.from_lat_lng(ll) + if level < 30: + cell = cell.parent(level) + return cell def s2_cell_to_hex_str(s2cell_id: Union[int, CellId]) -> str: - '''Returns the s2 cell id in hex.''' - if isinstance(s2cell_id, CellId): - s2cell_id = s2cell_id.id() - return f'{s2cell_id:#018x}' + """Returns the s2 cell id in hex.""" + if isinstance(s2cell_id, CellId): + s2cell_id = s2cell_id.id() + return f'{s2cell_id:#018x}' def s2_cell_to_dcid(s2cell_id: Union[int, CellId]) -> str: - '''Returns the dcid for the s2 cell of the form s2CellId/0x1234.''' - if isinstance(s2cell_id, CellId): - s2cell_id = s2cell_id.id() - return 'dcid:s2CellId/' + s2_cell_to_hex_str(s2cell_id) + """Returns the dcid for the s2 cell of the form s2CellId/0x1234.""" + if isinstance(s2cell_id, CellId): + s2cell_id = s2cell_id.id() + return 'dcid:s2CellId/' + s2_cell_to_hex_str(s2cell_id) def s2_cell_from_dcid(s2_dcid: Union[str, int, CellId]) -> CellId: - '''Returns the s2 CellId object for the s2 cell.''' - if isinstance(s2_dcid, str): - return s2sphere.CellId(int(s2_dcid[s2_dcid.find('/') + 1:], 16)) - if isinstance(s2_dcid, int): - return s2sphere.CellId(s2_dcid) - if isinstance(s2_dcid, s2sphere.CellId): - return s2_dcid - return None + """Returns the s2 CellId object for the s2 cell.""" + if isinstance(s2_dcid, str): + return s2sphere.CellId(int(s2_dcid[s2_dcid.find('/') + 1 :], 16)) + if isinstance(s2_dcid, int): + return s2sphere.CellId(s2_dcid) + if isinstance(s2_dcid, s2sphere.CellId): + return s2_dcid + return None def s2_cell_latlng_dcid(lat: float, lng: float, level: int) -> str: - '''Returns dcid of the s2 cell of given level containing the point lat/lng.''' - return s2_cell_to_dcid(s2_cell_from_latlng(lat, lng, level).id()) + """Returns dcid of the s2 cell of given level containing the point lat/lng.""" + return s2_cell_to_dcid(s2_cell_from_latlng(lat, lng, level).id()) def s2_cells_distance(cell_id1: int, cell_id2: int) -> float: - '''Returns the distance between the centroid of two S2 cells in kilometers.''' - p1 = CellId(cell_id1).to_lat_lng() - p2 = CellId(cell_id2).to_lat_lng() - return distance.distance((p1.lat().degrees, p1.lng().degrees), - (p2.lat().degrees, p2.lng().degrees)).km + """Returns the distance between the centroid of two S2 cells in kilometers.""" + p1 = CellId(cell_id1).to_lat_lng() + p2 = CellId(cell_id2).to_lat_lng() + return distance.distance( + (p1.lat().degrees, p1.lng().degrees), (p2.lat().degrees, p2.lng().degrees) + ).km def s2_cell_area(cell_id: s2sphere.CellId) -> float: - '''Returns the area of the S2 cell in sqkm + """Returns the area of the S2 cell in sqkm - Converts the are of the S2 cell into sqkm using a fixed radius of 6371 km. + Converts the are of the S2 cell into sqkm using a fixed radius of 6371 km. - Args: - cell_id: S2 CellId + Args: + cell_id: S2 CellId - Returns: - Area of the cell in sq km. - ''' - _EARTH_RADIUS = 6371 # Radius of Earth in Km. - s2_cell = s2_cell_from_dcid(cell_id) - return s2sphere.Cell(s2_cell).exact_area() * _EARTH_RADIUS * _EARTH_RADIUS + Returns: + Area of the cell in sq km. + """ + _EARTH_RADIUS = 6371 # Radius of Earth in Km. + s2_cell = s2_cell_from_dcid(cell_id) + return s2sphere.Cell(s2_cell).exact_area() * _EARTH_RADIUS * _EARTH_RADIUS def s2_cell_get_neighbor_ids(s2_cell_id: str) -> list: - '''Returns a list of neighbouring cell dcids for a given s2 cell dcid. - An interior cell will have 8 neighbours: 3 above, 1 left, 1 right and 3 below. - A cell near the edge may have a subset of these. - ''' - s2_cell = s2_cell_from_dcid(s2_cell_id) - return [ - s2_cell_to_dcid(cell) - for cell in s2_cell.get_all_neighbors(s2_cell.level()) - ] + """Returns a list of neighbouring cell dcids for a given s2 cell dcid. + + An interior cell will have 8 neighbours: 3 above, 1 left, 1 right and 3 below. + A cell near the edge may have a subset of these. + """ + s2_cell = s2_cell_from_dcid(s2_cell_id) + return [ + s2_cell_to_dcid(cell) + for cell in s2_cell.get_all_neighbors(s2_cell.level()) + ] def s2_cell_to_polygon(s2_cell_id: str) -> Polygon: - '''Returns the polygon with 4 vertices for an s2 cell.''' - s2_cell = Cell(s2_cell_from_dcid(s2_cell_id)) - if not s2_cell: - return None - # Get vertices for all corners. - vertices = [] - for index in range(4): - point = s2_cell.get_vertex(index) - ll = LatLng.from_point(point) - vertices.append((ll.lng().degrees, ll.lat().degrees)) - vertices.append(vertices[0]) - # Create a polygon for the vertices. - return Polygon(vertices) - - -def latlng_cell_area(lat: float, lng: float, height: float, - width: float) -> float: - '''Returns the area of the rectangular region in sqkm. - Args: - lat: latitude of a corner in degrees - lng: Longitude of a corner in degrees - width: width in degrees - height: height in degrees - Returns: - area in square kilometers.''' - try: - bottom_left = (lat, lng) - top_left = (min(90, lat + height), lng) - bottom_right = (lat, min(lng + width, 180)) - width_km = distance.geodesic(bottom_left, bottom_right).km - height_km = distance.geodesic(top_left, bottom_left).km - return width_km * height_km - except ValueError: - logging.error(f'Invalid coordinates for area: {locals()}') - return 0 + """Returns the polygon with 4 vertices for an s2 cell.""" + s2_cell = Cell(s2_cell_from_dcid(s2_cell_id)) + if not s2_cell: + return None + # Get vertices for all corners. + vertices = [] + for index in range(4): + point = s2_cell.get_vertex(index) + ll = LatLng.from_point(point) + vertices.append((ll.lng().degrees, ll.lat().degrees)) + vertices.append(vertices[0]) + # Create a polygon for the vertices. + return Polygon(vertices) + + +def latlng_cell_area( + lat: float, lng: float, height: float, width: float +) -> float: + """Returns the area of the rectangular region in sqkm. + + Args: + lat: latitude of a corner in degrees + lng: Longitude of a corner in degrees + width: width in degrees + height: height in degrees + + Returns: + area in square kilometers. + """ + try: + bottom_left = (lat, lng) + top_left = (min(90, lat + height), lng) + bottom_right = (lat, min(lng + width, 180)) + width_km = distance.geodesic(bottom_left, bottom_right).km + height_km = distance.geodesic(top_left, bottom_left).km + return width_km * height_km + except ValueError: + logging.error(f'Invalid coordinates for area: {locals()}') + return 0 # Utilities for grid ids. def is_grid_id(dcid: str) -> bool: - '''Returns true if the dcid is a grid id.''' - return strip_namespace(dcid).startswith('grid_') + """Returns true if the dcid is a grid id.""" + return strip_namespace(dcid).startswith('grid_') def is_ipcc_id(dcid: str) -> bool: - '''Returns true if the dcid is an ipcc grid id.''' - return strip_namespace(dcid).startswith('ipcc_') - - -def grid_id_from_lat_lng(degrees: float, - lat: float, - lng: float, - prefix: str = 'grid_', - suffix: str = '') -> str: - '''Returns the dcid for grid of given degrees for the lat/lng.''' - # Get lat/lng rounded to the grid degrees - degree_str = str_from_number(degrees) - if prefix == 'ipcc_': - degree_str = str_from_number(int(degrees * 100)) - lat_str = str_from_number(lat, 2) - lng_str = str_from_number(lng, 2) - return f'dcid:{prefix}{degree_str}/{lat_str}_{lng_str}{suffix}' + """Returns true if the dcid is an ipcc grid id.""" + return strip_namespace(dcid).startswith('ipcc_') + + +def grid_id_from_lat_lng( + degrees: float, + lat: float, + lng: float, + prefix: str = 'grid_', + suffix: str = '', + lat_offset: float = 0, + lng_offset: float = 0, +) -> str: + """Returns the dcid for grid of given degrees for the lat/lng.""" + # Get lat/lng rounded to the grid degrees + degree_str = str_from_number(degrees) + if prefix == 'ipcc_': + degree_str = str_from_number(int(degrees * 100)) + lat_rounded = int(lat / degrees) * degrees + lat_offset + lng_rounded = int(lng / degrees) * degrees + lng_offset + lat_str = str_from_number(lat_rounded, 2) + lng_str = str_from_number(lng_rounded, 2) + return f'dcid:{prefix}{degree_str}/{lat_str}_{lng_str}{suffix}' def grid_id_to_deg_lat_lng( - grid_id: str, default_deg: float = 1) -> (float, float, float, str): - '''Returns a tuple of degree, latitude longitude, suffix for the grid id.''' - grid = strip_namespace(grid_id) - deg, lat_lng = grid.split('/', 1) - if deg is not None: - deg = deg[deg.find('_') + 1:] - deg = float(deg) - else: - deg = default_deg - if is_ipcc_id(grid_id): - # Decimal degrees are represented with fractional part. - deg = deg / 100 - if lat_lng: - latlngs = lat_lng.split('_') - lat = float(latlngs[0]) - lng = float(latlngs[1]) - suffix = '' - if len(latlngs) > 2 and latlngs[2]: - suffix = '_' + latlngs[2] - return (deg, lat, lng, suffix) + grid_id: str, default_deg: float = 1 +) -> (float, float, float, str): + """Returns a tuple of degree, latitude longitude, suffix for the grid id.""" + grid = strip_namespace(grid_id) + deg, lat_lng = grid.split('/', 1) + if deg is not None: + deg = deg[deg.find('_') + 1 :] + deg = float(deg) + else: + deg = default_deg + if is_ipcc_id(grid_id): + # Decimal degrees are represented with fractional part. + deg = deg / 100 + if lat_lng: + latlngs = lat_lng.split('_') + lat = float(latlngs[0]) + lng = float(latlngs[1]) + lat_offset = lat - int(lat / deg) * deg + lng_offset = lng - int(lng / deg) * deg + suffix = '' + if len(latlngs) > 2 and latlngs[2]: + suffix = '_' + latlngs[2] + return (deg, lat, lng, lat_offset, lng_offset, suffix) def grid_get_neighbor_ids(grid_id: str) -> list: - '''Returns all the 8 neighbour ids of the grid.''' - grid_id = strip_namespace(grid_id) - prefix = grid_id[:grid_id.find('_') + 1] - deg, lat, lng, suffix = grid_id_to_deg_lat_lng(grid_id) - neighbours = [] - for lat_offset in [-1, 0, 1]: - for lng_offset in [-1, 0, 1]: - if lat_offset != 0 or lng_offset != 0: - neighbour_lat = lat + lat_offset * deg - neighbour_lng = lng + lng_offset * deg - if abs(neighbour_lat) < 90.0 and abs(neighbour_lng) < 180: - neighbours.append( - grid_id_from_lat_lng(deg, neighbour_lat, neighbour_lng, - prefix, suffix)) - return neighbours + """Returns all the 8 neighbour ids of the grid.""" + grid_id = strip_namespace(grid_id) + prefix = grid_id[: grid_id.find('_') + 1] + deg, lat, lng, lat_deg_offset, lng_deg_offset, suffix = ( + grid_id_to_deg_lat_lng(grid_id) + ) + neighbours = [] + for lat_offset in [-1, 0, 1]: + for lng_offset in [-1, 0, 1]: + if lat_offset != 0 or lng_offset != 0: + neighbour_lat = lat + lat_offset * deg + neighbour_lng = lng + lng_offset * deg + if abs(neighbour_lat) < 90.0 and abs(neighbour_lng) < 180: + neighbours.append( + grid_id_from_lat_lng( + deg, + neighbour_lat, + neighbour_lng, + prefix, + suffix, + lat_deg_offset, + lng_deg_offset, + ) + ) + return neighbours def grid_ids_distance(grid1: str, grid2: str) -> float: - '''Returns the distance between grid points.''' - deg1, lat1, lng1, suffix1 = grid_id_to_deg_lat_lng(grid1) - deg2, lat2, lng2, suffix2 = grid_id_to_deg_lat_lng(grid2) - return distance.distance((lat1, lng1), (lat2, lng2)).km + """Returns the distance between grid points.""" + deg1, lat1, lng1, lat1_offset, lng1_offset, suffix1 = grid_id_to_deg_lat_lng( + grid1 + ) + deg2, lat2, lng2, lat2_offset, lng2_offset, suffix2 = grid_id_to_deg_lat_lng( + grid2 + ) + return distance.distance((lat1, lng1), (lat2, lng2)).km def grid_area(grid: str) -> float: - '''Returns the area for the grid.''' - deg, lat, lng, suffix = grid_id_to_deg_lat_lng(grid) - return latlng_cell_area(lat, lng, deg, deg) + """Returns the area for the grid.""" + deg, lat, lng, lat_offset, lng_offset, suffix = grid_id_to_deg_lat_lng(grid) + return latlng_cell_area(lat, lng, deg, deg) def grid_to_polygon(grid: str) -> Polygon: - '''Returns the rectangular polygon for the grid. - Assumes the lat/lng from the dcid is the center.''' - deg, lat, lng, suffix = grid_id_to_deg_lat_lng(grid) - bottom_left_lat = max(lat - deg / 2, -90) - bottom_left_lng = max(lng - deg / 2, -180) - return Polygon.from_bounds(bottom_left_lng, bottom_left_lat, - min(bottom_left_lng + deg, 180), - min(bottom_left_lat + deg, 90)) - - -def place_id_to_lat_lng(placeid: str, - dc_api_lookup: bool = True) -> (float, float): - '''Returns the lat/lng degrees for the place.''' - lat = None - lng = None - if is_s2_cell_id(placeid): - s2_cell = s2_cell_from_dcid(placeid) - point = s2_cell.to_lat_lng() - return (point.lat().degrees, point.lng().degrees) - if is_grid_id(placeid) or is_ipcc_id(placeid): - deg, lat, lng, suffix = grid_id_to_deg_lat_lng(placeid) - elif dc_api_lookup: - # Get the lat/lng from the DC API - latlng = [] - for prop in ['latitude', 'longitude']: - # dc.utils._API_ROOT = 'http://autopush.api.datacommons.org' - # resp = dc.get_property_values([placeid], prop) - resp = dc_api_wrapper( - function=dc.get_property_values, - args={ - 'dcids': [placeid], - 'prop': prop, - }, - use_cache=True, - api_root='http://autopush.api.datacommons.org') - if not resp or placeid not in resp: - return (0, 0) - values = resp[placeid] - if not len(values): - return (0, 0) - latlng.append(float(values[0])) - lat = latlng[0] - lng = latlng[1] - return (lat, lng) + """Returns the rectangular polygon for the grid. + + Assumes the lat/lng from the dcid is the center. + """ + deg, lat, lng, lat_offset, lng_offset, suffix = grid_id_to_deg_lat_lng(grid) + bottom_left_lat = max(lat - deg / 2, -90) + bottom_left_lng = max(lng - deg / 2, -180) + return Polygon.from_bounds( + bottom_left_lng, + bottom_left_lat, + min(bottom_left_lng + deg, 180), + min(bottom_left_lat + deg, 90), + ) + + +def place_id_to_lat_lng( + placeid: str, dc_api_lookup: bool = True +) -> (float, float): + """Returns the lat/lng degrees for the place.""" + lat = None + lng = None + if is_s2_cell_id(placeid): + s2_cell = s2_cell_from_dcid(placeid) + point = s2_cell.to_lat_lng() + return (point.lat().degrees, point.lng().degrees) + if is_grid_id(placeid) or is_ipcc_id(placeid): + deg, lat, lng, lat_offset, lng_offset, suffix = grid_id_to_deg_lat_lng( + placeid + ) + elif dc_api_lookup: + # Get the lat/lng from the DC API + latlng = [] + for prop in ['latitude', 'longitude']: + # dc.utils._API_ROOT = 'http://autopush.api.datacommons.org' + # resp = dc.get_property_values([placeid], prop) + resp = dc_api_wrapper( + function=dc.get_property_values, + args={ + 'dcids': [placeid], + 'prop': prop, + }, + use_cache=True, + api_root='http://autopush.api.datacommons.org', + ) + if not resp or placeid not in resp: + return (0, 0) + values = resp[placeid] + if not len(values): + return (0, 0) + latlng.append(float(values[0])) + lat = latlng[0] + lng = latlng[1] + return (lat, lng) def place_distance(place1: str, place2: str) -> float: - '''Returns the distance between two places.''' - lat1, lng1 = place_id_to_lat_lng(place1) - lat2, lng2 = place_id_to_lat_lng(place2) - return distance.distance((lat1, lng1), (lat2, lng2)).km + """Returns the distance between two places.""" + lat1, lng1 = place_id_to_lat_lng(place1) + lat2, lng2 = place_id_to_lat_lng(place2) + return distance.distance((lat1, lng1), (lat2, lng2)).km def place_area(place: str) -> float: - '''Returns the area for the place in sqkm.''' - if is_s2_cell_id(place): - s2_cell = s2_cell_from_dcid(place) - return s2_cell_area(s2_cell) - if is_grid_id(place) or is_ipcc_id(place): - return grid_area(place) - # Unknown place type - return 0 + """Returns the area for the place in sqkm.""" + if is_s2_cell_id(place): + s2_cell = s2_cell_from_dcid(place) + return s2_cell_area(s2_cell) + if is_grid_id(place) or is_ipcc_id(place): + return grid_area(place) + # Unknown place type + return 0 def place_to_polygon(place_id: str) -> Polygon: - '''Returns the polygon for the place.''' - if is_s2_cell_id(place_id): - return s2_cell_to_polygon(place_id) - if is_grid_id(place_id) or is_ipcc_id(place_id): - return grid_to_polygon(place_id) - return None + """Returns the polygon for the place.""" + if is_s2_cell_id(place_id): + return s2_cell_to_polygon(place_id) + if is_grid_id(place_id) or is_ipcc_id(place_id): + return grid_to_polygon(place_id) + return None # String utilities def strip_namespace(dcid: str) -> str: - '''Returns the id without the namespace prefix.''' - return dcid[dcid.find(':') + 1:] + """Returns the id without the namespace prefix.""" + return dcid[dcid.find(':') + 1 :] def add_namespace(dcid: str, prefix: str = 'dcid:') -> str: - '''Returns the dcid with the namespace set to prefix.''' - return f'{prefix}{strip_namespace(dcid)}' + """Returns the dcid with the namespace set to prefix.""" + return f'{prefix}{strip_namespace(dcid)}' def str_get_numeric_value( - value: Union[str, list, int, float]) -> Union[int, float, None]: - '''Returns the numeric value from input string or None.''' - if isinstance(value, list): - value = value[0] - if isinstance(value, int) or isinstance(value, float): - return value - if value and isinstance(value, str): - normalized_value = value.strip() - if not normalized_value: - return None - if (normalized_value[0].isdigit() or normalized_value[0] == '.' or - normalized_value[0] == '-' or normalized_value[0] == '+'): - # Input looks like a number. Remove allowed extra characters. - # Parse numbers of the form 10,000,000 or 20,00,000. - normalized_value = normalized_value.replace(',', '') - if normalized_value.count('.') > 1: - # Period may be used instead of commas. Remove it. - normalized_value = normalized_value.replace('.', '') - try: - if normalized_value.count('.') == 1: - return float(normalized_value) - if normalized_value.startswith('0x'): - return int(normalized_value, 16) - return int(normalized_value) - except ValueError: - # Value is not a number. Ignore it. - return None - return None + value: Union[str, list, int, float] +) -> Union[int, float, None]: + """Returns the numeric value from input string or None.""" + if isinstance(value, list): + value = value[0] + if isinstance(value, int) or isinstance(value, float): + return value + if value and isinstance(value, str): + normalized_value = value.strip() + if not normalized_value: + return None + if ( + normalized_value[0].isdigit() + or normalized_value[0] == '.' + or normalized_value[0] == '-' + or normalized_value[0] == '+' + ): + # Input looks like a number. Remove allowed extra characters. + # Parse numbers of the form 10,000,000 or 20,00,000. + normalized_value = normalized_value.replace(',', '') + if normalized_value.count('.') > 1: + # Period may be used instead of commas. Remove it. + normalized_value = normalized_value.replace('.', '') + try: + if normalized_value.count('.') == 1: + return float(normalized_value) + if normalized_value.startswith('0x'): + return int(normalized_value, 16) + return int(normalized_value) + except ValueError: + # Value is not a number. Ignore it. + return None + return None -def str_from_number(number: Union[int, float], - precision_digits: int = None) -> str: - '''Returns the number converted to string. - Ints and floats with 0 decimal parts get int strings. - Floats get precision digits.''' - # Check if number is an integer or float without any decimals. - if int(number) == number: - number_int = int(number) - return f'{number_int}' - # Return float rounded to precision digits. - if precision_digits: - number = round(number, precision_digits) - return f'{number}' +def str_from_number( + number: Union[int, float], precision_digits: int = None +) -> str: + """Returns the number converted to string. + + Ints and floats with 0 decimal parts get int strings. Floats get precision + digits. + """ + # Check if number is an integer or float without any decimals. + if int(number) == number: + number_int = int(number) + return f'{number_int}' + # Return float rounded to precision digits. + if precision_digits: + number = round(number, precision_digits) + return f'{number}' def str_format_float(data: float, precision_digits: int = 6): - if isinstance(data, float): - return f'{data:.{precision_digits}f}' - return data + if isinstance(data, float): + return f'{data:.{precision_digits}f}' + return data # Date utilities def date_today(date_format: str = '%Y-%m-%d') -> str: - '''Returns today's date in the given format.''' - return date.today().strftime(date_format) + """Returns today's date in the given format.""" + return date.today().strftime(date_format) def date_yesterday(date_format: str = '%Y-%m-%d') -> str: - '''Returns today's date in the given format.''' - return date_advance_by_period(date_today(date_format), '-1d', date_format) + """Returns today's date in the given format.""" + return date_advance_by_period(date_today(date_format), '-1d', date_format) def date_parse_time_period(time_period: str) -> (int, str): - '''Parse time period into a tuple of (number, unit), - for eg: for 'P1M' returns (1, month). - Time period is assumed to be of the form: P - where duration is a letter: D: days, M; months, Y: years. - .''' - # Extract the number and duration letter from the time period. - re_pat = r'P?(?P[+-]?[0-9]+)(?P[A-Z])' - m = re.search(re_pat, time_period.upper()) - if m: - m_dict = m.groupdict() - delta = int(m_dict.get('delta', '0')) - unit = m_dict.get('unit', 'M') - # Convert the duration letter to unit: days/months/years - period_dict = {'D': 'days', 'M': 'months', 'Y': 'years'} - period = period_dict.get(unit, 'day') - return (delta, period) - return (0, 'days') - - -def date_advance_by_period(date_str: str, - time_period: str, - date_format: str = '%Y-%m-%d') -> str: - '''Returns the date string advanced by the time period.''' - if not date_str: - return '' - dt = datetime.strptime(date_str, date_format) - (delta, unit) = date_parse_time_period(time_period) - if not delta or not unit: - logging.error( - f'Unable to parse time period: {time_period} for date: {date_str}') - return '' - next_dt = dt + relativedelta(**{unit: delta}) - return next_dt.strftime(date_format) + """Parse time period into a tuple of (number, unit), + + for eg: for 'P1M' returns (1, month). + Time period is assumed to be of the form: P + where duration is a letter: D: days, M; months, Y: years. + . + """ + # Extract the number and duration letter from the time period. + re_pat = r'P?(?P[+-]?[0-9]+)(?P[A-Z])' + m = re.search(re_pat, time_period.upper()) + if m: + m_dict = m.groupdict() + delta = int(m_dict.get('delta', '0')) + unit = m_dict.get('unit', 'M') + # Convert the duration letter to unit: days/months/years + period_dict = {'D': 'days', 'M': 'months', 'Y': 'years'} + period = period_dict.get(unit, 'day') + return (delta, period) + return (0, 'days') + + +def date_advance_by_period( + date_str: str, time_period: str, date_format: str = '%Y-%m-%d' +) -> str: + """Returns the date string advanced by the time period.""" + if not date_str: + return '' + dt = datetime.strptime(date_str, date_format) + (delta, unit) = date_parse_time_period(time_period) + if not delta or not unit: + logging.error( + f'Unable to parse time period: {time_period} for date: {date_str}' + ) + return '' + next_dt = dt + relativedelta(**{unit: delta}) + return next_dt.strftime(date_format) def date_format_by_time_period(date_str: str, time_period: str) -> str: - '''Returns date in the format of the time_period: P - If the last letter in the time_period is Y, returns date in YYYY, - for 'M', returns date as YYYY-MM, for D returns date as YYYY-MM-DD. - ''' - if not time_period: - return date_str - (delta, unit) = date_parse_time_period(time_period) - date_parts = date_str.split('-') - if unit == 'years': - return date_parts[0] - if unit == 'months': - return '-'.join(date_parts[0:2]) + """Returns date in the format of the time_period: P + + If the last letter in the time_period is Y, returns date in YYYY, + for 'M', returns date as YYYY-MM, for D returns date as YYYY-MM-DD. + """ + if not time_period: return date_str + (delta, unit) = date_parse_time_period(time_period) + date_parts = date_str.split('-') + if unit == 'years': + return date_parts[0] + if unit == 'months': + return '-'.join(date_parts[0:2]) + return date_str diff --git a/scripts/earthengine/utils_test.py b/scripts/earthengine/utils_test.py index 69c5bc0ff6..1771024f54 100644 --- a/scripts/earthengine/utils_test.py +++ b/scripts/earthengine/utils_test.py @@ -47,6 +47,9 @@ class DictUtilsTest(unittest.TestCase): 'string_key2': 'Value1', } + def setUp(self): + self.maxDiff = None + def test_dict_filter_values(self): filter_config = { 'int_key1': { @@ -172,6 +175,9 @@ def test_latlng_cell_area(self): class GridCellUtilsTest(unittest.TestCase): + def setUp(self): + self.maxDiff = None + def test_is_grid_id(self): self.assertFalse(utils.is_grid_id('')) self.assertFalse(utils.is_grid_id('s2CellId/0x1128250000000000')) From 2541e946419aed67c045c13dd280f3d48afd75e2 Mon Sep 17 00:00:00 2001 From: Ajai Tirumali Date: Mon, 19 Feb 2024 14:59:22 +0530 Subject: [PATCH 05/10] add readme --- scripts/earthengine/events_pipeline.py | 3 +- .../earthengine/pipeline_stage_download.py | 197 +-- scripts/earthengine/process_events.py | 2 +- scripts/earthengine/process_events_test.py | 32 +- scripts/earthengine/raster_to_csv.py | 1418 ++++++++--------- scripts/earthengine/utils.py | 665 ++++---- scripts/earthengine/utils_test.py | 616 ++++--- scripts/floods/README.md | 31 + scripts/floods/generate_floods_events.py | 6 +- 9 files changed, 1477 insertions(+), 1493 deletions(-) create mode 100644 scripts/floods/README.md diff --git a/scripts/earthengine/events_pipeline.py b/scripts/earthengine/events_pipeline.py index 788ba2c8b0..f654f87329 100644 --- a/scripts/earthengine/events_pipeline.py +++ b/scripts/earthengine/events_pipeline.py @@ -197,7 +197,8 @@ def run_stage(self, stage_name: str, input_files: list = []) -> list: if stage_name == stage_runner.get_name(): logging.info(f'Running stage {stage_name} with {input_files}') return stage_runner.run_stage(input_files) - logging.error(f'No stage runner for {stage_name} with input: {input_files}') + logging.error( + f'No stage runner for {stage_name} with input: {input_files}') return [] def run(self, run_stages: list = []) -> list: diff --git a/scripts/earthengine/pipeline_stage_download.py b/scripts/earthengine/pipeline_stage_download.py index dc500483b2..59c48fc468 100644 --- a/scripts/earthengine/pipeline_stage_download.py +++ b/scripts/earthengine/pipeline_stage_download.py @@ -25,8 +25,7 @@ sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) sys.path.append( - os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util') -) + os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util')) import file_util import utils @@ -37,107 +36,109 @@ class DownloadRunner(StageRunner): - """Class to download data files from URL source.""" - - def __init__(self, config_dicts: list = [], state: dict = {}, counters=None): - self.set_up('download', config_dicts, state, counters) - - def run( - self, - input_files: list = None, - config_dict: dict = {}, - counters: Counters = None, - ) -> list: - """Returns the list of files downloaded from the URL in the config. + """Class to download data files from URL source.""" + + def __init__(self, + config_dicts: list = [], + state: dict = {}, + counters=None): + self.set_up('download', config_dicts, state, counters) + + def run( + self, + input_files: list = None, + config_dict: dict = {}, + counters: Counters = None, + ) -> list: + """Returns the list of files downloaded from the URL in the config. URLs are downloaded for each time period until the current date. """ - # Download data from start_date up to end_date - # advancing date by the time_period. - start_date = self.get_config('start_date', '', config_dict) - yesterday = utils.date_yesterday() - end_date = self.get_config('end_date', yesterday, config_dict) - if end_date > yesterday: - end_date = yesterday - logging.info( - f'Running download with start_date: {start_date}, end_date:{end_date}' - ) - data_files = [] - while start_date and start_date <= end_date: - # Download data for the start_date - download_files = self.download_file_with_config(self.get_configs()) - if download_files: - data_files.extend(download_files) - - # Advance start_date to the next date. - start_date = utils.date_advance_by_period( - start_date, self.get_config('time_period', 'P1M', config_dict) - ) - if start_date: - self.set_config_dates(start_date=start_date) - return data_files - - def download_file_with_config(self, config_dict: dict = {}) -> list: - """Returns list of files downloaded for config.""" - logging.info(f'Downloading data for config: {config_dict}') - downloaded_files = [] - urls = config_dict.get('url', []) - if not isinstance(urls, list): - urls = [urls] - for url in urls: - if not url: - continue - url_params = config_dict.get('url_params', {}) - filename = self.get_output_filename(config_dict=config_dict) - if self.should_skip_existing_output(filename): - logging.info(f'Skipping download for existing file: {filename}') - continue - - # Download the URL with retries. - download_content = '' - retry_count = 0 - retries = config_dict.get('retry_count', 5) - retry_secs = config_dict.get('retry_interval', 5) - while not download_content and retry_count < retries: - download_content = request_url( - url, - params=url_params, - method=config_dict.get('http_method', 'GET'), - output=config_dict.get('response_type', 'text'), - timeout=config_dict.get('timeout', 60), - retries=config_dict.get('retry_count', 3), - retry_secs=retry_secs, + # Download data from start_date up to end_date + # advancing date by the time_period. + start_date = self.get_config('start_date', '', config_dict) + yesterday = utils.date_yesterday() + end_date = self.get_config('end_date', yesterday, config_dict) + if end_date > yesterday: + end_date = yesterday + logging.info( + f'Running download with start_date: {start_date}, end_date:{end_date}' ) - if download_content: - # Check if the downloaded content matches the regex. - regex = config_dict.get('successful_response_regex', '') - if regex: - match = re.search(regex, download_content) - if not match: - download_content = '' - retry_count += 1 - logging.info( - f'Downloaded content for {url} does not match {regex}' - ) - if retry_count < retries: - logging.info( - f'retrying {url} #{retry_count} after {retry_secs}' + data_files = [] + while start_date and start_date <= end_date: + # Download data for the start_date + download_files = self.download_file_with_config(self.get_configs()) + if download_files: + data_files.extend(download_files) + + # Advance start_date to the next date. + start_date = utils.date_advance_by_period( + start_date, self.get_config('time_period', 'P1M', config_dict)) + if start_date: + self.set_config_dates(start_date=start_date) + return data_files + + def download_file_with_config(self, config_dict: dict = {}) -> list: + """Returns list of files downloaded for config.""" + logging.info(f'Downloading data for config: {config_dict}') + downloaded_files = [] + urls = config_dict.get('url', []) + if not isinstance(urls, list): + urls = [urls] + for url in urls: + if not url: + continue + url_params = config_dict.get('url_params', {}) + filename = self.get_output_filename(config_dict=config_dict) + if self.should_skip_existing_output(filename): + logging.info(f'Skipping download for existing file: {filename}') + continue + + # Download the URL with retries. + download_content = '' + retry_count = 0 + retries = config_dict.get('retry_count', 5) + retry_secs = config_dict.get('retry_interval', 5) + while not download_content and retry_count < retries: + download_content = request_url( + url, + params=url_params, + method=config_dict.get('http_method', 'GET'), + output=config_dict.get('response_type', 'text'), + timeout=config_dict.get('timeout', 60), + retries=config_dict.get('retry_count', 3), + retry_secs=retry_secs, ) - time.sleep(retry_secs) - if not download_content: - logging.error(f'Failed to download {url} after {retries} retries') - return None - - # Save downloaded content to file. - with file_util.FileIO(filename, mode='w') as file: - file.write(download_content) - logging.info( - f'Downloaded {len(download_content)} bytes from {url} into file:' - f' {filename}' - ) - downloaded_files.append(filename) - - return downloaded_files + if download_content: + # Check if the downloaded content matches the regex. + regex = config_dict.get('successful_response_regex', '') + if regex: + match = re.search(regex, download_content) + if not match: + download_content = '' + retry_count += 1 + logging.info( + f'Downloaded content for {url} does not match {regex}' + ) + if retry_count < retries: + logging.info( + f'retrying {url} #{retry_count} after {retry_secs}' + ) + time.sleep(retry_secs) + if not download_content: + logging.error( + f'Failed to download {url} after {retries} retries') + return None + + # Save downloaded content to file. + with file_util.FileIO(filename, mode='w') as file: + file.write(download_content) + logging.info( + f'Downloaded {len(download_content)} bytes from {url} into file:' + f' {filename}') + downloaded_files.append(filename) + + return downloaded_files # Register the DownloadRunner diff --git a/scripts/earthengine/process_events.py b/scripts/earthengine/process_events.py index 6c75368e58..729184cc06 100644 --- a/scripts/earthengine/process_events.py +++ b/scripts/earthengine/process_events.py @@ -1704,7 +1704,7 @@ def _get_smallest_place_name(self, place_ids: list) -> str: # This place is smaller. Use its name if available. new_place_name = self.get_place_property_list(place, 'name') if new_place_name: - new_place_name = new_place_name[0] + new_place_name = new_place_name[0] if new_place_name: max_place_rank = place_rank place_name = new_place_name diff --git a/scripts/earthengine/process_events_test.py b/scripts/earthengine/process_events_test.py index ba759b5fa2..16ef61086d 100644 --- a/scripts/earthengine/process_events_test.py +++ b/scripts/earthengine/process_events_test.py @@ -98,18 +98,26 @@ def test_process(self): output_path=output_prefix, config=self._config) # Verify generated events. - self.compare_csv_files(os.path.join(tmp_dir, 'events_test_events.csv'), - os.path.join(_TESTDIR, test_prefix + 'events.csv')) - self.compare_files(os.path.join(tmp_dir, 'events_test_events.tmcf'), - os.path.join(_TESTDIR, test_prefix + 'events.tmcf')) - self.compare_csv_files(os.path.join(tmp_dir, 'event_svobs', 'events_test_svobs.csv'), - os.path.join(_TESTDIR, test_prefix + 'svobs.csv')) - self.compare_files(os.path.join(tmp_dir, 'event_svobs', 'events_test_svobs.tmcf'), - os.path.join(_TESTDIR, test_prefix + 'svobs.tmcf')) - self.compare_csv_files(os.path.join(tmp_dir, 'place_svobs', 'events_test_place_svobs.csv'), - os.path.join(_TESTDIR, test_prefix + 'place_svobs.csv')) - self.compare_files(os.path.join(tmp_dir, 'place_svobs', 'events_test_place_svobs.tmcf'), - os.path.join(_TESTDIR, test_prefix + 'place_svobs.tmcf')) + self.compare_csv_files( + os.path.join(tmp_dir, 'events_test_events.csv'), + os.path.join(_TESTDIR, test_prefix + 'events.csv')) + self.compare_files( + os.path.join(tmp_dir, 'events_test_events.tmcf'), + os.path.join(_TESTDIR, test_prefix + 'events.tmcf')) + self.compare_csv_files( + os.path.join(tmp_dir, 'event_svobs', 'events_test_svobs.csv'), + os.path.join(_TESTDIR, test_prefix + 'svobs.csv')) + self.compare_files( + os.path.join(tmp_dir, 'event_svobs', 'events_test_svobs.tmcf'), + os.path.join(_TESTDIR, test_prefix + 'svobs.tmcf')) + self.compare_csv_files( + os.path.join(tmp_dir, 'place_svobs', + 'events_test_place_svobs.csv'), + os.path.join(_TESTDIR, test_prefix + 'place_svobs.csv')) + self.compare_files( + os.path.join(tmp_dir, 'place_svobs', + 'events_test_place_svobs.tmcf'), + os.path.join(_TESTDIR, test_prefix + 'place_svobs.tmcf')) def test_process_event_data(self): '''Verify events can be added by date.''' diff --git a/scripts/earthengine/raster_to_csv.py b/scripts/earthengine/raster_to_csv.py index 1c7cb35f14..26b2acef5e 100644 --- a/scripts/earthengine/raster_to_csv.py +++ b/scripts/earthengine/raster_to_csv.py @@ -71,8 +71,7 @@ sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) sys.path.append( - os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util') -) + os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util')) import common_flags import file_util @@ -82,15 +81,12 @@ from counters import Counters, CounterOptions flags.DEFINE_string('input_geotiff', '', 'GeoTIFF file to process') -flags.DEFINE_string( - 'ignore_geotiff', '', 'GeoTIFF with points to be ignored set as data.' -) -flags.DEFINE_string( - 'allow_geotiff', '', 'GeoTIFF with points to be used set as data.' -) -flags.DEFINE_string( - 'ignore_csv', '', 'CSV with points to be ignored set as data.' -) +flags.DEFINE_string('ignore_geotiff', '', + 'GeoTIFF with points to be ignored set as data.') +flags.DEFINE_string('allow_geotiff', '', + 'GeoTIFF with points to be used set as data.') +flags.DEFINE_string('ignore_csv', '', + 'CSV with points to be ignored set as data.') flags.DEFINE_string('allow_csv', '', 'CSV with points to be used set as data.') flags.DEFINE_integer( 'limit_points', @@ -98,12 +94,10 @@ 'Number of rows/points to process per input file.', ) flags.DEFINE_string('output_csv', '', 'Output CSV file to generate') -flags.DEFINE_string( - 'output_mode', 'w', 'Write(w) or append(a) to existing output file.' -) -flags.DEFINE_string( - 'output_date', None, 'Date column to be added to output rows.' -) +flags.DEFINE_string('output_mode', 'w', + 'Write(w) or append(a) to existing output file.') +flags.DEFINE_string('output_date', None, + 'Date column to be added to output rows.') flags.DEFINE_list('output_columns', [], 'Output columns in the CSV') flags.DEFINE_integer( 'output_precision', @@ -113,17 +107,15 @@ flags.DEFINE_integer('s2_level', 13, 'S2 Level for S2 cell Id.') flags.DEFINE_integer('grid_degree', None, 'Grid degree for lat/lng place.') flags.DEFINE_string('grid_prefix', 'grid_', 'Grid dcid prefix for place id.') -flags.DEFINE_string( - 'output_s2_place', '', 'Output prefix for S2 place csv and tmcf.' -) +flags.DEFINE_string('output_s2_place', '', + 'Output prefix for S2 place csv and tmcf.') flags.DEFINE_list( 'output_contained_s2_level', [10], 'Levels to be added as contained in place nodes into s2 place output.', ) -flags.DEFINE_string( - 'aggregate', 'max', 'Aggregate function for data values with same key.' -) +flags.DEFINE_string('aggregate', 'max', + 'Aggregate function for data values with same key.') flags.DEFINE_integer('log_every_n', 10000, 'Print logs every N records.') flags.DEFINE_float( 'default_cell_area', @@ -136,77 +128,76 @@ def get_default_config(): - # Create config from command line flags. - return { - # Inputs - 'input_geotiff': _FLAGS.input_geotiff, - 'ignore_geotiff': _FLAGS.ignore_geotiff, - 'allow_geotiff': _FLAGS.allow_geotiff, - 'input_csv': _FLAGS.input_csv, - 'ignore_csv': _FLAGS.ignore_csv, - 'allow_csv': _FLAGS.allow_csv, - 'limit_points': _FLAGS.limit_points, - # Output settings - 'output_csv': _FLAGS.output_csv, - 'output_mode': _FLAGS.output_mode, - 'output_columns': _FLAGS.output_columns, - 'output_date': _FLAGS.output_date, - 'output_precision': _FLAGS.output_precision, - 'output_s2_place': _FLAGS.output_s2_place, - 'output_contained_s2_level': _FLAGS.output_contained_s2_level, - # Processing parameters - 's2_level': _FLAGS.s2_level, - 'grid_degree': _FLAGS.grid_degree, - 'grid_prefix': _FLAGS.grid_prefix, - # default aggregation for data values mapped to the same s2-cell+date - # that can be one of: min, max, mean, sum. - # For columns specific aggregation methods, use config:'input_data_filter'. - 'aggregate': _FLAGS.aggregate, - # generate data for all s2 cells from --s2_level upto this level. - # Default cell area if constant for the whole data set. - 'default_cell_area': _FLAGS.default_cell_area, - # Default point/cell width/height for ~1sqkm at equator, lower near poles. - 'default_cell_width': 0.009, - 'default_cell_height': 0.009, - # rename columns : - 'rename_columns': { - 'acq_date': 'date', - 'band:0': 'water', - }, - # filter settings per column for data - # input (pre-aggregation) and output (post-aggregation) of the form: - # { - # '' : { - # 'min': , # Minimum value for - # 'max': , # Maximum value for - # 'aggregate': 'sum', # one of 'min','max','sum','mean' - # }, - # ... - # } - 'input_data_filter': { - # Add up area for points added to an s2cell. - 'area': { - 'aggregate': 'sum', - }, - #'confidence': { - # 'regex': r'[nh]', # pick normal or high - # } - # 'water': { # band:0 - # 'min': 1.0 - # }, - }, - 'output_data_filter': { - # 'area': { - # 'min': 1.0, # Minimum area in sqkm after aggregation - # }, - }, - # Debug settings - 'debug': _FLAGS.debug, # Enable debug logs - 'log_every_n': ( - _FLAGS.log_every_n - ), # Show counters when counter increments by N - 'log_every': 'processed_points', # Counter to check for log_every_n - } + # Create config from command line flags. + return { + # Inputs + 'input_geotiff': _FLAGS.input_geotiff, + 'ignore_geotiff': _FLAGS.ignore_geotiff, + 'allow_geotiff': _FLAGS.allow_geotiff, + 'input_csv': _FLAGS.input_csv, + 'ignore_csv': _FLAGS.ignore_csv, + 'allow_csv': _FLAGS.allow_csv, + 'limit_points': _FLAGS.limit_points, + # Output settings + 'output_csv': _FLAGS.output_csv, + 'output_mode': _FLAGS.output_mode, + 'output_columns': _FLAGS.output_columns, + 'output_date': _FLAGS.output_date, + 'output_precision': _FLAGS.output_precision, + 'output_s2_place': _FLAGS.output_s2_place, + 'output_contained_s2_level': _FLAGS.output_contained_s2_level, + # Processing parameters + 's2_level': _FLAGS.s2_level, + 'grid_degree': _FLAGS.grid_degree, + 'grid_prefix': _FLAGS.grid_prefix, + # default aggregation for data values mapped to the same s2-cell+date + # that can be one of: min, max, mean, sum. + # For columns specific aggregation methods, use config:'input_data_filter'. + 'aggregate': _FLAGS.aggregate, + # generate data for all s2 cells from --s2_level upto this level. + # Default cell area if constant for the whole data set. + 'default_cell_area': _FLAGS.default_cell_area, + # Default point/cell width/height for ~1sqkm at equator, lower near poles. + 'default_cell_width': 0.009, + 'default_cell_height': 0.009, + # rename columns : + 'rename_columns': { + 'acq_date': 'date', + 'band:0': 'water', + }, + # filter settings per column for data + # input (pre-aggregation) and output (post-aggregation) of the form: + # { + # '' : { + # 'min': , # Minimum value for + # 'max': , # Maximum value for + # 'aggregate': 'sum', # one of 'min','max','sum','mean' + # }, + # ... + # } + 'input_data_filter': { + # Add up area for points added to an s2cell. + 'area': { + 'aggregate': 'sum', + }, + #'confidence': { + # 'regex': r'[nh]', # pick normal or high + # } + # 'water': { # band:0 + # 'min': 1.0 + # }, + }, + 'output_data_filter': { + # 'area': { + # 'min': 1.0, # Minimum area in sqkm after aggregation + # }, + }, + # Debug settings + 'debug': _FLAGS.debug, # Enable debug logs + 'log_every_n': + (_FLAGS.log_every_n), # Show counters when counter increments by N + 'log_every': 'processed_points', # Counter to check for log_every_n + } _DEFAULT_COLUMNS = set({'latitude', 'longitude', 's2CellId', 'date'}) @@ -224,7 +215,7 @@ def get_raster_data_point( config: ConfigMap = None, counter: Counters = None, ) -> dict: - """Returns the lat/long and data value for each band + """Returns the lat/long and data value for each band in the raster for a given position index (x, y). Args: @@ -244,42 +235,42 @@ def get_raster_data_point( dictionary of values for the data point from the raster including additional property for s2CellId and area. """ - if not config: - config = ConfigMap() - data = dict() - if lat is None or lng is None: - (lng, lat) = rasterio.transform.xy(raster.transform, x, y) - if lat > 90 or lat < -90 or lng > 180 or lng < -180: - logging.error(f'Invalid lat,lng [{lat},{lng}] for [{x},{y}].') - counter.add_counter(f'invalid-lat-lng', 1) - return None - data['latitude'] = lat - data['longitude'] = lng - data['area'] = utils.latlng_cell_area(lat, lng, raster.res[1], raster.res[0]) - s2_level = config.get('s2_level', None) - if s2_level: - data['s2CellId'] = utils.s2_cell_latlng_dcid(lat, lng, s2_level) - data['s2Level'] = s2_level - grid_degree = config.get('grid_degree', None) - if grid_degree: - data['dcid'] = utils.grid_id_from_lat_lng( - grid_degree, lat, lng, config.get('grid_prefix', 'grid_1') - ) - data['grid_degree'] = grid_degree - if not bands: - bands = list(range(raster.count)) - for band in bands: - point_data = arr[band][x][y] - if point_data != nodata_value and not np.isnan(point_data): - data[f'band:{band}'] = point_data - date = config.get('output_date') - if date: - data['date'] = date - return data + if not config: + config = ConfigMap() + data = dict() + if lat is None or lng is None: + (lng, lat) = rasterio.transform.xy(raster.transform, x, y) + if lat > 90 or lat < -90 or lng > 180 or lng < -180: + logging.error(f'Invalid lat,lng [{lat},{lng}] for [{x},{y}].') + counter.add_counter(f'invalid-lat-lng', 1) + return None + data['latitude'] = lat + data['longitude'] = lng + data['area'] = utils.latlng_cell_area(lat, lng, raster.res[1], + raster.res[0]) + s2_level = config.get('s2_level', None) + if s2_level: + data['s2CellId'] = utils.s2_cell_latlng_dcid(lat, lng, s2_level) + data['s2Level'] = s2_level + grid_degree = config.get('grid_degree', None) + if grid_degree: + data['dcid'] = utils.grid_id_from_lat_lng( + grid_degree, lat, lng, config.get('grid_prefix', 'grid_1')) + data['grid_degree'] = grid_degree + if not bands: + bands = list(range(raster.count)) + for band in bands: + point_data = arr[band][x][y] + if point_data != nodata_value and not np.isnan(point_data): + data[f'band:{band}'] = point_data + date = config.get('output_date') + if date: + data['date'] = date + return data def get_csv_data_point(input_data: dict, config: ConfigMap) -> dict: - """Get data for a CSV row. + """Get data for a CSV row. Args: input_data: dictionary with column:values for a CSV row. assumed to have @@ -288,48 +279,46 @@ def get_csv_data_point(input_data: dict, config: ConfigMap) -> dict: Returns: dictionary with values for the data point including area and s2CellId. """ - _set_numeric_data(input_data, config) - lat = input_data.get('latitude', 0.0) - lng = input_data.get('longitude', 0.0) - if isinstance(lat, str) or isinstance(lng, str): - logging.debug(f'Invalid lat/lng in data {input_data}') - return {} - input_data['latitude'] = lat - input_data['longitude'] = lng - s2_level = config.get('s2_level', None) - s2_cell = None - if s2_level: - s2_cell = utils.s2_cell_from_latlng(lat, lng, s2_level) - input_data['s2CellId'] = utils.s2_cell_to_dcid(s2_cell.id()) - input_data['s2Level'] = s2_level - grid_degree = config.get('grid_degree', None) - if grid_degree: - input_data['dcid'] = utils.grid_id_from_lat_lng( - grid_degree, lat, lng, config.get('grid_prefix', 'grid_1') - ) - input_data['grid_degree'] = grid_degree - date = config.get('output_date') - if 'area' not in input_data: - area = None - if s2_cell: - area = utils.s2_cell_area(s2_cell) - else: - default_cell_area = config.get('default_cell_area', 0) - default_cell_width = config.get('default_cell_width', 0) - default_cell_height = config.get('default_cell_width', 0) - if default_cell_area > 0: - area = default_cell_area - elif default_cell_width > 0 and default_cell_height > 0: - area = utils.latlng_cell_area( - lat, lng, default_cell_height, default_cell_width - ) - if area: - input_data['area'] = area - if date and 'date' not in input_data: - input_data['date'] = date - if config.get('ignore_date', False) and 'date' in input_data: - input_data.pop('date') - return input_data + _set_numeric_data(input_data, config) + lat = input_data.get('latitude', 0.0) + lng = input_data.get('longitude', 0.0) + if isinstance(lat, str) or isinstance(lng, str): + logging.debug(f'Invalid lat/lng in data {input_data}') + return {} + input_data['latitude'] = lat + input_data['longitude'] = lng + s2_level = config.get('s2_level', None) + s2_cell = None + if s2_level: + s2_cell = utils.s2_cell_from_latlng(lat, lng, s2_level) + input_data['s2CellId'] = utils.s2_cell_to_dcid(s2_cell.id()) + input_data['s2Level'] = s2_level + grid_degree = config.get('grid_degree', None) + if grid_degree: + input_data['dcid'] = utils.grid_id_from_lat_lng( + grid_degree, lat, lng, config.get('grid_prefix', 'grid_1')) + input_data['grid_degree'] = grid_degree + date = config.get('output_date') + if 'area' not in input_data: + area = None + if s2_cell: + area = utils.s2_cell_area(s2_cell) + else: + default_cell_area = config.get('default_cell_area', 0) + default_cell_width = config.get('default_cell_width', 0) + default_cell_height = config.get('default_cell_width', 0) + if default_cell_area > 0: + area = default_cell_area + elif default_cell_width > 0 and default_cell_height > 0: + area = utils.latlng_cell_area(lat, lng, default_cell_height, + default_cell_width) + if area: + input_data['area'] = area + if date and 'date' not in input_data: + input_data['date'] = date + if config.get('ignore_date', False) and 'date' in input_data: + input_data.pop('date') + return input_data def get_raster_data_latlng( @@ -339,7 +328,7 @@ def get_raster_data_latlng( lng: float, band: int = 0, ) -> float: - """Return the data value for the point (lat, lng) in given raster + """Return the data value for the point (lat, lng) in given raster Args: raster: raster to look up @@ -351,20 +340,20 @@ def get_raster_data_latlng( Returns: the data value from the numpy array for the given point. """ - (x, y) = rasterio.transform.rowcol(raster.transform, lng, lat) - if not x or not y: - return None - (rows, cols) = raster.shape - if x < 0 or x >= cols or y < 0 or y >= rows: - logging.debug(f'Point {lat}:{lng} ({x}:{y}) outside raster {raster.files}') - return None - return arr[band][x][y] - - -def is_valid_data_point( - data_point: dict, filter_params: dict, counter: Counters -) -> bool: - """Returns True if the data point is allowed for all parameters in config. + (x, y) = rasterio.transform.rowcol(raster.transform, lng, lat) + if not x or not y: + return None + (rows, cols) = raster.shape + if x < 0 or x >= cols or y < 0 or y >= rows: + logging.debug( + f'Point {lat}:{lng} ({x}:{y}) outside raster {raster.files}') + return None + return arr[band][x][y] + + +def is_valid_data_point(data_point: dict, filter_params: dict, + counter: Counters) -> bool: + """Returns True if the data point is allowed for all parameters in config. Args: data_point: dictionary of values for the point. assumes to have properties @@ -375,32 +364,32 @@ def is_valid_data_point( Returns: True if data values satisfy all conditions in the filter params. """ - if filter_params: - for col, params in filter_params.items(): - value = data_point.get(col, None) - if 'min' in params: - if value is None or value < params['min']: - counter.add_counter(f'data-dropped-min-{col}', 1) - return False - if 'max' in params: - if value is None or value > params['max']: - counter.add_counter(f'data-dropped-max-{col}', 1) - return False - if 'eq' in params: - if value is None or not math.isclose(value, params['eq']): - counter.add_counter(f'data-dropped-eq-{col}', 1) - return False - if 'regex' in params: - re_pat = params['regex'] - if value is None or not re.search(re_pat, str(value)): - counter.add_counter(f'data-dropped-regex-{col}', 1) - return False - - return True + if filter_params: + for col, params in filter_params.items(): + value = data_point.get(col, None) + if 'min' in params: + if value is None or value < params['min']: + counter.add_counter(f'data-dropped-min-{col}', 1) + return False + if 'max' in params: + if value is None or value > params['max']: + counter.add_counter(f'data-dropped-max-{col}', 1) + return False + if 'eq' in params: + if value is None or not math.isclose(value, params['eq']): + counter.add_counter(f'data-dropped-eq-{col}', 1) + return False + if 'regex' in params: + re_pat = params['regex'] + if value is None or not re.search(re_pat, str(value)): + counter.add_counter(f'data-dropped-regex-{col}', 1) + return False + + return True def rename_data_columns(data_point: dict, rename_columns: dict) -> dict: - """Rename data point key (columns) names. + """Rename data point key (columns) names. Args: data_point: dictionary of data values @@ -409,32 +398,31 @@ def rename_data_columns(data_point: dict, rename_columns: dict) -> dict: Returns: data_point dictionary with the keys renames if any. """ - if rename_columns: - for col, new_col in rename_columns.items(): - if col in data_point: - value = data_point.pop(col) - data_point[new_col] = value - return data_point - - -def get_parent_s2_cellids( - lat: float, lng: float, s2cell_id: str, s2_level: int, top_s2_level: int -) -> list: - """Returns list of parent s2 cell ids(int) up to top_s2_level.""" - s2cell = None - if lat is not None and lng is not None: - s2cell = utils.s2_cell_from_latlng(lat, lng, s2_level) - elif s2cell_id: - if isinstance(s2cell_id, str): - s2cell = utils.s2_cell_from_dcid(s2cell_id) - else: - s2cell = s2sphere.CellId(s2cell_id) - if not s2cell or top_s2_level is None: - return [0] - return [ - s2cell.parent(level).id() - for level in range(s2cell.level(), top_s2_level - 1, -1) - ] + if rename_columns: + for col, new_col in rename_columns.items(): + if col in data_point: + value = data_point.pop(col) + data_point[new_col] = value + return data_point + + +def get_parent_s2_cellids(lat: float, lng: float, s2cell_id: str, s2_level: int, + top_s2_level: int) -> list: + """Returns list of parent s2 cell ids(int) up to top_s2_level.""" + s2cell = None + if lat is not None and lng is not None: + s2cell = utils.s2_cell_from_latlng(lat, lng, s2_level) + elif s2cell_id: + if isinstance(s2cell_id, str): + s2cell = utils.s2_cell_from_dcid(s2cell_id) + else: + s2cell = s2sphere.CellId(s2cell_id) + if not s2cell or top_s2_level is None: + return [0] + return [ + s2cell.parent(level).id() + for level in range(s2cell.level(), top_s2_level - 1, -1) + ] def add_data_point( @@ -444,7 +432,7 @@ def add_data_point( filter_params: dict = {}, counter: Counters = None, ) -> dict: - """Add a data point to the data_dict dictionary + """Add a data point to the data_dict dictionary if a point with the same key already exists, it is updated with new values. Args: @@ -461,87 +449,80 @@ def add_data_point( such as '#count' in case data is merged, and band specific counts, like '#band:0:count' when aggregating as mean. """ - counter.add_counter('processed_points', 1) - rename_data_columns(data_point, config.get('rename_columns', None)) - s2_level = data_point.get( - 's2Level', config.get('s2Level', config.get('grid_degree', '')) - ) - data_key = _get_data_key(data_point) - if data_key not in data_dict: - cur_data = dict(data_point) - else: - # Data key already exists. Aggregate. - cur_data = dict(data_dict[data_key]) - def_aggr = config.get('aggregate', 'sum') - props = set(data_point.keys()).difference(_DEFAULT_COLUMNS) - props = [p for p in props if not p.startswith('#')] - for prop in props: - try: - cur_val = cur_data.get(prop, 0) - new_val = data_point[prop] - if cur_val == new_val: - continue - if isinstance(cur_val, str) and not cur_val and new_val: - cur_data[prop] = new_val - continue - if isinstance(new_val, str) and not new_val: - continue - aggr = filter_params.get(prop, {}).get('aggregate', def_aggr) - if aggr == 'last': - cur_data[prop] = new_val - continue - # Convert values to numeric for aggregation - if ( - isinstance(cur_val, float) - or isinstance(cur_val, int) - or isinstance(new_val, float) - or isinstance(new_val, int) - ): - cur_val = _get_numeric_value(cur_val) - new_val = _get_numeric_value(new_val) - - if aggr == 'sum': - cur_data[prop] = cur_val + new_val - elif aggr == 'min': - cur_data[prop] = min(cur_val, new_val) - elif aggr == 'max': - cur_data[prop] = max(cur_val, new_val) - elif aggr == 'mean': - cur_num = cur_data.get(f'#{prop}:count', 0) - new_num = data_point.get(f'#{prop}:count', 1) - cur_data[prop] = ((cur_val * cur_num) + (new_val * new_num)) / ( - cur_num + new_num - ) - cur_data[f'#{prop}:count'] = cur_num + new_num - except TypeError as e: - logging.error( - f'Error {e} in aggregating: {agr}: prop: {prop}, for new' - f' {data_point} with old: {cur_data}' - ) - - # Update lat/long to centroid. - cur_count = cur_data.get('#count', 1) - new_count = data_point.get('#count', 1) - for loc in ['latitude', 'longitude']: - cur_val = cur_data[loc] - new_val = data_point[loc] - cur_data[loc] = ((cur_val * cur_count) + (new_val * new_count)) / ( - cur_count + new_count - ) - cur_data['#count'] = cur_count + new_count - if len(data_dict) % config.get('log_every_n', 1000) == 0: - logging.debug(f'Added data {data_point} into {cur_data}') - counter.add_counter(f'processed_points_aggregated_s2level_{s2_level}', 1) - if not is_valid_data_point(cur_data, filter_params, counter): - counter.add_counter('processed_points_dropped', 1) - return None - data_dict[data_key] = cur_data - counter.add_counter(f'output_points_s2level_{s2_level}', 1) - return cur_data + counter.add_counter('processed_points', 1) + rename_data_columns(data_point, config.get('rename_columns', None)) + s2_level = data_point.get( + 's2Level', config.get('s2Level', config.get('grid_degree', ''))) + data_key = _get_data_key(data_point) + if data_key not in data_dict: + cur_data = dict(data_point) + else: + # Data key already exists. Aggregate. + cur_data = dict(data_dict[data_key]) + def_aggr = config.get('aggregate', 'sum') + props = set(data_point.keys()).difference(_DEFAULT_COLUMNS) + props = [p for p in props if not p.startswith('#')] + for prop in props: + try: + cur_val = cur_data.get(prop, 0) + new_val = data_point[prop] + if cur_val == new_val: + continue + if isinstance(cur_val, str) and not cur_val and new_val: + cur_data[prop] = new_val + continue + if isinstance(new_val, str) and not new_val: + continue + aggr = filter_params.get(prop, {}).get('aggregate', def_aggr) + if aggr == 'last': + cur_data[prop] = new_val + continue + # Convert values to numeric for aggregation + if (isinstance(cur_val, float) or isinstance(cur_val, int) or + isinstance(new_val, float) or isinstance(new_val, int)): + cur_val = _get_numeric_value(cur_val) + new_val = _get_numeric_value(new_val) + + if aggr == 'sum': + cur_data[prop] = cur_val + new_val + elif aggr == 'min': + cur_data[prop] = min(cur_val, new_val) + elif aggr == 'max': + cur_data[prop] = max(cur_val, new_val) + elif aggr == 'mean': + cur_num = cur_data.get(f'#{prop}:count', 0) + new_num = data_point.get(f'#{prop}:count', 1) + cur_data[prop] = ((cur_val * cur_num) + + (new_val * new_num)) / (cur_num + new_num) + cur_data[f'#{prop}:count'] = cur_num + new_num + except TypeError as e: + logging.error( + f'Error {e} in aggregating: {agr}: prop: {prop}, for new' + f' {data_point} with old: {cur_data}') + + # Update lat/long to centroid. + cur_count = cur_data.get('#count', 1) + new_count = data_point.get('#count', 1) + for loc in ['latitude', 'longitude']: + cur_val = cur_data[loc] + new_val = data_point[loc] + cur_data[loc] = ((cur_val * cur_count) + + (new_val * new_count)) / (cur_count + new_count) + cur_data['#count'] = cur_count + new_count + if len(data_dict) % config.get('log_every_n', 1000) == 0: + logging.debug(f'Added data {data_point} into {cur_data}') + counter.add_counter(f'processed_points_aggregated_s2level_{s2_level}', + 1) + if not is_valid_data_point(cur_data, filter_params, counter): + counter.add_counter('processed_points_dropped', 1) + return None + data_dict[data_key] = cur_data + counter.add_counter(f'output_points_s2level_{s2_level}', 1) + return cur_data def load_raster_geotiff(filename: str) -> rasterio.io.DatasetReader: - """Load a raster from a geoTiff file. + """Load a raster from a geoTiff file. Args: filename: Name of the geoTiff file. @@ -549,13 +530,13 @@ def load_raster_geotiff(filename: str) -> rasterio.io.DatasetReader: Returns: raster data set for the file. """ - logging.info(f'Loading raster GeoTiff File: {filename}') - if file_util.file_is_gcs(filename): - # RasterIO doesn't support GCS files. Copy over to a local file. - filename = file_util.file_copy(filename) - src = rasterio.open(filename) - _log_raster_info(src) - return src + logging.info(f'Loading raster GeoTiff File: {filename}') + if file_util.file_is_gcs(filename): + # RasterIO doesn't support GCS files. Copy over to a local file. + filename = file_util.file_copy(filename) + src = rasterio.open(filename) + _log_raster_info(src) + return src def write_data_csv( @@ -565,7 +546,7 @@ def write_data_csv( config: ConfigMap = {}, counter: Counters = None, ): - """Output the data points dict into the csv file. + """Output the data points dict into the csv file. Args: data_points: dictionary of data points keys by location+date. each entry is @@ -580,60 +561,56 @@ def write_data_csv( data_point dict are emitted. counter: dictionary of counter:values. """ - # Write to the output. - if not columns: - columns = config.get('output_columns', None) - if not columns: - all_columns = _get_all_columns( - data_points, config, config.get('ignore_commented', True) - ) - # Order columns in same order as input. - columns = [] - for col in config.get('input_columns', []): - if col in all_columns: - columns.append(col) - for col in all_columns: - if col not in columns: - columns.append(col) - logging.info( - f'Writing {len(data_points)} rows with columns: {columns} into' - f' {filename} ...' - ) - # create output directory if needed - dirname = os.path.dirname(filename) - if dirname: - os.makedirs(dirname, exist_ok=True) - # Open file in append mode or overwrite mode. - output_mode = config.get('output_mode', 'w') - if output_mode == 'a': - if not os.path.exists(filename): - # File doesn't exist yet. Open in write mode and add column headers. - output_mode = 'w' - with file_util.FileIO(filename, mode=output_mode) as csv_file: - writer = csv.DictWriter( - csv_file, - fieldnames=columns, - escapechar='\\', - extrasaction='ignore', - quotechar='"', - quoting=csv.QUOTE_NONNUMERIC, - ) - if output_mode == 'w': - writer.writeheader() - output_date = config.get('output_date', None) - precision_digits = config.get('output_precision', 6) - counter.set_counter('total_points', len(data_points)) - for key, data in data_points.items(): - # Limit decimals for lat/lng - for col, val in data.items(): - data[col] = utils.str_format_float(val, precision_digits) - if output_date: - data['date'] = output_date - writer.writerow(data) - counter.set_counter('points_processed', 1) - counter.set_counter( - f'output_rows:{os.path.basename(filename)}', len(data_points) - ) + # Write to the output. + if not columns: + columns = config.get('output_columns', None) + if not columns: + all_columns = _get_all_columns(data_points, config, + config.get('ignore_commented', True)) + # Order columns in same order as input. + columns = [] + for col in config.get('input_columns', []): + if col in all_columns: + columns.append(col) + for col in all_columns: + if col not in columns: + columns.append(col) + logging.info(f'Writing {len(data_points)} rows with columns: {columns} into' + f' {filename} ...') + # create output directory if needed + dirname = os.path.dirname(filename) + if dirname: + os.makedirs(dirname, exist_ok=True) + # Open file in append mode or overwrite mode. + output_mode = config.get('output_mode', 'w') + if output_mode == 'a': + if not os.path.exists(filename): + # File doesn't exist yet. Open in write mode and add column headers. + output_mode = 'w' + with file_util.FileIO(filename, mode=output_mode) as csv_file: + writer = csv.DictWriter( + csv_file, + fieldnames=columns, + escapechar='\\', + extrasaction='ignore', + quotechar='"', + quoting=csv.QUOTE_NONNUMERIC, + ) + if output_mode == 'w': + writer.writeheader() + output_date = config.get('output_date', None) + precision_digits = config.get('output_precision', 6) + counter.set_counter('total_points', len(data_points)) + for key, data in data_points.items(): + # Limit decimals for lat/lng + for col, val in data.items(): + data[col] = utils.str_format_float(val, precision_digits) + if output_date: + data['date'] = output_date + writer.writerow(data) + counter.set_counter('points_processed', 1) + counter.set_counter(f'output_rows:{os.path.basename(filename)}', + len(data_points)) def write_s2place_csv_tmcf( @@ -642,7 +619,7 @@ def write_s2place_csv_tmcf( config: ConfigMap = {}, counter: Counters = None, ): - """Generate CSV+tMCF file for S2 places with hierarchy. + """Generate CSV+tMCF file for S2 places with hierarchy. Args: data_ponts: dictionary of data points where each point is a dict with @@ -652,59 +629,58 @@ def write_s2place_csv_tmcf( output_contained_s2_level: topmost s2 level upto which places are added. counter: dictionary of named counters """ - s2_places = {} - contained_levels = config.get('output_contained_s2_level', [10]) - # Collect all S2 cells ids for data points and its parents. - for data in data_points.values(): - s2cell_dcid = data.get('s2CellId', None) - if not s2cell_dcid: - continue - s2cell = utils.s2_cell_from_dcid(s2cell_dcid) - if not s2cell: - continue - s2_places[s2cell.id()] = {} - logging.info( - f'Generating place data for {len(s2_places)} places upto level' - f' {contained_levels} into {output_prefix}.csv/tmcf' - ) - # Add containedInPlace and Types for each s2 cell. - for cellid in s2_places.keys(): - s2cell = s2sphere.CellId(cellid) - contained_in = [] - s2level = s2cell.level() - for level in contained_levels: - if level and level < s2level: - contained_in.append(utils.s2_cell_to_dcid(s2cell.parent(level).id())) - s2_places[cellid] = { - 's2CellId': utils.s2_cell_to_dcid(s2cell.id()), - 'typeOf': f'dcid:S2CellLevel{s2cell.level()}', - 'containedInPlace': ','.join(contained_in), - 'name': f'Level {s2level} S2 Cell {s2cell.id():#018x}', - } - output_prefix = os.path.splitext(output_prefix)[0] - output_dir = os.path.dirname(output_prefix) - if output_dir: - os.makedirs(output_dir, exist_ok=True) - # Generate the place csv - counter.set_prefix('8:output_places_csv:') - write_data_csv( - s2_places, - f'{output_prefix}.csv', - ['s2CellId', 'typeOf', 'containedInPlace', 'name'], - config, - counter, - ) - - # Generate the place tmcf - logging.info(f'Generating place tmcf {output_prefix}.tmcf') - place_tmcf = ['Node: E:Place->E0'] - place_tmcf.append('dcid: C:Place->s2CellId') - place_tmcf.append('typeOf: C:Place->typeOf') - place_tmcf.append('containedInPlace: C:Place->containedInPlace') - place_tmcf.append('name: C:Place->name') - with file_util.FileIO(f'{output_prefix}.tmcf', 'w') as tmcf_file: - tmcf_file.write('\n'.join(place_tmcf)) - tmcf_file.write('\n') + s2_places = {} + contained_levels = config.get('output_contained_s2_level', [10]) + # Collect all S2 cells ids for data points and its parents. + for data in data_points.values(): + s2cell_dcid = data.get('s2CellId', None) + if not s2cell_dcid: + continue + s2cell = utils.s2_cell_from_dcid(s2cell_dcid) + if not s2cell: + continue + s2_places[s2cell.id()] = {} + logging.info(f'Generating place data for {len(s2_places)} places upto level' + f' {contained_levels} into {output_prefix}.csv/tmcf') + # Add containedInPlace and Types for each s2 cell. + for cellid in s2_places.keys(): + s2cell = s2sphere.CellId(cellid) + contained_in = [] + s2level = s2cell.level() + for level in contained_levels: + if level and level < s2level: + contained_in.append( + utils.s2_cell_to_dcid(s2cell.parent(level).id())) + s2_places[cellid] = { + 's2CellId': utils.s2_cell_to_dcid(s2cell.id()), + 'typeOf': f'dcid:S2CellLevel{s2cell.level()}', + 'containedInPlace': ','.join(contained_in), + 'name': f'Level {s2level} S2 Cell {s2cell.id():#018x}', + } + output_prefix = os.path.splitext(output_prefix)[0] + output_dir = os.path.dirname(output_prefix) + if output_dir: + os.makedirs(output_dir, exist_ok=True) + # Generate the place csv + counter.set_prefix('8:output_places_csv:') + write_data_csv( + s2_places, + f'{output_prefix}.csv', + ['s2CellId', 'typeOf', 'containedInPlace', 'name'], + config, + counter, + ) + + # Generate the place tmcf + logging.info(f'Generating place tmcf {output_prefix}.tmcf') + place_tmcf = ['Node: E:Place->E0'] + place_tmcf.append('dcid: C:Place->s2CellId') + place_tmcf.append('typeOf: C:Place->typeOf') + place_tmcf.append('containedInPlace: C:Place->containedInPlace') + place_tmcf.append('name: C:Place->name') + with file_util.FileIO(f'{output_prefix}.tmcf', 'w') as tmcf_file: + tmcf_file.write('\n'.join(place_tmcf)) + tmcf_file.write('\n') def process_raster( @@ -713,7 +689,7 @@ def process_raster( data_points: dict = None, counter: Counters = {}, ) -> dict: - """Read a raster geoTiff and output points with data values. + """Read a raster geoTiff and output points with data values. Args: raster_input: raster data set to process loaded from a geoTiff file. @@ -724,78 +700,76 @@ def process_raster( Returns: data_points dict with new points from the raster added. """ - logging.info( - f'Processing raster {raster_input} with config: {config.get_configs()}' - ) - counter.add_counter('input_geotiff_files', 1) - # Load the geoTiff file - counter.set_prefix('1:load_raster:') - src = load_raster_geotiff(raster_input) - # Convert raster into a numpy array. - # Note: This creates a large array with the shape of the original raster - # extent with non-valid data points set to 0. - arr = src.read() - # Load any allow/ignore raster masks. - ignore_geotiff = config.get('ignore_geotiff', None) - allow_geotiff = config.get('allow_geotiff', None) - ignore_src, ignore_arr = (None, None) - allow_src, allow_arr = (None, None) - if ignore_geotiff: - ignore_src = load_raster_geotiff(ignore_geotiff) - ignore_arr = ignore_src.read() - if allow_geotiff: - allow_src = load_raster_geotiff(allow_geotiff) - allow_arr = allow_src.read() - if data_points is None: - data_points = dict() - - # Extract all valid data points from the raster into a numpy array. - # Note: This assumes a sparse raster with few valid data points. - counter.set_prefix('2:extract_raster_points:') - idx = np.where(arr != 0) - num_idx = len(idx[0]) - points_xy = [list(), list()] - if src.count == 1: - # Get list of xy points with data for the single band. - points_xy[0] = idx[1] - points_xy[1] = idx[2] - else: - # For raster with multiple bands, get list of points with value data - # across any band. - xy_set = set() - for i in range(num_idx): - x = idx[1][i] - y = idx[2][i] - if (x, y) not in xy_set: - xy_set.add((x, y)) - points_xy[0].append(x) - points_xy[1].append(y) - # Release memory - idx = None - xy_set = None - num_points = len(points_xy[0]) - counter.add_counter('processed_points', num_points) - logging.info( - f'Got {num_points} xy points out of {num_idx} values from raster:' - f' {raster_input}.' - ) - # Process all points in the raster. - process_raster_points( - src, - arr, - ignore_src, - ignore_arr, - allow_src, - allow_arr, - points_xy, - 0, - num_points, - data_points, - config, - None, - counter, - ) - return data_points + logging.info( + f'Processing raster {raster_input} with config: {config.get_configs()}') + counter.add_counter('input_geotiff_files', 1) + # Load the geoTiff file + counter.set_prefix('1:load_raster:') + src = load_raster_geotiff(raster_input) + # Convert raster into a numpy array. + # Note: This creates a large array with the shape of the original raster + # extent with non-valid data points set to 0. + arr = src.read() + # Load any allow/ignore raster masks. + ignore_geotiff = config.get('ignore_geotiff', None) + allow_geotiff = config.get('allow_geotiff', None) + ignore_src, ignore_arr = (None, None) + allow_src, allow_arr = (None, None) + if ignore_geotiff: + ignore_src = load_raster_geotiff(ignore_geotiff) + ignore_arr = ignore_src.read() + if allow_geotiff: + allow_src = load_raster_geotiff(allow_geotiff) + allow_arr = allow_src.read() + if data_points is None: + data_points = dict() + + # Extract all valid data points from the raster into a numpy array. + # Note: This assumes a sparse raster with few valid data points. + counter.set_prefix('2:extract_raster_points:') + idx = np.where(arr != 0) + num_idx = len(idx[0]) + points_xy = [list(), list()] + if src.count == 1: + # Get list of xy points with data for the single band. + points_xy[0] = idx[1] + points_xy[1] = idx[2] + else: + # For raster with multiple bands, get list of points with value data + # across any band. + xy_set = set() + for i in range(num_idx): + x = idx[1][i] + y = idx[2][i] + if (x, y) not in xy_set: + xy_set.add((x, y)) + points_xy[0].append(x) + points_xy[1].append(y) + # Release memory + idx = None + xy_set = None + num_points = len(points_xy[0]) + counter.add_counter('processed_points', num_points) + logging.info( + f'Got {num_points} xy points out of {num_idx} values from raster:' + f' {raster_input}.') + # Process all points in the raster. + process_raster_points( + src, + arr, + ignore_src, + ignore_arr, + allow_src, + allow_arr, + points_xy, + 0, + num_points, + data_points, + config, + None, + counter, + ) + return data_points def process_raster_points( @@ -813,7 +787,7 @@ def process_raster_points( output_csv: str = None, counter: Counters = None, ) -> bool: - """Process a set of raster data points. + """Process a set of raster data points. Args: src_r: Source raster data set to process @@ -835,69 +809,70 @@ def process_raster_points( Returns True if the raster was processed. """ - logging.info( - f'Processing points {num_points} of {len(points_xy[0])} from' - f' {points_start_index} from {src_r.files} ...' - ) - if counter is None: - counter = Counters() - counter.set_prefix('0:raster:') - counter.set_counter('geotiff_width', src_r.shape[1]) - counter.set_counter('geotiff_height', src_r.shape[0]) - counter.set_counter('index_data_points', num_points) - data_filter = config.get('input_data_filter', {}) - counter.set_prefix('3:extract_raster_latlng:') - counter.set_counter('total_points', num_points) - # Get Lat/Lng coordinates for all given x,y points - # in a batch to reduce number of calls into rasterio. - latlons = rasterio.transform.xy(src_r.transform, points_xy[0], points_xy[1]) - counter.add_counter('processed_points', len(latlons[0])) - logging.info(f'Got Lat/Lngs for {len(latlons[0])} raster points.') - # Go over all data points in range. - counter.set_prefix('4:process_raster_data:') - num_points = min(num_points, config.get('limit_points', num_points)) - counter.set_counter('total_points', num_points) - for point_index in range(points_start_index, points_start_index + num_points): - x = points_xy[0][point_index] - y = points_xy[1][point_index] - lng = latlons[0][point_index] - lat = latlons[1][point_index] - data = get_raster_data_point( - raster=src_r, - arr=src_arr, - x=x, - y=y, - lat=lat, - lng=lng, - config=config, - counter=counter, - ) - if data: - # Check if data point is allowed by the ignore/allow masks. - if ignore_arr is not None: - ignore_point = get_raster_data_latlng( - ignore_r, ignore_arr, data['latitude'], data['longitude'] + logging.info(f'Processing points {num_points} of {len(points_xy[0])} from' + f' {points_start_index} from {src_r.files} ...') + if counter is None: + counter = Counters() + counter.set_prefix('0:raster:') + counter.set_counter('geotiff_width', src_r.shape[1]) + counter.set_counter('geotiff_height', src_r.shape[0]) + counter.set_counter('index_data_points', num_points) + data_filter = config.get('input_data_filter', {}) + counter.set_prefix('3:extract_raster_latlng:') + counter.set_counter('total_points', num_points) + # Get Lat/Lng coordinates for all given x,y points + # in a batch to reduce number of calls into rasterio. + latlons = rasterio.transform.xy(src_r.transform, points_xy[0], points_xy[1]) + counter.add_counter('processed_points', len(latlons[0])) + logging.info(f'Got Lat/Lngs for {len(latlons[0])} raster points.') + # Go over all data points in range. + counter.set_prefix('4:process_raster_data:') + num_points = min(num_points, config.get('limit_points', num_points)) + counter.set_counter('total_points', num_points) + for point_index in range(points_start_index, + points_start_index + num_points): + x = points_xy[0][point_index] + y = points_xy[1][point_index] + lng = latlons[0][point_index] + lat = latlons[1][point_index] + data = get_raster_data_point( + raster=src_r, + arr=src_arr, + x=x, + y=y, + lat=lat, + lng=lng, + config=config, + counter=counter, ) - if ignore_point: - logging.debug(f'Ignoring {data} due to ignore mask: {ignore_point}') - counter.add_counter('ignored_points', 1) - continue - if allow_arr is not None: - allow_point = get_raster_data_latlng( - allow_r, allow_arr, data['latitude'], data['longitude'] - ) - if not allow_point: - logging.debug(f'Ignoring {data} due to allow mask: {allow_point}') - counter.add_counter('dropped_points', 1) - continue - if add_data_point(data_points, data, config, data_filter, counter): - counter.add_counter('output_data_points', 1) - counter.print_counters_periodically() - counter.print_counters() - if output_csv: - counter.set_prefix('5:output_data_csv:') - write_data_csv(data_points, output_csv, [], config, counter) - return True + if data: + # Check if data point is allowed by the ignore/allow masks. + if ignore_arr is not None: + ignore_point = get_raster_data_latlng(ignore_r, ignore_arr, + data['latitude'], + data['longitude']) + if ignore_point: + logging.debug( + f'Ignoring {data} due to ignore mask: {ignore_point}') + counter.add_counter('ignored_points', 1) + continue + if allow_arr is not None: + allow_point = get_raster_data_latlng(allow_r, allow_arr, + data['latitude'], + data['longitude']) + if not allow_point: + logging.debug( + f'Ignoring {data} due to allow mask: {allow_point}') + counter.add_counter('dropped_points', 1) + continue + if add_data_point(data_points, data, config, data_filter, counter): + counter.add_counter('output_data_points', 1) + counter.print_counters_periodically() + counter.print_counters() + if output_csv: + counter.set_prefix('5:output_data_csv:') + write_data_csv(data_points, output_csv, [], config, counter) + return True def process_csv_points( @@ -909,7 +884,7 @@ def process_csv_points( output_csv: str = None, counter: Counters = None, ) -> bool: - """Process data points from CSV. + """Process data points from CSV. Args: input_csv: Input csv file to load data points. Assumed to have columns: @@ -925,67 +900,70 @@ def process_csv_points( Returns: True if data was processed. """ - if data_points is None: - data_points = {} - if counter is None: - counter = Counters() - ignore_points = {} - if ignore_csv: - filter_config = dict(config) - filter_config['ignore_date'] = True - ignore_points = process_csv_points( - input_csv=ignore_csv, config=filter_config - ) - logging.info(f'Loaded {len(ignore_points)} ignore points from {ignore_csv}') - allow_points = {} - if allow_csv: - filter_config = dict(config) - filter_config['ignore_date'] = True - allow_points = process_csv_points(input_csv=allow_csv, config=filter_config) - logging.info(f'Loaded {len(allow_points)} allow points from {allow_csv}') - data_filter = config.get('input_data_filter', {}) - input_csv_files = file_util.file_get_matching(input_csv) - logging.info(f'Processing csv files: {input_csv_files}') - counter.set_prefix('1:process_csv:') - for filename in input_csv_files: - counter.add_counter( - 'total_points', file_util.file_estimate_num_rows(filename) - ) - for filename in input_csv_files: - counter.add_counter('input_csv_files', 1) - with file_util.FileIO(filename) as csvfile: - logging.info(f'Processing data from file {filename} ...') - reader = csv.DictReader(csvfile) - # Save the input columns - config.set_config('input_columns', reader.fieldnames) - # Process required number of input rows. - num_rows = 0 - max_rows = config.get('limit_points', sys.maxsize) - for row in reader: - num_rows += 1 - if num_rows > max_rows: - break - logging.debug(f'Processing CSV row {filename}:{num_rows}:{row}') - data = get_csv_data_point(row, config) - if not data: - counter.add_counter('csv_processed_points_invalid', 1) - continue - data_key = _get_data_key(data, add_date=False) - if data_key in ignore_points: - logging.debug( - f'Ignoring point {data} in ignore list: {ignore_points[data_key]}' - ) - counter.add_counter('csv_points_ignored', 1) - if allow_points and data_key not in allow_points: - logging.debug(f'Ignoring point {data} not in allow list') - counter.add_counter('csv_points_not_allowed', 1) - if add_data_point(data_points, data, config, data_filter, counter): - counter.add_counter('csv_points_added', 1) - counter.print_counters_periodically() - logging.info(f'Processed {num_rows} points from {filename}') - counter.set_counter(f'file-points:{os.path.basename(filename)}', num_rows) - counter.print_counters() - return data_points + if data_points is None: + data_points = {} + if counter is None: + counter = Counters() + ignore_points = {} + if ignore_csv: + filter_config = dict(config) + filter_config['ignore_date'] = True + ignore_points = process_csv_points(input_csv=ignore_csv, + config=filter_config) + logging.info( + f'Loaded {len(ignore_points)} ignore points from {ignore_csv}') + allow_points = {} + if allow_csv: + filter_config = dict(config) + filter_config['ignore_date'] = True + allow_points = process_csv_points(input_csv=allow_csv, + config=filter_config) + logging.info( + f'Loaded {len(allow_points)} allow points from {allow_csv}') + data_filter = config.get('input_data_filter', {}) + input_csv_files = file_util.file_get_matching(input_csv) + logging.info(f'Processing csv files: {input_csv_files}') + counter.set_prefix('1:process_csv:') + for filename in input_csv_files: + counter.add_counter('total_points', + file_util.file_estimate_num_rows(filename)) + for filename in input_csv_files: + counter.add_counter('input_csv_files', 1) + with file_util.FileIO(filename) as csvfile: + logging.info(f'Processing data from file {filename} ...') + reader = csv.DictReader(csvfile) + # Save the input columns + config.set_config('input_columns', reader.fieldnames) + # Process required number of input rows. + num_rows = 0 + max_rows = config.get('limit_points', sys.maxsize) + for row in reader: + num_rows += 1 + if num_rows > max_rows: + break + logging.debug(f'Processing CSV row {filename}:{num_rows}:{row}') + data = get_csv_data_point(row, config) + if not data: + counter.add_counter('csv_processed_points_invalid', 1) + continue + data_key = _get_data_key(data, add_date=False) + if data_key in ignore_points: + logging.debug( + f'Ignoring point {data} in ignore list: {ignore_points[data_key]}' + ) + counter.add_counter('csv_points_ignored', 1) + if allow_points and data_key not in allow_points: + logging.debug(f'Ignoring point {data} not in allow list') + counter.add_counter('csv_points_not_allowed', 1) + if add_data_point(data_points, data, config, data_filter, + counter): + counter.add_counter('csv_points_added', 1) + counter.print_counters_periodically() + logging.info(f'Processed {num_rows} points from {filename}') + counter.set_counter(f'file-points:{os.path.basename(filename)}', + num_rows) + counter.print_counters() + return data_points def filter_data_points( @@ -994,7 +972,7 @@ def filter_data_points( config: ConfigMap = {}, counter: Counters = {}, ) -> dict: - """Remove data points that don't meet required criteria, like min area. + """Remove data points that don't meet required criteria, like min area. Args: data_points: dictionary of data points each with a dict of key:values. @@ -1007,19 +985,20 @@ def filter_data_points( Returns: data points dictionary after removing points. """ - if not filter_params: + if not filter_params: + return data_points + logging.info( + f'Filtering {len(data_points)} with params: {filter_params} ...') + counter.set_prefix('6:filter_data:') + counter.set_counter('total_points', len(data_points)) + for k in list(data_points.keys()): + data = data_points[k] + if not is_valid_data_point(data, filter_params, counter): + counter.add_counter('data-dropped-filter', 1) + logging.debug(f'Dropping data {data}') + data_points.pop(k) + counter.set_counter('points_processed', 1) return data_points - logging.info(f'Filtering {len(data_points)} with params: {filter_params} ...') - counter.set_prefix('6:filter_data:') - counter.set_counter('total_points', len(data_points)) - for k in list(data_points.keys()): - data = data_points[k] - if not is_valid_data_point(data, filter_params, counter): - counter.add_counter('data-dropped-filter', 1) - logging.debug(f'Dropping data {data}') - data_points.pop(k) - counter.set_counter('points_processed', 1) - return data_points def process( @@ -1029,7 +1008,7 @@ def process( config: ConfigMap, counter: Counters = None, ): - """Process raster or CSV inputs to generate CSV output. + """Process raster or CSV inputs to generate CSV output. Args: input_geotiff: comma separated list of input geotiff file patterns @@ -1037,108 +1016,103 @@ def process( output_csv: output csv file to generate config: dictionary of config parameter:values. """ - data_points = {} - if counter is None: - counter = Counters( - options=CounterOptions( - processed_counter='processed_points', total_counter='total_points' + data_points = {} + if counter is None: + counter = Counters(options=CounterOptions( + processed_counter='processed_points', total_counter='total_points')) + counter.set_counter('start_time', time.perf_counter()) + if input_geotiff: + logging.info( + f'Processing raster {input_geotiff} with config: {config.get_configs()}' ) - ) - counter.set_counter('start_time', time.perf_counter()) - if input_geotiff: - logging.info( - f'Processing raster {input_geotiff} with config: {config.get_configs()}' - ) - for geotiff_file in file_util.file_get_matching(input_geotiff): - process_raster(geotiff_file, config, data_points, counter) - if input_csv: - logging.info( - f'Processing csv {input_csv} with config: {config.get_configs()}' - ) - process_csv_points( - input_csv=input_csv, - ignore_csv=config.get('ignore_csv', None), - allow_csv=config.get('allow_csv', None), - data_points=data_points, - config=config, - counter=counter, - ) - logging.info(f'Loaded {len(data_points)} points from {input_csv}') - counter.set_counter('end_time', time.perf_counter()) + for geotiff_file in file_util.file_get_matching(input_geotiff): + process_raster(geotiff_file, config, data_points, counter) + if input_csv: + logging.info( + f'Processing csv {input_csv} with config: {config.get_configs()}') + process_csv_points( + input_csv=input_csv, + ignore_csv=config.get('ignore_csv', None), + allow_csv=config.get('allow_csv', None), + data_points=data_points, + config=config, + counter=counter, + ) + logging.info(f'Loaded {len(data_points)} points from {input_csv}') + counter.set_counter('end_time', time.perf_counter()) - filter_data_points( - data_points, config.get('output_data_filter', None), config, counter - ) - counter.set_prefix('7:output_data_csv:') - write_data_csv(data_points, output_csv, [], config, counter) - s2_place_file = config.get('output_s2_place', None) - if s2_place_file: - write_s2place_csv_tmcf(data_points, s2_place_file, config, counter) - counter.print_counters() + filter_data_points(data_points, config.get('output_data_filter', None), + config, counter) + counter.set_prefix('7:output_data_csv:') + write_data_csv(data_points, output_csv, [], config, counter) + s2_place_file = config.get('output_s2_place', None) + if s2_place_file: + write_s2place_csv_tmcf(data_points, s2_place_file, config, counter) + counter.print_counters() def _get_data_key(data: dict, add_date: bool = True) -> str: - """Return a key for the data values in dictionary + """Return a key for the data values in dictionary Uses s2 cell id if it exists, else the lat/lng along with the date. """ - key = data.get('s2CellId', data.get('dcid')) - if not key: - key = str(data.get('latitude', '')) + str(data.get('longitude', '')) - if add_date: - key += data.get('date', '') - return key - - -def _get_all_columns( - data_points: dict, config: ConfigMap = {}, ignore_commented: bool = True -) -> list: - """Returns a list of all keys across all data points.""" - cols = set() - cols.update(config.get('output_columns', [])) - for data in data_points.values(): - cols.update(list(data.keys())) - if ignore_commented: - cols = {c for c in cols if not c.startswith('#')} - return list(sorted(cols)) + key = data.get('s2CellId', data.get('dcid')) + if not key: + key = str(data.get('latitude', '')) + str(data.get('longitude', '')) + if add_date: + key += data.get('date', '') + return key + + +def _get_all_columns(data_points: dict, + config: ConfigMap = {}, + ignore_commented: bool = True) -> list: + """Returns a list of all keys across all data points.""" + cols = set() + cols.update(config.get('output_columns', [])) + for data in data_points.values(): + cols.update(list(data.keys())) + if ignore_commented: + cols = {c for c in cols if not c.startswith('#')} + return list(sorted(cols)) def _get_numeric_value(value: str) -> float: - """Returns a numeric value for the data string.""" - numeric_value = utils.str_get_numeric_value(value) - if numeric_value is None: - numeric_value = 0 - return numeric_value + """Returns a numeric value for the data string.""" + numeric_value = utils.str_get_numeric_value(value) + if numeric_value is None: + numeric_value = 0 + return numeric_value def _set_numeric_data(data: dict, config: ConfigMap = {}) -> dict: - """Returns dictionary of key:values with values converted from string to number.""" - for k, v in data.items(): - numeric_value = utils.str_get_numeric_value(v) - if numeric_value: - data[k] = numeric_value - return data + """Returns dictionary of key:values with values converted from string to number.""" + for k, v in data.items(): + numeric_value = utils.str_get_numeric_value(v) + if numeric_value: + data[k] = numeric_value + return data def _log_raster_info(raster: rasterio.io.DatasetReader): - """Print raster metadata.""" - logging.info(f'Raster files: {raster.files}') - logging.info(f'Raster shape: {raster.shape}') - logging.info(f'Raster resolution: {raster.res}') - logging.info(f'Raster bounding box: {raster.bounds}') - logging.info(f'Raster bands: {raster.count}') - logging.info(f'Raster no-data value: {raster.nodatavals}') - logging.info(f'Raster CRS: {raster.crs}') - logging.info(f'Raster profile: {raster.profile}') + """Print raster metadata.""" + logging.info(f'Raster files: {raster.files}') + logging.info(f'Raster shape: {raster.shape}') + logging.info(f'Raster resolution: {raster.res}') + logging.info(f'Raster bounding box: {raster.bounds}') + logging.info(f'Raster bands: {raster.count}') + logging.info(f'Raster no-data value: {raster.nodatavals}') + logging.info(f'Raster CRS: {raster.crs}') + logging.info(f'Raster profile: {raster.profile}') def main(_): - config = ConfigMap(filename=_FLAGS.config, config_dict=get_default_config()) - if config.get('debug', False): - logging.set_verbosity(2) - process(_FLAGS.input_geotiff, _FLAGS.input_csv, _FLAGS.output_csv, config) + config = ConfigMap(filename=_FLAGS.config, config_dict=get_default_config()) + if config.get('debug', False): + logging.set_verbosity(2) + process(_FLAGS.input_geotiff, _FLAGS.input_csv, _FLAGS.output_csv, config) if __name__ == '__main__': - app.run(main) + app.run(main) diff --git a/scripts/earthengine/utils.py b/scripts/earthengine/utils.py index 4cd91a3c10..0060b212ce 100644 --- a/scripts/earthengine/utils.py +++ b/scripts/earthengine/utils.py @@ -38,8 +38,7 @@ sys.path.append(os.path.dirname(_SCRIPTS_DIR)) sys.path.append(os.path.dirname(os.path.dirname(_SCRIPTS_DIR))) sys.path.append( - os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util') -) + os.path.join(os.path.dirname(os.path.dirname(_SCRIPTS_DIR)), 'util')) from config_map import ConfigMap, read_py_dict_from_file, write_py_dict_to_file from dc_api_wrapper import dc_api_wrapper @@ -48,7 +47,7 @@ def dict_filter_values(pvs: dict, config: dict = {}) -> bool: - """Returns true if the property values are allowed by the config. + """Returns true if the property values are allowed by the config. removes the properties not allowed by the config from the dict. Args: @@ -59,50 +58,50 @@ def dict_filter_values(pvs: dict, config: dict = {}) -> bool: Returns: True if the key:values in pvs meet all config criteria. """ - props = list(pvs.keys()) - is_allowed = True - for p in props: - value = pvs.get(p, None) - allow_value = True - if value is None: - allow_value = False - else: - prop_config = config.get(p, config) - if prop_config: - if 'min' in prop_config: - if value < prop_config['min']: - allow_value = False - if 'max' in prop_config: - if value > prop_config['max']: - allow_value = False - if 'regex' in prop_config: - if not isinstance(value, str): - value = str(value) - matches = re.search(prop_config['regex'], value) - if not matches: + props = list(pvs.keys()) + is_allowed = True + for p in props: + value = pvs.get(p, None) + allow_value = True + if value is None: allow_value = False - if 'ignore' in prop_config: - if not isinstance(value, str): - value = str(value) - matches = re.search(prop_config['ignore'], value) - if matches: - allow_value = False - if not allow_value: - pvs.pop(p) - is_allowed = False - return is_allowed + else: + prop_config = config.get(p, config) + if prop_config: + if 'min' in prop_config: + if value < prop_config['min']: + allow_value = False + if 'max' in prop_config: + if value > prop_config['max']: + allow_value = False + if 'regex' in prop_config: + if not isinstance(value, str): + value = str(value) + matches = re.search(prop_config['regex'], value) + if not matches: + allow_value = False + if 'ignore' in prop_config: + if not isinstance(value, str): + value = str(value) + matches = re.search(prop_config['ignore'], value) + if matches: + allow_value = False + if not allow_value: + pvs.pop(p) + is_allowed = False + return is_allowed # Utilities related to S2 Cells def is_s2_cell_id(dcid: str) -> bool: - """Returns true if the dcid is an s2 cell id.""" - return strip_namespace(dcid).startswith('s2CellId/') + """Returns true if the dcid is an s2 cell id.""" + return strip_namespace(dcid).startswith('s2CellId/') def s2_cell_from_latlng(lat: float, lng: float, level: int) -> CellId: - """Returns an S2 CellId object of level for the given location lat/lng. + """Returns an S2 CellId object of level for the given location lat/lng. Args: lat: Latitude in degrees @@ -113,55 +112,54 @@ def s2_cell_from_latlng(lat: float, lng: float, level: int) -> CellId: Returns: CellId object oof the desired level that contains the lat/lng point. """ - assert level >= 0 and level <= 30 - ll = s2sphere.LatLng.from_degrees(lat, lng) - cell = s2sphere.CellId.from_lat_lng(ll) - if level < 30: - cell = cell.parent(level) - return cell + assert level >= 0 and level <= 30 + ll = s2sphere.LatLng.from_degrees(lat, lng) + cell = s2sphere.CellId.from_lat_lng(ll) + if level < 30: + cell = cell.parent(level) + return cell def s2_cell_to_hex_str(s2cell_id: Union[int, CellId]) -> str: - """Returns the s2 cell id in hex.""" - if isinstance(s2cell_id, CellId): - s2cell_id = s2cell_id.id() - return f'{s2cell_id:#018x}' + """Returns the s2 cell id in hex.""" + if isinstance(s2cell_id, CellId): + s2cell_id = s2cell_id.id() + return f'{s2cell_id:#018x}' def s2_cell_to_dcid(s2cell_id: Union[int, CellId]) -> str: - """Returns the dcid for the s2 cell of the form s2CellId/0x1234.""" - if isinstance(s2cell_id, CellId): - s2cell_id = s2cell_id.id() - return 'dcid:s2CellId/' + s2_cell_to_hex_str(s2cell_id) + """Returns the dcid for the s2 cell of the form s2CellId/0x1234.""" + if isinstance(s2cell_id, CellId): + s2cell_id = s2cell_id.id() + return 'dcid:s2CellId/' + s2_cell_to_hex_str(s2cell_id) def s2_cell_from_dcid(s2_dcid: Union[str, int, CellId]) -> CellId: - """Returns the s2 CellId object for the s2 cell.""" - if isinstance(s2_dcid, str): - return s2sphere.CellId(int(s2_dcid[s2_dcid.find('/') + 1 :], 16)) - if isinstance(s2_dcid, int): - return s2sphere.CellId(s2_dcid) - if isinstance(s2_dcid, s2sphere.CellId): - return s2_dcid - return None + """Returns the s2 CellId object for the s2 cell.""" + if isinstance(s2_dcid, str): + return s2sphere.CellId(int(s2_dcid[s2_dcid.find('/') + 1:], 16)) + if isinstance(s2_dcid, int): + return s2sphere.CellId(s2_dcid) + if isinstance(s2_dcid, s2sphere.CellId): + return s2_dcid + return None def s2_cell_latlng_dcid(lat: float, lng: float, level: int) -> str: - """Returns dcid of the s2 cell of given level containing the point lat/lng.""" - return s2_cell_to_dcid(s2_cell_from_latlng(lat, lng, level).id()) + """Returns dcid of the s2 cell of given level containing the point lat/lng.""" + return s2_cell_to_dcid(s2_cell_from_latlng(lat, lng, level).id()) def s2_cells_distance(cell_id1: int, cell_id2: int) -> float: - """Returns the distance between the centroid of two S2 cells in kilometers.""" - p1 = CellId(cell_id1).to_lat_lng() - p2 = CellId(cell_id2).to_lat_lng() - return distance.distance( - (p1.lat().degrees, p1.lng().degrees), (p2.lat().degrees, p2.lng().degrees) - ).km + """Returns the distance between the centroid of two S2 cells in kilometers.""" + p1 = CellId(cell_id1).to_lat_lng() + p2 = CellId(cell_id2).to_lat_lng() + return distance.distance((p1.lat().degrees, p1.lng().degrees), + (p2.lat().degrees, p2.lng().degrees)).km def s2_cell_area(cell_id: s2sphere.CellId) -> float: - """Returns the area of the S2 cell in sqkm + """Returns the area of the S2 cell in sqkm Converts the are of the S2 cell into sqkm using a fixed radius of 6371 km. @@ -171,44 +169,43 @@ def s2_cell_area(cell_id: s2sphere.CellId) -> float: Returns: Area of the cell in sq km. """ - _EARTH_RADIUS = 6371 # Radius of Earth in Km. - s2_cell = s2_cell_from_dcid(cell_id) - return s2sphere.Cell(s2_cell).exact_area() * _EARTH_RADIUS * _EARTH_RADIUS + _EARTH_RADIUS = 6371 # Radius of Earth in Km. + s2_cell = s2_cell_from_dcid(cell_id) + return s2sphere.Cell(s2_cell).exact_area() * _EARTH_RADIUS * _EARTH_RADIUS def s2_cell_get_neighbor_ids(s2_cell_id: str) -> list: - """Returns a list of neighbouring cell dcids for a given s2 cell dcid. + """Returns a list of neighbouring cell dcids for a given s2 cell dcid. An interior cell will have 8 neighbours: 3 above, 1 left, 1 right and 3 below. A cell near the edge may have a subset of these. """ - s2_cell = s2_cell_from_dcid(s2_cell_id) - return [ - s2_cell_to_dcid(cell) - for cell in s2_cell.get_all_neighbors(s2_cell.level()) - ] + s2_cell = s2_cell_from_dcid(s2_cell_id) + return [ + s2_cell_to_dcid(cell) + for cell in s2_cell.get_all_neighbors(s2_cell.level()) + ] def s2_cell_to_polygon(s2_cell_id: str) -> Polygon: - """Returns the polygon with 4 vertices for an s2 cell.""" - s2_cell = Cell(s2_cell_from_dcid(s2_cell_id)) - if not s2_cell: - return None - # Get vertices for all corners. - vertices = [] - for index in range(4): - point = s2_cell.get_vertex(index) - ll = LatLng.from_point(point) - vertices.append((ll.lng().degrees, ll.lat().degrees)) - vertices.append(vertices[0]) - # Create a polygon for the vertices. - return Polygon(vertices) - - -def latlng_cell_area( - lat: float, lng: float, height: float, width: float -) -> float: - """Returns the area of the rectangular region in sqkm. + """Returns the polygon with 4 vertices for an s2 cell.""" + s2_cell = Cell(s2_cell_from_dcid(s2_cell_id)) + if not s2_cell: + return None + # Get vertices for all corners. + vertices = [] + for index in range(4): + point = s2_cell.get_vertex(index) + ll = LatLng.from_point(point) + vertices.append((ll.lng().degrees, ll.lat().degrees)) + vertices.append(vertices[0]) + # Create a polygon for the vertices. + return Polygon(vertices) + + +def latlng_cell_area(lat: float, lng: float, height: float, + width: float) -> float: + """Returns the area of the rectangular region in sqkm. Args: lat: latitude of a corner in degrees @@ -219,29 +216,29 @@ def latlng_cell_area( Returns: area in square kilometers. """ - try: - bottom_left = (lat, lng) - top_left = (min(90, lat + height), lng) - bottom_right = (lat, min(lng + width, 180)) - width_km = distance.geodesic(bottom_left, bottom_right).km - height_km = distance.geodesic(top_left, bottom_left).km - return width_km * height_km - except ValueError: - logging.error(f'Invalid coordinates for area: {locals()}') - return 0 + try: + bottom_left = (lat, lng) + top_left = (min(90, lat + height), lng) + bottom_right = (lat, min(lng + width, 180)) + width_km = distance.geodesic(bottom_left, bottom_right).km + height_km = distance.geodesic(top_left, bottom_left).km + return width_km * height_km + except ValueError: + logging.error(f'Invalid coordinates for area: {locals()}') + return 0 # Utilities for grid ids. def is_grid_id(dcid: str) -> bool: - """Returns true if the dcid is a grid id.""" - return strip_namespace(dcid).startswith('grid_') + """Returns true if the dcid is a grid id.""" + return strip_namespace(dcid).startswith('grid_') def is_ipcc_id(dcid: str) -> bool: - """Returns true if the dcid is an ipcc grid id.""" - return strip_namespace(dcid).startswith('ipcc_') + """Returns true if the dcid is an ipcc grid id.""" + return strip_namespace(dcid).startswith('ipcc_') def grid_id_from_lat_lng( @@ -253,309 +250,295 @@ def grid_id_from_lat_lng( lat_offset: float = 0, lng_offset: float = 0, ) -> str: - """Returns the dcid for grid of given degrees for the lat/lng.""" - # Get lat/lng rounded to the grid degrees - degree_str = str_from_number(degrees) - if prefix == 'ipcc_': - degree_str = str_from_number(int(degrees * 100)) - lat_rounded = int(lat / degrees) * degrees + lat_offset - lng_rounded = int(lng / degrees) * degrees + lng_offset - lat_str = str_from_number(lat_rounded, 2) - lng_str = str_from_number(lng_rounded, 2) - return f'dcid:{prefix}{degree_str}/{lat_str}_{lng_str}{suffix}' + """Returns the dcid for grid of given degrees for the lat/lng.""" + # Get lat/lng rounded to the grid degrees + degree_str = str_from_number(degrees) + if prefix == 'ipcc_': + degree_str = str_from_number(int(degrees * 100)) + lat_rounded = int(lat / degrees) * degrees + lat_offset + lng_rounded = int(lng / degrees) * degrees + lng_offset + lat_str = str_from_number(lat_rounded, 2) + lng_str = str_from_number(lng_rounded, 2) + return f'dcid:{prefix}{degree_str}/{lat_str}_{lng_str}{suffix}' def grid_id_to_deg_lat_lng( - grid_id: str, default_deg: float = 1 -) -> (float, float, float, str): - """Returns a tuple of degree, latitude longitude, suffix for the grid id.""" - grid = strip_namespace(grid_id) - deg, lat_lng = grid.split('/', 1) - if deg is not None: - deg = deg[deg.find('_') + 1 :] - deg = float(deg) - else: - deg = default_deg - if is_ipcc_id(grid_id): - # Decimal degrees are represented with fractional part. - deg = deg / 100 - if lat_lng: - latlngs = lat_lng.split('_') - lat = float(latlngs[0]) - lng = float(latlngs[1]) - lat_offset = lat - int(lat / deg) * deg - lng_offset = lng - int(lng / deg) * deg - suffix = '' - if len(latlngs) > 2 and latlngs[2]: - suffix = '_' + latlngs[2] - return (deg, lat, lng, lat_offset, lng_offset, suffix) + grid_id: str, default_deg: float = 1) -> (float, float, float, str): + """Returns a tuple of degree, latitude longitude, suffix for the grid id.""" + grid = strip_namespace(grid_id) + deg, lat_lng = grid.split('/', 1) + if deg is not None: + deg = deg[deg.find('_') + 1:] + deg = float(deg) + else: + deg = default_deg + if is_ipcc_id(grid_id): + # Decimal degrees are represented with fractional part. + deg = deg / 100 + if lat_lng: + latlngs = lat_lng.split('_') + lat = float(latlngs[0]) + lng = float(latlngs[1]) + lat_offset = lat - int(lat / deg) * deg + lng_offset = lng - int(lng / deg) * deg + suffix = '' + if len(latlngs) > 2 and latlngs[2]: + suffix = '_' + latlngs[2] + return (deg, lat, lng, lat_offset, lng_offset, suffix) def grid_get_neighbor_ids(grid_id: str) -> list: - """Returns all the 8 neighbour ids of the grid.""" - grid_id = strip_namespace(grid_id) - prefix = grid_id[: grid_id.find('_') + 1] - deg, lat, lng, lat_deg_offset, lng_deg_offset, suffix = ( - grid_id_to_deg_lat_lng(grid_id) - ) - neighbours = [] - for lat_offset in [-1, 0, 1]: - for lng_offset in [-1, 0, 1]: - if lat_offset != 0 or lng_offset != 0: - neighbour_lat = lat + lat_offset * deg - neighbour_lng = lng + lng_offset * deg - if abs(neighbour_lat) < 90.0 and abs(neighbour_lng) < 180: - neighbours.append( - grid_id_from_lat_lng( - deg, - neighbour_lat, - neighbour_lng, - prefix, - suffix, - lat_deg_offset, - lng_deg_offset, - ) - ) - return neighbours + """Returns all the 8 neighbour ids of the grid.""" + grid_id = strip_namespace(grid_id) + prefix = grid_id[:grid_id.find('_') + 1] + deg, lat, lng, lat_deg_offset, lng_deg_offset, suffix = ( + grid_id_to_deg_lat_lng(grid_id)) + neighbours = [] + for lat_offset in [-1, 0, 1]: + for lng_offset in [-1, 0, 1]: + if lat_offset != 0 or lng_offset != 0: + neighbour_lat = lat + lat_offset * deg + neighbour_lng = lng + lng_offset * deg + if abs(neighbour_lat) < 90.0 and abs(neighbour_lng) < 180: + neighbours.append( + grid_id_from_lat_lng( + deg, + neighbour_lat, + neighbour_lng, + prefix, + suffix, + lat_deg_offset, + lng_deg_offset, + )) + return neighbours def grid_ids_distance(grid1: str, grid2: str) -> float: - """Returns the distance between grid points.""" - deg1, lat1, lng1, lat1_offset, lng1_offset, suffix1 = grid_id_to_deg_lat_lng( - grid1 - ) - deg2, lat2, lng2, lat2_offset, lng2_offset, suffix2 = grid_id_to_deg_lat_lng( - grid2 - ) - return distance.distance((lat1, lng1), (lat2, lng2)).km + """Returns the distance between grid points.""" + deg1, lat1, lng1, lat1_offset, lng1_offset, suffix1 = grid_id_to_deg_lat_lng( + grid1) + deg2, lat2, lng2, lat2_offset, lng2_offset, suffix2 = grid_id_to_deg_lat_lng( + grid2) + return distance.distance((lat1, lng1), (lat2, lng2)).km def grid_area(grid: str) -> float: - """Returns the area for the grid.""" - deg, lat, lng, lat_offset, lng_offset, suffix = grid_id_to_deg_lat_lng(grid) - return latlng_cell_area(lat, lng, deg, deg) + """Returns the area for the grid.""" + deg, lat, lng, lat_offset, lng_offset, suffix = grid_id_to_deg_lat_lng(grid) + return latlng_cell_area(lat, lng, deg, deg) def grid_to_polygon(grid: str) -> Polygon: - """Returns the rectangular polygon for the grid. + """Returns the rectangular polygon for the grid. Assumes the lat/lng from the dcid is the center. """ - deg, lat, lng, lat_offset, lng_offset, suffix = grid_id_to_deg_lat_lng(grid) - bottom_left_lat = max(lat - deg / 2, -90) - bottom_left_lng = max(lng - deg / 2, -180) - return Polygon.from_bounds( - bottom_left_lng, - bottom_left_lat, - min(bottom_left_lng + deg, 180), - min(bottom_left_lat + deg, 90), - ) - - -def place_id_to_lat_lng( - placeid: str, dc_api_lookup: bool = True -) -> (float, float): - """Returns the lat/lng degrees for the place.""" - lat = None - lng = None - if is_s2_cell_id(placeid): - s2_cell = s2_cell_from_dcid(placeid) - point = s2_cell.to_lat_lng() - return (point.lat().degrees, point.lng().degrees) - if is_grid_id(placeid) or is_ipcc_id(placeid): - deg, lat, lng, lat_offset, lng_offset, suffix = grid_id_to_deg_lat_lng( - placeid + deg, lat, lng, lat_offset, lng_offset, suffix = grid_id_to_deg_lat_lng(grid) + bottom_left_lat = max(lat - deg / 2, -90) + bottom_left_lng = max(lng - deg / 2, -180) + return Polygon.from_bounds( + bottom_left_lng, + bottom_left_lat, + min(bottom_left_lng + deg, 180), + min(bottom_left_lat + deg, 90), ) - elif dc_api_lookup: - # Get the lat/lng from the DC API - latlng = [] - for prop in ['latitude', 'longitude']: - # dc.utils._API_ROOT = 'http://autopush.api.datacommons.org' - # resp = dc.get_property_values([placeid], prop) - resp = dc_api_wrapper( - function=dc.get_property_values, - args={ - 'dcids': [placeid], - 'prop': prop, - }, - use_cache=True, - api_root='http://autopush.api.datacommons.org', - ) - if not resp or placeid not in resp: - return (0, 0) - values = resp[placeid] - if not len(values): - return (0, 0) - latlng.append(float(values[0])) - lat = latlng[0] - lng = latlng[1] - return (lat, lng) + + +def place_id_to_lat_lng(placeid: str, + dc_api_lookup: bool = True) -> (float, float): + """Returns the lat/lng degrees for the place.""" + lat = None + lng = None + if is_s2_cell_id(placeid): + s2_cell = s2_cell_from_dcid(placeid) + point = s2_cell.to_lat_lng() + return (point.lat().degrees, point.lng().degrees) + if is_grid_id(placeid) or is_ipcc_id(placeid): + deg, lat, lng, lat_offset, lng_offset, suffix = grid_id_to_deg_lat_lng( + placeid) + elif dc_api_lookup: + # Get the lat/lng from the DC API + latlng = [] + for prop in ['latitude', 'longitude']: + # dc.utils._API_ROOT = 'http://autopush.api.datacommons.org' + # resp = dc.get_property_values([placeid], prop) + resp = dc_api_wrapper( + function=dc.get_property_values, + args={ + 'dcids': [placeid], + 'prop': prop, + }, + use_cache=True, + api_root='http://autopush.api.datacommons.org', + ) + if not resp or placeid not in resp: + return (0, 0) + values = resp[placeid] + if not len(values): + return (0, 0) + latlng.append(float(values[0])) + lat = latlng[0] + lng = latlng[1] + return (lat, lng) def place_distance(place1: str, place2: str) -> float: - """Returns the distance between two places.""" - lat1, lng1 = place_id_to_lat_lng(place1) - lat2, lng2 = place_id_to_lat_lng(place2) - return distance.distance((lat1, lng1), (lat2, lng2)).km + """Returns the distance between two places.""" + lat1, lng1 = place_id_to_lat_lng(place1) + lat2, lng2 = place_id_to_lat_lng(place2) + return distance.distance((lat1, lng1), (lat2, lng2)).km def place_area(place: str) -> float: - """Returns the area for the place in sqkm.""" - if is_s2_cell_id(place): - s2_cell = s2_cell_from_dcid(place) - return s2_cell_area(s2_cell) - if is_grid_id(place) or is_ipcc_id(place): - return grid_area(place) - # Unknown place type - return 0 + """Returns the area for the place in sqkm.""" + if is_s2_cell_id(place): + s2_cell = s2_cell_from_dcid(place) + return s2_cell_area(s2_cell) + if is_grid_id(place) or is_ipcc_id(place): + return grid_area(place) + # Unknown place type + return 0 def place_to_polygon(place_id: str) -> Polygon: - """Returns the polygon for the place.""" - if is_s2_cell_id(place_id): - return s2_cell_to_polygon(place_id) - if is_grid_id(place_id) or is_ipcc_id(place_id): - return grid_to_polygon(place_id) - return None + """Returns the polygon for the place.""" + if is_s2_cell_id(place_id): + return s2_cell_to_polygon(place_id) + if is_grid_id(place_id) or is_ipcc_id(place_id): + return grid_to_polygon(place_id) + return None # String utilities def strip_namespace(dcid: str) -> str: - """Returns the id without the namespace prefix.""" - return dcid[dcid.find(':') + 1 :] + """Returns the id without the namespace prefix.""" + return dcid[dcid.find(':') + 1:] def add_namespace(dcid: str, prefix: str = 'dcid:') -> str: - """Returns the dcid with the namespace set to prefix.""" - return f'{prefix}{strip_namespace(dcid)}' + """Returns the dcid with the namespace set to prefix.""" + return f'{prefix}{strip_namespace(dcid)}' def str_get_numeric_value( - value: Union[str, list, int, float] -) -> Union[int, float, None]: - """Returns the numeric value from input string or None.""" - if isinstance(value, list): - value = value[0] - if isinstance(value, int) or isinstance(value, float): - return value - if value and isinstance(value, str): - normalized_value = value.strip() - if not normalized_value: - return None - if ( - normalized_value[0].isdigit() - or normalized_value[0] == '.' - or normalized_value[0] == '-' - or normalized_value[0] == '+' - ): - # Input looks like a number. Remove allowed extra characters. - # Parse numbers of the form 10,000,000 or 20,00,000. - normalized_value = normalized_value.replace(',', '') - if normalized_value.count('.') > 1: - # Period may be used instead of commas. Remove it. - normalized_value = normalized_value.replace('.', '') - try: - if normalized_value.count('.') == 1: - return float(normalized_value) - if normalized_value.startswith('0x'): - return int(normalized_value, 16) - return int(normalized_value) - except ValueError: - # Value is not a number. Ignore it. - return None - return None + value: Union[str, list, int, float]) -> Union[int, float, None]: + """Returns the numeric value from input string or None.""" + if isinstance(value, list): + value = value[0] + if isinstance(value, int) or isinstance(value, float): + return value + if value and isinstance(value, str): + normalized_value = value.strip() + if not normalized_value: + return None + if (normalized_value[0].isdigit() or normalized_value[0] == '.' or + normalized_value[0] == '-' or normalized_value[0] == '+'): + # Input looks like a number. Remove allowed extra characters. + # Parse numbers of the form 10,000,000 or 20,00,000. + normalized_value = normalized_value.replace(',', '') + if normalized_value.count('.') > 1: + # Period may be used instead of commas. Remove it. + normalized_value = normalized_value.replace('.', '') + try: + if normalized_value.count('.') == 1: + return float(normalized_value) + if normalized_value.startswith('0x'): + return int(normalized_value, 16) + return int(normalized_value) + except ValueError: + # Value is not a number. Ignore it. + return None + return None -def str_from_number( - number: Union[int, float], precision_digits: int = None -) -> str: - """Returns the number converted to string. +def str_from_number(number: Union[int, float], + precision_digits: int = None) -> str: + """Returns the number converted to string. Ints and floats with 0 decimal parts get int strings. Floats get precision digits. """ - # Check if number is an integer or float without any decimals. - if int(number) == number: - number_int = int(number) - return f'{number_int}' - # Return float rounded to precision digits. - if precision_digits: - number = round(number, precision_digits) - return f'{number}' + # Check if number is an integer or float without any decimals. + if int(number) == number: + number_int = int(number) + return f'{number_int}' + # Return float rounded to precision digits. + if precision_digits: + number = round(number, precision_digits) + return f'{number}' def str_format_float(data: float, precision_digits: int = 6): - if isinstance(data, float): - return f'{data:.{precision_digits}f}' - return data + if isinstance(data, float): + return f'{data:.{precision_digits}f}' + return data # Date utilities def date_today(date_format: str = '%Y-%m-%d') -> str: - """Returns today's date in the given format.""" - return date.today().strftime(date_format) + """Returns today's date in the given format.""" + return date.today().strftime(date_format) def date_yesterday(date_format: str = '%Y-%m-%d') -> str: - """Returns today's date in the given format.""" - return date_advance_by_period(date_today(date_format), '-1d', date_format) + """Returns today's date in the given format.""" + return date_advance_by_period(date_today(date_format), '-1d', date_format) def date_parse_time_period(time_period: str) -> (int, str): - """Parse time period into a tuple of (number, unit), + """Parse time period into a tuple of (number, unit), for eg: for 'P1M' returns (1, month). Time period is assumed to be of the form: P where duration is a letter: D: days, M; months, Y: years. . """ - # Extract the number and duration letter from the time period. - re_pat = r'P?(?P[+-]?[0-9]+)(?P[A-Z])' - m = re.search(re_pat, time_period.upper()) - if m: - m_dict = m.groupdict() - delta = int(m_dict.get('delta', '0')) - unit = m_dict.get('unit', 'M') - # Convert the duration letter to unit: days/months/years - period_dict = {'D': 'days', 'M': 'months', 'Y': 'years'} - period = period_dict.get(unit, 'day') - return (delta, period) - return (0, 'days') - - -def date_advance_by_period( - date_str: str, time_period: str, date_format: str = '%Y-%m-%d' -) -> str: - """Returns the date string advanced by the time period.""" - if not date_str: - return '' - dt = datetime.strptime(date_str, date_format) - (delta, unit) = date_parse_time_period(time_period) - if not delta or not unit: - logging.error( - f'Unable to parse time period: {time_period} for date: {date_str}' - ) - return '' - next_dt = dt + relativedelta(**{unit: delta}) - return next_dt.strftime(date_format) + # Extract the number and duration letter from the time period. + re_pat = r'P?(?P[+-]?[0-9]+)(?P[A-Z])' + m = re.search(re_pat, time_period.upper()) + if m: + m_dict = m.groupdict() + delta = int(m_dict.get('delta', '0')) + unit = m_dict.get('unit', 'M') + # Convert the duration letter to unit: days/months/years + period_dict = {'D': 'days', 'M': 'months', 'Y': 'years'} + period = period_dict.get(unit, 'day') + return (delta, period) + return (0, 'days') + + +def date_advance_by_period(date_str: str, + time_period: str, + date_format: str = '%Y-%m-%d') -> str: + """Returns the date string advanced by the time period.""" + if not date_str: + return '' + dt = datetime.strptime(date_str, date_format) + (delta, unit) = date_parse_time_period(time_period) + if not delta or not unit: + logging.error( + f'Unable to parse time period: {time_period} for date: {date_str}') + return '' + next_dt = dt + relativedelta(**{unit: delta}) + return next_dt.strftime(date_format) def date_format_by_time_period(date_str: str, time_period: str) -> str: - """Returns date in the format of the time_period: P + """Returns date in the format of the time_period: P If the last letter in the time_period is Y, returns date in YYYY, for 'M', returns date as YYYY-MM, for D returns date as YYYY-MM-DD. """ - if not time_period: + if not time_period: + return date_str + (delta, unit) = date_parse_time_period(time_period) + date_parts = date_str.split('-') + if unit == 'years': + return date_parts[0] + if unit == 'months': + return '-'.join(date_parts[0:2]) return date_str - (delta, unit) = date_parse_time_period(time_period) - date_parts = date_str.split('-') - if unit == 'years': - return date_parts[0] - if unit == 'months': - return '-'.join(date_parts[0:2]) - return date_str diff --git a/scripts/earthengine/utils_test.py b/scripts/earthengine/utils_test.py index 1771024f54..1847cf2d31 100644 --- a/scripts/earthengine/utils_test.py +++ b/scripts/earthengine/utils_test.py @@ -30,358 +30,344 @@ import utils -_TESTDIR = os.path.join( - os.path.dirname(os.path.realpath(__file__)), 'test_data' -) +_TESTDIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), + 'test_data') class DictUtilsTest(unittest.TestCase): - dict1 = { - 'int_key1': 10, - 'int_key2': 20, - 'int_key3': 30, - 'float_key1': 12.12, - 'float_key2': 20.123, - 'float_key3': 33.33, - 'string_key1': 'String Value', - 'string_key2': 'Value1', - } - - def setUp(self): - self.maxDiff = None - - def test_dict_filter_values(self): - filter_config = { - 'int_key1': { - 'min': 10, - 'max': 100, - }, - 'int_key2': { - 'min': 1000, - }, - 'float_key3': { - 'max': 10000.0, - }, - 'string_key1': {'regex': r'^[^ ]*$'}, - 'string_key2': {'regex': r'^[^ ]*$'}, - 'param1': {'ignore': 'drop'}, + dict1 = { + 'int_key1': 10, + 'int_key2': 20, + 'int_key3': 30, + 'float_key1': 12.12, + 'float_key2': 20.123, + 'float_key3': 33.33, + 'string_key1': 'String Value', + 'string_key2': 'Value1', } - filter_dict = dict(self.dict1) - utils.dict_filter_values(filter_dict, filter_config) - expected_dict = dict(self.dict1) - expected_dict.pop('int_key2') # dropped as < min(1000) - expected_dict.pop('string_key1') - self.assertEqual(expected_dict, filter_dict) - - # Test ignore - self.assertFalse( - utils.dict_filter_values( - {'param1': ['value1', 'drop this']}, filter_config - ) - ) - self.assertTrue( - utils.dict_filter_values( - {'param1': 'allowed', 'param2': 'do not drop this'}, filter_config - ) - ) + + def setUp(self): + self.maxDiff = None + + def test_dict_filter_values(self): + filter_config = { + 'int_key1': { + 'min': 10, + 'max': 100, + }, + 'int_key2': { + 'min': 1000, + }, + 'float_key3': { + 'max': 10000.0, + }, + 'string_key1': { + 'regex': r'^[^ ]*$' + }, + 'string_key2': { + 'regex': r'^[^ ]*$' + }, + 'param1': { + 'ignore': 'drop' + }, + } + filter_dict = dict(self.dict1) + utils.dict_filter_values(filter_dict, filter_config) + expected_dict = dict(self.dict1) + expected_dict.pop('int_key2') # dropped as < min(1000) + expected_dict.pop('string_key1') + self.assertEqual(expected_dict, filter_dict) + + # Test ignore + self.assertFalse( + utils.dict_filter_values({'param1': ['value1', 'drop this']}, + filter_config)) + self.assertTrue( + utils.dict_filter_values( + { + 'param1': 'allowed', + 'param2': 'do not drop this' + }, filter_config)) class S2CellUtilsTest(unittest.TestCase): - def test_is_s2_cell_id(self): - self.assertFalse(utils.is_s2_cell_id('')) - self.assertTrue(utils.is_s2_cell_id('dcid:s2CellId/0x54ce1f0000000000')) - self.assertTrue(utils.is_s2_cell_id('s2CellId/0x0000010000000000')) - self.assertFalse(utils.is_s2_cell_id('0x0000010000000000')) - - def test_s2_cell_from_latlng(self): - self.assertEqual( - s2sphere.CellId(0x11282F0000000000), - utils.s2_cell_from_latlng(10.1, 20.2, 10), - ) - - def test_s2_cell_to_dcid(self): - self.assertEqual( - 'dcid:s2CellId/0x0000050000000000', - utils.s2_cell_to_dcid(s2sphere.CellId(0x0000050000000000)), - ) - self.assertEqual( - 'dcid:s2CellId/0x0000050000000000', - utils.s2_cell_to_dcid(0x0000050000000000), - ) - - def test_s2_cell_from_dcid(self): - self.assertEqual( - s2sphere.CellId(0x0000050000000000), - utils.s2_cell_from_dcid('dcid:s2CellId/0x0000050000000000'), - ) - self.assertEqual( - s2sphere.CellId(0x0000070000000000), - utils.s2_cell_from_dcid('s2CellId/0x0000070000000000'), - ) - - def test_s2_cell_distance(self): - self.assertTrue( - math.isclose( - 7.84, - utils.s2_cells_distance(0x0000050000000000, 0x0000070000000000), - rel_tol=1e-2, + def test_is_s2_cell_id(self): + self.assertFalse(utils.is_s2_cell_id('')) + self.assertTrue(utils.is_s2_cell_id('dcid:s2CellId/0x54ce1f0000000000')) + self.assertTrue(utils.is_s2_cell_id('s2CellId/0x0000010000000000')) + self.assertFalse(utils.is_s2_cell_id('0x0000010000000000')) + + def test_s2_cell_from_latlng(self): + self.assertEqual( + s2sphere.CellId(0x11282F0000000000), + utils.s2_cell_from_latlng(10.1, 20.2, 10), ) - ) - def test_s2_cell_area(self): - self.assertTrue( - math.isclose( - 53.23, utils.s2_cell_area(0x0000050000000000), rel_tol=1e-2 + def test_s2_cell_to_dcid(self): + self.assertEqual( + 'dcid:s2CellId/0x0000050000000000', + utils.s2_cell_to_dcid(s2sphere.CellId(0x0000050000000000)), ) - ) - self.assertTrue( - math.isclose( - 68.95, - utils.s2_cell_area(utils.s2_cell_from_latlng(0, 0, 10)), - rel_tol=1e-2, + self.assertEqual( + 'dcid:s2CellId/0x0000050000000000', + utils.s2_cell_to_dcid(0x0000050000000000), ) - ) - self.assertTrue( - math.isclose( - 81.37, - utils.s2_cell_area(utils.s2_cell_from_latlng(80, 90, 10)), - rel_tol=1e-2, + + def test_s2_cell_from_dcid(self): + self.assertEqual( + s2sphere.CellId(0x0000050000000000), + utils.s2_cell_from_dcid('dcid:s2CellId/0x0000050000000000'), + ) + self.assertEqual( + s2sphere.CellId(0x0000070000000000), + utils.s2_cell_from_dcid('s2CellId/0x0000070000000000'), ) - ) - - def test_s2_cell_get_neighbor_ids(self): - s2_cell = utils.s2_cell_from_latlng(10, 20, 10) - neighbors = utils.s2_cell_get_neighbor_ids(s2_cell) - expected_neighbors = [ - 'dcid:s2CellId/0x10d7e10000000000', - 'dcid:s2CellId/0x10d7d90000000000', - 'dcid:s2CellId/0x10d7df0000000000', - 'dcid:s2CellId/0x1128230000000000', - 'dcid:s2CellId/0x11281f0000000000', - 'dcid:s2CellId/0x1128270000000000', - 'dcid:s2CellId/0x1128190000000000', - 'dcid:s2CellId/0x1128250000000000', - ] - self.assertEqual(expected_neighbors, neighbors) - for n in neighbors: - n_cell = utils.s2_cell_from_dcid(n) - self.assertEqual(n_cell.level(), s2_cell.level()) - - def test_latlng_cell_area(self): - self.assertEqual(12309, int(utils.latlng_cell_area(0, 0, 1, 1))) - self.assertEqual(21, int(utils.latlng_cell_area(80, -80, 0.1, 0.1))) + def test_s2_cell_distance(self): + self.assertTrue( + math.isclose( + 7.84, + utils.s2_cells_distance(0x0000050000000000, 0x0000070000000000), + rel_tol=1e-2, + )) + + def test_s2_cell_area(self): + self.assertTrue( + math.isclose(53.23, + utils.s2_cell_area(0x0000050000000000), + rel_tol=1e-2)) + self.assertTrue( + math.isclose( + 68.95, + utils.s2_cell_area(utils.s2_cell_from_latlng(0, 0, 10)), + rel_tol=1e-2, + )) + self.assertTrue( + math.isclose( + 81.37, + utils.s2_cell_area(utils.s2_cell_from_latlng(80, 90, 10)), + rel_tol=1e-2, + )) + + def test_s2_cell_get_neighbor_ids(self): + s2_cell = utils.s2_cell_from_latlng(10, 20, 10) + neighbors = utils.s2_cell_get_neighbor_ids(s2_cell) + expected_neighbors = [ + 'dcid:s2CellId/0x10d7e10000000000', + 'dcid:s2CellId/0x10d7d90000000000', + 'dcid:s2CellId/0x10d7df0000000000', + 'dcid:s2CellId/0x1128230000000000', + 'dcid:s2CellId/0x11281f0000000000', + 'dcid:s2CellId/0x1128270000000000', + 'dcid:s2CellId/0x1128190000000000', + 'dcid:s2CellId/0x1128250000000000', + ] + self.assertEqual(expected_neighbors, neighbors) + for n in neighbors: + n_cell = utils.s2_cell_from_dcid(n) + self.assertEqual(n_cell.level(), s2_cell.level()) + + def test_latlng_cell_area(self): + self.assertEqual(12309, int(utils.latlng_cell_area(0, 0, 1, 1))) + self.assertEqual(21, int(utils.latlng_cell_area(80, -80, 0.1, 0.1))) -class GridCellUtilsTest(unittest.TestCase): - def setUp(self): - self.maxDiff = None - - def test_is_grid_id(self): - self.assertFalse(utils.is_grid_id('')) - self.assertFalse(utils.is_grid_id('s2CellId/0x1128250000000000')) - self.assertTrue(utils.is_grid_id('grid_2/-20.12_30.12')) - self.assertTrue(utils.is_grid_id('dcid:grid_1/10_20')) - self.assertFalse(utils.is_grid_id('ipcc_5/10_20')) - self.assertTrue(utils.is_ipcc_id('ipcc_50/34.25_-85.25_USA')) - - def test_grid_id_from_latlng(self): - self.assertEqual('dcid:grid_1/20_30', utils.grid_id_from_lat_lng(1, 20, 30)) - - def test_grid_ids_distance(self): - self.assertTrue( - math.isclose( - 1541.85, - utils.grid_ids_distance( - utils.grid_id_from_lat_lng(1, 10, 20), - utils.grid_id_from_lat_lng(1, 20, 30), - ), - rel_tol=1e-2, - ) - ) - self.assertTrue( - math.isclose( - 143.84, - utils.grid_ids_distance( - 'ipcc_50/34.25_-85.25_USA', 'ipcc_50/35.25_-84.25_USA' - ), - rel_tol=1e-2, - ) - ) +class GridCellUtilsTest(unittest.TestCase): - def test_grid_area(self): - self.assertTrue( - math.isclose( - 10248.33, utils.grid_area('dcid:grid_1/34_-85'), rel_tol=1e-2 - ) - ) - self.assertTrue( - math.isclose( - 2554.56, utils.grid_area('ipcc_50/34.25_-85.25_USA'), rel_tol=1e-2 - ) - ) - - def test_grid_get_neighbor_ids(self): - grid_id = 'dcid:ipcc_50/26.25_81.75_IND' - neighbors = utils.grid_get_neighbor_ids(grid_id) - expected_neighbors = [ - 'dcid:ipcc_50/25.75_81.25_IND', - 'dcid:ipcc_50/25.75_81.75_IND', - 'dcid:ipcc_50/25.75_82.25_IND', - 'dcid:ipcc_50/26.25_81.25_IND', - 'dcid:ipcc_50/26.25_82.25_IND', - 'dcid:ipcc_50/26.75_81.25_IND', - 'dcid:ipcc_50/26.75_81.75_IND', - 'dcid:ipcc_50/26.75_82.25_IND', - ] - self.assertEqual(expected_neighbors, neighbors) - for n in neighbors: - place_neighbors = utils.grid_get_neighbor_ids(n) - self.assertTrue(grid_id in place_neighbors) - grid_id = 'dcid:grid_1/10_-65' - neighbors = utils.grid_get_neighbor_ids(grid_id) - expected_neighbors = [ - 'dcid:grid_1/9_-66', - 'dcid:grid_1/9_-65', - 'dcid:grid_1/9_-64', - 'dcid:grid_1/10_-66', - 'dcid:grid_1/10_-64', - 'dcid:grid_1/11_-66', - 'dcid:grid_1/11_-65', - 'dcid:grid_1/11_-64', - ] - self.assertEqual(expected_neighbors, neighbors) - for n in neighbors: - place_neighbors = utils.grid_get_neighbor_ids(n) - self.assertTrue(grid_id in place_neighbors) - - def test_grid_to_polygon(self): - self.assertEqual( - { - 'coordinates': ( - ( + def setUp(self): + self.maxDiff = None + + def test_is_grid_id(self): + self.assertFalse(utils.is_grid_id('')) + self.assertFalse(utils.is_grid_id('s2CellId/0x1128250000000000')) + self.assertTrue(utils.is_grid_id('grid_2/-20.12_30.12')) + self.assertTrue(utils.is_grid_id('dcid:grid_1/10_20')) + self.assertFalse(utils.is_grid_id('ipcc_5/10_20')) + self.assertTrue(utils.is_ipcc_id('ipcc_50/34.25_-85.25_USA')) + + def test_grid_id_from_latlng(self): + self.assertEqual('dcid:grid_1/20_30', + utils.grid_id_from_lat_lng(1, 20, 30)) + + def test_grid_ids_distance(self): + self.assertTrue( + math.isclose( + 1541.85, + utils.grid_ids_distance( + utils.grid_id_from_lat_lng(1, 10, 20), + utils.grid_id_from_lat_lng(1, 20, 30), + ), + rel_tol=1e-2, + )) + self.assertTrue( + math.isclose( + 143.84, + utils.grid_ids_distance('ipcc_50/34.25_-85.25_USA', + 'ipcc_50/35.25_-84.25_USA'), + rel_tol=1e-2, + )) + + def test_grid_area(self): + self.assertTrue( + math.isclose(10248.33, + utils.grid_area('dcid:grid_1/34_-85'), + rel_tol=1e-2)) + self.assertTrue( + math.isclose(2554.56, + utils.grid_area('ipcc_50/34.25_-85.25_USA'), + rel_tol=1e-2)) + + def test_grid_get_neighbor_ids(self): + grid_id = 'dcid:ipcc_50/26.25_81.75_IND' + neighbors = utils.grid_get_neighbor_ids(grid_id) + expected_neighbors = [ + 'dcid:ipcc_50/25.75_81.25_IND', + 'dcid:ipcc_50/25.75_81.75_IND', + 'dcid:ipcc_50/25.75_82.25_IND', + 'dcid:ipcc_50/26.25_81.25_IND', + 'dcid:ipcc_50/26.25_82.25_IND', + 'dcid:ipcc_50/26.75_81.25_IND', + 'dcid:ipcc_50/26.75_81.75_IND', + 'dcid:ipcc_50/26.75_82.25_IND', + ] + self.assertEqual(expected_neighbors, neighbors) + for n in neighbors: + place_neighbors = utils.grid_get_neighbor_ids(n) + self.assertTrue(grid_id in place_neighbors) + grid_id = 'dcid:grid_1/10_-65' + neighbors = utils.grid_get_neighbor_ids(grid_id) + expected_neighbors = [ + 'dcid:grid_1/9_-66', + 'dcid:grid_1/9_-65', + 'dcid:grid_1/9_-64', + 'dcid:grid_1/10_-66', + 'dcid:grid_1/10_-64', + 'dcid:grid_1/11_-66', + 'dcid:grid_1/11_-65', + 'dcid:grid_1/11_-64', + ] + self.assertEqual(expected_neighbors, neighbors) + for n in neighbors: + place_neighbors = utils.grid_get_neighbor_ids(n) + self.assertTrue(grid_id in place_neighbors) + + def test_grid_to_polygon(self): + self.assertEqual( + { + 'coordinates': (( (81.5, 26.0), (81.5, 26.5), (82.0, 26.5), (82.0, 26.0), (81.5, 26.0), - ), - ), - 'type': 'Polygon', - }, - shapely.geometry.mapping( - utils.grid_to_polygon('dcid:ipcc_50/26.25_81.75_IND') - ), - ) - # Polygon at edge doesn't go over max lat/lng. - self.assertEqual( - { - 'coordinates': ( - ( + ),), + 'type': 'Polygon', + }, + shapely.geometry.mapping( + utils.grid_to_polygon('dcid:ipcc_50/26.25_81.75_IND')), + ) + # Polygon at edge doesn't go over max lat/lng. + self.assertEqual( + { + 'coordinates': (( (179.5, 89.5), (179.5, 90.0), (180.0, 90.0), (180.0, 89.5), (179.5, 89.5), - ), - ), - 'type': 'Polygon', - }, - shapely.geometry.mapping(utils.place_to_polygon('grid_1/90_180')), - ) - - self.assertEqual( - { - 'coordinates': ( - ( + ),), + 'type': 'Polygon', + }, + shapely.geometry.mapping(utils.place_to_polygon('grid_1/90_180')), + ) + + self.assertEqual( + { + 'coordinates': (( (20.04496617551588, 10.074733389893098), (20.140259352250975, 10.068731256770613), (20.140259352250975, 10.153784179458425), (20.04496617551588, 10.159834880513182), (20.04496617551588, 10.074733389893098), - ), - ), - 'type': 'Polygon', - }, - shapely.geometry.mapping( - utils.place_to_polygon('s2CellId/0x1128250000000000') - ), - ) + ),), + 'type': 'Polygon', + }, + shapely.geometry.mapping( + utils.place_to_polygon('s2CellId/0x1128250000000000')), + ) class StrUtilsTest(unittest.TestCase): - def test_strip_namespace(self): - self.assertEqual('country/IND', utils.strip_namespace('dcid:country/IND')) - self.assertEqual( - 'ipcc_50/26.25_81.75_IND', - utils.strip_namespace('dcs:ipcc_50/26.25_81.75_IND'), - ) - self.assertEqual( - 's2CellId/0x1128250000000000', - utils.strip_namespace('s2CellId/0x1128250000000000'), - ) - - def test_add_namespace(self): - self.assertEqual('dcid:country/IND', utils.add_namespace('country/IND')) - self.assertEqual( - 'dcid:ipcc_50/26.25_81.75_IND', - utils.add_namespace('dcs:ipcc_50/26.25_81.75_IND'), - ) - self.assertEqual( - 'dcid:s2CellId/0x1128250000000000', - utils.add_namespace('s2CellId/0x1128250000000000'), - ) - - def test_str_get_numeric_vlaue(self): - self.assertEqual(10.1, utils.str_get_numeric_value('10.1')) - self.assertEqual(-11.23, utils.str_get_numeric_value(' -11.23 ')) - self.assertEqual(1234, utils.str_get_numeric_value(' 1,234 ')) - self.assertEqual(6543210.12, utils.str_get_numeric_value(' 6,543,210.12 ')) - self.assertEqual(0.123, utils.str_get_numeric_value(' .123 ')) - self.assertEqual(2100, utils.str_get_numeric_value('2.1e+3')) - self.assertEqual(2748, utils.str_get_numeric_value('0xabc')) - self.assertEqual(1234567, utils.str_get_numeric_value('1.234.567')) - self.assertEqual(1.23, utils.str_get_numeric_value(['1.23', '4.56'])) - self.assertEqual(2.34, utils.str_get_numeric_value([2.34, 5.67])) - self.assertEqual(None, utils.str_get_numeric_value('abc')) - self.assertEqual(None, utils.str_get_numeric_value('123abc')) + def test_strip_namespace(self): + self.assertEqual('country/IND', + utils.strip_namespace('dcid:country/IND')) + self.assertEqual( + 'ipcc_50/26.25_81.75_IND', + utils.strip_namespace('dcs:ipcc_50/26.25_81.75_IND'), + ) + self.assertEqual( + 's2CellId/0x1128250000000000', + utils.strip_namespace('s2CellId/0x1128250000000000'), + ) + + def test_add_namespace(self): + self.assertEqual('dcid:country/IND', utils.add_namespace('country/IND')) + self.assertEqual( + 'dcid:ipcc_50/26.25_81.75_IND', + utils.add_namespace('dcs:ipcc_50/26.25_81.75_IND'), + ) + self.assertEqual( + 'dcid:s2CellId/0x1128250000000000', + utils.add_namespace('s2CellId/0x1128250000000000'), + ) + + def test_str_get_numeric_vlaue(self): + self.assertEqual(10.1, utils.str_get_numeric_value('10.1')) + self.assertEqual(-11.23, utils.str_get_numeric_value(' -11.23 ')) + self.assertEqual(1234, utils.str_get_numeric_value(' 1,234 ')) + self.assertEqual(6543210.12, + utils.str_get_numeric_value(' 6,543,210.12 ')) + self.assertEqual(0.123, utils.str_get_numeric_value(' .123 ')) + self.assertEqual(2100, utils.str_get_numeric_value('2.1e+3')) + self.assertEqual(2748, utils.str_get_numeric_value('0xabc')) + self.assertEqual(1234567, utils.str_get_numeric_value('1.234.567')) + self.assertEqual(1.23, utils.str_get_numeric_value(['1.23', '4.56'])) + self.assertEqual(2.34, utils.str_get_numeric_value([2.34, 5.67])) + self.assertEqual(None, utils.str_get_numeric_value('abc')) + self.assertEqual(None, utils.str_get_numeric_value('123abc')) class DateUtilsTest(unittest.TestCase): - def test_date_parse_time_period(self): - self.assertEqual((1, 'days'), utils.date_parse_time_period('P1D')) - self.assertEqual((10, 'days'), utils.date_parse_time_period('10D')) - self.assertEqual((-7, 'days'), utils.date_parse_time_period('-7D')) - - self.assertEqual((1, 'months'), utils.date_parse_time_period('P1M')) - self.assertEqual((3, 'months'), utils.date_parse_time_period('3M')) - - self.assertEqual((1, 'years'), utils.date_parse_time_period('P1Y')) - self.assertEqual((5, 'years'), utils.date_parse_time_period('5Y')) - - def test_date_advance_by_time_period(self): - self.assertEqual( - utils.date_today(), - utils.date_advance_by_period(utils.date_yesterday(), 'P1D'), - ) - self.assertEqual( - '2023-04-10', utils.date_advance_by_period('2023-04-20', 'P-10D') - ) - self.assertEqual( - '2023-06', utils.date_advance_by_period('2023-04', 'P2M', '%Y-%m') - ) - self.assertEqual('2033', utils.date_advance_by_period('2023', '10Y', '%Y')) - - def test_date_format_by_time_period(self): - self.assertEqual( - '2023-04-10', utils.date_format_by_time_period('2023-04-10', 'P1D') - ) - self.assertEqual( - '2022-04', utils.date_format_by_time_period('2022-04-10', 'P3M') - ) - self.assertEqual( - '2021', utils.date_format_by_time_period('2021-01-10', '1Y') - ) + def test_date_parse_time_period(self): + self.assertEqual((1, 'days'), utils.date_parse_time_period('P1D')) + self.assertEqual((10, 'days'), utils.date_parse_time_period('10D')) + self.assertEqual((-7, 'days'), utils.date_parse_time_period('-7D')) + + self.assertEqual((1, 'months'), utils.date_parse_time_period('P1M')) + self.assertEqual((3, 'months'), utils.date_parse_time_period('3M')) + + self.assertEqual((1, 'years'), utils.date_parse_time_period('P1Y')) + self.assertEqual((5, 'years'), utils.date_parse_time_period('5Y')) + + def test_date_advance_by_time_period(self): + self.assertEqual( + utils.date_today(), + utils.date_advance_by_period(utils.date_yesterday(), 'P1D'), + ) + self.assertEqual('2023-04-10', + utils.date_advance_by_period('2023-04-20', 'P-10D')) + self.assertEqual( + '2023-06', utils.date_advance_by_period('2023-04', 'P2M', '%Y-%m')) + self.assertEqual('2033', + utils.date_advance_by_period('2023', '10Y', '%Y')) + + def test_date_format_by_time_period(self): + self.assertEqual('2023-04-10', + utils.date_format_by_time_period('2023-04-10', 'P1D')) + self.assertEqual('2022-04', + utils.date_format_by_time_period('2022-04-10', 'P3M')) + self.assertEqual('2021', + utils.date_format_by_time_period('2021-01-10', '1Y')) diff --git a/scripts/floods/README.md b/scripts/floods/README.md new file mode 100644 index 0000000000..8c8d813be8 --- /dev/null +++ b/scripts/floods/README.md @@ -0,0 +1,31 @@ +# Flood events using Earth Engine + +This folder contains scripts to generate global flood events using raster data sets +from Earth Engine. The [Dynamic +World](https://developers.google.com/earth-engine/datasets/catalog/GOOGLE_DYNAMICWORLD_V1) +dataset from Earth Engine is used to find all places classified as water. +The places that are permanently covered in water such as lakes and rivers are +removed using the [land data +set](https://developers.google.com/earth-engine/datasets/catalog/UMD_hansen_global_forest_change_2021_v1_9). + +The locations with non-permanent water over a period of a month are considered as flooded regions. The flooded pixels are aggregated into S2 cells of level 10 (roughly 10kmx10km). A flood event is generated combining neighbouring flooded S2 cells over successive months. + +The scripts outpput flooded events starting from Jan as well as the area and +count of floods per S2 cell. These are aggregated to higher levels to generate +flood counts and area for a country. + + +To generate new flooded events, run the script: +``` +python generate_floods_events.py +``` + +This uses the events pipeline script +[earthengine/events_pipeline.py](https://github.com/datacommonsorg/data/blob/master/scripts/earthengine/events_pipeline.py) +along with the config +[flood_events_pipeline_config.py](https://github.com/datacommonsorg/data/blob/master/scripts/floods/flood_events_pipeline_config.py) for event generation and aggregation to generate the following outputs: + - flood_events.{csv,tmcf}: Data for flood events + - flood_event_svobs.{csv,tmcf}: Area and count of floods by flood event + - flood_place_svobs.{csv,tmcf}: Area and count of flood events by places + + diff --git a/scripts/floods/generate_floods_events.py b/scripts/floods/generate_floods_events.py index ba2d8b9c4d..42a4ed48b6 100644 --- a/scripts/floods/generate_floods_events.py +++ b/scripts/floods/generate_floods_events.py @@ -74,11 +74,11 @@ from config_map import ConfigMap from events_pipeline import EventPipeline + def main(_): - config=ConfigMap( - filename=_FLAGS.flood_pipeline_config) + config = ConfigMap(filename=_FLAGS.flood_pipeline_config) if _FLAGS.start_date: - config.get('defaults', {})['start_date'] = _FLAGS.start_date + config.get('defaults', {})['start_date'] = _FLAGS.start_date pipeline = EventPipeline(config=config) pipeline.run(run_stages=_FLAGS.flood_pipeline_stages) From d03e148561bde85dcff679f92c75d73b50c8b9da Mon Sep 17 00:00:00 2001 From: Ajai Tirumali Date: Mon, 19 Feb 2024 15:09:16 +0530 Subject: [PATCH 06/10] add requirements.txt for ee scripts --- scripts/earthengine/requirements.txt | 17 +++++++++++++++++ scripts/floods/requirements.txt | 17 +++++++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 scripts/earthengine/requirements.txt create mode 100644 scripts/floods/requirements.txt diff --git a/scripts/earthengine/requirements.txt b/scripts/earthengine/requirements.txt new file mode 100644 index 0000000000..548a8288df --- /dev/null +++ b/scripts/earthengine/requirements.txt @@ -0,0 +1,17 @@ +# Requirements for Python code in this directory. +dataclasses +datacommons +earthengine-api +geojson +geopandas +googleapi +google-cloud-logging +lxml +openpyxl +rdp +requests +retry +s2sphere +shapely +urllib3 +xlrd diff --git a/scripts/floods/requirements.txt b/scripts/floods/requirements.txt new file mode 100644 index 0000000000..548a8288df --- /dev/null +++ b/scripts/floods/requirements.txt @@ -0,0 +1,17 @@ +# Requirements for Python code in this directory. +dataclasses +datacommons +earthengine-api +geojson +geopandas +googleapi +google-cloud-logging +lxml +openpyxl +rdp +requests +retry +s2sphere +shapely +urllib3 +xlrd From 12dde9416e9067a9365fa337defb5a35f39cd6b1 Mon Sep 17 00:00:00 2001 From: Ajai Tirumali Date: Wed, 21 Feb 2024 19:13:20 +0530 Subject: [PATCH 07/10] fix review comments --- scripts/earthengine/process_events.py | 34 +++++++++++++++--------- scripts/earthengine/requirements.txt | 1 + scripts/earthengine/utils.py | 37 +++++++++++++++------------ scripts/floods/README.md | 6 ++--- scripts/floods/requirements.txt | 1 + 5 files changed, 48 insertions(+), 31 deletions(-) diff --git a/scripts/earthengine/process_events.py b/scripts/earthengine/process_events.py index 729184cc06..16810def14 100644 --- a/scripts/earthengine/process_events.py +++ b/scripts/earthengine/process_events.py @@ -76,7 +76,9 @@ from config_map import ConfigMap from dc_api_wrapper import dc_api_batched_wrapper -# List of place types from biggest to smallest +# List of place types in increasing order of preference for name. +# This is used to pick the name of the place from the list of affectedPlaces +# for an event for the place type with the highest index. _PLACE_TYPE_ORDER = [ 'Place', 'OceanicBasin', @@ -881,16 +883,9 @@ def get_place_date_output_properties(self, event_ids: list, event property values, such as { 'area': 100 } aggregated by place and date ''' - # Aggregation settings for event properties across places for a date. - property_config_per_date = { - 'aggregate': 'sum', - 'area': { - 'aggregate': 'sum' - }, - 'EventId': { - 'aggregate': 'set' - } - } + # default aggregation settings for event properties across places for a date. + property_config_per_date = dict( + _DEFAULT_CONFIG['property_config_per_date']) property_config_per_date.update( self._config.get('property_config_per_date', {})) @@ -1914,7 +1909,22 @@ def _get_output_subdir_path(path: str, sub_dir: str) -> str: return os.path.join(sub_dir, basename) -_DEFAULT_CONFIG = {} +_DEFAULT_CONFIG = { + # Aggregation settings for properties across events for a date. + 'property_config_per_date': { + 'aggregate': 'sum', + 'area': { + 'aggregate': 'sum', + 'unit': 'SquareKilometer', + }, + 'EventId': { + 'aggregate': 'set' + }, + 'affectedPlace': { + 'aggregate': 'list', + }, + } +} def get_default_config() -> dict: diff --git a/scripts/earthengine/requirements.txt b/scripts/earthengine/requirements.txt index 548a8288df..d717ce247c 100644 --- a/scripts/earthengine/requirements.txt +++ b/scripts/earthengine/requirements.txt @@ -6,6 +6,7 @@ geojson geopandas googleapi google-cloud-logging +isodate lxml openpyxl rdp diff --git a/scripts/earthengine/utils.py b/scripts/earthengine/utils.py index 0060b212ce..038b21ebb5 100644 --- a/scripts/earthengine/utils.py +++ b/scripts/earthengine/utils.py @@ -18,6 +18,7 @@ from datetime import date from datetime import datetime import glob +import isodate import os import pickle import re @@ -43,6 +44,11 @@ from config_map import ConfigMap, read_py_dict_from_file, write_py_dict_to_file from dc_api_wrapper import dc_api_wrapper +# Constants +_MAX_LATITUDE = 90.0 +_MAX_LONGITUDE = 180.0 +_DC_API_ROOT = 'http://autopush.api.datacommons.org' + # Utilities for dicts. @@ -254,11 +260,13 @@ def grid_id_from_lat_lng( # Get lat/lng rounded to the grid degrees degree_str = str_from_number(degrees) if prefix == 'ipcc_': + # Get the dcid prefix with the grid degree, + # such as ipcc_50 for 0.5 deg grids. degree_str = str_from_number(int(degrees * 100)) lat_rounded = int(lat / degrees) * degrees + lat_offset lng_rounded = int(lng / degrees) * degrees + lng_offset - lat_str = str_from_number(lat_rounded, 2) - lng_str = str_from_number(lng_rounded, 2) + lat_str = str_from_number(number=lat_rounded, precision_digits=2) + lng_str = str_from_number(number=lng_rounded, precision_digits=2) return f'dcid:{prefix}{degree_str}/{lat_str}_{lng_str}{suffix}' @@ -299,7 +307,8 @@ def grid_get_neighbor_ids(grid_id: str) -> list: if lat_offset != 0 or lng_offset != 0: neighbour_lat = lat + lat_offset * deg neighbour_lng = lng + lng_offset * deg - if abs(neighbour_lat) < 90.0 and abs(neighbour_lng) < 180: + if abs(neighbour_lat) < _MAX_LATITUDE and abs( + neighbour_lng) < _MAX_LONGITUDE: neighbours.append( grid_id_from_lat_lng( deg, @@ -369,7 +378,7 @@ def place_id_to_lat_lng(placeid: str, 'prop': prop, }, use_cache=True, - api_root='http://autopush.api.datacommons.org', + api_root=_DC_API_ROOT, ) if not resp or placeid not in resp: return (0, 0) @@ -485,7 +494,7 @@ def date_today(date_format: str = '%Y-%m-%d') -> str: def date_yesterday(date_format: str = '%Y-%m-%d') -> str: - """Returns today's date in the given format.""" + """Returns yesterday's date in the given format.""" return date_advance_by_period(date_today(date_format), '-1d', date_format) @@ -497,17 +506,13 @@ def date_parse_time_period(time_period: str) -> (int, str): where duration is a letter: D: days, M; months, Y: years. . """ - # Extract the number and duration letter from the time period. - re_pat = r'P?(?P[+-]?[0-9]+)(?P[A-Z])' - m = re.search(re_pat, time_period.upper()) - if m: - m_dict = m.groupdict() - delta = int(m_dict.get('delta', '0')) - unit = m_dict.get('unit', 'M') - # Convert the duration letter to unit: days/months/years - period_dict = {'D': 'days', 'M': 'months', 'Y': 'years'} - period = period_dict.get(unit, 'day') - return (delta, period) + duration = isodate.parse_duration(time_period) + if duration: + if duration.years > 0: + return (int(duration.years), 'years') + if duration.months > 0: + return (int(duration.months), 'months') + return (int(duration.days), 'days') return (0, 'days') diff --git a/scripts/floods/README.md b/scripts/floods/README.md index 8c8d813be8..9046c33360 100644 --- a/scripts/floods/README.md +++ b/scripts/floods/README.md @@ -10,9 +10,9 @@ set](https://developers.google.com/earth-engine/datasets/catalog/UMD_hansen_glob The locations with non-permanent water over a period of a month are considered as flooded regions. The flooded pixels are aggregated into S2 cells of level 10 (roughly 10kmx10km). A flood event is generated combining neighbouring flooded S2 cells over successive months. -The scripts outpput flooded events starting from Jan as well as the area and -count of floods per S2 cell. These are aggregated to higher levels to generate -flood counts and area for a country. +The scripts output flooded events starting from Jan of the current year along +with the area and count of floods per S2 cell. +These are aggregated to higher levels to generate flood counts and area for a country. To generate new flooded events, run the script: diff --git a/scripts/floods/requirements.txt b/scripts/floods/requirements.txt index 548a8288df..d717ce247c 100644 --- a/scripts/floods/requirements.txt +++ b/scripts/floods/requirements.txt @@ -6,6 +6,7 @@ geojson geopandas googleapi google-cloud-logging +isodate lxml openpyxl rdp From b975a876e45bf0d4d4fdc541871989bfacffba47 Mon Sep 17 00:00:00 2001 From: Ajai Tirumali Date: Wed, 21 Feb 2024 19:33:00 +0530 Subject: [PATCH 08/10] address review comments --- scripts/earthengine/requirements.txt | 1 - scripts/earthengine/utils.py | 19 +++++++++++-------- scripts/floods/manifest.json | 4 ++-- scripts/floods/requirements.txt | 1 - 4 files changed, 13 insertions(+), 12 deletions(-) diff --git a/scripts/earthengine/requirements.txt b/scripts/earthengine/requirements.txt index d717ce247c..548a8288df 100644 --- a/scripts/earthengine/requirements.txt +++ b/scripts/earthengine/requirements.txt @@ -6,7 +6,6 @@ geojson geopandas googleapi google-cloud-logging -isodate lxml openpyxl rdp diff --git a/scripts/earthengine/utils.py b/scripts/earthengine/utils.py index 038b21ebb5..2c1673a780 100644 --- a/scripts/earthengine/utils.py +++ b/scripts/earthengine/utils.py @@ -18,7 +18,6 @@ from datetime import date from datetime import datetime import glob -import isodate import os import pickle import re @@ -506,13 +505,17 @@ def date_parse_time_period(time_period: str) -> (int, str): where duration is a letter: D: days, M; months, Y: years. . """ - duration = isodate.parse_duration(time_period) - if duration: - if duration.years > 0: - return (int(duration.years), 'years') - if duration.months > 0: - return (int(duration.months), 'months') - return (int(duration.days), 'days') + # Extract the number and duration letter from the time period. + re_pat = r'P?(?P[+-]?[0-9]+)(?P[A-Z])' + m = re.search(re_pat, time_period.upper()) + if m: + m_dict = m.groupdict() + delta = int(m_dict.get('delta', '0')) + unit = m_dict.get('unit', 'M') + # Convert the duration letter to unit: days/months/years + period_dict = {'D': 'days', 'M': 'months', 'Y': 'years'} + period = period_dict.get(unit, 'day') + return (delta, period) return (0, 'days') diff --git a/scripts/floods/manifest.json b/scripts/floods/manifest.json index 77d8e724cb..292190d046 100644 --- a/scripts/floods/manifest.json +++ b/scripts/floods/manifest.json @@ -9,8 +9,8 @@ "Flood events inferred from areas marked with high probability of water outside the permanent water bodies.", "scripts": ["generate_flood_events.py"], "import_inputs": [{ - "template_mcf": "COVID19_cases_indian_states.tmcf", - "cleaned_csv": "COVID19_cases_indian_states.csv" + "template_mcf": "", + "cleaned_csv": "" }], "cron_schedule": "0 5 * * *" diff --git a/scripts/floods/requirements.txt b/scripts/floods/requirements.txt index d717ce247c..548a8288df 100644 --- a/scripts/floods/requirements.txt +++ b/scripts/floods/requirements.txt @@ -6,7 +6,6 @@ geojson geopandas googleapi google-cloud-logging -isodate lxml openpyxl rdp From 976002812432a9224755f8aa8493df78f8565895 Mon Sep 17 00:00:00 2001 From: Ajai Tirumali Date: Thu, 22 Feb 2024 00:46:18 +0530 Subject: [PATCH 09/10] fix floods manifest --- scripts/floods/manifest.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/floods/manifest.json b/scripts/floods/manifest.json index 292190d046..5113b94741 100644 --- a/scripts/floods/manifest.json +++ b/scripts/floods/manifest.json @@ -1,13 +1,13 @@ { "import_specifications": [{ "import_name": - "DynamicWorld_FloodEvents", + "DynamicWorld_FloodEvents_AutoRefresh", "curator_emails": ["ajaits@google.com"], "provenance_url": "https://developers.google.com/earth-engine/datasets/catalog/GOOGLE_DYNAMICWORLD_V1", "provenance_description": "Flood events inferred from areas marked with high probability of water outside the permanent water bodies.", - "scripts": ["generate_flood_events.py"], + "scripts": ["generate_floods_events.py"], "import_inputs": [{ "template_mcf": "", "cleaned_csv": "" From 062afad7179b39d611444565a3b620ccf0ec821b Mon Sep 17 00:00:00 2001 From: Ajai Tirumali Date: Thu, 22 Feb 2024 00:50:17 +0530 Subject: [PATCH 10/10] resolve sync conflict --- scripts/floods/manifest.json | 8 -------- 1 file changed, 8 deletions(-) diff --git a/scripts/floods/manifest.json b/scripts/floods/manifest.json index 461e4b93a9..5113b94741 100644 --- a/scripts/floods/manifest.json +++ b/scripts/floods/manifest.json @@ -1,21 +1,13 @@ { "import_specifications": [{ "import_name": -<<<<<<< HEAD "DynamicWorld_FloodEvents_AutoRefresh", -======= - "DynamicWorld_FloodEvents", ->>>>>>> 386c7b874bdf73aa54c10273e6563a43dad483e4 "curator_emails": ["ajaits@google.com"], "provenance_url": "https://developers.google.com/earth-engine/datasets/catalog/GOOGLE_DYNAMICWORLD_V1", "provenance_description": "Flood events inferred from areas marked with high probability of water outside the permanent water bodies.", -<<<<<<< HEAD "scripts": ["generate_floods_events.py"], -======= - "scripts": ["generate_flood_events.py"], ->>>>>>> 386c7b874bdf73aa54c10273e6563a43dad483e4 "import_inputs": [{ "template_mcf": "", "cleaned_csv": ""