From b531683f73143b57c24d57c0ff0cdbf4a530eedc Mon Sep 17 00:00:00 2001 From: full-bars <45684698+full-bars@users.noreply.github.com> Date: Tue, 21 Jul 2026 02:41:04 -0700 Subject: [PATCH 01/13] feat: add /radar command with NEXRAD GIF loops via BowEcho crates Creates a new rust crate (radar_gif) that fetches NEXRAD Level II volumes from the public AWS S3 archive, decodes and renders them using BowEcho's nexrad_io and render2d crates, and outputs animated GIFs. The Python cog (cogs/radar.py) exposes a /radar slash command with site, product, and frames parameters. --- Cargo.toml | 4 + cogs/radar/__init__.py | 249 +++++++++++++++++++++++++++++++++++ crates/radar_gif/Cargo.toml | 18 +++ crates/radar_gif/src/main.rs | 229 ++++++++++++++++++++++++++++++++ 4 files changed, 500 insertions(+) create mode 100644 crates/radar_gif/Cargo.toml create mode 100644 crates/radar_gif/src/main.rs diff --git a/Cargo.toml b/Cargo.toml index b61db0d4..b68005f0 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -29,3 +29,7 @@ chrono = "0.4.45" [features] extension-module = ["pyo3/extension-module"] default = ["extension-module"] + +[workspace] +members = ["crates/radar_gif"] +resolver = "3" diff --git a/cogs/radar/__init__.py b/cogs/radar/__init__.py index 90433155..1eabab7b 100644 --- a/cogs/radar/__init__.py +++ b/cogs/radar/__init__.py @@ -1,10 +1,13 @@ # cogs/radar/__init__.py """NEXRAD Level 2 radar data downloader from NOAA AWS S3.""" +import asyncio +import difflib import logging import re import time from datetime import datetime, timedelta, timezone +from pathlib import Path import discord from discord.app_commands import Choice @@ -177,10 +180,256 @@ async def downloaderstatus_slash(self, interaction: discord.Interaction): embed.set_footer(text=f"Logged in as {self.bot.user}") await interaction.followup.send(embed=embed, ephemeral=True) + RADAR_GIF_CACHE = Path("cache") / "radar_gifs" + + RADAR_SITES = { + "KTLX": "Oklahoma City/Twin Lakes, OK", + "KFWS": "Dallas/Ft. Worth, TX", + "KSHV": "Shreveport, LA", + "KHTX": "Huntsville, AL", + "KMOB": "Mobile, AL", + "KEOX": "Enterprise, AL", + "KBMX": "Birmingham, AL", + "KAMA": "Amarillo, TX", + "KAMX": "Miami, FL", + "KBBX": "Beale AFB, CA", + "KBHX": "Eureka, CA", + "KBIS": "Bismarck, ND", + "KBLX": "Billings, MT", + "KBRX": "Belle Plaine, IA", + "KBRO": "Brownsville, TX", + "KBUF": "Buffalo, NY", + "KCAE": "Columbia, SC", + "KCLE": "Cleveland, OH", + "KCLX": "Charleston, SC", + "KCRP": "Corpus Christi, TX", + "KCYS": "Cheyenne, WY", + "KDAX": "Sacramento, CA", + "KDDC": "Dodge City, KS", + "KDFX": "Laughlin AFB, TX", + "KDGX": "Jackson, MS", + "KDIX": "Philadelphia, PA", + "KDLH": "Duluth, MN", + "KDMX": "Des Moines, IA", + "KDOX": "Dover AFB, DE", + "KDTX": "Detroit, MI", + "KDYX": "Abilene/Sweetwater, TX", + "KEAX": "Kansas City, MO", + "KEMX": "Tucson, AZ", + "KENX": "Albany, NY", + "KEPZ": "El Paso, TX", + "KESX": "Las Vegas, NV", + "KEVX": "Eglin AFB, FL", + "KEWX": "Austin/San Antonio, TX", + "KEYX": "Edwards AFB, CA", + "KFCX": "Roanoke, VA", + "KFDR": "Frederick, OK", + "KFDX": "Cannon AFB, NM", + "KFFC": "Atlanta, GA", + "KFSD": "Sioux Falls, SD", + "KFSX": "Flagstaff, AZ", + "KFTG": "Denver, CO", + "KGGW": "Glasgow, MT", + "KGJX": "Grand Junction, CO", + "KGLD": "Goodland, KS", + "KGRB": "Green Bay, WI", + "KGRK": "Fort Hood, TX", + "KGRR": "Grand Rapids, MI", + "KGVX": "Gray/Portland, ME", + "KGWX": "Columbus AFB, MS", + "KHDX": "Holloman AFB, NM", + "KHGX": "Houston/Galveston, TX", + "KHKI": "Hickory, NC", + "KHPX": "Hopkinsville, KY", + "KICT": "Wichita, KS", + "KILN": "Cincinnati/Wilmington, OH", + "KILX": "Lincoln, IL", + "KIND": "Indianapolis, IN", + "KINX": "Tulsa/Inola, OK", + "KIWA": "Phoenix, AZ", + "KJAX": "Jacksonville, FL", + "KJGX": "Macon/Perry, GA", + "KJKL": "Jackson/Julian, KY", + "KLBB": "Lubbock, TX", + "KLCH": "Lake Charles, LA", + "KLGX": "Langley Hill, WA", + "KLIX": "New Orleans/Slidell, LA", + "KLNX": "North Platte, NE", + "KLOT": "Chicago, IL", + "KLRX": "Elko, NV", + "KLSX": "St. Louis, MO", + "KLTX": "Wilmington, NC", + "KLVX": "Louisville/Fort Knox, KY", + "KLWX": "Washington D.C./Sterling, VA", + "KMHX": "Morehead City, NC", + "KMKX": "Milwaukee, WI", + "KMLB": "Melbourne, FL", + "KMPX": "Minneapolis/Chanhassen, MN", + "KMQT": "Marquette, MI", + "KMRX": "Knoxville/Morristown, TN", + "KMSX": "Missoula, MT", + "KMTX": "Salt Lake City, UT", + "KMUX": "San Francisco, CA", + "KMVX": "Fargo/Grand Forks, ND", + "KMXX": "Maxwell AFB, AL", + "KNKX": "San Diego, CA", + "KNOA": "Memphis, TN", + "KOAX": "Omaha, NE", + "KOHX": "Nashville, TN", + "KOKX": "New York City/Brookhaven, NY", + "KOTX": "Spokane, WA", + "KPAH": "Paducah, KY", + "KPBZ": "Pittsburgh, PA", + "KPDT": "Pendleton, OR", + "KPOE": "Fort Polk, LA", + "KRAX": "Raleigh/Durham, NC", + "KRGX": "Reno, NV", + "KRIW": "Riverton, WY", + "KRLX": "Charleston, WV", + "KRTX": "Portland, OR", + "KSFX": "Pocatello/Idaho Falls, ID", + "KSGF": "Springfield, MO", + } + + @discord.app_commands.command( + name="radar", + description="Get a radar animation loop for a NEXRAD site", + ) + @discord.app_commands.describe( + site="4-letter NEXRAD site ID (e.g. KTLX, KFWS)", + product="Radar product to display", + frames="Number of frames (default 6, max 20)", + ) + @discord.app_commands.choices( + product=[ + Choice(name="Reflectivity", value="reflectivity"), + Choice(name="Velocity", value="velocity"), + Choice(name="Spectrum Width", value="spectrum-width"), + Choice(name="Differential Reflectivity (ZDR)", value="zdr"), + Choice(name="Correlation Coefficient (CC)", value="cc"), + Choice(name="Differential Phase (PHIDP)", value="phidp"), + Choice(name="Specific KDP", value="kdp"), + ] + ) + async def radar_slash( + self, + interaction: discord.Interaction, + site: str, + product: Choice[str] = None, + frames: int = 6, + ): + await interaction.response.defer(thinking=True) + + site = site.upper().strip() + product_value = product.value if product else "reflectivity" + frames = max(2, min(frames, 20)) + + if site not in self.RADAR_SITES: + suggestions = difflib.get_close_matches(site, list(self.RADAR_SITES), n=3, cutoff=0.5) + if suggestions: + msg = "`{}` not recognized. Did you mean?\n{}".format( + site, + "\n".join(" `{}` — {}".format(s, self.RADAR_SITES[s]) for s in suggestions), + ) + else: + msg = "`{}` is not a recognized NEXRAD site.".format(site) + await interaction.followup.send(msg, ephemeral=True) + return + + self.RADAR_GIF_CACHE.mkdir(parents=True, exist_ok=True) + out_path = self.RADAR_GIF_CACHE / "{}_{}_{}.gif".format(site, product_value, frames) + + try: + await _run_radar_cli(site, product_value, frames, out_path) + except Exception as e: + logger.exception("[RADAR] Failed to generate for {}: {}".format(site, e)) + await interaction.followup.send( + "Failed to generate radar loop for `{}`.".format(site), ephemeral=True + ) + return + + if not out_path.exists(): + await interaction.followup.send( + "No radar data available for `{}`.".format(site), ephemeral=True + ) + return + + site_name = self.RADAR_SITES.get(site, site) + product_label = product.name if product else "Reflectivity" + embed = discord.Embed( + title="{} Loop — {} ({})".format(product_label, site, site_name), + description="{} frames".format(frames), + color=discord.Color.blue(), + ) + embed.set_footer(text="NEXRAD Level II Archive") + + file_size_mb = out_path.stat().st_size / (1024 * 1024) + if file_size_mb > 25: + await interaction.followup.send( + "File too large ({:.1f} MB). Try fewer frames.".format(file_size_mb), ephemeral=True + ) + return + + try: + await interaction.followup.send(embed=embed, file=discord.File(str(out_path))) + except discord.HTTPException: + await interaction.followup.send( + "Generated but file too large to send. Try fewer frames.", ephemeral=True + ) + @tasks.loop(hours=1) async def periodic_cleanup(self): await cleanup_old_files(OUTPUT_DIR, CLEANUP_AGE_THRESHOLD) +RADAR_GIF_BIN = next( + ( + p + for p in [ + Path(__file__).parent.parent.parent / "target/release/radar_gif", + Path(__file__).parent.parent.parent / "target/debug/radar_gif", + Path("/usr/local/bin/radar_gif"), + ] + if p.exists() + ), + None, +) + + +async def _run_radar_cli(site: str, product: str, frames: int, out_path: Path): + if RADAR_GIF_BIN is None: + raise RuntimeError( + "radar_gif binary not found (build with: cargo build --release -p radar_gif)" + ) + proc = await asyncio.create_subprocess_exec( + str(RADAR_GIF_BIN), + "--site", + site, + "--product", + product, + "--frames", + str(frames), + "--output", + str(out_path), + "--width", + "800", + "--height", + "800", + "--days-back", + "3", + stdout=asyncio.subprocess.PIPE, + stderr=asyncio.subprocess.PIPE, + ) + try: + stdout, stderr = await asyncio.wait_for(proc.communicate(), timeout=180) + except asyncio.TimeoutError: + proc.kill() + raise RuntimeError("Radar generation timed out after 180s") + if proc.returncode != 0: + stderr_text = stderr.decode() if stderr else "unknown error" + logger.warning("[RADAR] CLI failed (exit {}): {}".format(proc.returncode, stderr_text)) + raise RuntimeError("radar_gif exited with code {}".format(proc.returncode)) + + async def setup(bot: commands.Bot): await bot.add_cog(RadarCog(bot)) diff --git a/crates/radar_gif/Cargo.toml b/crates/radar_gif/Cargo.toml new file mode 100644 index 00000000..536ab9b5 --- /dev/null +++ b/crates/radar_gif/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "radar_gif" +version = "0.1.0" +edition = "2021" + +[dependencies] +radar_core = { git = "https://github.com/FahrenheitResearch/bowecho" } +color_tables = { git = "https://github.com/FahrenheitResearch/bowecho" } +nexrad_io = { git = "https://github.com/FahrenheitResearch/bowecho" } +data_source = { git = "https://github.com/FahrenheitResearch/bowecho" } +render2d = { git = "https://github.com/FahrenheitResearch/bowecho" } +image = "0.25" +chrono = "0.4" +clap = { version = "4", features = ["derive"] } +gif = "0.14" +serde = { version = "1", features = ["derive"] } +quick-xml = { version = "0.39", features = ["serialize"] } +reqwest = { version = "0.12", default-features = false, features = ["blocking", "rustls-tls"] } diff --git a/crates/radar_gif/src/main.rs b/crates/radar_gif/src/main.rs new file mode 100644 index 00000000..0538b9f0 --- /dev/null +++ b/crates/radar_gif/src/main.rs @@ -0,0 +1,229 @@ +use std::path::{Path, PathBuf}; +use std::time::Duration; + +use chrono::{Datelike, NaiveDate, Utc}; +use clap::Parser; +use image::codecs::gif::{GifEncoder, Repeat}; +use image::{Delay, Frame, RgbaImage}; +use radar_core::{MomentType, RadarVolume}; +use render2d::{render_moment_image, RasterOptions}; + +/// Fetch recent NEXRAD Level II volumes from the public AWS archive, render +/// them as polar radar images, and output a GIF animation loop. +#[derive(Parser)] +#[command(name = "radar", version, about)] +struct Args { + /// NEXRAD site ID (e.g. KTLX, KFWS, PGUA). + #[arg(short, long)] + site: String, + + /// Radar product. One of: reflectivity, velocity, spectrum-width, zdr, + /// cc, phidp, kdp. + #[arg(short, long, default_value = "reflectivity")] + product: String, + + /// Number of frames (most recent volumes) to include. + #[arg(short, long, default_value_t = 6)] + frames: usize, + + /// Output GIF path. + #[arg(short, long, default_value = "radar.gif")] + output: PathBuf, + + /// How many days back to search for volumes. + #[arg(long, default_value_t = 3)] + days_back: i64, + + /// Cut (elevation tilt) index to render. 0 = lowest. + #[arg(long, default_value_t = 0)] + cut: usize, + + /// Image width in pixels. + #[arg(long, default_value_t = 800)] + width: u32, + + /// Image height in pixels. + #[arg(long, default_value_t = 800)] + height: u32, + + /// Frame delay in centiseconds (100 = 1 second). + #[arg(long, default_value_t = 100)] + delay: u16, +} + +fn main() { + let args = Args::parse(); + let site = args.site.to_ascii_uppercase(); + let moment = parse_moment(&args.product); + + let volumes = match fetch_recent_volumes(&site, args.frames, args.days_back) { + Ok(v) => v, + Err(e) => { + eprintln!("Error fetching volumes: {e}"); + std::process::exit(1); + } + }; + + if volumes.is_empty() { + eprintln!("No radar volumes found for {site}"); + std::process::exit(1); + } + + let options = RasterOptions { + width: args.width.max(64), + height: args.height.max(64), + range_fraction: 94, + }; + + let mut frames: Vec = Vec::with_capacity(volumes.len()); + for volume in &volumes { + match render_moment_image(volume, args.cut, moment.clone(), options) { + Ok(img) => frames.push(img), + Err(e) => eprintln!( + " Skipping volume {}: {e}", + volume.volume_time.format("%H%M%SZ") + ), + } + } + + if frames.is_empty() { + eprintln!("No frames could be rendered"); + std::process::exit(1); + } + + encode_gif(&frames, &args.output, args.delay); + println!("Wrote {} frames to {}", frames.len(), args.output.display()); +} + +fn parse_moment(name: &str) -> MomentType { + match name.to_lowercase().as_str() { + "reflectivity" | "ref" | "dbz" => MomentType::Reflectivity, + "velocity" | "vel" => MomentType::Velocity, + "spectrum-width" | "sw" => MomentType::SpectrumWidth, + "zdr" => MomentType::DifferentialReflectivity, + "cc" | "rhohv" => MomentType::CorrelationCoefficient, + "phidp" => MomentType::DifferentialPhase, + "kdp" => MomentType::SpecificDifferentialPhase, + _ => { + eprintln!("Unknown product '{name}', using reflectivity"); + MomentType::Reflectivity + } + } +} + +fn encode_gif(frames: &[RgbaImage], path: &Path, delay_cs: u16) { + let file = std::fs::File::create(path).expect("failed to create output file"); + let mut encoder = GifEncoder::new(file); + encoder.set_repeat(Repeat::Infinite).expect("set repeat"); + + for img in frames { + let delay_ms = delay_cs as u32 * 10; + let delay = Delay::from_numer_denom_ms(delay_ms, 1); + let frame = Frame::from_parts(img.clone(), 0, 0, delay); + encoder.encode_frame(frame).expect("encode gif frame"); + } +} + +/// Fetch the N most recent NEXRAD Level II archive volumes for a site. +fn fetch_recent_volumes( + site: &str, + count: usize, + days_back: i64, +) -> Result, Box> { + let today = Utc::now().date_naive(); + let mut s3_keys = Vec::new(); + + for offset in 0..=days_back.max(0) { + let date = today - chrono::Duration::days(offset); + let mut day_keys = list_archive_keys(site, date)?; + s3_keys.append(&mut day_keys); + if s3_keys.len() >= count { + break; + } + } + + s3_keys.truncate(count); + + if s3_keys.is_empty() { + return Ok(Vec::new()); + } + + let client = reqwest::blocking::Client::builder() + .timeout(Duration::from_secs(60)) + .connect_timeout(Duration::from_secs(10)) + .build()?; + + let mut volumes = Vec::with_capacity(s3_keys.len()); + for key in &s3_keys { + let url = format!("https://unidata-nexrad-level2.s3.amazonaws.com/{key}"); + match fetch_and_decode_volume(&client, &url) { + Ok(vol) => volumes.push(vol), + Err(e) => eprintln!(" Warning: {url}: {e}"), + } + } + + Ok(volumes) +} + +/// List NEXRAD Level II archive keys for a site on a given date. +fn list_archive_keys( + site: &str, + date: NaiveDate, +) -> Result, Box> { + let prefix = format!( + "{:04}/{:02}/{:02}/{}/", + date.year(), + date.month(), + date.day(), + site + ); + let url = format!( + "https://unidata-nexrad-level2.s3.amazonaws.com/?list-type=2&prefix={}&max-keys=200", + prefix + ); + + let client = reqwest::blocking::Client::builder() + .timeout(Duration::from_secs(15)) + .connect_timeout(Duration::from_secs(5)) + .build()?; + + let text = client.get(&url).send()?.error_for_status()?.text()?; + + // Strip xmlns namespace so quick-xml serde can match element names + let cleaned = text.replace(" xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\"", ""); + let listing: S3Listing = quick_xml::de::from_str(&cleaned)?; + + let mut keys: Vec = listing + .contents + .into_iter() + .filter(|obj| obj.size > 0 && !obj.key.ends_with("_MDM")) + .map(|obj| obj.key) + .collect(); + + keys.sort(); + keys.reverse(); + Ok(keys) +} + +fn fetch_and_decode_volume( + client: &reqwest::blocking::Client, + url: &str, +) -> Result> { + let bytes = client.get(url).send()?.error_for_status()?.bytes()?; + let volume = nexrad_io::decode_volume_from_bytes(&bytes)?; + Ok(volume) +} + +#[derive(Debug, serde::Deserialize)] +struct S3Listing { + #[serde(rename = "Contents", default)] + contents: Vec, +} + +#[derive(Debug, serde::Deserialize)] +struct S3Content { + #[serde(rename = "Key")] + key: String, + #[serde(rename = "Size")] + size: u64, +} From dfc1e74f72a6669c003e164e967f6dfedb76300b Mon Sep 17 00:00:00 2001 From: full-bars <45684698+full-bars@users.noreply.github.com> Date: Tue, 21 Jul 2026 02:54:24 -0700 Subject: [PATCH 02/13] fix: auto-detect correct tilt for radar moments via base_tilt_cut --- .wiki | 1 + CHANGELOG.md | 6 + CODE_OF_CONDUCT.md | 86 +++ Cargo.lock | 1016 +++++++++++++++++++++++++++++++++- crates/radar_gif/src/main.rs | 5 +- 5 files changed, 1104 insertions(+), 10 deletions(-) create mode 160000 .wiki create mode 100644 CODE_OF_CONDUCT.md diff --git a/.wiki b/.wiki new file mode 160000 index 00000000..869e0f95 --- /dev/null +++ b/.wiki @@ -0,0 +1 @@ +Subproject commit 869e0f950b9d4f8d6caf7f1ef2edd3e6c0de2431 diff --git a/CHANGELOG.md b/CHANGELOG.md index 32f870e2..8dc10ab1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. ## [Unreleased] +### Added +- **Sounding AI Summary Threads**: Autoposted sounding AI summaries now create a dedicated discussion thread attached to the sounding plot message instead of posting as an inline reply (#612, #614). The thread is named `Sounding: {station} — {time}` and auto-archives after 24h. Falls back gracefully to inline reply when thread creation is unavailable. Applies to all RAOB and ACARS autopost paths (high-risk monitoring, special soundings, watch-triggered, and standard synoptic-time posts). +- **MD AI Summary Threads**: Mesoscale Discussion AI summaries now create a thread named `MD #{num}` on the MD message instead of posting a standalone message in the channel (#613, #614). The AI Analysis button detects the thread and posts inside it with an ephemeral link to the user. Falls back to channel posting when thread creation fails. +- **Thread Cache Fallback (`_resolve_message_thread`)**: Button handlers for outlook, sounding, and MD summaries now use a shared helper that checks `message.thread` (cached property) first, then falls back to `message.fetch_thread()` from the API (#614). This handles edge cases where Discord hasn't populated the thread cache, preventing spurious channel fallback. +- **NEXRAD Radar Loops (`/radar` command)**: New `radar_gif` Rust crate fetches NEXRAD Level II volumes from the public AWS S3 archive, decodes them using BowEcho's `nexrad_io` and `render2d` crates, and outputs animated GIFs. The `/radar` slash command accepts site ID (e.g. KTLX), product (reflectivity/velocity/ZDR/CC/KDP/PHIDP), and frame count. The craterender2d dependency renders publication-quality polar radar images with proper color tables and range-folding handling. + ## [5.41.0] - 2026-07-19 ### Added diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..e4c758ef --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,86 @@ +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our +community a harassment-free experience for everyone, regardless of age, body +size, visible or invisible disability, ethnicity, sex characteristics, gender +identity and expression, level of experience, education, socio-economic status, +nationality, personal appearance, race, religion, or sexual identity +and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, +diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our +community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +* Focusing on what is best not just for us as individuals, but for the + overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or + advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email + address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of +acceptable behavior and will take appropriate and fair corrective action in +response to any behavior that they deem inappropriate, threatening, offensive, +or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, and will communicate reasons for moderation +decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when +an individual is officially representing the community in public spaces. +Examples of representing our community include using an official e-mail address, +posting via an official social media account, or acting as an appointed +representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported to the community leaders responsible for enforcement by contacting +the project owner at customdiscordsolutions@gmx.com. +All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the +reporter of any incident. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 2.1, available at +[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by +[Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at +[https://www.contributor-covenant.org/faq][FAQ]. Translations are available +at [https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations diff --git a/Cargo.lock b/Cargo.lock index 6caa7da6..e68bccf0 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,12 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "adler2" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" + [[package]] name = "aho-corasick" version = "1.1.4" @@ -11,6 +17,24 @@ dependencies = [ "memchr", ] +[[package]] +name = "aligned" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee4508988c62edf04abd8d92897fca0c2995d907ce1dfeaf369dac3716a40685" +dependencies = [ + "as-slice", +] + +[[package]] +name = "aligned-vec" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dc890384c8602f339876ded803c97ad529f3842aba97f6392b3dba0dd171769b" +dependencies = [ + "equator", +] + [[package]] name = "allocator-api2" version = "0.2.21" @@ -26,6 +50,56 @@ dependencies = [ "libc", ] +[[package]] +name = "anstream" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "824a212faf96e9acacdbd09febd34438f8f711fb84e09a8916013cd7815ca28d" +dependencies = [ + "anstyle", + "anstyle-parse", + "anstyle-query", + "anstyle-wincon", + "colorchoice", + "is_terminal_polyfill", + "utf8parse", +] + +[[package]] +name = "anstyle" +version = "1.0.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "940b3a0ca603d1eade50a4846a2afffd5ef57a9feac2c0e2ec2e14f9ead76000" + +[[package]] +name = "anstyle-parse" +version = "1.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52ce7f38b242319f7cabaa6813055467063ecdc9d355bbb4ce0c68908cd8130e" +dependencies = [ + "utf8parse", +] + +[[package]] +name = "anstyle-query" +version = "1.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40c48f72fd53cd289104fc64099abca73db4166ad86ea0b4341abe65af83dadc" +dependencies = [ + "windows-sys 0.61.2", +] + +[[package]] +name = "anstyle-wincon" +version = "3.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "291e6a250ff86cd4a820112fb8898808a366d8f9f58ce16d1f538353ad55747d" +dependencies = [ + "anstyle", + "once_cell_polyfill", + "windows-sys 0.61.2", +] + [[package]] name = "anyhow" version = "1.0.102" @@ -41,6 +115,38 @@ dependencies = [ "num-traits", ] +[[package]] +name = "arbitrary" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" + +[[package]] +name = "arg_enum_proc_macro" +version = "0.3.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ae92a5119aa49cdbcf6b9f893fe4e1d98b04ccbf82ee0584ad948a44a734dea" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "arrayvec" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3fb67a6e08acf24fdeccbac2cb6ac4305825bd1f117462e0e6f2f193345ad56" + +[[package]] +name = "as-slice" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "516b6b4f0e40d50dcda9365d53964ec74560ad4284da2e7fc97122cd83174516" +dependencies = [ + "stable_deref_trait", +] + [[package]] name = "async-trait" version = "0.1.89" @@ -64,6 +170,49 @@ version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f2032f911046de80f0a198e0901378627c33f59ea0ac00e363d481118bd70a53" +[[package]] +name = "av-scenechange" +version = "0.14.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0f321d77c20e19b92c39e7471cf986812cbb46659d2af674adc4331ef3f18394" +dependencies = [ + "aligned", + "anyhow", + "arg_enum_proc_macro", + "arrayvec", + "log", + "num-rational", + "num-traits", + "pastey", + "rayon", + "thiserror", + "v_frame", + "y4m", +] + +[[package]] +name = "av1-grain" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8cfddb07216410377231960af4fcab838eaa12e013417781b78bd95ee22077f8" +dependencies = [ + "anyhow", + "arrayvec", + "log", + "nom", + "num-rational", + "v_frame", +] + +[[package]] +name = "avif-serialize" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7178fe5f7d460b13895ebb9dcb28a3a6216d2df2574a0806cb51b555d297f38" +dependencies = [ + "arrayvec", +] + [[package]] name = "aws-lc-rs" version = "1.17.0" @@ -92,12 +241,27 @@ version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "bit_field" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e4b40c7323adcfc0a41c4b88143ed58346ff65a288fc144329c5c45e05d70c6" + [[package]] name = "bitflags" version = "2.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b4388bee8683e3d04af747c73422af53102d2bd24d9eadb6cbc100baef4b43f8" +[[package]] +name = "bitstream-io" +version = "4.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7eff00be299a18769011411c9def0d827e8f2d7bf0c3dbf53633147a8867fd1f" +dependencies = [ + "no_std_io2", +] + [[package]] name = "blake2" version = "0.10.6" @@ -125,24 +289,61 @@ dependencies = [ "hybrid-array", ] +[[package]] +name = "built" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5c0e531d93d39c34eef561e929e8a7f86d77a5af08aac4f6d6e39976c51858e9" + [[package]] name = "bumpalo" version = "3.20.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72f5acc6cb2ba439de613abc23857ec3d78374d8ed5ac84e9d11336e87da8649" +[[package]] +name = "bytemuck" +version = "1.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95832e849adfb21180ccb6826a99da14e5d266ae5c2e668e1602cf234f153797" + [[package]] name = "byteorder" version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" +[[package]] +name = "byteorder-lite" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8f1fe948ff07f4bd06c30984e69f5b4899c516a3ef74f34df92a2df2ab535495" + [[package]] name = "bytes" version = "1.11.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e748733b7cbc798e1434b6ac524f0c1ff2ab456fe201501e6497c8417a4fc33" +[[package]] +name = "bzip2" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3a53fac24f34a81bc9954b5d6cfce0c21e18ec6959f44f56e8e90e4bb7c346c" +dependencies = [ + "bzip2-sys", +] + +[[package]] +name = "bzip2-sys" +version = "0.1.13+1.0.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "225bff33b2141874fe80d71e07d6eec4f85c5c216453dd96388240f96e1acc14" +dependencies = [ + "cc", + "pkg-config", +] + [[package]] name = "castaway" version = "0.2.4" @@ -196,10 +397,51 @@ dependencies = [ "iana-time-zone", "js-sys", "num-traits", + "serde", "wasm-bindgen", "windows-link", ] +[[package]] +name = "clap" +version = "4.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fb99565819980999fb7b4a1796046a5c949e6d4ff132cf5fadf5a641e20d776" +dependencies = [ + "clap_builder", + "clap_derive", +] + +[[package]] +name = "clap_builder" +version = "4.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f09628afdcc538b57f3c6341e9c8e9970f18e4a481690a64974d7023bd33548b" +dependencies = [ + "anstream", + "anstyle", + "clap_lex", + "strsim", +] + +[[package]] +name = "clap_derive" +version = "4.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32f2392eae7f16557a3d727ef3a12e57b2b2ca6f98566a5f4fb41ffe305df077" +dependencies = [ + "heck", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "clap_lex" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c8d4a3bb8b1e0c1050499d1815f5ab16d04f0959b233085fb31653fbfc9d98f9" + [[package]] name = "cmake" version = "0.1.58" @@ -215,6 +457,23 @@ version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0c9ea0ac24bc397ab3c98583a3c9ba74fa56b09a4449bbe172b9b1ddb016027a" +[[package]] +name = "color_quant" +version = "1.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d7b894f5411737b7867f4827955924d7c254fc9f4d91a6aad6b097804b1018b" + +[[package]] +name = "color_tables" +version = "0.34.4" +source = "git+https://github.com/FahrenheitResearch/bowecho#aee5574c6008cd581a91d4576bb89f629cfdfe33" + +[[package]] +name = "colorchoice" +version = "1.0.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d07550c9036bf2ae0c684c4297d503f838287c83c53686d05370d0e139ae570" + [[package]] name = "combine" version = "4.6.7" @@ -280,6 +539,15 @@ dependencies = [ "libc", ] +[[package]] +name = "crc32fast" +version = "1.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511" +dependencies = [ + "cfg-if", +] + [[package]] name = "critical-section" version = "1.2.0" @@ -320,6 +588,12 @@ version = "0.8.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28" +[[package]] +name = "crunchy" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5" + [[package]] name = "crypto-common" version = "0.1.7" @@ -354,6 +628,20 @@ version = "2.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a4ae5f15dda3c708c0ade84bfee31ccab44a3da4f88015ed22f63732abe300c8" +[[package]] +name = "data_source" +version = "0.34.4" +source = "git+https://github.com/FahrenheitResearch/bowecho#aee5574c6008cd581a91d4576bb89f629cfdfe33" +dependencies = [ + "chrono", + "nexrad_io", + "quick-xml", + "reqwest 0.12.28", + "serde", + "serde_json", + "thiserror", +] + [[package]] name = "digest" version = "0.10.7" @@ -418,18 +706,81 @@ dependencies = [ "cfg-if", ] +[[package]] +name = "equator" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4711b213838dfee0117e3be6ac926007d7f433d7bbe33595975d4190cb07e6fc" +dependencies = [ + "equator-macro", +] + +[[package]] +name = "equator-macro" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "44f23cf4b44bfce11a86ace86f8a73ffdec849c9fd00a386a53d278bd9e81fb3" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "equivalent" version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "877a4ace8713b0bcf2a4e7eec82529c029f1d0619886d18145fea96c3ffe5c0f" +[[package]] +name = "exr" +version = "1.74.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "711fe42c9964295e01ee3fba3f9fe0e1d24b98886950d68efe81b1c76e21adf3" +dependencies = [ + "bit_field", + "half", + "lebe", + "miniz_oxide", + "num-complex", + "pulp", + "rayon-core", + "smallvec", + "zune-inflate", +] + +[[package]] +name = "fax" +version = "0.2.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "caf1079563223d5d59d83c85886a56e586cfd5c1a26292e971a0fa266531ac5a" + +[[package]] +name = "fdeflate" +version = "0.3.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e6853b52649d4ac5c0bd02320cddc5ba956bdb407c4b75a2c6b75bf51500f8c" +dependencies = [ + "simd-adler32", +] + [[package]] name = "find-msvc-tools" version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "5baebc0774151f905a1a2cc41989300b1e6fbb29aff0ceffa1064fdd3088d582" +[[package]] +name = "flate2" +version = "1.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "843fba2746e448b37e26a819579957415c8cef339bf08564fe8b7ddbd959573c" +dependencies = [ + "crc32fast", + "miniz_oxide", + "zlib-rs", +] + [[package]] name = "float_next_after" version = "2.0.0" @@ -652,6 +1003,16 @@ dependencies = [ "wasip3", ] +[[package]] +name = "gif" +version = "0.14.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee8cfcc411d9adbbaba82fb72661cc1bcca13e8bba98b364e62b2dba8f960159" +dependencies = [ + "color_quant", + "weezl", +] + [[package]] name = "h2" version = "0.4.14" @@ -671,6 +1032,17 @@ dependencies = [ "tracing", ] +[[package]] +name = "half" +version = "2.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ea2d84b969582b4b1864a92dc5d27cd2b77b622a8d79306834f1be5ba20d84b" +dependencies = [ + "cfg-if", + "crunchy", + "zerocopy", +] + [[package]] name = "hash32" version = "0.3.1" @@ -883,6 +1255,7 @@ dependencies = [ "tokio", "tokio-rustls", "tower-service", + "webpki-roots", ] [[package]] @@ -1089,6 +1462,46 @@ dependencies = [ "icu_properties", ] +[[package]] +name = "image" +version = "0.25.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85ab80394333c02fe689eaf900ab500fbd0c2213da414687ebf995a65d5a6104" +dependencies = [ + "bytemuck", + "byteorder-lite", + "color_quant", + "exr", + "gif", + "image-webp", + "moxcms", + "num-traits", + "png", + "qoi", + "ravif", + "rayon", + "rgb", + "tiff", + "zune-core", + "zune-jpeg", +] + +[[package]] +name = "image-webp" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "525e9ff3e1a4be2fbea1fdf0e98686a6d98b4d8f937e1bf7402245af1909e8c3" +dependencies = [ + "byteorder-lite", + "quick-error", +] + +[[package]] +name = "imgref" +version = "1.12.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89194689a993ab15268672e99e7b0e19da2da3268ac682e8f02d29d4d1434cd7" + [[package]] name = "indexmap" version = "2.14.0" @@ -1101,6 +1514,17 @@ dependencies = [ "serde_core", ] +[[package]] +name = "interpolate_name" +version = "0.2.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c34819042dc3d3971c46c2190835914dfbe0c3c13f61449b2997f4e9722dfa60" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "ipconfig" version = "0.3.4" @@ -1123,6 +1547,21 @@ dependencies = [ "serde", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" + +[[package]] +name = "itertools" +version = "0.14.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2b192c782037fadd9cfa75548310488aabdbf3d2da73885b31bd0abd03351285" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.18" @@ -1226,12 +1665,37 @@ version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09edd9e8b54e49e587e4f6295a7d29c3ea94d469cb40ab8ca70b288248a81db2" +[[package]] +name = "lebe" +version = "0.5.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a79a3332a6609480d7d0c9eab957bca6b455b91bb84e66d19f5ff66294b85b8" + [[package]] name = "libc" version = "0.2.186" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "68ab91017fe16c622486840e4c83c9a37afeff978bd239b5293d61ece587de66" +[[package]] +name = "libdeflate-sys" +version = "1.25.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72753e0008ea87963d2f0770042d0df7abe51fafbb8dcaf618ac440f2f1fec0a" +dependencies = [ + "cc", +] + +[[package]] +name = "libfuzzer-sys" +version = "0.4.13" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9fd2f41a1cba099f79a0b6b6c35656cf7c03351a7bae8ff0f28f25270f929d2" +dependencies = [ + "arbitrary", + "cc", +] + [[package]] name = "libm" version = "0.2.16" @@ -1259,12 +1723,31 @@ version = "0.4.32" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "953f07c43838f8e6f9758cab68bf5bed85465e7587ebe0b823f1bcd81978ad3a" +[[package]] +name = "loop9" +version = "0.1.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0fae87c125b03c1d2c0150c90365d7d6bcc53fb73a9acaef207d2d065860f062" +dependencies = [ + "imgref", +] + [[package]] name = "lru-slab" version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" +[[package]] +name = "maybe-rayon" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8ea1f30cedd69f0a2954655f7188c6a834246d2bcf1e315e2ac40c4b24dc9519" +dependencies = [ + "cfg-if", + "rayon", +] + [[package]] name = "memchr" version = "2.8.1" @@ -1286,6 +1769,16 @@ dependencies = [ "thiserror", ] +[[package]] +name = "miniz_oxide" +version = "0.8.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fa76a2c86f704bdb222d66965fb3d63269ce38518b83cb0575fca855ebb6316" +dependencies = [ + "adler2", + "simd-adler32", +] + [[package]] name = "mio" version = "1.2.1" @@ -1315,18 +1808,116 @@ dependencies = [ ] [[package]] -name = "ndk-context" -version = "0.1.1" +name = "moxcms" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bb85c154ba489f01b25c0d36ae69a87e4a1c73a72631fc6c0eb6dde34a73e44b" +dependencies = [ + "num-traits", + "pxfm", +] + +[[package]] +name = "ndk-context" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" + +[[package]] +name = "new_debug_unreachable" +version = "1.0.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086" + +[[package]] +name = "nexrad_io" +version = "0.34.4" +source = "git+https://github.com/FahrenheitResearch/bowecho#aee5574c6008cd581a91d4576bb89f629cfdfe33" +dependencies = [ + "byteorder", + "bzip2", + "chrono", + "flate2", + "libdeflate-sys", + "radar_core", + "rayon", + "thiserror", + "zip", +] + +[[package]] +name = "no_std_io2" +version = "0.9.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "418abd1b6d34fbf6cae440dc874771b0525a604428704c76e48b29a5e67b8003" +dependencies = [ + "memchr", +] + +[[package]] +name = "nom" +version = "8.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" +dependencies = [ + "memchr", +] + +[[package]] +name = "noop_proc_macro" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" + +[[package]] +name = "num-bigint" +version = "0.4.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c89e69e7e0f03bea5ef08013795c25018e101932225a656383bd384495ecc367" +dependencies = [ + "num-integer", + "num-traits", +] + +[[package]] +name = "num-complex" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73f88a1307638156682bada9d7604135552957b7818057dcef22705b4d509495" +dependencies = [ + "bytemuck", + "num-traits", +] + +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "num-integer" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "27b02d87554356db9e9a873add8782d4ea6e3e58ea071a9adb9a2e8ddb884a8b" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" +dependencies = [ + "num-traits", +] [[package]] -name = "nom" -version = "8.0.0" +name = "num-rational" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "df9761775871bdef83bee530e60050f7e54b1105350d6884eb0fb4f46c2f9405" +checksum = "f83d14da390562dca69fc84082e73e548e1ad308d24accdedd2720017cb37824" dependencies = [ - "memchr", + "num-bigint", + "num-integer", + "num-traits", ] [[package]] @@ -1349,6 +1940,12 @@ dependencies = [ "portable-atomic", ] +[[package]] +name = "once_cell_polyfill" +version = "1.70.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "384b8ab6d37215f3c5301a95a4accb5d64aa607f1fcb26a11b5303878451b4fe" + [[package]] name = "openssl-probe" version = "0.2.1" @@ -1378,6 +1975,18 @@ dependencies = [ "windows-link", ] +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + +[[package]] +name = "pastey" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35fb2e5f958ec131621fdd531e9fc186ed768cbe395337403ae56c17a74c68ec" + [[package]] name = "pbkdf2" version = "0.13.0" @@ -1399,6 +2008,25 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +[[package]] +name = "pkg-config" +version = "0.3.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "19f132c84eca552bf34cab8ec81f1c1dcc229b811638f9d283dceabe58c5569e" + +[[package]] +name = "png" +version = "0.18.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60769b8b31b2a9f263dae2776c37b1b28ae246943cf719eb6946a1db05128a61" +dependencies = [ + "bitflags", + "crc32fast", + "fdeflate", + "flate2", + "miniz_oxide", +] + [[package]] name = "portable-atomic" version = "1.13.1" @@ -1453,6 +2081,54 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "profiling" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3d595e54a326bc53c1c197b32d295e14b169e3cfeaa8dc82b529f947fba6bcf5" +dependencies = [ + "profiling-procmacros", +] + +[[package]] +name = "profiling-procmacros" +version = "1.0.18" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4488a4a36b9a4ba6b9334a32a39971f77c1436ec82c38707bce707699cc3bbcb" +dependencies = [ + "quote", + "syn", +] + +[[package]] +name = "pulp" +version = "0.22.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "046aa45b989642ec2e4717c8e72d677b13edd831a4d3b6cf37d9a3e54912496a" +dependencies = [ + "bytemuck", + "cfg-if", + "libm", + "num-complex", + "paste", + "pulp-wasm-simd-flag", + "raw-cpuid", + "reborrow", + "version_check", +] + +[[package]] +name = "pulp-wasm-simd-flag" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d8f70e07b9c3962945a74e59ca1c511bba65b6419468acc217c457d93f3c740" + +[[package]] +name = "pxfm" +version = "0.1.30" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d55d956fa96f5ec02be2e13af0e20391a5aa83d6a074e3ad368959d0fab299ea" + [[package]] name = "pyo3" version = "0.29.0" @@ -1510,6 +2186,31 @@ dependencies = [ "syn", ] +[[package]] +name = "qoi" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f6d64c71eb498fe9eae14ce4ec935c555749aef511cca85b5568910d6e48001" +dependencies = [ + "bytemuck", +] + +[[package]] +name = "quick-error" +version = "2.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a993555f31e5a609f617c12db6250dedcac1b0a85076912c436e6fc9b2c8e6a3" + +[[package]] +name = "quick-xml" +version = "0.39.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdcc8dd4e2f670d309a5f0e83fe36dfdc05af317008fea29144da1a2ac858e5e" +dependencies = [ + "memchr", + "serde", +] + [[package]] name = "quinn" version = "0.11.9" @@ -1587,6 +2288,33 @@ version = "6.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "f8dcc9c7d52a811697d2151c701e0d08956f92b0e24136cf4cf27b57a6a0d9bf" +[[package]] +name = "radar_core" +version = "0.34.4" +source = "git+https://github.com/FahrenheitResearch/bowecho#aee5574c6008cd581a91d4576bb89f629cfdfe33" +dependencies = [ + "chrono", + "serde", +] + +[[package]] +name = "radar_gif" +version = "0.1.0" +dependencies = [ + "chrono", + "clap", + "color_tables", + "data_source", + "gif", + "image", + "nexrad_io", + "quick-xml", + "radar_core", + "render2d", + "reqwest 0.12.28", + "serde", +] + [[package]] name = "rand" version = "0.9.4" @@ -1642,6 +2370,65 @@ dependencies = [ "rand_core 0.10.1", ] +[[package]] +name = "rav1e" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43b6dd56e85d9483277cde964fd1bdb0428de4fec5ebba7540995639a21cb32b" +dependencies = [ + "aligned-vec", + "arbitrary", + "arg_enum_proc_macro", + "arrayvec", + "av-scenechange", + "av1-grain", + "bitstream-io", + "built", + "cfg-if", + "interpolate_name", + "itertools", + "libc", + "libfuzzer-sys", + "log", + "maybe-rayon", + "new_debug_unreachable", + "noop_proc_macro", + "num-derive", + "num-traits", + "paste", + "profiling", + "rand 0.9.4", + "rand_chacha", + "simd_helpers", + "thiserror", + "v_frame", + "wasm-bindgen", +] + +[[package]] +name = "ravif" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e52310197d971b0f5be7fe6b57530dcd27beb35c1b013f29d66c1ad73fbbcc45" +dependencies = [ + "avif-serialize", + "imgref", + "loop9", + "quick-error", + "rav1e", + "rayon", + "rgb", +] + +[[package]] +name = "raw-cpuid" +version = "11.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "498cd0dc59d73224351ee52a95fee0f1a617a2eae0e7d9d720cc622c73a54186" +dependencies = [ + "bitflags", +] + [[package]] name = "rayon" version = "1.12.0" @@ -1662,6 +2449,12 @@ dependencies = [ "crossbeam-utils", ] +[[package]] +name = "reborrow" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "03251193000f4bd3b042892be858ee50e8b3719f2b08e5833ac4353724632430" + [[package]] name = "redox_syscall" version = "0.5.18" @@ -1700,6 +2493,59 @@ version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d6f6ff9a378485b298a5286656da665ba74413d36db0979633275d2e708145d4" +[[package]] +name = "render2d" +version = "0.34.4" +source = "git+https://github.com/FahrenheitResearch/bowecho#aee5574c6008cd581a91d4576bb89f629cfdfe33" +dependencies = [ + "chrono", + "color_tables", + "image", + "radar_core", + "rayon", + "thiserror", +] + +[[package]] +name = "reqwest" +version = "0.12.28" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "eddd3ca559203180a307f12d114c268abf583f59b03cb906fd0b3ff8646c1147" +dependencies = [ + "base64", + "bytes", + "futures-channel", + "futures-core", + "futures-util", + "http", + "http-body", + "http-body-util", + "hyper", + "hyper-rustls", + "hyper-util", + "js-sys", + "log", + "percent-encoding", + "pin-project-lite", + "quinn", + "rustls", + "rustls-pki-types", + "serde", + "serde_json", + "serde_urlencoded", + "sync_wrapper", + "tokio", + "tokio-rustls", + "tower", + "tower-http", + "tower-service", + "url", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", + "webpki-roots", +] + [[package]] name = "reqwest" version = "0.13.4" @@ -1746,6 +2592,12 @@ version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1e061d1b48cb8d38042de4ae0a7a6401009d6143dc80d2e2d6f31f0bdd6470c7" +[[package]] +name = "rgb" +version = "0.8.53" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "47b34b781b31e5d73e9fbc8689c70551fd1ade9a19e3e28cfec8580a79290cc4" + [[package]] name = "ring" version = "0.17.14" @@ -1812,6 +2664,7 @@ dependencies = [ "aws-lc-rs", "log", "once_cell", + "ring", "rustls-pki-types", "rustls-webpki", "subtle", @@ -2040,6 +2893,18 @@ dependencies = [ "zmij", ] +[[package]] +name = "serde_urlencoded" +version = "0.7.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3491c14715ca2294c4d6a88f15e84739788c1d030eed8c110436aafdaa2f3fd" +dependencies = [ + "form_urlencoded", + "itoa", + "ryu", + "serde", +] + [[package]] name = "sha1" version = "0.11.0" @@ -2085,6 +2950,12 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7f45b8998ced5134fb1d75732c77842a3e888f19c1ff98481822e8fbfbf930b" +[[package]] +name = "simd-adler32" +version = "0.3.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3a219298ac11a56ea9a6d2120044824d6f01aeb034955e7af7bc16858527deea" + [[package]] name = "simd_cesu8" version = "1.1.1" @@ -2095,6 +2966,15 @@ dependencies = [ "simdutf8", ] +[[package]] +name = "simd_helpers" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95890f873bec569a0362c235787f3aca6e1e887302ba4840839bcc6459c42da6" +dependencies = [ + "quote", +] + [[package]] name = "simdutf8" version = "0.1.5" @@ -2147,7 +3027,7 @@ dependencies = [ "once_cell", "pyo3", "regex", - "reqwest", + "reqwest 0.13.4", "rstar 0.13.0", "serde", "tokio", @@ -2185,6 +3065,12 @@ dependencies = [ "unicode-properties", ] +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "subtle" version = "2.6.1" @@ -2275,6 +3161,20 @@ dependencies = [ "syn", ] +[[package]] +name = "tiff" +version = "0.11.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b63feaf3343d35b6ca4d50483f94843803b0f51634937cc2ec519fc32232bc52" +dependencies = [ + "fax", + "flate2", + "half", + "quick-error", + "weezl", + "zune-jpeg", +] + [[package]] name = "tinystr" version = "0.8.3" @@ -2454,6 +3354,12 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "typed-path" +version = "0.12.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e28f89b80c87b8fb0cf04ab448d5dd0dd0ade2f8891bae878de66a75a28600e" + [[package]] name = "typenum" version = "1.20.1" @@ -2517,6 +3423,12 @@ version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b6c140620e7ffbb22c2dee59cafe6084a59b5ffc27a8859a5f0d494b5d52b6be" +[[package]] +name = "utf8parse" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" + [[package]] name = "uuid" version = "1.23.3" @@ -2528,6 +3440,17 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "v_frame" +version = "0.3.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "666b7727c8875d6ab5db9533418d7c764233ac9c0cff1d469aec8fa127597be2" +dependencies = [ + "aligned-vec", + "num-traits", + "wasm-bindgen", +] + [[package]] name = "version_check" version = "0.9.5" @@ -2695,6 +3618,21 @@ dependencies = [ "rustls-pki-types", ] +[[package]] +name = "webpki-roots" +version = "1.0.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7dcd9d09a39985f5344844e66b0c530a33843579125f23e21e9f0f220850f22a" +dependencies = [ + "rustls-pki-types", +] + +[[package]] +name = "weezl" +version = "0.1.12" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" + [[package]] name = "widestring" version = "1.2.1" @@ -3088,6 +4026,12 @@ version = "0.8.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4d93c89cdc2d3a63c3ec48ffe926931bdc069eafa8e4402fe6d8f790c9d1e576" +[[package]] +name = "y4m" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7a5a4b21e1a62b67a2970e6831bc091d7b87e119e7f9791aef9702e3bef04448" + [[package]] name = "yoke" version = "0.8.3" @@ -3191,8 +4135,64 @@ dependencies = [ "syn", ] +[[package]] +name = "zip" +version = "8.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2d04a6b5381502aa6087c94c669499eb1602eb9c5e8198e534de571f7154809b" +dependencies = [ + "crc32fast", + "flate2", + "indexmap", + "memchr", + "typed-path", + "zopfli", +] + +[[package]] +name = "zlib-rs" +version = "0.6.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b142a20ec14a91d5bc708c1dc21b080c550113d8aa77afa29635673a65dd02c5" + [[package]] name = "zmij" version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + +[[package]] +name = "zopfli" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" +dependencies = [ + "bumpalo", + "crc32fast", + "log", + "simd-adler32", +] + +[[package]] +name = "zune-core" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cb8a0807f7c01457d0379ba880ba6322660448ddebc890ce29bb64da71fb40f9" + +[[package]] +name = "zune-inflate" +version = "0.2.54" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ab332fe2f6680068f3582b16a24f90ad7096d5d39b974d1c0aff0125116f02" +dependencies = [ + "simd-adler32", +] + +[[package]] +name = "zune-jpeg" +version = "0.5.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "27bc9d5b815bc103f142aa054f561d9187d191692ec7c2d1e2b4737f8dbd7296" +dependencies = [ + "zune-core", +] diff --git a/crates/radar_gif/src/main.rs b/crates/radar_gif/src/main.rs index 0538b9f0..a1b949b8 100644 --- a/crates/radar_gif/src/main.rs +++ b/crates/radar_gif/src/main.rs @@ -6,7 +6,7 @@ use clap::Parser; use image::codecs::gif::{GifEncoder, Repeat}; use image::{Delay, Frame, RgbaImage}; use radar_core::{MomentType, RadarVolume}; -use render2d::{render_moment_image, RasterOptions}; +use render2d::{base_tilt_cut, render_moment_image, RasterOptions}; /// Fetch recent NEXRAD Level II volumes from the public AWS archive, render /// them as polar radar images, and output a GIF animation loop. @@ -77,7 +77,8 @@ fn main() { let mut frames: Vec = Vec::with_capacity(volumes.len()); for volume in &volumes { - match render_moment_image(volume, args.cut, moment.clone(), options) { + let cut_index = base_tilt_cut(volume, &moment).unwrap_or(0); + match render_moment_image(volume, cut_index, moment.clone(), options) { Ok(img) => frames.push(img), Err(e) => eprintln!( " Skipping volume {}: {e}", From f65649a503bf68f2116f63003cde962d46593eb3 Mon Sep 17 00:00:00 2001 From: full-bars <45684698+full-bars@users.noreply.github.com> Date: Tue, 21 Jul 2026 16:23:55 -0700 Subject: [PATCH 03/13] fix: proper storm-scale zoom and map rendering for /radar The radar renderer was hardcoded to a fixed 460km range mapped onto an 800x800 canvas, making mesocyclone couplets and tornadic debris signatures impossible to resolve. Switched to render2d's viewport rendering API with a configurable --range-km flag and a Discord zoom choice (Storm-Scale/Regional/Wide/Full Range), and applied smooth_moment_grid() to fix the streaky/gapped look at closer zoom. Also fixes a compass rose typo (W was showing as F) and adds a backing panel behind the timestamp/site label so it stays legible over storm echoes. State outlines, city labels, and range rings now scale correctly with the selected zoom level. --- .gitignore | 1 + CHANGELOG.md | 3 +- Cargo.lock | 194 ++++++- cogs/radar/__init__.py | 184 +++++-- crates/radar_gif/Cargo.toml | 3 + crates/radar_gif/assets/fonts/DejaVuSans.ttf | Bin 0 -> 759720 bytes crates/radar_gif/assets/geo/nexrad_sites.csv | 188 +++++++ .../radar_gif/assets/geo/us_states_110m.json | 1 + .../radar_gif/assets/geo/us_states_50m.json | 1 + crates/radar_gif/src/main.rs | 510 ++++++++++++------ scripts/generate_radar_basemaps.py | 188 +++++++ 11 files changed, 1059 insertions(+), 214 deletions(-) create mode 100644 crates/radar_gif/assets/fonts/DejaVuSans.ttf create mode 100644 crates/radar_gif/assets/geo/nexrad_sites.csv create mode 100644 crates/radar_gif/assets/geo/us_states_110m.json create mode 100644 crates/radar_gif/assets/geo/us_states_50m.json create mode 100644 scripts/generate_radar_basemaps.py diff --git a/.gitignore b/.gitignore index c574fc3a..8c4b08e9 100644 --- a/.gitignore +++ b/.gitignore @@ -5,6 +5,7 @@ __pycache__/ *.log* *.json !config/*.json +!crates/radar_gif/assets/**/*.json cached_* cache/ GEMINI.md diff --git a/CHANGELOG.md b/CHANGELOG.md index 8dc10ab1..f7fa20d6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,8 @@ All notable changes to this project will be documented in this file. - **Sounding AI Summary Threads**: Autoposted sounding AI summaries now create a dedicated discussion thread attached to the sounding plot message instead of posting as an inline reply (#612, #614). The thread is named `Sounding: {station} — {time}` and auto-archives after 24h. Falls back gracefully to inline reply when thread creation is unavailable. Applies to all RAOB and ACARS autopost paths (high-risk monitoring, special soundings, watch-triggered, and standard synoptic-time posts). - **MD AI Summary Threads**: Mesoscale Discussion AI summaries now create a thread named `MD #{num}` on the MD message instead of posting a standalone message in the channel (#613, #614). The AI Analysis button detects the thread and posts inside it with an ephemeral link to the user. Falls back to channel posting when thread creation fails. - **Thread Cache Fallback (`_resolve_message_thread`)**: Button handlers for outlook, sounding, and MD summaries now use a shared helper that checks `message.thread` (cached property) first, then falls back to `message.fetch_thread()` from the API (#614). This handles edge cases where Discord hasn't populated the thread cache, preventing spurious channel fallback. -- **NEXRAD Radar Loops (`/radar` command)**: New `radar_gif` Rust crate fetches NEXRAD Level II volumes from the public AWS S3 archive, decodes them using BowEcho's `nexrad_io` and `render2d` crates, and outputs animated GIFs. The `/radar` slash command accepts site ID (e.g. KTLX), product (reflectivity/velocity/ZDR/CC/KDP/PHIDP), and frame count. The craterender2d dependency renders publication-quality polar radar images with proper color tables and range-folding handling. +- **NEXRAD Radar Loops (`/radar` command)**: New `radar_gif` Rust crate fetches NEXRAD Level II volumes from the public AWS S3 archive, decodes them using BowEcho's `nexrad_io` and `render2d` crates, and outputs animated GIFs. The `/radar` slash command accepts site ID (e.g. KTLX), product (reflectivity/velocity/ZDR/CC/KDP/PHIDP), frame count, and a zoom level. The render2d dependency renders publication-quality polar radar images with proper color tables and range-folding handling, including state/county outlines and city labels. +- **Radar Zoom Control**: The `/radar` command now exposes a `zoom` option — Storm-Scale (~75km), Regional (~150km, default), Wide (~300km), or Full Range (~460km) — using `render2d`'s viewport rendering API to display any of those ranges at full resolution instead of a fixed full-range disk. Storm-scale zoom makes mesocyclone couplets and tornadic debris signatures actually resolvable. ## [5.41.0] - 2026-07-19 diff --git a/Cargo.lock b/Cargo.lock index e68bccf0..eecd5df1 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2,6 +2,22 @@ # It is not intended for manual editing. version = 4 +[[package]] +name = "ab_glyph" +version = "0.2.32" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "01c0457472c38ea5bd1c3b5ada5e368271cb550be7a4ca4a0b4634e9913f6cc2" +dependencies = [ + "ab_glyph_rasterizer", + "owned_ttf_parser", +] + +[[package]] +name = "ab_glyph_rasterizer" +version = "0.1.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "366ffbaa4442f4684d91e2cd7c5ea7c4ed8add41959a31447066e279e432b618" + [[package]] name = "adler2" version = "2.0.1" @@ -1496,6 +1512,24 @@ dependencies = [ "quick-error", ] +[[package]] +name = "imageproc" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "602b4e8a4cc3e98372b766cd184ab532999bc0e839b7469e759511ccabc65d77" +dependencies = [ + "ab_glyph", + "approx", + "getrandom 0.2.17", + "image", + "itertools 0.12.1", + "nalgebra", + "num", + "rand 0.8.7", + "rand_distr", + "rayon", +] + [[package]] name = "imgref" version = "1.12.2" @@ -1553,6 +1587,15 @@ version = "1.70.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a6cb138bb79a146c1bd460005623e142ef0181e3d0219cb493e02f7d08a35695" +[[package]] +name = "itertools" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ba291022dbbd398a455acf126c1e341954079855bc60dfdda641363bd6922569" +dependencies = [ + "either", +] + [[package]] name = "itertools" version = "0.14.0" @@ -1738,6 +1781,16 @@ version = "0.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "112b39cec0b298b6c1999fee3e31427f74f676e4cb9879ed1a121b43661a4154" +[[package]] +name = "matrixmultiply" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3f607c237553f086e7043417a51df26b2eb899d3caff94e6a67592ff992fedc7" +dependencies = [ + "autocfg", + "rawpointer", +] + [[package]] name = "maybe-rayon" version = "0.1.1" @@ -1817,6 +1870,21 @@ dependencies = [ "pxfm", ] +[[package]] +name = "nalgebra" +version = "0.32.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7b5c17de023a86f59ed79891b2e5d5a94c705dbe904a5b5c9c952ea6221b03e4" +dependencies = [ + "approx", + "matrixmultiply", + "num-complex", + "num-rational", + "num-traits", + "simba", + "typenum", +] + [[package]] name = "ndk-context" version = "0.1.1" @@ -1869,6 +1937,20 @@ version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0676bb32a98c1a483ce53e500a81ad9c3d5b3f7c920c28c24e9cb0980d0b5bc8" +[[package]] +name = "num" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "35bd024e8b2ff75562e5f34e7f4905839deb4b22955ef5e73d2fea1b9813cb23" +dependencies = [ + "num-bigint", + "num-complex", + "num-integer", + "num-iter", + "num-rational", + "num-traits", +] + [[package]] name = "num-bigint" version = "0.4.8" @@ -1909,6 +1991,16 @@ dependencies = [ "num-traits", ] +[[package]] +name = "num-iter" +version = "0.1.46" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c92800bd69a1eac91786bcfe9da64a897eb72911b8dc3095decbd07429e8048b" +dependencies = [ + "num-integer", + "num-traits", +] + [[package]] name = "num-rational" version = "0.4.2" @@ -1952,6 +2044,15 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7c87def4c32ab89d880effc9e097653c8da5d6ef28e6b539d313baaacfbafcbe" +[[package]] +name = "owned_ttf_parser" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "36820e9051aca1014ddc75770aab4d68bc1e9e632f0f5627c4086bc216fb583b" +dependencies = [ + "ttf-parser", +] + [[package]] name = "parking_lot" version = "0.12.5" @@ -2301,18 +2402,32 @@ dependencies = [ name = "radar_gif" version = "0.1.0" dependencies = [ + "ab_glyph", "chrono", "clap", "color_tables", "data_source", "gif", "image", + "imageproc", "nexrad_io", "quick-xml", "radar_core", "render2d", "reqwest 0.12.28", "serde", + "serde_json", +] + +[[package]] +name = "rand" +version = "0.8.7" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "22f6172bdec972074665ed81ed53b71da00bfc44b65a753cfde883ec4c702a1a" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", ] [[package]] @@ -2321,7 +2436,7 @@ version = "0.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ - "rand_chacha", + "rand_chacha 0.9.0", "rand_core 0.9.5", ] @@ -2336,6 +2451,16 @@ dependencies = [ "rand_core 0.10.1", ] +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + [[package]] name = "rand_chacha" version = "0.9.0" @@ -2346,6 +2471,15 @@ dependencies = [ "rand_core 0.9.5", ] +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", +] + [[package]] name = "rand_core" version = "0.9.5" @@ -2361,6 +2495,16 @@ version = "0.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "63b8176103e19a2643978565ca18b50549f6101881c443590420e4dc998a3c69" +[[package]] +name = "rand_distr" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "32cb0b9bc82b0a0876c2dd994a7e7a2683d3e7390ca40e6886785ef0c7e3ee31" +dependencies = [ + "num-traits", + "rand 0.8.7", +] + [[package]] name = "rand_pcg" version = "0.10.2" @@ -2386,7 +2530,7 @@ dependencies = [ "built", "cfg-if", "interpolate_name", - "itertools", + "itertools 0.14.0", "libc", "libfuzzer-sys", "log", @@ -2398,7 +2542,7 @@ dependencies = [ "paste", "profiling", "rand 0.9.4", - "rand_chacha", + "rand_chacha 0.9.0", "simd_helpers", "thiserror", "v_frame", @@ -2429,6 +2573,12 @@ dependencies = [ "bitflags", ] +[[package]] +name = "rawpointer" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "60a357793950651c4ed0f3f52338f53b2f809f32d83a07f72909fa13e4c6c1e3" + [[package]] name = "rayon" version = "1.12.0" @@ -2784,6 +2934,15 @@ version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9774ba4a74de5f7b1c1451ed6cd5285a32eddb5cccb8cc655a4e50009e06477f" +[[package]] +name = "safe_arch" +version = "0.7.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96b02de82ddbe1b636e6170c21be622223aea188ef2e139be0a5b219ec215323" +dependencies = [ + "bytemuck", +] + [[package]] name = "same-file" version = "1.0.6" @@ -2950,6 +3109,19 @@ version = "0.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d7f45b8998ced5134fb1d75732c77842a3e888f19c1ff98481822e8fbfbf930b" +[[package]] +name = "simba" +version = "0.8.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "061507c94fc6ab4ba1c9a0305018408e312e17c041eb63bef8aa726fa33aceae" +dependencies = [ + "approx", + "num-complex", + "num-traits", + "paste", + "wide", +] + [[package]] name = "simd-adler32" version = "0.3.10" @@ -3354,6 +3526,12 @@ version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "e421abadd41a4225275504ea4d6566923418b7f05506fbc9c0fe86ba7396114b" +[[package]] +name = "ttf-parser" +version = "0.25.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2df906b07856748fa3f6e0ad0cbaa047052d4a7dd609e231c4f72cee8c36f31" + [[package]] name = "typed-path" version = "0.12.3" @@ -3633,6 +3811,16 @@ version = "0.1.12" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a28ac98ddc8b9274cb41bb4d9d4d5c425b6020c50c46f25559911905610b4a88" +[[package]] +name = "wide" +version = "0.7.33" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0ce5da8ecb62bcd8ec8b7ea19f69a51275e91299be594ea5cc6ef7819e16cd03" +dependencies = [ + "bytemuck", + "safe_arch", +] + [[package]] name = "widestring" version = "1.2.1" diff --git a/cogs/radar/__init__.py b/cogs/radar/__init__.py index 1eabab7b..4ba7ae4d 100644 --- a/cogs/radar/__init__.py +++ b/cogs/radar/__init__.py @@ -182,27 +182,81 @@ async def downloaderstatus_slash(self, interaction: discord.Interaction): RADAR_GIF_CACHE = Path("cache") / "radar_gifs" + TDWR_SITES = { + "TATL": "Atlanta, GA", + "TBNA": "Nashville, TN", + "TBOS": "Boston, MA", + "TBWI": "Baltimore, MD", + "TCLT": "Charlotte, NC", + "TCMH": "Columbus, OH", + "TCVG": "Covington, KY", + "TDAL": "Dallas Love Field, TX", + "TDAY": "Dayton, OH", + "TDCA": "Washington National, VA", + "TDEN": "Denver, CO", + "TDFW": "Dallas/Ft. Worth, TX", + "TDTW": "Detroit, MI", + "TEWR": "Newark, NJ", + "TFLL": "Fort Lauderdale, FL", + "THOU": "Houston Hobby, TX", + "TIAD": "Dulles, VA", + "TIAH": "Houston Intercontinental, TX", + "TICH": "Wichita, KS", + "TIDS": "Indianapolis, IN", + "TJFK": "New York City, NY", + "TJUA": "San Juan, PR", + "TLAS": "Las Vegas, NV", + "TLVE": "Cleveland, OH", + "TMCI": "Kansas City, MO", + "TMCO": "Orlando, FL", + "TMDW": "Chicago Midway, IL", + "TMEM": "Memphis, TN", + "TMIA": "Miami, FL", + "TMKE": "Milwaukee, WI", + "TMSP": "Minneapolis, MN", + "TMSY": "New Orleans, LA", + "TOKC": "Oklahoma City, OK", + "TORD": "Chicago O'Hare, IL", + "TPBI": "West Palm Beach, FL", + "TPHL": "Philadelphia, PA", + "TPHX": "Phoenix, AZ", + "TPIT": "Pittsburgh, PA", + "TRDU": "Raleigh-Durham, NC", + "TSDF": "Louisville, KY", + "TSJU": "San Juan, PR", + "TSLC": "Salt Lake City, UT", + "TSTL": "St Louis, MO", + "TTPA": "Tampa, FL", + "TTUL": "Tulsa, OK", + } + RADAR_SITES = { - "KTLX": "Oklahoma City/Twin Lakes, OK", - "KFWS": "Dallas/Ft. Worth, TX", - "KSHV": "Shreveport, LA", - "KHTX": "Huntsville, AL", - "KMOB": "Mobile, AL", - "KEOX": "Enterprise, AL", - "KBMX": "Birmingham, AL", + "KABR": "Aberdeen, SD", + "KABX": "Albuquerque, NM", + "KAKQ": "Norfolk, VA", "KAMA": "Amarillo, TX", "KAMX": "Miami, FL", + "KAPX": "Gaylord, MI", + "KARX": "La Crosse, WI", + "KATX": "Seattle, WA", "KBBX": "Beale AFB, CA", + "KBGM": "Binghamton, NY", "KBHX": "Eureka, CA", "KBIS": "Bismarck, ND", "KBLX": "Billings, MT", - "KBRX": "Belle Plaine, IA", + "KBMX": "Birmingham, AL", + "KBOX": "Boston, MA", "KBRO": "Brownsville, TX", "KBUF": "Buffalo, NY", + "KBYX": "Key West, FL", "KCAE": "Columbia, SC", + "KCBW": "Caribou, ME", + "KCBX": "Boise, ID", + "KCCX": "State College, PA", "KCLE": "Cleveland, OH", "KCLX": "Charleston, SC", "KCRP": "Corpus Christi, TX", + "KCXX": "Burlington, VT", "KCYS": "Cheyenne, WY", "KDAX": "Sacramento, CA", "KDDC": "Dodge City, KS", @@ -213,82 +267,113 @@ async def downloaderstatus_slash(self, interaction: discord.Interaction): "KDMX": "Des Moines, IA", "KDOX": "Dover AFB, DE", "KDTX": "Detroit, MI", - "KDYX": "Abilene/Sweetwater, TX", + "KDVN": "Quad Cities, IA", + "KDYX": "Abilene, TX", "KEAX": "Kansas City, MO", "KEMX": "Tucson, AZ", "KENX": "Albany, NY", + "KEOX": "Fort Rucker, AL", "KEPZ": "El Paso, TX", "KESX": "Las Vegas, NV", "KEVX": "Eglin AFB, FL", - "KEWX": "Austin/San Antonio, TX", + "KEWX": "Austin, TX", "KEYX": "Edwards AFB, CA", "KFCX": "Roanoke, VA", - "KFDR": "Frederick, OK", + "KFDR": "Altus AFB, OK", "KFDX": "Cannon AFB, NM", "KFFC": "Atlanta, GA", "KFSD": "Sioux Falls, SD", "KFSX": "Flagstaff, AZ", "KFTG": "Denver, CO", + "KFWS": "Dallas/Fort Worth, TX", "KGGW": "Glasgow, MT", "KGJX": "Grand Junction, CO", "KGLD": "Goodland, KS", "KGRB": "Green Bay, WI", "KGRK": "Fort Hood, TX", "KGRR": "Grand Rapids, MI", - "KGVX": "Gray/Portland, ME", + "KGSP": "Greer, SC", "KGWX": "Columbus AFB, MS", + "KGYX": "Portland, ME", + "KHDC": "Hammond, LA", "KHDX": "Holloman AFB, NM", - "KHGX": "Houston/Galveston, TX", - "KHKI": "Hickory, NC", - "KHPX": "Hopkinsville, KY", + "KHGX": "Houston, TX", + "KHNX": "San Joaquin Valley, CA", + "KHPX": "Fort Campbell, KY", + "KHTX": "Huntsville, AL", "KICT": "Wichita, KS", - "KILN": "Cincinnati/Wilmington, OH", + "KICX": "Cedar City, UT", + "KILN": "Cincinnati, OH", "KILX": "Lincoln, IL", "KIND": "Indianapolis, IN", - "KINX": "Tulsa/Inola, OK", + "KINX": "Tulsa, OK", "KIWA": "Phoenix, AZ", + "KIWX": "Northern Indiana, IN", "KJAX": "Jacksonville, FL", - "KJGX": "Macon/Perry, GA", - "KJKL": "Jackson/Julian, KY", + "KJGX": "Macon, GA", + "KJKL": "Jackson, KY", "KLBB": "Lubbock, TX", "KLCH": "Lake Charles, LA", "KLGX": "Langley Hill, WA", - "KLIX": "New Orleans/Slidell, LA", "KLNX": "North Platte, NE", "KLOT": "Chicago, IL", "KLRX": "Elko, NV", - "KLSX": "St. Louis, MO", + "KLSX": "St Louis, MO", "KLTX": "Wilmington, NC", - "KLVX": "Louisville/Fort Knox, KY", - "KLWX": "Washington D.C./Sterling, VA", + "KLVX": "Louisville, KY", + "KLWX": "Sterling, VA", + "KLZK": "Little Rock, AR", + "KMAF": "Midland, TX", + "KMAX": "Medford, OR", + "KMBX": "Minot, ND", "KMHX": "Morehead City, NC", "KMKX": "Milwaukee, WI", "KMLB": "Melbourne, FL", - "KMPX": "Minneapolis/Chanhassen, MN", + "KMOB": "Mobile, AL", + "KMPX": "Minneapolis, MN", "KMQT": "Marquette, MI", - "KMRX": "Knoxville/Morristown, TN", + "KMRX": "Knoxville, TN", "KMSX": "Missoula, MT", "KMTX": "Salt Lake City, UT", "KMUX": "San Francisco, CA", - "KMVX": "Fargo/Grand Forks, ND", + "KMVX": "Fargo, ND", "KMXX": "Maxwell AFB, AL", "KNKX": "San Diego, CA", - "KNOA": "Memphis, TN", + "KNQA": "Memphis, TN", "KOAX": "Omaha, NE", "KOHX": "Nashville, TN", - "KOKX": "New York City/Brookhaven, NY", + "KOKX": "Brookhaven, NY", "KOTX": "Spokane, WA", "KPAH": "Paducah, KY", "KPBZ": "Pittsburgh, PA", "KPDT": "Pendleton, OR", "KPOE": "Fort Polk, LA", - "KRAX": "Raleigh/Durham, NC", + "KPUX": "Pueblo, CO", + "KRAX": "Raleigh, NC", "KRGX": "Reno, NV", "KRIW": "Riverton, WY", "KRLX": "Charleston, WV", "KRTX": "Portland, OR", - "KSFX": "Pocatello/Idaho Falls, ID", + "KSFX": "Pocatello, ID", "KSGF": "Springfield, MO", + "KSHV": "Shreveport, LA", + "KSJT": "San Angelo, TX", + "KSOX": "Santa Ana, CA", + "KSRX": "Fort Smith, AR", + "KTBW": "Tampa, FL", + "KTFX": "Great Falls, MT", + "KTLH": "Tallahassee, FL", + "KTLX": "Oklahoma City, OK", + "KTWX": "Topeka, KS", + "KTYX": "Fort Drum, NY", + "KUDX": "Rapid City, SD", + "KUEX": "Grand Island, NE", + "KVAX": "Moody AFB, GA", + "KVBX": "Vandenberg AFB, CA", + "KVNX": "Vance AFB, OK", + "KVTX": "Los Angeles, CA", + "KVWX": "Evansville, IN", + "KYUX": "Yuma, AZ", } @discord.app_commands.command( @@ -299,6 +384,7 @@ async def downloaderstatus_slash(self, interaction: discord.Interaction): site="4-letter NEXRAD site ID (e.g. KTLX, KFWS)", product="Radar product to display", frames="Number of frames (default 6, max 20)", + zoom="View range — tighter zoom shows more storm-scale detail (default Regional)", ) @discord.app_commands.choices( product=[ @@ -309,7 +395,13 @@ async def downloaderstatus_slash(self, interaction: discord.Interaction): Choice(name="Correlation Coefficient (CC)", value="cc"), Choice(name="Differential Phase (PHIDP)", value="phidp"), Choice(name="Specific KDP", value="kdp"), - ] + ], + zoom=[ + Choice(name="Storm-Scale (~75km) — couplets/TDS", value=75.0), + Choice(name="Regional (~150km)", value=150.0), + Choice(name="Wide (~300km)", value=300.0), + Choice(name="Full Range (~460km)", value=460.0), + ], ) async def radar_slash( self, @@ -317,30 +409,33 @@ async def radar_slash( site: str, product: Choice[str] = None, frames: int = 6, + zoom: Choice[float] = None, ): await interaction.response.defer(thinking=True) site = site.upper().strip() product_value = product.value if product else "reflectivity" frames = max(2, min(frames, 20)) + range_km = zoom.value if zoom else 150.0 - if site not in self.RADAR_SITES: - suggestions = difflib.get_close_matches(site, list(self.RADAR_SITES), n=3, cutoff=0.5) + all_sites = {**self.RADAR_SITES, **self.TDWR_SITES} + if site not in all_sites: + suggestions = difflib.get_close_matches(site, list(all_sites), n=3, cutoff=0.5) if suggestions: msg = "`{}` not recognized. Did you mean?\n{}".format( site, - "\n".join(" `{}` — {}".format(s, self.RADAR_SITES[s]) for s in suggestions), + "\n".join(" `{}` — {}".format(s, all_sites[s]) for s in suggestions), ) else: - msg = "`{}` is not a recognized NEXRAD site.".format(site) + msg = "`{}` is not a recognized radar site.".format(site) await interaction.followup.send(msg, ephemeral=True) return self.RADAR_GIF_CACHE.mkdir(parents=True, exist_ok=True) - out_path = self.RADAR_GIF_CACHE / "{}_{}_{}.gif".format(site, product_value, frames) + out_path = self.RADAR_GIF_CACHE / "{}_{}_{}_{:.0f}km.gif".format(site, product_value, frames, range_km) try: - await _run_radar_cli(site, product_value, frames, out_path) + await _run_radar_cli(site, product_value, frames, out_path, range_km) except Exception as e: logger.exception("[RADAR] Failed to generate for {}: {}".format(site, e)) await interaction.followup.send( @@ -354,11 +449,12 @@ async def radar_slash( ) return - site_name = self.RADAR_SITES.get(site, site) + site_name = self.RADAR_SITES.get(site) or self.TDWR_SITES.get(site) or site product_label = product.name if product else "Reflectivity" + zoom_label = zoom.name if zoom else "Regional (~150km)" embed = discord.Embed( title="{} Loop — {} ({})".format(product_label, site, site_name), - description="{} frames".format(frames), + description="{} frames · {}".format(frames, zoom_label), color=discord.Color.blue(), ) embed.set_footer(text="NEXRAD Level II Archive") @@ -396,7 +492,7 @@ async def periodic_cleanup(self): ) -async def _run_radar_cli(site: str, product: str, frames: int, out_path: Path): +async def _run_radar_cli(site: str, product: str, frames: int, out_path: Path, range_km: float = 150.0): if RADAR_GIF_BIN is None: raise RuntimeError( "radar_gif binary not found (build with: cargo build --release -p radar_gif)" @@ -409,14 +505,10 @@ async def _run_radar_cli(site: str, product: str, frames: int, out_path: Path): product, "--frames", str(frames), + "--range-km", + str(range_km), "--output", str(out_path), - "--width", - "800", - "--height", - "800", - "--days-back", - "3", stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE, ) diff --git a/crates/radar_gif/Cargo.toml b/crates/radar_gif/Cargo.toml index 536ab9b5..a01e3657 100644 --- a/crates/radar_gif/Cargo.toml +++ b/crates/radar_gif/Cargo.toml @@ -10,9 +10,12 @@ nexrad_io = { git = "https://github.com/FahrenheitResearch/bowecho" } data_source = { git = "https://github.com/FahrenheitResearch/bowecho" } render2d = { git = "https://github.com/FahrenheitResearch/bowecho" } image = "0.25" +imageproc = "0.25" +ab_glyph = "0.2" chrono = "0.4" clap = { version = "4", features = ["derive"] } gif = "0.14" serde = { version = "1", features = ["derive"] } +serde_json = "1" quick-xml = { version = "0.39", features = ["serialize"] } reqwest = { version = "0.12", default-features = false, features = ["blocking", "rustls-tls"] } diff --git a/crates/radar_gif/assets/fonts/DejaVuSans.ttf b/crates/radar_gif/assets/fonts/DejaVuSans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fb0bd945a4f5aa716dcb8d9b7476bfa30e365a1e GIT binary patch literal 759720 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

`(=x&I*~6l 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

G|I7;}!J!KJ*x{#{NOi_vOz6PmZSNYw0oA9IASH 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 literal 0 HcmV?d00001 diff --git a/crates/radar_gif/assets/geo/nexrad_sites.csv b/crates/radar_gif/assets/geo/nexrad_sites.csv new file mode 100644 index 00000000..6618e12f --- /dev/null +++ b/crates/radar_gif/assets/geo/nexrad_sites.csv @@ -0,0 +1,188 @@ +KABR,45.4558,-98.413 +KABX,35.1497,-106.8239 +KAKQ,36.9839,-77.0075 +KAMA,35.2333,-101.7093 +KAMX,25.6105,-80.413 +KAPX,44.9063,-84.7195 +KARX,43.8228,-91.1911 +KATX,48.1946,-122.4957 +KBBX,39.4961,-121.6316 +KBGM,42.1997,-75.9847 +KBHX,40.4983,-124.2922 +KBIS,46.7708,-100.7603 +KBLX,45.8538,-108.6068 +KBMX,33.1719,-86.7697 +KBOX,41.9558,-71.1369 +KBRO,25.9155,-97.4186 +KBUF,42.9486,-78.7369 +KBYX,24.5969,-81.7033 +KCAE,33.9486,-81.1186 +KCBW,46.0392,-67.8064 +KCBX,43.4902,-116.236 +KCCX,40.9231,-78.0039 +KCLE,41.413,-81.86 +KCLX,32.6555,-81.0422 +KCRP,27.7839,-97.5108 +KCXX,44.5111,-73.1664 +KCYS,41.1519,-104.8061 +KDAX,38.5011,-121.6778 +KDDC,37.7608,-99.9689 +KDFX,29.2725,-100.2803 +KDGX,32.28,-89.9844 +KDIX,39.9469,-74.4107 +KDLH,46.8369,-92.2097 +KDMX,41.7311,-93.7228 +KDOX,38.8255,-75.44 +KDTX,42.7,-83.4717 +KDVN,41.6117,-90.5808 +KDYX,32.5383,-99.2542 +KEAX,38.8102,-94.2645 +KEMX,31.8936,-110.6303 +KENX,42.5866,-74.0641 +KEOX,31.4606,-85.4594 +KEPZ,31.873,-106.698 +KESX,35.7011,-114.8914 +KEVX,30.565,-85.9217 +KEWX,29.704,-98.0286 +KEYX,35.0978,-117.5607 +KFCX,37.0242,-80.2742 +KFDR,34.3622,-98.9767 +KFDX,34.6342,-103.6189 +KFFC,33.3633,-84.5658 +KFSD,43.5878,-96.7289 +KFSX,34.5743,-111.1984 +KFTG,39.7866,-104.5458 +KFWS,32.5728,-97.3031 +KGGW,48.2064,-106.6247 +KGJX,39.0622,-108.2138 +KGLD,39.3669,-101.7003 +KGRB,44.4986,-88.1111 +KGRK,30.7217,-97.3828 +KGRR,42.8939,-85.5449 +KGSP,34.8833,-82.2198 +KGWX,33.8969,-88.3292 +KGYX,43.8913,-70.2564 +KHDC,30.5196,-90.4074 +KHDX,33.077,-106.12 +KHGX,29.4719,-95.0789 +KHNX,36.3142,-119.6321 +KHPX,36.7367,-87.285 +KHTX,34.9305,-86.0836 +KICT,37.6544,-97.443 +KICX,37.591,-112.8622 +KILN,39.4203,-83.8217 +KILX,40.1505,-89.3368 +KIND,39.7075,-86.2803 +KINX,36.175,-95.5641 +KIWA,33.2892,-111.67 +KIWX,41.3586,-85.7 +KJAX,30.4846,-81.7019 +KJGX,32.675,-83.3511 +KJKL,37.5908,-83.3131 +KLBB,33.6541,-101.8142 +KLCH,30.1253,-93.2159 +KLGX,47.1169,-124.1066 +KLNX,41.9579,-100.5762 +KLOT,41.6044,-88.0844 +KLRX,40.7397,-116.8028 +KLSX,38.6989,-90.6828 +KLTX,33.9892,-78.4292 +KLVX,37.9753,-85.9439 +KLWX,38.9761,-77.4875 +KLZK,34.8364,-92.2619 +KMAF,31.9435,-102.1892 +KMAX,42.0811,-122.7173 +KMBX,48.3925,-100.8644 +KMHX,34.7758,-76.8764 +KMKX,42.9678,-88.5506 +KMLB,28.1131,-80.6544 +KMOB,30.6794,-88.2397 +KMPX,44.8489,-93.5655 +KMQT,46.5311,-87.5483 +KMRX,36.1683,-83.4019 +KMSX,47.0411,-113.9861 +KMTX,41.2628,-112.4478 +KMUX,37.1552,-121.8984 +KMVX,47.5281,-97.325 +KMXX,32.5366,-85.7897 +KNKX,32.9189,-117.0419 +KNQA,35.3447,-89.8733 +KOAX,41.3203,-96.3668 +KOHX,36.2472,-86.5625 +KOKX,40.8655,-72.8639 +KOTX,47.6805,-117.6258 +KPAH,37.0683,-88.7719 +KPBZ,40.5317,-80.2179 +KPDT,45.6906,-118.8529 +KPOE,31.1553,-92.9758 +KPUX,38.4594,-104.1814 +KRAX,35.6653,-78.49 +KRGX,39.754,-119.462 +KRIW,43.0661,-108.4773 +KRLX,38.3111,-81.7228 +KRTX,45.715,-122.965 +KSFX,43.1056,-112.6861 +KSGF,37.2353,-93.4003 +KSHV,32.4508,-93.8412 +KSJT,31.3711,-100.4922 +KSOX,33.8177,-117.636 +KSRX,35.2904,-94.3619 +KTBW,27.7053,-82.4019 +KTFX,47.4597,-111.3853 +KTLH,30.3975,-84.3289 +KTLX,35.3331,-97.2777 +KTWX,38.9969,-96.2325 +KTYX,43.7558,-75.68 +KUDX,44.1247,-102.83 +KUEX,40.3208,-98.4419 +KVAX,30.8903,-83.0018 +KVBX,34.8385,-120.3979 +KVNX,36.7408,-98.1275 +KVTX,34.4117,-119.1786 +KVWX,38.2602,-87.7245 +KYUX,32.4953,-114.6567 +TATL,33.647,-84.262 +TBNA,35.98,-86.662 +TBOS,42.158,-70.933 +TBWI,39.09,-76.63 +TCLT,35.337,-80.885 +TCMH,40.006,-82.715 +TCVG,38.898,-84.58 +TDAL,32.926,-96.968 +TDAY,40.022,-84.123 +TDCA,38.759,-76.962 +TDEN,39.728,-104.526 +TDFW,33.065,-96.918 +TDTW,42.111,-83.515 +TEWR,40.593,-74.27 +TFLL,26.143,-80.344 +THOU,29.516,-95.242 +TIAD,39.084,-77.529 +TIAH,30.065,-95.567 +TICH,37.507,-97.437 +TIDS,39.637,-86.436 +TJFK,40.589,-73.881 +TJUA,18.116,-66.078 +TLAS,36.144,-115.007 +TLVE,41.29,-82.008 +TMCI,39.498,-94.742 +TMCO,28.344,-81.326 +TMDW,41.651,-87.73 +TMEM,34.896,-89.993 +TMIA,25.758,-80.491 +TMKE,42.819,-88.046 +TMSP,44.871,-92.933 +TMSY,30.022,-90.403 +TOKC,35.276,-97.51 +TORD,41.797,-87.858 +TPBI,26.688,-80.273 +TPHL,39.949,-75.069 +TPHX,33.421,-112.163 +TPIT,40.501,-80.486 +TRDU,36.002,-78.697 +TSDF,38.046,-85.61 +TSJU,18.474,-66.179 +TSLC,40.967,-111.93 +TSTL,38.805,-90.489 +TTPA,27.86,-82.518 +TTUL,36.071,-95.827 diff --git a/crates/radar_gif/assets/geo/us_states_110m.json b/crates/radar_gif/assets/geo/us_states_110m.json new file mode 100644 index 00000000..bc76054d --- /dev/null +++ b/crates/radar_gif/assets/geo/us_states_110m.json @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"Minnesota"},"geometry":{"type":"Polygon","coordinates":[[[-89.957656,47.286907],[-90.131754,47.292747],[-90.305852,47.298018],[-90.47995,47.303857],[-90.654048,47.309128],[-90.857782,47.212829],[-91.060974,47.117047],[-91.264708,47.021265],[-91.468442,46.924966],[-91.592259,46.87626],[-91.716618,46.827607],[-91.840978,46.778385],[-91.964794,46.729706],[-92.011898,46.711723],[-92.274879,46.656145],[-92.264828,46.095223],[-92.296583,46.096282],[-92.5437,45.985695],[-92.756968,45.889912],[-92.899828,45.705763],[-92.689221,45.518436],[-92.765417,45.267082],[-92.766477,44.996143],[-92.796656,44.776027],[-92.505072,44.58392],[-92.385492,44.574928],[-92.062153,44.432585],[-91.949989,44.364838],[-91.879606,44.257428],[-91.627709,44.085449],[-91.28959,43.937293],[-91.257292,43.854739],[-91.254657,43.613979],[-91.228199,43.501247],[-92.540005,43.519773],[-94.001027,43.513417],[-95.359936,43.500187],[-96.45266,43.501789],[-96.439431,44.435763],[-96.560612,45.393018],[-96.735769,45.470817],[-96.834704,45.625329],[-96.780728,45.760799],[-96.556891,45.872446],[-96.539451,46.017967],[-96.538908,46.19948],[-96.601359,46.351357],[-96.685488,46.513285],[-96.733651,46.716477],[-96.74582,46.944525],[-96.779694,46.999044],[-96.820415,47.292204],[-96.824653,47.426614],[-96.844238,47.546194],[-96.893977,47.748869],[-97.015158,47.954205],[-97.131042,48.137295],[-97.148509,48.318782],[-97.161221,48.514584],[-97.127348,48.642122],[-97.120475,48.758523],[-97.214138,48.902442],[-97.228943,49.000885],[-95.158837,48.999826],[-95.156202,49.384014],[-94.81754,49.389285],[-94.640264,48.840017],[-94.32912,48.670673],[-93.63061,48.609281],[-92.609846,48.450015],[-91.639879,48.13993],[-90.830264,48.270103],[-89.599952,48.010274],[-89.599409,48.010274],[-89.490032,48.013406],[-89.522695,47.960535],[-89.613698,47.819252],[-89.728006,47.641976],[-89.842831,47.464726],[-89.957656,47.286907]]]}},{"type":"Feature","properties":{"name":"Montana"},"geometry":{"type":"Polygon","coordinates":[[[-116.048234,49.000369],[-113.059502,49.001402],[-110.070769,49.003004],[-107.082037,49.00458],[-104.092762,49.00564],[-104.077414,47.171565],[-104.026616,45.956601],[-104.077957,45.04061],[-105.745891,45.051178],[-107.546634,45.045881],[-109.102379,45.057018],[-111.071406,45.049602],[-111.067194,44.541597],[-111.085178,44.506147],[-111.194189,44.561156],[-111.291548,44.701406],[-111.400016,44.728924],[-111.542385,44.530486],[-111.771492,44.498214],[-112.336135,44.56064],[-112.362593,44.462222],[-112.690144,44.498731],[-112.87481,44.360083],[-113.052086,44.619912],[-113.174844,44.765433],[-113.378578,44.789773],[-113.439427,44.862792],[-113.502937,45.124223],[-113.680213,45.249073],[-113.794496,45.564997],[-113.914101,45.702585],[-114.035799,45.730103],[-114.137937,45.589336],[-114.335315,45.470274],[-114.513651,45.569234],[-114.523702,45.825369],[-114.407275,45.889912],[-114.49143,46.14708],[-114.394046,46.410087],[-114.284517,46.631805],[-114.58561,46.641339],[-114.84332,46.786318],[-115.12165,47.095369],[-115.288332,47.250398],[-115.519067,47.345121],[-115.704792,47.50493],[-115.704276,47.684842],[-115.9678,47.950484],[-116.048234,49.000369]]]}},{"type":"Feature","properties":{"name":"North Dakota"},"geometry":{"type":"Polygon","coordinates":[[[-97.228943,49.000885],[-97.214138,48.902442],[-97.120475,48.758523],[-97.127348,48.642122],[-97.161221,48.514584],[-97.148509,48.318782],[-97.131042,48.137295],[-97.015158,47.954205],[-96.893977,47.748869],[-96.844238,47.546194],[-96.824653,47.426614],[-96.820415,47.292204],[-96.779694,46.999044],[-96.74582,46.944525],[-96.733651,46.716477],[-96.685488,46.513285],[-96.601359,46.351357],[-96.538908,46.19948],[-96.539451,46.017967],[-98.441789,45.963448],[-100.066858,45.965567],[-102.116862,45.961355],[-104.026616,45.956601],[-104.077414,47.171565],[-104.092762,49.00564],[-100.629899,49.003004],[-97.228943,49.000885]]]}},{"type":"Feature","properties":{"name":"Hawaii"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-155.93665,19.05939],[-155.90806,19.33888],[-156.07347,19.70294],[-156.02368,19.81422],[-155.85008,19.97729],[-155.91907,20.17395],[-155.86108,20.26721],[-155.78505,20.2487],[-155.40214,20.07975],[-155.22452,19.99302],[-155.06226,19.8591],[-154.80741,19.50871],[-154.83147,19.45328],[-155.22217,19.23972],[-155.54211,19.08348],[-155.68817,18.91619],[-155.93665,19.05939]]],[[[-155.99566,20.76404],[-156.07926,20.64397],[-156.41445,20.57241],[-156.58673,20.783],[-156.70167,20.8643],[-156.71055,20.92676],[-156.61258,21.01249],[-156.25711,20.91745],[-155.99566,20.76404]]],[[[-156.75824,21.17684],[-156.78933,21.06873],[-157.32521,21.09777],[-157.25027,21.21958],[-156.75824,21.17684]]],[[[-158.12667,21.31244],[-158.2538,21.53919],[-158.29265,21.57912],[-158.0252,21.71696],[-157.94161,21.65272],[-157.65283,21.32217],[-157.70703,21.26442],[-157.7786,21.27729],[-158.12667,21.31244]]],[[[-159.80051,22.06533],[-159.74877,22.1382],[-159.5962,22.23618],[-159.36569,22.21494],[-159.34512,21.982],[-159.46372,21.88299],[-159.80051,22.06533]]]]}},{"type":"Feature","properties":{"name":"Idaho"},"geometry":{"type":"Polygon","coordinates":[[[-116.048234,49.000369],[-115.9678,47.950484],[-115.704276,47.684842],[-115.704792,47.50493],[-115.519067,47.345121],[-115.288332,47.250398],[-115.12165,47.095369],[-114.84332,46.786318],[-114.58561,46.641339],[-114.284517,46.631805],[-114.394046,46.410087],[-114.49143,46.14708],[-114.407275,45.889912],[-114.523702,45.825369],[-114.513651,45.569234],[-114.335315,45.470274],[-114.137937,45.589336],[-114.035799,45.730103],[-113.914101,45.702585],[-113.794496,45.564997],[-113.680213,45.249073],[-113.502937,45.124223],[-113.439427,44.862792],[-113.378578,44.789773],[-113.174844,44.765433],[-113.052086,44.619912],[-112.87481,44.360083],[-112.690144,44.498731],[-112.362593,44.462222],[-112.336135,44.56064],[-111.771492,44.498214],[-111.542385,44.530486],[-111.400016,44.728924],[-111.291548,44.701406],[-111.194189,44.561156],[-111.085178,44.506147],[-111.049728,44.488163],[-111.050245,42.001597],[-114.034223,41.993122],[-117.028252,42.000021],[-117.013963,43.797069],[-116.926656,44.081211],[-117.007607,44.21141],[-117.194391,44.279132],[-117.192299,44.438942],[-117.051532,44.665956],[-116.836145,44.863851],[-116.693285,45.186648],[-116.558875,45.444358],[-116.457796,45.574531],[-116.511255,45.726408],[-116.678997,45.807359],[-116.915003,45.999983],[-116.906528,46.177776],[-116.998073,46.33017],[-117.02665,47.722927],[-117.03143,48.999309],[-116.048234,49.000369]]]}},{"type":"Feature","properties":{"name":"Washington"},"geometry":{"type":"Polygon","coordinates":[[[-117.03143,48.999309],[-117.02665,47.722927],[-116.998073,46.33017],[-116.906528,46.177776],[-116.915003,45.999983],[-118.978236,45.992568],[-119.337,45.888336],[-119.59205,45.932235],[-119.787309,45.850768],[-120.158268,45.740671],[-120.609636,45.7539],[-120.837193,45.672949],[-121.046741,45.637499],[-121.203889,45.689899],[-121.561077,45.732764],[-121.788091,45.700983],[-122.174915,45.59515],[-122.420456,45.591998],[-122.651708,45.630083],[-122.725786,45.770333],[-122.752244,45.938075],[-122.937969,46.129097],[-123.228494,46.186251],[-123.471373,46.277253],[-123.776704,46.282033],[-123.998676,46.283069],[-124.079635,46.86475],[-124.39567,47.72017],[-124.68721,48.184433],[-124.566101,48.379715],[-123.12,48.04],[-122.587138,47.095885],[-122.340021,47.359952],[-122.499831,48.18016],[-122.84,49],[-120.002696,49.000885],[-117.03143,48.999309]]]}},{"type":"Feature","properties":{"name":"Arizona"},"geometry":{"type":"Polygon","coordinates":[[[-109.045225,36.999912],[-109.043673,31.341899],[-111.023786,31.334651],[-113.305016,32.038975],[-114.814743,32.525276],[-114.72139,32.72083],[-114.589848,32.716298],[-114.479777,32.916337],[-114.655993,33.0539],[-114.691443,33.203684],[-114.743301,33.379875],[-114.548558,33.609525],[-114.469183,34.067275],[-114.165972,34.272585],[-114.354901,34.464667],[-114.484531,34.653053],[-114.567084,34.82821],[-114.62212,34.96368],[-114.642222,35.053106],[-114.580856,35.249425],[-114.630052,35.445227],[-114.650697,35.63891],[-114.65018,35.854272],[-114.739606,35.991318],[-114.671341,36.114618],[-114.460734,36.114618],[-114.269169,36.043692],[-114.13264,36.004004],[-114.066495,36.156424],[-114.023629,36.189755],[-114.030528,36.994099],[-112.417603,37.009421],[-110.496221,37.007328],[-109.045225,36.999912]]]}},{"type":"Feature","properties":{"name":"California"},"geometry":{"type":"Polygon","coordinates":[[[-114.642222,35.053106],[-114.62212,34.96368],[-114.567084,34.82821],[-114.484531,34.653053],[-114.354901,34.464667],[-114.165972,34.272585],[-114.469183,34.067275],[-114.548558,33.609525],[-114.743301,33.379875],[-114.691443,33.203684],[-114.655993,33.0539],[-114.479777,32.916337],[-114.589848,32.716298],[-114.72139,32.72083],[-115.99108,32.612583],[-117.127729,32.535327],[-117.295938,33.046225],[-117.944,33.621236],[-118.410602,33.740909],[-118.519895,34.027782],[-119.081,34.078],[-119.438841,34.348477],[-120.367816,34.447226],[-120.622865,34.608611],[-120.744589,35.156821],[-121.714556,36.161721],[-122.547451,37.551817],[-122.512,37.783611],[-122.953317,38.113798],[-123.726965,38.951473],[-123.86507,39.766927],[-124.397958,40.313018],[-124.178875,41.142244],[-124.213809,41.999478],[-119.998976,41.992605],[-120.000035,38.995398],[-118.11462,37.644421],[-116.32075,36.322047],[-114.642222,35.053106]]]}},{"type":"Feature","properties":{"name":"Colorado"},"geometry":{"type":"Polygon","coordinates":[[[-102.050174,40.000815],[-102.040123,38.459875],[-102.041182,36.99198],[-103.003216,36.995158],[-104.200198,36.996192],[-105.899861,36.997277],[-107.479971,36.999912],[-109.045225,36.999912],[-109.053183,41.001994],[-108.050944,41.002536],[-107.049739,41.002536],[-105.046864,41.003596],[-104.045142,41.004112],[-102.048055,41.004112],[-102.050174,40.033086],[-102.050174,40.000815]]]}},{"type":"Feature","properties":{"name":"Nevada"},"geometry":{"type":"Polygon","coordinates":[[[-117.028252,42.000021],[-114.034223,41.993122],[-114.030528,36.994099],[-114.023629,36.189755],[-114.066495,36.156424],[-114.13264,36.004004],[-114.269169,36.043692],[-114.460734,36.114618],[-114.671341,36.114618],[-114.739606,35.991318],[-114.65018,35.854272],[-114.650697,35.63891],[-114.630052,35.445227],[-114.580856,35.249425],[-114.642222,35.053106],[-116.32075,36.322047],[-118.11462,37.644421],[-120.000035,38.995398],[-119.998976,41.992605],[-117.028252,41.997359],[-117.028252,42.000021]]]}},{"type":"Feature","properties":{"name":"New Mexico"},"geometry":{"type":"Polygon","coordinates":[[[-109.043673,31.341899],[-109.045225,36.999912],[-107.479971,36.999912],[-105.899861,36.997277],[-104.200198,36.996192],[-103.003216,36.995158],[-103.001614,36.499323],[-103.001614,33.879948],[-103.001614,31.999287],[-103.929775,31.999287],[-105.730001,31.999287],[-106.630127,31.999287],[-106.619533,31.914099],[-106.507344,31.754289],[-108.24,31.754854],[-108.241966,31.342067],[-109.043673,31.341899]]]}},{"type":"Feature","properties":{"name":"Oregon"},"geometry":{"type":"Polygon","coordinates":[[[-116.915003,45.999983],[-116.678997,45.807359],[-116.511255,45.726408],[-116.457796,45.574531],[-116.558875,45.444358],[-116.693285,45.186648],[-116.836145,44.863851],[-117.051532,44.665956],[-117.192299,44.438942],[-117.194391,44.279132],[-117.007607,44.21141],[-116.926656,44.081211],[-117.013963,43.797069],[-117.028252,42.000021],[-117.028252,41.997359],[-119.998976,41.992605],[-124.213809,41.999478],[-124.53284,42.76599],[-124.14214,43.70838],[-123.89893,45.52341],[-123.998676,46.283069],[-123.776704,46.282033],[-123.471373,46.277253],[-123.228494,46.186251],[-122.937969,46.129097],[-122.752244,45.938075],[-122.725786,45.770333],[-122.651708,45.630083],[-122.420456,45.591998],[-122.174915,45.59515],[-121.788091,45.700983],[-121.561077,45.732764],[-121.203889,45.689899],[-121.046741,45.637499],[-120.837193,45.672949],[-120.609636,45.7539],[-120.158268,45.740671],[-119.787309,45.850768],[-119.59205,45.932235],[-119.337,45.888336],[-118.978236,45.992568],[-116.915003,45.999983]]]}},{"type":"Feature","properties":{"name":"Utah"},"geometry":{"type":"Polygon","coordinates":[[[-114.034223,41.993122],[-111.050245,42.001597],[-111.054482,41.027935],[-109.053183,41.001994],[-109.045225,36.999912],[-110.496221,37.007328],[-112.417603,37.009421],[-114.030528,36.994099],[-114.034223,41.993122]]]}},{"type":"Feature","properties":{"name":"Wyoming"},"geometry":{"type":"Polygon","coordinates":[[[-111.085178,44.506147],[-111.067194,44.541597],[-111.071406,45.049602],[-109.102379,45.057018],[-107.546634,45.045881],[-105.745891,45.051178],[-104.077957,45.04061],[-104.052558,43.00014],[-104.045142,41.004112],[-105.046864,41.003596],[-107.049739,41.002536],[-108.050944,41.002536],[-109.053183,41.001994],[-111.054482,41.027935],[-111.050245,42.001597],[-111.049728,44.488163],[-111.085178,44.506147]]]}},{"type":"Feature","properties":{"name":"Arkansas"},"geometry":{"type":"Polygon","coordinates":[[[-89.662919,36.023073],[-89.673513,35.940003],[-89.775109,35.799236],[-89.950266,35.701878],[-89.988894,35.536229],[-90.147102,35.404997],[-90.134932,35.113955],[-90.24924,35.020834],[-90.268283,34.941459],[-90.446618,34.866838],[-90.450313,34.72186],[-90.584207,34.454099],[-90.699549,34.397461],[-90.876308,34.261475],[-90.982141,34.055105],[-91.200681,33.706393],[-91.223444,33.469327],[-91.108077,33.206836],[-91.156239,33.010001],[-92.001304,33.043875],[-93.094028,33.010518],[-94.059757,33.01212],[-94.002086,33.579914],[-94.233338,33.583609],[-94.427538,33.57038],[-94.479912,33.635983],[-94.451361,34.51071],[-94.430174,35.483312],[-94.628611,36.540586],[-93.412587,36.526298],[-92.307177,36.523662],[-91.251479,36.523146],[-90.112194,36.461754],[-90.029099,36.337937],[-90.141805,36.230502],[-90.253995,36.12255],[-90.315386,36.023073],[-89.662919,36.023073]]]}},{"type":"Feature","properties":{"name":"Iowa"},"geometry":{"type":"Polygon","coordinates":[[[-96.45266,43.501789],[-95.359936,43.500187],[-94.001027,43.513417],[-92.540005,43.519773],[-91.228199,43.501247],[-91.21391,43.446754],[-91.083737,43.288004],[-91.173163,43.212324],[-91.169985,43.002233],[-91.129238,42.912833],[-91.064694,42.754083],[-90.738177,42.658275],[-90.640818,42.505364],[-90.582605,42.429168],[-90.464602,42.37837],[-90.416982,42.270418],[-90.259808,42.189983],[-90.156636,42.103735],[-90.21007,41.834914],[-90.395278,41.608417],[-90.461966,41.536457],[-90.690557,41.478786],[-91.033999,41.429565],[-91.123425,41.257585],[-90.999065,41.179812],[-90.956742,41.024757],[-91.087432,40.851719],[-91.15412,40.699842],[-91.410229,40.551143],[-91.430331,40.368596],[-91.567403,40.452208],[-91.758425,40.61411],[-92.851665,40.592432],[-94.002086,40.585017],[-94.898491,40.58344],[-95.796499,40.583957],[-95.862102,40.764928],[-95.834067,40.943806],[-95.855746,41.116302],[-95.958427,41.404708],[-96.025089,41.524287],[-96.097049,41.556559],[-96.104464,41.787811],[-96.167432,41.953434],[-96.348945,42.141821],[-96.346827,42.224374],[-96.410311,42.38948],[-96.455296,42.488957],[-96.453719,42.580502],[-96.615648,42.691632],[-96.535213,42.855679],[-96.483356,43.016005],[-96.459533,43.1245],[-96.58707,43.257308],[-96.586011,43.501247],[-96.45266,43.501789]]]}},{"type":"Feature","properties":{"name":"Kansas"},"geometry":{"type":"Polygon","coordinates":[[[-102.041182,36.99198],[-102.040123,38.459875],[-102.050174,40.000815],[-102.048055,40.000815],[-100.300229,40.000815],[-99.000076,40.000815],[-96.699777,40.001357],[-95.322884,40.001357],[-95.085302,39.868006],[-94.955103,39.870125],[-94.926552,39.725121],[-95.067292,39.539912],[-94.991096,39.444673],[-94.867796,39.234582],[-94.604814,39.139859],[-94.615382,38.068839],[-94.622798,36.999912],[-95.50016,36.998853],[-97.299844,36.997277],[-99.10007,36.995158],[-100.100215,36.994099],[-101.099792,36.993039],[-102.041182,36.99198]]]}},{"type":"Feature","properties":{"name":"Missouri"},"geometry":{"type":"Polygon","coordinates":[[[-89.662919,36.023073],[-90.315386,36.023073],[-90.253995,36.12255],[-90.141805,36.230502],[-90.029099,36.337937],[-90.112194,36.461754],[-91.251479,36.523146],[-92.307177,36.523662],[-93.412587,36.526298],[-94.628611,36.540586],[-94.617501,36.999912],[-94.622798,36.999912],[-94.615382,38.068839],[-94.604814,39.139859],[-94.867796,39.234582],[-94.991096,39.444673],[-95.067292,39.539912],[-94.926552,39.725121],[-94.955103,39.870125],[-95.085302,39.868006],[-95.322884,40.001357],[-95.45254,40.215143],[-95.608112,40.343171],[-95.776371,40.501404],[-95.796499,40.583957],[-94.898491,40.58344],[-94.002086,40.585017],[-92.851665,40.592432],[-91.758425,40.61411],[-91.567403,40.452208],[-91.430331,40.368596],[-91.517638,40.119877],[-91.428212,39.820903],[-91.262589,39.61505],[-91.071567,39.44519],[-90.841375,39.310779],[-90.749287,39.265278],[-90.665701,39.074773],[-90.64981,38.907548],[-90.535528,38.865768],[-90.346599,38.930311],[-90.156094,38.769443],[-90.212731,38.584777],[-90.305335,38.439256],[-90.369879,38.263556],[-90.228079,38.113281],[-90.030158,37.971998],[-89.916909,37.968277],[-89.654987,37.748678],[-89.553908,37.719042],[-89.479287,37.477222],[-89.516339,37.326921],[-89.388285,37.081406],[-89.280333,37.107348],[-89.103057,36.952293],[-89.13427,36.851756],[-89.115227,36.694582],[-89.273977,36.611512],[-89.498356,36.506196],[-89.524272,36.409354],[-89.585121,36.267011],[-89.662919,36.023073]]]}},{"type":"Feature","properties":{"name":"Nebraska"},"geometry":{"type":"Polygon","coordinates":[[[-102.050174,40.000815],[-102.050174,40.033086],[-102.048055,41.004112],[-104.045142,41.004112],[-104.052558,43.00014],[-102.099912,43.00014],[-100.599745,43.00014],[-98.594183,43.00014],[-98.335956,42.873662],[-97.968201,42.794287],[-97.881927,42.839789],[-97.644344,42.836094],[-97.287157,42.846145],[-97.028387,42.717548],[-96.75427,42.633961],[-96.708768,42.550866],[-96.623037,42.502729],[-96.455296,42.488957],[-96.410311,42.38948],[-96.346827,42.224374],[-96.348945,42.141821],[-96.167432,41.953434],[-96.104464,41.787811],[-96.097049,41.556559],[-96.025089,41.524287],[-95.958427,41.404708],[-95.855746,41.116302],[-95.834067,40.943806],[-95.862102,40.764928],[-95.796499,40.583957],[-95.776371,40.501404],[-95.608112,40.343171],[-95.45254,40.215143],[-95.322884,40.001357],[-96.699777,40.001357],[-99.000076,40.000815],[-100.300229,40.000815],[-102.048055,40.000815],[-102.050174,40.000815]]]}},{"type":"Feature","properties":{"name":"Oklahoma"},"geometry":{"type":"Polygon","coordinates":[[[-103.003216,36.995158],[-102.041182,36.99198],[-101.099792,36.993039],[-100.100215,36.994099],[-99.10007,36.995158],[-97.299844,36.997277],[-95.50016,36.998853],[-94.622798,36.999912],[-94.617501,36.999912],[-94.628611,36.540586],[-94.430174,35.483312],[-94.451361,34.51071],[-94.479912,33.635983],[-94.910144,33.831785],[-95.190592,33.938161],[-95.418124,33.870414],[-95.769498,33.881007],[-95.977469,33.879431],[-96.148906,33.797937],[-96.316131,33.756131],[-96.462711,33.805327],[-96.796618,33.751351],[-96.947953,33.918059],[-97.104067,33.773598],[-97.376583,33.838142],[-97.657031,33.993713],[-97.95709,33.893694],[-98.088323,34.13448],[-98.553979,34.110657],[-98.851893,34.164633],[-99.187403,34.235559],[-99.336076,34.442963],[-99.599083,34.3763],[-99.761528,34.457794],[-100.000195,34.565229],[-100.000195,35.519848],[-100.000195,36.499323],[-101.000832,36.499323],[-102.001495,36.499323],[-103.001614,36.499323],[-103.003216,36.995158]]]}},{"type":"Feature","properties":{"name":"South Dakota"},"geometry":{"type":"Polygon","coordinates":[[[-96.539451,46.017967],[-96.556891,45.872446],[-96.780728,45.760799],[-96.834704,45.625329],[-96.735769,45.470817],[-96.560612,45.393018],[-96.439431,44.435763],[-96.45266,43.501789],[-96.586011,43.501247],[-96.58707,43.257308],[-96.459533,43.1245],[-96.483356,43.016005],[-96.535213,42.855679],[-96.615648,42.691632],[-96.453719,42.580502],[-96.455296,42.488957],[-96.623037,42.502729],[-96.708768,42.550866],[-96.75427,42.633961],[-97.028387,42.717548],[-97.287157,42.846145],[-97.644344,42.836094],[-97.881927,42.839789],[-97.968201,42.794287],[-98.335956,42.873662],[-98.594183,43.00014],[-100.599745,43.00014],[-102.099912,43.00014],[-104.052558,43.00014],[-104.077957,45.04061],[-104.026616,45.956601],[-102.116862,45.961355],[-100.066858,45.965567],[-98.441789,45.963448],[-96.539451,46.017967]]]}},{"type":"Feature","properties":{"name":"Louisiana"},"geometry":{"type":"Polygon","coordinates":[[[-94.059757,33.01212],[-93.094028,33.010518],[-92.001304,33.043875],[-91.156239,33.010001],[-91.084797,32.952847],[-91.175799,32.808385],[-91.03082,32.602532],[-91.072084,32.478716],[-90.942971,32.306736],[-91.081618,32.204598],[-91.128179,32.015695],[-91.32132,31.85958],[-91.411288,31.650032],[-91.50229,31.408729],[-91.624531,31.297082],[-91.583784,31.04733],[-90.701667,31.015575],[-89.759219,31.013456],[-89.787796,30.847291],[-89.853941,30.683244],[-89.790457,30.556791],[-89.658682,30.440881],[-89.623232,30.275258],[-89.604706,30.176298],[-89.593929,30.160378],[-89.593831,30.159994],[-89.593702,30.160043],[-89.413735,29.89419],[-89.43,29.48864],[-89.21767,29.29108],[-89.408387,29.159771],[-89.77928,29.30714],[-90.15463,29.11743],[-90.880225,29.148535],[-91.626785,29.677],[-92.49906,29.5523],[-93.22637,29.78375],[-93.84842,29.71363],[-93.918474,29.821772],[-93.816878,29.968352],[-93.66712,30.100644],[-93.664484,30.30014],[-93.737503,30.366803],[-93.650195,30.605471],[-93.586168,30.71394],[-93.489844,31.079602],[-93.578236,31.216131],[-93.69412,31.443662],[-93.779309,31.675431],[-93.834861,31.829944],[-93.998908,31.94265],[-94.059757,33.01212]]]}},{"type":"Feature","properties":{"name":"Texas"},"geometry":{"type":"Polygon","coordinates":[[[-106.507344,31.754289],[-106.619533,31.914099],[-106.630127,31.999287],[-105.730001,31.999287],[-103.929775,31.999287],[-103.001614,31.999287],[-103.001614,33.879948],[-103.001614,36.499323],[-102.001495,36.499323],[-101.000832,36.499323],[-100.000195,36.499323],[-100.000195,35.519848],[-100.000195,34.565229],[-99.761528,34.457794],[-99.599083,34.3763],[-99.336076,34.442963],[-99.187403,34.235559],[-98.851893,34.164633],[-98.553979,34.110657],[-98.088323,34.13448],[-97.95709,33.893694],[-97.657031,33.993713],[-97.376583,33.838142],[-97.104067,33.773598],[-96.947953,33.918059],[-96.796618,33.751351],[-96.462711,33.805327],[-96.316131,33.756131],[-96.148906,33.797937],[-95.977469,33.879431],[-95.769498,33.881007],[-95.418124,33.870414],[-95.190592,33.938161],[-94.910144,33.831785],[-94.479912,33.635983],[-94.427538,33.57038],[-94.233338,33.583609],[-94.002086,33.579914],[-94.059757,33.01212],[-93.998908,31.94265],[-93.834861,31.829944],[-93.779309,31.675431],[-93.69412,31.443662],[-93.578236,31.216131],[-93.489844,31.079602],[-93.586168,30.71394],[-93.650195,30.605471],[-93.737503,30.366803],[-93.664484,30.30014],[-93.66712,30.100644],[-93.816878,29.968352],[-93.918474,29.821772],[-93.84842,29.71363],[-94.690003,29.479932],[-95.60018,28.738556],[-96.593943,28.307291],[-97.140034,27.829981],[-97.370227,27.38019],[-97.379761,26.690154],[-97.330023,26.210209],[-97.140034,25.869946],[-97.530036,25.839793],[-98.240174,26.059934],[-99.020178,26.370019],[-99.300109,26.839912],[-99.520225,27.539999],[-100.110266,28.109912],[-100.455801,28.696233],[-100.95745,29.380972],[-101.66229,29.779423],[-102.479863,29.759863],[-103.110109,28.969808],[-103.939826,29.269842],[-104.456823,29.571994],[-104.705541,30.121805],[-105.03733,30.644099],[-105.631583,31.083839],[-106.142766,31.399737],[-106.507344,31.754289]]]}},{"type":"Feature","properties":{"name":"Connecticut"},"geometry":{"type":"Polygon","coordinates":[[[-73.497937,42.054513],[-72.732222,42.035987],[-71.800909,42.01325],[-71.792951,41.466617],[-71.853826,41.320036],[-72.295142,41.269755],[-72.876166,41.220559],[-73.647887,40.953239],[-73.648269,40.954623],[-73.647887,40.954769],[-73.656687,40.98507],[-73.69268,41.10731],[-73.475174,41.204669],[-73.553489,41.289857],[-73.497937,42.054513]]]}},{"type":"Feature","properties":{"name":"Massachusetts"},"geometry":{"type":"Polygon","coordinates":[[[-71.800909,42.01325],[-72.732222,42.035987],[-73.497937,42.054513],[-73.282033,42.743489],[-72.45707,42.727082],[-71.248979,42.718091],[-71.145781,42.816508],[-70.933598,42.884256],[-70.815052,42.865187],[-70.825103,42.334961],[-70.494916,41.804735],[-70.080058,41.779879],[-70.184832,42.144999],[-69.884799,41.922764],[-69.965207,41.636994],[-70.639895,41.475066],[-71.120382,41.494651],[-71.1479,41.647587],[-71.305074,41.762412],[-71.379152,42.02436],[-71.800909,42.01325]]]}},{"type":"Feature","properties":{"name":"New Hampshire"},"geometry":{"type":"Polygon","coordinates":[[[-70.815052,42.865187],[-70.933598,42.884256],[-71.145781,42.816508],[-71.248979,42.718091],[-72.45707,42.727082],[-72.537505,42.830797],[-72.458647,42.960453],[-72.434307,43.222918],[-72.403611,43.285369],[-72.369763,43.521892],[-72.260209,43.721388],[-72.178199,43.808696],[-72.059136,44.045761],[-72.036373,44.20663],[-72.003041,44.304014],[-71.809901,44.352151],[-71.585522,44.468035],[-71.546377,44.592395],[-71.620455,44.735797],[-71.503511,45.007796],[-71.505087,45.008312],[-71.405093,45.254912],[-71.08482,45.30524],[-70.944165,43.466339],[-70.98176,43.367896],[-70.797611,43.219739],[-70.751025,43.080032],[-70.645734,43.090083],[-70.815052,42.865187]]]}},{"type":"Feature","properties":{"name":"Rhode Island"},"geometry":{"type":"Polygon","coordinates":[[[-71.853826,41.320036],[-71.792951,41.466617],[-71.800909,42.01325],[-71.379152,42.02436],[-71.305074,41.762412],[-71.1479,41.647587],[-71.120382,41.494651],[-71.853826,41.320036]]]}},{"type":"Feature","properties":{"name":"Vermont"},"geometry":{"type":"Polygon","coordinates":[[[-72.45707,42.727082],[-73.282033,42.743489],[-73.23971,43.567935],[-73.383112,43.575351],[-73.401638,43.613436],[-73.338128,43.75844],[-73.429673,44.019846],[-73.329136,44.226732],[-73.384172,44.379152],[-73.407969,44.676007],[-73.368281,44.804604],[-73.347662,45.007253],[-71.505087,45.008312],[-71.503511,45.007796],[-71.620455,44.735797],[-71.546377,44.592395],[-71.585522,44.468035],[-71.809901,44.352151],[-72.003041,44.304014],[-72.036373,44.20663],[-72.059136,44.045761],[-72.178199,43.808696],[-72.260209,43.721388],[-72.369763,43.521892],[-72.403611,43.285369],[-72.434307,43.222918],[-72.458647,42.960453],[-72.537505,42.830797],[-72.45707,42.727082]]]}},{"type":"Feature","properties":{"name":"Alabama"},"geometry":{"type":"Polygon","coordinates":[[[-88.166964,34.999673],[-86.909677,34.99913],[-85.625388,34.985901],[-85.365559,33.744478],[-85.129553,32.750714],[-84.986151,32.437969],[-84.898843,32.259117],[-85.063924,32.083417],[-85.119502,31.7654],[-85.065526,31.577013],[-85.090382,31.40028],[-85.1179,31.236233],[-85.054415,31.108696],[-85.005193,30.990693],[-87.045663,30.984879],[-87.617153,30.927725],[-87.633043,30.851528],[-87.404969,30.608649],[-87.457886,30.411271],[-87.530388,30.274199],[-88.417802,30.384812],[-88.449531,31.91198],[-88.27334,33.510048],[-88.095522,34.805989],[-88.166964,34.999673]]]}},{"type":"Feature","properties":{"name":"Florida"},"geometry":{"type":"Polygon","coordinates":[[[-87.530388,30.274199],[-87.457886,30.411271],[-87.404969,30.608649],[-87.633043,30.851528],[-87.617153,30.927725],[-87.045663,30.984879],[-85.005193,30.990693],[-84.853316,30.721355],[-83.8479,30.675311],[-82.226009,30.525553],[-82.151931,30.350938],[-82.022817,30.440364],[-82.020156,30.788018],[-81.899517,30.821892],[-81.701597,30.74833],[-81.490473,30.72983],[-81.31371,30.03552],[-80.979832,29.179899],[-80.535585,28.47213],[-80.53004,28.040072],[-80.056539,26.88],[-80.088015,26.205765],[-80.13156,25.816775],[-80.38103,25.20616],[-80.679799,25.079916],[-81.171913,25.201098],[-81.330121,25.639753],[-81.710072,25.869946],[-82.239781,26.729842],[-82.70515,27.49504],[-82.85526,27.88624],[-82.649885,28.55017],[-82.93,29.1],[-83.70959,29.93656],[-84.099797,30.09005],[-85.10882,29.63615],[-85.28784,29.68612],[-85.7731,30.15261],[-86.40007,30.40016],[-87.530388,30.274199]]]}},{"type":"Feature","properties":{"name":"Georgia"},"geometry":{"type":"Polygon","coordinates":[[[-85.005193,30.990693],[-85.054415,31.108696],[-85.1179,31.236233],[-85.090382,31.40028],[-85.065526,31.577013],[-85.119502,31.7654],[-85.063924,32.083417],[-84.898843,32.259117],[-84.986151,32.437969],[-85.129553,32.750714],[-85.365559,33.744478],[-85.625388,34.985901],[-84.854376,34.976909],[-84.320972,34.98696],[-83.076371,34.979028],[-83.185925,34.895958],[-83.346251,34.706512],[-83.076371,34.540347],[-82.902815,34.479498],[-82.716548,34.163057],[-82.597485,33.985781],[-82.249289,33.748716],[-82.180508,33.624356],[-81.943442,33.461369],[-81.827015,33.223244],[-81.507397,33.021628],[-81.435954,32.793037],[-81.376707,32.68245],[-81.411098,32.608888],[-81.22483,32.49936],[-81.126412,32.312033],[-81.127988,32.121528],[-81.036443,32.084476],[-80.865007,32.033161],[-81.33629,31.44049],[-81.490473,30.72983],[-81.701597,30.74833],[-81.899517,30.821892],[-82.020156,30.788018],[-82.022817,30.440364],[-82.151931,30.350938],[-82.226009,30.525553],[-83.8479,30.675311],[-84.853316,30.721355],[-85.005193,30.990693]]]}},{"type":"Feature","properties":{"name":"Mississippi"},"geometry":{"type":"Polygon","coordinates":[[[-91.156239,33.010001],[-91.108077,33.206836],[-91.223444,33.469327],[-91.200681,33.706393],[-90.982141,34.055105],[-90.876308,34.261475],[-90.699549,34.397461],[-90.584207,34.454099],[-90.450313,34.72186],[-90.446618,34.866838],[-90.268283,34.941459],[-90.24924,35.020834],[-89.263926,35.021351],[-88.166964,34.999673],[-88.095522,34.805989],[-88.27334,33.510048],[-88.449531,31.91198],[-88.417802,30.384812],[-89.18049,30.31598],[-89.593702,30.160043],[-89.593831,30.159994],[-89.593929,30.160378],[-89.604706,30.176298],[-89.623232,30.275258],[-89.658682,30.440881],[-89.790457,30.556791],[-89.853941,30.683244],[-89.787796,30.847291],[-89.759219,31.013456],[-90.701667,31.015575],[-91.583784,31.04733],[-91.624531,31.297082],[-91.50229,31.408729],[-91.411288,31.650032],[-91.32132,31.85958],[-91.128179,32.015695],[-91.081618,32.204598],[-90.942971,32.306736],[-91.072084,32.478716],[-91.03082,32.602532],[-91.175799,32.808385],[-91.084797,32.952847],[-91.156239,33.010001]]]}},{"type":"Feature","properties":{"name":"South Carolina"},"geometry":{"type":"Polygon","coordinates":[[[-80.865007,32.033161],[-81.036443,32.084476],[-81.127988,32.121528],[-81.126412,32.312033],[-81.22483,32.49936],[-81.411098,32.608888],[-81.376707,32.68245],[-81.435954,32.793037],[-81.507397,33.021628],[-81.827015,33.223244],[-81.943442,33.461369],[-82.180508,33.624356],[-82.249289,33.748716],[-82.597485,33.985781],[-82.716548,34.163057],[-82.902815,34.479498],[-83.076371,34.540347],[-83.346251,34.706512],[-83.185925,34.895958],[-83.076371,34.979028],[-82.976377,35.008664],[-82.436616,35.180101],[-81.51427,35.171652],[-81.045978,35.125608],[-81.03802,35.037242],[-80.937483,35.103387],[-80.780852,34.934044],[-80.783513,34.817643],[-79.67278,34.807566],[-78.554114,33.861422],[-79.06067,33.49395],[-79.20357,33.15839],[-80.301325,32.509355],[-80.865007,32.033161]]]}},{"type":"Feature","properties":{"name":"Illinois"},"geometry":{"type":"Polygon","coordinates":[[[-91.430331,40.368596],[-91.410229,40.551143],[-91.15412,40.699842],[-91.087432,40.851719],[-90.956742,41.024757],[-90.999065,41.179812],[-91.123425,41.257585],[-91.033999,41.429565],[-90.690557,41.478786],[-90.461966,41.536457],[-90.395278,41.608417],[-90.21007,41.834914],[-90.156636,42.103735],[-90.259808,42.189983],[-90.416982,42.270418],[-90.464602,42.37837],[-90.582605,42.429168],[-90.640818,42.505364],[-89.620054,42.505364],[-88.576552,42.503246],[-87.806599,42.494254],[-87.806599,42.49689],[-87.489641,42.495313],[-87.039307,42.492652],[-87.084808,42.309562],[-87.130335,42.127015],[-87.175836,41.9439],[-87.221337,41.760836],[-87.371638,41.760836],[-87.520854,41.760836],[-87.521371,41.708436],[-87.526151,41.708436],[-87.52721,40.550083],[-87.528269,39.392273],[-87.642035,39.113944],[-87.559999,39.040382],[-87.507082,38.869462],[-87.51504,38.735052],[-87.598653,38.674203],[-87.671129,38.50858],[-87.878558,38.290557],[-88.018808,38.021736],[-88.05108,37.819604],[-88.044207,37.744983],[-88.15743,37.605819],[-88.071725,37.511612],[-88.247399,37.438594],[-88.473871,37.354981],[-88.435242,37.136442],[-88.566475,37.053888],[-88.807778,37.146493],[-89.073963,37.200469],[-89.141685,37.103627],[-89.103057,36.952293],[-89.280333,37.107348],[-89.388285,37.081406],[-89.516339,37.326921],[-89.479287,37.477222],[-89.553908,37.719042],[-89.654987,37.748678],[-89.916909,37.968277],[-90.030158,37.971998],[-90.228079,38.113281],[-90.369879,38.263556],[-90.305335,38.439256],[-90.212731,38.584777],[-90.156094,38.769443],[-90.346599,38.930311],[-90.535528,38.865768],[-90.64981,38.907548],[-90.665701,39.074773],[-90.749287,39.265278],[-90.841375,39.310779],[-91.071567,39.44519],[-91.262589,39.61505],[-91.428212,39.820903],[-91.517638,40.119877],[-91.430331,40.368596]]]}},{"type":"Feature","properties":{"name":"Indiana"},"geometry":{"type":"Polygon","coordinates":[[[-88.05108,37.819604],[-88.018808,38.021736],[-87.878558,38.290557],[-87.671129,38.50858],[-87.598653,38.674203],[-87.51504,38.735052],[-87.507082,38.869462],[-87.559999,39.040382],[-87.642035,39.113944],[-87.528269,39.392273],[-87.52721,40.550083],[-87.526151,41.708436],[-87.521371,41.708436],[-87.520854,41.760836],[-87.371638,41.760836],[-87.221337,41.760836],[-86.918126,41.760836],[-86.824462,41.760836],[-86.824462,41.756056],[-85.748146,41.751302],[-84.807299,41.756056],[-84.806756,41.677741],[-84.809934,40.77286],[-84.817866,39.799742],[-84.82368,39.106528],[-84.881377,39.059425],[-84.799883,38.855174],[-84.843265,38.781096],[-85.01155,38.779494],[-85.167638,38.691127],[-85.404187,38.72712],[-85.425891,38.535038],[-85.566632,38.461994],[-85.698407,38.290015],[-85.83969,38.258802],[-86.059832,37.960887],[-86.262507,38.046619],[-86.325475,38.169376],[-86.499573,37.969879],[-86.61016,37.858749],[-86.825522,37.976235],[-87.055714,37.88097],[-87.131394,37.783611],[-87.43936,37.936005],[-87.653662,37.826477],[-87.911373,37.90425],[-87.921424,37.793662],[-88.05108,37.819604]]]}},{"type":"Feature","properties":{"name":"Kentucky"},"geometry":{"type":"Polygon","coordinates":[[[-89.498356,36.506196],[-89.273977,36.611512],[-89.115227,36.694582],[-89.13427,36.851756],[-89.103057,36.952293],[-89.141685,37.103627],[-89.073963,37.200469],[-88.807778,37.146493],[-88.566475,37.053888],[-88.435242,37.136442],[-88.473871,37.354981],[-88.247399,37.438594],[-88.071725,37.511612],[-88.15743,37.605819],[-88.044207,37.744983],[-88.05108,37.819604],[-87.921424,37.793662],[-87.911373,37.90425],[-87.653662,37.826477],[-87.43936,37.936005],[-87.131394,37.783611],[-87.055714,37.88097],[-86.825522,37.976235],[-86.61016,37.858749],[-86.499573,37.969879],[-86.325475,38.169376],[-86.262507,38.046619],[-86.059832,37.960887],[-85.83969,38.258802],[-85.698407,38.290015],[-85.566632,38.461994],[-85.425891,38.535038],[-85.404187,38.72712],[-85.167638,38.691127],[-85.01155,38.779494],[-84.843265,38.781096],[-84.799883,38.855174],[-84.881377,39.059425],[-84.82368,39.106528],[-84.481324,39.083248],[-84.30459,38.986923],[-84.038948,38.760994],[-83.826738,38.690068],[-83.672742,38.609117],[-83.434617,38.637151],[-83.258943,38.57948],[-83.044641,38.634515],[-82.855195,38.65144],[-82.775278,38.511216],[-82.58901,38.415433],[-82.569967,38.320194],[-82.580561,38.113281],[-82.461499,37.957167],[-82.413336,37.805315],[-82.267299,37.675659],[-82.167279,37.554478],[-81.972536,37.535952],[-82.07539,37.459358],[-82.372589,37.238039],[-82.684792,37.121096],[-82.684792,37.121094],[-82.684792,37.121094],[-82.709132,37.040143],[-82.815508,36.934828],[-83.073353,36.822609],[-83.089083,36.815763],[-83.099483,36.804438],[-83.178509,36.718382],[-83.330592,36.672661],[-83.384362,36.656497],[-83.673285,36.599859],[-84.350091,36.567045],[-85.231149,36.60991],[-85.519012,36.597741],[-86.092621,36.625775],[-86.677882,36.633733],[-87.216583,36.639004],[-87.842049,36.61097],[-87.874346,36.656497],[-88.072784,36.654378],[-88.069606,36.497204],[-89.498356,36.506196]]]}},{"type":"Feature","properties":{"name":"North Carolina"},"geometry":{"type":"Polygon","coordinates":[[[-83.076371,34.979028],[-84.320972,34.98696],[-84.298751,35.198627],[-84.087084,35.261595],[-84.01776,35.369004],[-83.87596,35.490211],[-83.673285,35.51667],[-83.438338,35.562687],[-83.209722,35.648961],[-83.110787,35.737328],[-82.920282,35.81722],[-82.925579,35.889722],[-82.674225,36.025192],[-82.593248,35.937342],[-82.22389,36.125728],[-82.051394,36.106143],[-81.897399,36.27391],[-81.693664,36.317293],[-81.704775,36.460152],[-81.679376,36.585571],[-82.069901,36.570483],[-81.679375,36.585573],[-79.992397,36.542189],[-77.999548,36.537436],[-76.941216,36.545885],[-75.993247,36.550562],[-75.868077,36.55118],[-75.868077,36.55118],[-75.72731,35.550518],[-76.36337,34.808625],[-77.397635,34.51201],[-78.05496,33.92547],[-78.554114,33.861422],[-79.67278,34.807566],[-80.783513,34.817643],[-80.780852,34.934044],[-80.937483,35.103387],[-81.03802,35.037242],[-81.045978,35.125608],[-81.51427,35.171652],[-82.436616,35.180101],[-82.976377,35.008664],[-83.076371,34.979028]]]}},{"type":"Feature","properties":{"name":"Ohio"},"geometry":{"type":"Polygon","coordinates":[[[-84.82368,39.106528],[-84.817866,39.799742],[-84.809934,40.77286],[-84.806756,41.677741],[-84.295056,41.685156],[-83.839967,41.685156],[-83.462678,41.694148],[-83.142,41.975681],[-83.121898,41.949739],[-83.02981,41.832796],[-82.866306,41.752878],[-82.690089,41.675105],[-82.439278,41.675105],[-82.213323,41.77882],[-81.974138,41.88889],[-81.76087,41.986791],[-81.507397,42.103735],[-81.277747,42.209026],[-81.027969,42.247137],[-80.682434,42.299511],[-80.520506,42.324394],[-80.516268,42.32491],[-80.516268,42.324394],[-80.51893,40.641111],[-80.657552,40.59083],[-80.615229,40.463835],[-80.661789,40.233643],[-80.764987,39.973297],[-80.861829,39.757393],[-80.878753,39.654221],[-81.150752,39.426147],[-81.266094,39.377442],[-81.401047,39.349407],[-81.522228,39.371628],[-81.745005,39.199649],[-81.785752,39.019221],[-81.816964,38.921836],[-81.905874,38.882149],[-81.91856,38.993796],[-82.05403,39.018161],[-82.194797,38.801198],[-82.210661,38.57948],[-82.340834,38.440832],[-82.58901,38.415433],[-82.775278,38.511216],[-82.855195,38.65144],[-83.044641,38.634515],[-83.258943,38.57948],[-83.434617,38.637151],[-83.672742,38.609117],[-83.826738,38.690068],[-84.038948,38.760994],[-84.30459,38.986923],[-84.481324,39.083248],[-84.82368,39.106528]]]}},{"type":"Feature","properties":{"name":"Tennessee"},"geometry":{"type":"Polygon","coordinates":[[[-90.24924,35.020834],[-90.134932,35.113955],[-90.147102,35.404997],[-89.988894,35.536229],[-89.950266,35.701878],[-89.775109,35.799236],[-89.673513,35.940003],[-89.662919,36.023073],[-89.585121,36.267011],[-89.524272,36.409354],[-89.498356,36.506196],[-88.069606,36.497204],[-88.072784,36.654378],[-87.874346,36.656497],[-87.842049,36.61097],[-87.216583,36.639004],[-86.677882,36.633733],[-86.092621,36.625775],[-85.519012,36.597741],[-85.231149,36.60991],[-84.350091,36.567045],[-83.673285,36.599859],[-83.384362,36.656497],[-83.330592,36.672661],[-83.384361,36.656496],[-83.673284,36.599859],[-82.186322,36.565985],[-82.069901,36.570483],[-81.679376,36.585571],[-81.704775,36.460152],[-81.693664,36.317293],[-81.897399,36.27391],[-82.051394,36.106143],[-82.22389,36.125728],[-82.593248,35.937342],[-82.674225,36.025192],[-82.925579,35.889722],[-82.920282,35.81722],[-83.110787,35.737328],[-83.209722,35.648961],[-83.438338,35.562687],[-83.673285,35.51667],[-83.87596,35.490211],[-84.01776,35.369004],[-84.087084,35.261595],[-84.298751,35.198627],[-84.320972,34.98696],[-84.854376,34.976909],[-85.625388,34.985901],[-86.909677,34.99913],[-88.166964,34.999673],[-89.263926,35.021351],[-90.24924,35.020834]]]}},{"type":"Feature","properties":{"name":"Virginia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-83.330592,36.672661],[-83.178509,36.718382],[-83.099483,36.804438],[-83.089083,36.815763],[-83.073353,36.822609],[-82.815508,36.934828],[-82.709132,37.040143],[-82.684792,37.121094],[-82.684792,37.121094],[-82.684792,37.121096],[-82.372589,37.238039],[-82.07539,37.459358],[-81.972536,37.535952],[-81.928094,37.366092],[-81.838742,37.294355],[-81.815388,37.275606],[-81.663511,37.195173],[-81.433434,37.283199],[-81.34813,37.315836],[-81.348129,37.315836],[-81.348129,37.315836],[-81.228008,37.245455],[-80.915318,37.315532],[-80.85493,37.329065],[-80.84167,37.383765],[-80.833252,37.418493],[-80.720003,37.383043],[-80.602941,37.452077],[-80.596186,37.45606],[-80.596186,37.45606],[-80.596186,37.45606],[-80.456995,37.441774],[-80.298245,37.519029],[-80.285779,37.571673],[-80.276568,37.610574],[-80.292975,37.728059],[-80.292974,37.728059],[-80.292974,37.72806],[-80.157505,37.901098],[-79.964363,38.03179],[-79.915142,38.179427],[-79.818919,38.279203],[-79.743679,38.357221],[-79.647924,38.574726],[-79.647923,38.574726],[-79.647923,38.574728],[-79.515089,38.497446],[-79.36639,38.426027],[-79.222988,38.464632],[-79.174826,38.555658],[-79.076408,38.680017],[-79.007355,38.768127],[-78.965278,38.821817],[-78.965277,38.821816],[-78.965277,38.821817],[-78.892801,38.780039],[-78.744619,38.909151],[-78.629936,38.985707],[-78.548843,39.03984],[-78.51355,39.068071],[-78.424484,39.139318],[-78.362314,39.349171],[-78.345626,39.405502],[-78.345626,39.405502],[-78.345625,39.405504],[-77.881075,39.159017],[-77.834985,39.134562],[-77.722796,39.322432],[-77.69583,39.316201],[-77.576216,39.288561],[-77.443407,39.213423],[-77.443408,39.213421],[-77.443407,39.213421],[-77.500882,39.12948],[-77.516968,39.105986],[-77.305819,39.045679],[-77.119551,38.934008],[-77.11955,38.934007],[-77.03648,38.848276],[-77.041235,38.789545],[-77.041235,38.789545],[-77.059217,38.708593],[-77.09807,38.687121],[-77.229622,38.614413],[-77.343387,38.391611],[-77.210579,38.337118],[-77.048107,38.380503],[-77.002253,38.269618],[-76.989895,38.239733],[-76.301619,37.917948],[-76.258739,36.966402],[-75.9718,36.897261],[-75.868076,36.55118],[-75.868077,36.55118],[-75.868077,36.55118],[-75.993247,36.550562],[-76.941216,36.545885],[-77.999548,36.537436],[-79.992397,36.542189],[-81.679375,36.585573],[-82.069901,36.570483],[-82.186322,36.565985],[-83.673284,36.599859],[-83.384361,36.656496],[-83.330592,36.672661]]],[[[-75.377541,38.01538],[-75.940035,37.216875],[-76.031063,37.256563],[-75.72205,37.93705],[-75.72205,37.937052],[-75.60985,38.000032],[-75.377539,38.015383],[-75.377541,38.01538]]]]}},{"type":"Feature","properties":{"name":"Wisconsin"},"geometry":{"type":"Polygon","coordinates":[[[-91.228199,43.501247],[-91.254657,43.613979],[-91.257292,43.854739],[-91.28959,43.937293],[-91.627709,44.085449],[-91.879606,44.257428],[-91.949989,44.364838],[-92.062153,44.432585],[-92.385492,44.574928],[-92.505072,44.58392],[-92.796656,44.776027],[-92.766477,44.996143],[-92.765417,45.267082],[-92.689221,45.518436],[-92.899828,45.705763],[-92.756968,45.889912],[-92.5437,45.985695],[-92.296583,46.096282],[-92.264828,46.095223],[-92.274879,46.656145],[-92.011898,46.711723],[-91.964794,46.729706],[-91.840978,46.778385],[-91.716618,46.827607],[-91.592259,46.87626],[-91.468442,46.924966],[-91.264708,47.021265],[-91.060974,47.117047],[-90.857782,47.212829],[-90.654048,47.309128],[-90.47995,47.303857],[-90.305852,47.298018],[-90.131754,47.292747],[-89.957656,47.286907],[-90.01481,47.1996],[-90.071448,47.11175],[-90.128059,47.0239],[-90.185213,46.936076],[-90.241825,46.848226],[-90.298979,46.760919],[-90.35559,46.673069],[-90.395278,46.611677],[-90.410626,46.584185],[-90.39688,46.576253],[-90.334971,46.596872],[-90.333912,46.593694],[-90.176738,46.560879],[-90.096304,46.380994],[-89.22106,46.202116],[-88.644274,46.022204],[-88.361707,46.020628],[-88.166964,46.007916],[-88.111929,45.843352],[-87.875406,45.779842],[-87.787013,45.639618],[-87.847888,45.559183],[-87.893389,45.396713],[-87.673248,45.387747],[-87.747326,45.226878],[-87.613975,45.108875],[-87.612915,45.110451],[-87.459462,45.068128],[-87.419775,45.184012],[-87.244617,45.289846],[-87.115504,45.452291],[-86.942465,45.452291],[-86.774207,45.452291],[-86.481563,45.323177],[-86.2646,45.226878],[-86.401672,45.133214],[-86.536082,45.04167],[-86.714934,44.84641],[-86.822344,44.591335],[-86.918668,44.361685],[-87.032434,44.091288],[-87.083232,43.89019],[-87.141962,43.657878],[-87.14514,43.571088],[-87.155191,43.326632],[-87.113928,43.030294],[-87.079537,42.782118],[-87.039307,42.492652],[-87.489641,42.495313],[-87.806599,42.49689],[-87.806599,42.494254],[-88.576552,42.503246],[-89.620054,42.505364],[-90.640818,42.505364],[-90.738177,42.658275],[-91.064694,42.754083],[-91.129238,42.912833],[-91.169985,43.002233],[-91.173163,43.212324],[-91.083737,43.288004],[-91.21391,43.446754],[-91.228199,43.501247]]]}},{"type":"Feature","properties":{"name":"West Virginia"},"geometry":{"type":"Polygon","coordinates":[[[-81.972536,37.535952],[-82.167279,37.554478],[-82.267299,37.675659],[-82.413336,37.805315],[-82.461499,37.957167],[-82.580561,38.113281],[-82.569967,38.320194],[-82.58901,38.415433],[-82.340834,38.440832],[-82.210661,38.57948],[-82.194797,38.801198],[-82.05403,39.018161],[-81.91856,38.993796],[-81.905874,38.882149],[-81.816964,38.921836],[-81.785752,39.019221],[-81.745005,39.199649],[-81.522228,39.371628],[-81.401047,39.349407],[-81.266094,39.377442],[-81.150752,39.426147],[-80.878753,39.654221],[-80.861829,39.757393],[-80.764987,39.973297],[-80.661789,40.233643],[-80.615229,40.463835],[-80.657552,40.59083],[-80.51893,40.641111],[-80.51893,39.720883],[-79.477521,39.720883],[-79.485995,39.213421],[-79.332516,39.302847],[-79.16108,39.418214],[-78.963159,39.457902],[-78.829291,39.56265],[-78.534012,39.522446],[-78.425001,39.596524],[-78.232403,39.672204],[-77.923352,39.592829],[-77.801654,39.449944],[-77.722796,39.322432],[-77.834985,39.134562],[-77.881075,39.159017],[-78.345625,39.405504],[-78.345626,39.405502],[-78.345626,39.405502],[-78.362314,39.349171],[-78.424484,39.139318],[-78.51355,39.068071],[-78.548843,39.03984],[-78.629936,38.985707],[-78.744619,38.909151],[-78.892801,38.780039],[-78.965277,38.821817],[-78.965277,38.821816],[-78.965278,38.821817],[-79.007355,38.768127],[-79.076408,38.680017],[-79.174826,38.555658],[-79.222988,38.464632],[-79.36639,38.426027],[-79.515089,38.497446],[-79.647923,38.574728],[-79.647923,38.574726],[-79.647924,38.574726],[-79.743679,38.357221],[-79.818919,38.279203],[-79.915142,38.179427],[-79.964363,38.03179],[-80.157505,37.901098],[-80.292974,37.72806],[-80.292974,37.728059],[-80.292975,37.728059],[-80.276568,37.610574],[-80.285779,37.571673],[-80.298245,37.519029],[-80.456995,37.441774],[-80.596186,37.45606],[-80.596186,37.45606],[-80.596186,37.45606],[-80.602941,37.452077],[-80.720003,37.383043],[-80.833252,37.418493],[-80.84167,37.383765],[-80.85493,37.329065],[-80.915318,37.315532],[-81.228008,37.245455],[-81.348129,37.315836],[-81.348129,37.315836],[-81.34813,37.315836],[-81.433434,37.283199],[-81.663511,37.195173],[-81.815388,37.275606],[-81.838742,37.294355],[-81.928094,37.366092],[-81.972536,37.535952]]]}},{"type":"Feature","properties":{"name":"Delaware"},"geometry":{"type":"Polygon","coordinates":[[[-75.048385,38.448765],[-75.714624,38.449307],[-75.787642,39.723545],[-75.710903,39.802377],[-75.62096,39.847361],[-75.405573,39.795504],[-75.554272,39.691247],[-75.527813,39.498649],[-75.319867,38.959948],[-75.071835,38.782032],[-75.048385,38.448765]]]}},{"type":"Feature","properties":{"name":"District of Columbia"},"geometry":{"type":"Polygon","coordinates":[[[-77.041235,38.789545],[-77.041235,38.789545],[-77.03648,38.848276],[-77.11955,38.934007],[-77.0386,38.982169],[-76.911579,38.878454],[-77.041235,38.789545]]]}},{"type":"Feature","properties":{"name":"Maryland"},"geometry":{"type":"Polygon","coordinates":[[[-75.377541,38.01538],[-75.377539,38.015383],[-75.60985,38.000032],[-75.72205,37.937052],[-75.72205,37.93705],[-76.23287,38.319215],[-76.35,39.15],[-76.542725,38.717615],[-76.32933,38.08326],[-76.989895,38.239733],[-77.002253,38.269618],[-77.048107,38.380503],[-77.210579,38.337118],[-77.343387,38.391611],[-77.229622,38.614413],[-77.09807,38.687121],[-77.059217,38.708593],[-77.041235,38.789545],[-76.911579,38.878454],[-77.0386,38.982169],[-77.11955,38.934007],[-77.119551,38.934008],[-77.305819,39.045679],[-77.516968,39.105986],[-77.500882,39.12948],[-77.443407,39.213421],[-77.443408,39.213421],[-77.443407,39.213423],[-77.576216,39.288561],[-77.69583,39.316201],[-77.722796,39.322432],[-77.801654,39.449944],[-77.923352,39.592829],[-78.232403,39.672204],[-78.425001,39.596524],[-78.534012,39.522446],[-78.829291,39.56265],[-78.963159,39.457902],[-79.16108,39.418214],[-79.332516,39.302847],[-79.485995,39.213421],[-79.477521,39.720883],[-78.549903,39.719824],[-78.232919,39.7214],[-77.523299,39.725663],[-76.668183,39.720883],[-75.787642,39.723545],[-75.714624,38.449307],[-75.048385,38.448765],[-75.05673,38.40412],[-75.377538,38.01538],[-75.377541,38.01538]]]}},{"type":"Feature","properties":{"name":"New Jersey"},"geometry":{"type":"Polygon","coordinates":[[[-75.527813,39.498649],[-75.554272,39.691247],[-75.405573,39.795504],[-75.200805,39.887049],[-75.12882,39.9495],[-74.891754,40.081791],[-74.763183,40.190777],[-75.078022,40.449547],[-75.095488,40.55538],[-75.203957,40.586619],[-75.199203,40.747461],[-75.082259,40.869702],[-75.135718,40.999875],[-74.975909,41.087725],[-74.801268,41.311561],[-74.679028,41.355486],[-73.912796,40.960187],[-73.952325,40.75075],[-74.256754,40.47337],[-73.96244,40.42763],[-74.178438,39.709256],[-74.906042,38.939303],[-74.980663,39.196497],[-75.200262,39.248354],[-75.527813,39.498649]]]}},{"type":"Feature","properties":{"name":"New York"},"geometry":{"type":"Polygon","coordinates":[[[-73.497937,42.054513],[-73.553489,41.289857],[-73.475174,41.204669],[-73.69268,41.10731],[-73.656687,40.98507],[-73.647887,40.954769],[-73.648269,40.954623],[-73.71,40.931102],[-72.241166,41.11948],[-71.944828,40.930034],[-73.345001,40.630001],[-73.98212,40.627882],[-73.952325,40.75075],[-73.912796,40.960187],[-74.679028,41.355486],[-74.840439,41.426386],[-75.010816,41.49571],[-75.075386,41.641231],[-75.048928,41.751302],[-75.16799,41.841787],[-75.385471,41.998961],[-76.743837,42.000537],[-78.200648,42.000021],[-79.760087,42.000021],[-79.760087,42.500068],[-79.77304,42.546122],[-79.773257,42.546894],[-78.939362,42.863611],[-78.919777,42.965207],[-79.01,43.27],[-79.171674,43.466339],[-79.00233,43.527188],[-78.845699,43.583283],[-78.72028,43.625089],[-76.820034,43.628784],[-76.69676,43.784899],[-76.586147,43.924063],[-76.5,44.018459],[-76.375,44.09631],[-75.318265,44.816231],[-74.866898,45.00038],[-73.347662,45.007253],[-73.368281,44.804604],[-73.407969,44.676007],[-73.384172,44.379152],[-73.329136,44.226732],[-73.429673,44.019846],[-73.338128,43.75844],[-73.401638,43.613436],[-73.383112,43.575351],[-73.23971,43.567935],[-73.282033,42.743489],[-73.497937,42.054513]]]}},{"type":"Feature","properties":{"name":"Pennsylvania"},"geometry":{"type":"Polygon","coordinates":[[[-80.51893,40.641111],[-80.516268,42.324394],[-80.516268,42.32491],[-80.247448,42.3662],[-79.77304,42.546122],[-79.760087,42.500068],[-79.760087,42.000021],[-78.200648,42.000021],[-76.743837,42.000537],[-75.385471,41.998961],[-75.16799,41.841787],[-75.048928,41.751302],[-75.075386,41.641231],[-75.010816,41.49571],[-74.840439,41.426386],[-74.679028,41.355486],[-74.801268,41.311561],[-74.975909,41.087725],[-75.135718,40.999875],[-75.082259,40.869702],[-75.199203,40.747461],[-75.203957,40.586619],[-75.095488,40.55538],[-75.078022,40.449547],[-74.763183,40.190777],[-74.891754,40.081791],[-75.12882,39.9495],[-75.200805,39.887049],[-75.405573,39.795504],[-75.62096,39.847361],[-75.710903,39.802377],[-75.787642,39.723545],[-76.668183,39.720883],[-77.523299,39.725663],[-78.232919,39.7214],[-78.549903,39.719824],[-79.477521,39.720883],[-80.51893,39.720883],[-80.51893,40.641111]]]}},{"type":"Feature","properties":{"name":"Maine"},"geometry":{"type":"Polygon","coordinates":[[[-70.645734,43.090083],[-70.751025,43.080032],[-70.797611,43.219739],[-70.98176,43.367896],[-70.944165,43.466339],[-71.08482,45.30524],[-70.660023,45.460223],[-70.304954,45.914795],[-70.00014,46.693171],[-69.237086,47.447776],[-68.904781,47.184795],[-68.234305,47.354629],[-67.790353,47.066249],[-67.791412,45.702585],[-67.137344,45.137452],[-66.96466,44.8097],[-68.03252,44.3252],[-69.06,43.98],[-70.11617,43.68405],[-70.645734,43.090083]]]}},{"type":"Feature","properties":{"name":"Michigan"},"geometry":{"type":"Polygon","coordinates":[[[-89.957656,47.286907],[-89.842831,47.464726],[-89.728006,47.641976],[-89.613698,47.819252],[-89.522695,47.960535],[-89.490032,48.013406],[-89.488885,48.015263],[-89.272917,48.019808],[-89.18561,48.047326],[-88.378114,48.302918],[-87.494396,47.961595],[-87.208108,47.848372],[-86.921846,47.735123],[-86.672068,47.636162],[-86.495335,47.566838],[-86.428647,47.539838],[-86.234447,47.459946],[-86.040247,47.380054],[-85.846563,47.300136],[-85.652363,47.220219],[-85.458163,47.13981],[-85.263963,47.059893],[-85.07028,46.980001],[-84.87608,46.900083],[-84.826858,46.766732],[-84.779238,46.637102],[-84.543749,46.538684],[-84.543232,46.538684],[-84.6049,46.4396],[-84.3367,46.40877],[-84.14212,46.512226],[-84.128374,46.483649],[-84.115144,46.370917],[-84.091851,46.275419],[-83.890765,46.116927],[-83.763228,46.108969],[-83.669048,46.122741],[-83.616131,46.116927],[-83.469551,45.994686],[-83.592851,45.816894],[-83.397049,45.729044],[-83.179052,45.632719],[-82.919223,45.51792],[-82.760473,45.44751],[-82.550925,45.347517],[-82.515475,45.204114],[-82.485296,45.083993],[-82.446667,44.915708],[-82.407523,44.743729],[-82.368352,44.572809],[-82.326546,44.391296],[-82.281044,44.192342],[-82.24084,44.015608],[-82.196373,43.822442],[-82.137642,43.571088],[-82.190559,43.474272],[-82.417031,43.017607],[-82.429743,42.980038],[-82.90018,42.430227],[-83.119779,42.079912],[-83.128771,42.068802],[-83.142,41.975681],[-83.462678,41.694148],[-83.839967,41.685156],[-84.295056,41.685156],[-84.806756,41.677741],[-84.807299,41.756056],[-85.748146,41.751302],[-86.824462,41.756056],[-86.824462,41.760836],[-86.918126,41.760836],[-87.221337,41.760836],[-87.175836,41.9439],[-87.130335,42.127015],[-87.084808,42.309562],[-87.039307,42.492652],[-87.079537,42.782118],[-87.113928,43.030294],[-87.155191,43.326632],[-87.14514,43.571088],[-87.141962,43.657878],[-87.083232,43.89019],[-87.032434,44.091288],[-86.918668,44.361685],[-86.822344,44.591335],[-86.714934,44.84641],[-86.536082,45.04167],[-86.401672,45.133214],[-86.2646,45.226878],[-86.481563,45.323177],[-86.774207,45.452291],[-86.942465,45.452291],[-87.115504,45.452291],[-87.244617,45.289846],[-87.419775,45.184012],[-87.459462,45.068128],[-87.612915,45.110451],[-87.613975,45.108875],[-87.747326,45.226878],[-87.673248,45.387747],[-87.893389,45.396713],[-87.847888,45.559183],[-87.787013,45.639618],[-87.875406,45.779842],[-88.111929,45.843352],[-88.166964,46.007916],[-88.361707,46.020628],[-88.644274,46.022204],[-89.22106,46.202116],[-90.096304,46.380994],[-90.176738,46.560879],[-90.333912,46.593694],[-90.334971,46.596872],[-90.39688,46.576253],[-90.410626,46.584185],[-90.395278,46.611677],[-90.35559,46.673069],[-90.298979,46.760919],[-90.241825,46.848226],[-90.185213,46.936076],[-90.128059,47.0239],[-90.071448,47.11175],[-90.01481,47.1996],[-89.957656,47.286907]]]}},{"type":"Feature","properties":{"name":"Alaska"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-153.228729,57.968968],[-152.564791,57.901427],[-152.141147,57.591059],[-153.006314,57.115842],[-154.00509,56.734677],[-154.516403,56.992749],[-154.670993,57.461196],[-153.76278,57.816575],[-153.228729,57.968968]]],[[[-166.467792,60.38417],[-165.67443,60.293607],[-165.579164,59.909987],[-166.19277,59.754441],[-166.848337,59.941406],[-167.455277,60.213069],[-166.467792,60.38417]]],[[[-171.731657,63.782515],[-171.114434,63.592191],[-170.491112,63.694975],[-169.682505,63.431116],[-168.689439,63.297506],[-168.771941,63.188598],[-169.52944,62.976931],[-170.290556,63.194438],[-170.671386,63.375822],[-171.553063,63.317789],[-171.791111,63.405846],[-171.731657,63.782515]]],[[[-140.985988,69.711998],[-140.985988,69.711998],[-140.992499,66.000029],[-140.99777,60.306397],[-140.012998,60.276838],[-139.039,60.000007],[-138.340878,59.562101],[-137.452508,58.904984],[-136.479725,59.463864],[-135.475833,59.787772],[-134.944987,59.270543],[-134.2711,58.86111],[-133.355549,58.410285],[-132.730421,57.692887],[-131.707822,56.552104],[-130.00777,55.915812],[-129.979994,55.284998],[-130.53611,54.802753],[-131.085818,55.178906],[-131.967211,55.497776],[-132.250011,56.369996],[-133.539181,57.178887],[-134.078063,58.123068],[-135.038211,58.187715],[-136.628062,58.212209],[-137.800006,58.499995],[-139.867787,59.537762],[-140.825274,59.727517],[-142.574444,60.084447],[-143.958881,59.99918],[-145.925557,60.45861],[-147.114374,60.884656],[-148.224306,60.672989],[-148.018066,59.978329],[-148.570823,59.914173],[-149.727858,59.705658],[-150.608243,59.368211],[-151.716393,59.155821],[-151.859433,59.744984],[-151.409719,60.725803],[-150.346941,61.033588],[-150.621111,61.284425],[-151.895839,60.727198],[-152.57833,60.061657],[-154.019172,59.350279],[-153.287511,58.864728],[-154.232492,58.146374],[-155.307491,57.727795],[-156.308335,57.422774],[-156.556097,56.979985],[-158.117217,56.463608],[-158.433321,55.994154],[-159.603327,55.566686],[-160.28972,55.643581],[-161.223048,55.364735],[-162.237766,55.024187],[-163.069447,54.689737],[-164.785569,54.404173],[-164.942226,54.572225],[-163.84834,55.039431],[-162.870001,55.348043],[-161.804175,55.894986],[-160.563605,56.008055],[-160.07056,56.418055],[-158.684443,57.016675],[-158.461097,57.216921],[-157.72277,57.570001],[-157.550274,58.328326],[-157.041675,58.918885],[-158.194731,58.615802],[-158.517218,58.787781],[-159.058606,58.424186],[-159.711667,58.93139],[-159.981289,58.572549],[-160.355271,59.071123],[-161.355003,58.670838],[-161.968894,58.671665],[-162.054987,59.266925],[-161.874171,59.633621],[-162.518059,59.989724],[-163.818341,59.798056],[-164.662218,60.267484],[-165.346388,60.507496],[-165.350832,61.073895],[-166.121379,61.500019],[-165.734452,62.074997],[-164.919179,62.633076],[-164.562508,63.146378],[-163.753332,63.219449],[-163.067224,63.059459],[-162.260555,63.541936],[-161.53445,63.455817],[-160.772507,63.766108],[-160.958335,64.222799],[-161.518068,64.402788],[-160.777778,64.788604],[-161.391926,64.777235],[-162.45305,64.559445],[-162.757786,64.338605],[-163.546394,64.55916],[-164.96083,64.446945],[-166.425288,64.686672],[-166.845004,65.088896],[-168.11056,65.669997],[-166.705271,66.088318],[-164.47471,66.57666],[-163.652512,66.57666],[-163.788602,66.077207],[-161.677774,66.11612],[-162.489715,66.735565],[-163.719717,67.116395],[-164.430991,67.616338],[-165.390287,68.042772],[-166.764441,68.358877],[-166.204707,68.883031],[-164.430811,68.915535],[-163.168614,69.371115],[-162.930566,69.858062],[-161.908897,70.33333],[-160.934797,70.44769],[-159.039176,70.891642],[-158.119723,70.824721],[-156.580825,71.357764],[-155.06779,71.147776],[-154.344165,70.696409],[-153.900006,70.889989],[-152.210006,70.829992],[-152.270002,70.600006],[-150.739992,70.430017],[-149.720003,70.53001],[-147.613362,70.214035],[-145.68999,70.12001],[-144.920011,69.989992],[-143.589446,70.152514],[-142.07251,69.851938],[-140.985988,69.711998]]]]}}]} \ No newline at end of file diff --git a/crates/radar_gif/assets/geo/us_states_50m.json b/crates/radar_gif/assets/geo/us_states_50m.json new file mode 100644 index 00000000..e62bf36b --- /dev/null +++ b/crates/radar_gif/assets/geo/us_states_50m.json @@ -0,0 +1 @@ +{"type":"FeatureCollection","features":[{"type":"Feature","properties":{"name":"Alaska"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-139.056519,60.001582],[-139.043445,59.993243],[-138.868754,59.945749],[-138.705456,59.901331],[-138.632257,59.778285],[-138.453636,59.683385],[-138.317625,59.611117],[-138.187451,59.541947],[-138.001134,59.442938],[-137.870572,59.373581],[-137.696626,59.281131],[-137.593299,59.226254],[-137.543696,59.119445],[-137.484161,58.991235],[-137.520877,58.915374],[-137.438579,58.903125],[-137.277558,58.988214],[-137.126199,59.040948],[-136.93931,59.106108],[-136.81327,59.150031],[-136.578739,59.152251],[-136.466728,59.279945],[-136.466344,59.459088],[-136.347845,59.456034],[-136.277983,59.480324],[-136.247133,59.532905],[-136.321829,59.604832],[-136.097164,59.638374],[-135.934644,59.662642],[-135.70259,59.728758],[-135.475937,59.793281],[-135.367854,59.743304],[-135.260781,59.695008],[-135.05103,59.578663],[-135.03666,59.550703],[-135.050843,59.496057],[-135.071311,59.441433],[-134.94377,59.288272],[-134.907241,59.271211],[-134.802409,59.249974],[-134.677225,59.199283],[-134.621981,59.155305],[-134.440756,59.085333],[-134.410214,59.056241],[-134.393059,59.009165],[-134.363527,58.968724],[-134.329651,58.939709],[-134.296994,58.898499],[-134.218519,58.849896],[-134.069204,58.795535],[-133.965745,58.757863],[-133.820742,58.705052],[-133.673926,58.597144],[-133.546392,58.503486],[-133.401103,58.410882],[-133.422576,58.337065],[-133.275299,58.222851],[-133.120424,58.077744],[-133.001409,57.948973],[-132.916842,57.87698],[-132.815532,57.772697],[-132.691507,57.645113],[-132.550481,57.499907],[-132.44248,57.406732],[-132.301663,57.276324],[-132.232158,57.19853],[-132.279415,57.145345],[-132.337989,57.07946],[-132.157017,57.048193],[-132.03152,57.02655],[-132.062913,56.95337],[-132.104282,56.856789],[-131.962509,56.818699],[-131.866159,56.792838],[-131.886,56.742114],[-131.833085,56.684809],[-131.824274,56.589986],[-131.651519,56.596083],[-131.575115,56.598819],[-131.471893,56.55673],[-131.3358,56.501228],[-131.199404,56.449218],[-131.082922,56.404822],[-130.930217,56.378598],[-130.741681,56.340827],[-130.649072,56.26367],[-130.477097,56.230568],[-130.413146,56.122518],[-130.214705,56.082835],[-130.097866,56.10929],[-130.055958,56.065235],[-130.022884,56.014511],[-130.014073,55.950538],[-130.025081,55.888212],[-130.07464,55.836027],[-130.111977,55.779799],[-130.137065,55.719385],[-130.146518,55.654489],[-130.140421,55.585034],[-130.120426,55.524411],[-130.059474,55.412307],[-130.039264,55.343598],[-130.036551,55.297917],[-130.171842,55.137],[-130.218506,55.060261],[-130.21409,55.025895],[-130.312533,54.945948],[-130.493242,54.834173],[-130.575331,54.769683],[-130.615794,54.79092],[-130.849605,54.807608],[-130.934612,54.950397],[-130.9797,55.061184],[-131.047859,55.157665],[-131.045898,55.179583],[-130.983935,55.243963],[-130.750388,55.296983],[-130.748218,55.318022],[-130.835059,55.332073],[-130.855961,55.355123],[-130.879812,55.459504],[-130.873401,55.55113],[-130.879653,55.611829],[-130.918566,55.735975],[-130.977014,55.811945],[-131.127675,55.960151],[-131.140364,55.997515],[-131.074012,56.044383],[-131.032769,56.088098],[-131.287586,56.012083],[-131.635265,55.932246],[-131.784201,55.876534],[-131.815463,55.85421],[-131.826158,55.835357],[-131.799055,55.782821],[-131.803295,55.765946],[-131.833601,55.734898],[-131.869411,55.64715],[-131.945013,55.554129],[-131.983411,55.535013],[-132.119009,55.569785],[-132.15544,55.599558],[-132.223423,55.721044],[-132.207532,55.753388],[-132.157972,55.780656],[-132.090692,55.839543],[-132.005735,55.93007],[-131.843835,56.160091],[-131.738026,56.161223],[-131.551346,56.206805],[-131.844247,56.229645],[-131.887912,56.241632],[-131.927292,56.272998],[-131.962328,56.323699],[-132.021934,56.38007],[-132.133275,56.399835],[-132.182027,56.420643],[-132.255591,56.48911],[-132.304991,56.51986],[-132.332018,56.557895],[-132.336671,56.603104],[-132.357654,56.6259],[-132.434443,56.634118],[-132.475939,56.649664],[-132.487128,56.766405],[-132.63952,56.79643],[-132.701944,56.82227],[-132.8022,56.895153],[-132.829869,56.930639],[-132.838812,56.960192],[-132.814263,57.0407],[-132.824601,57.055795],[-132.913409,57.047479],[-133.465851,57.172174],[-133.436655,57.336859],[-133.538948,57.554157],[-133.648713,57.642301],[-133.626954,57.676534],[-133.603389,57.694672],[-133.554219,57.695079],[-133.342348,57.631105],[-133.142825,57.555146],[-133.117062,57.566198],[-133.435726,57.727049],[-133.515465,57.775125],[-133.535202,57.832957],[-133.536444,57.863862],[-133.51112,57.880111],[-133.212045,57.865697],[-133.194318,57.877705],[-133.497404,57.92466],[-133.559361,57.924451],[-133.62574,57.856984],[-133.65726,57.840988],[-133.722321,57.844251],[-133.744129,57.854611],[-133.821363,57.936361],[-133.894482,57.993259],[-134.031092,58.072163],[-134.056723,58.128391],[-134.063337,58.211074],[-134.045248,58.289263],[-133.933627,58.467857],[-133.888517,58.498751],[-133.876734,58.518186],[-133.911149,58.515241],[-133.943861,58.498289],[-134.036157,58.415354],[-134.13121,58.279332],[-134.208829,58.232959],[-134.257641,58.244198],[-134.331458,58.299591],[-134.485454,58.367211],[-134.663608,58.384702],[-134.776135,58.45385],[-134.942507,58.646286],[-134.964776,58.742175],[-134.986123,58.765642],[-135.076452,58.796777],[-135.131851,58.842865],[-135.217374,59.076599],[-135.330313,59.239076],[-135.358449,59.324912],[-135.348946,59.410067],[-135.363668,59.419427],[-135.402532,59.35307],[-135.412733,59.318452],[-135.4841,59.308685],[-135.416951,59.241503],[-135.400153,59.207907],[-135.433744,59.210698],[-135.502315,59.202304],[-135.386146,59.087552],[-135.33406,58.909607],[-135.257012,58.77776],[-135.207091,58.670885],[-135.184558,58.589762],[-135.151928,58.512187],[-135.062038,58.340888],[-135.049711,58.306776],[-135.060484,58.278925],[-135.090251,58.245845],[-135.141535,58.233398],[-135.30254,58.255931],[-135.363151,58.298272],[-135.449943,58.376132],[-135.571793,58.412047],[-135.873455,58.394216],[-135.897537,58.400203],[-135.896351,58.463825],[-135.861727,58.57705],[-135.889556,58.622731],[-136.04549,58.78913],[-136.043112,58.821628],[-135.826379,58.897961],[-135.931694,58.90374],[-136.016602,58.873978],[-136.049368,58.893204],[-136.100631,58.999859],[-136.133699,59.039553],[-136.150031,59.048078],[-136.159484,58.946795],[-136.123521,58.893457],[-136.118407,58.862607],[-136.124191,58.819617],[-136.146828,58.788812],[-136.186308,58.77019],[-136.225842,58.765455],[-136.299011,58.7869],[-136.380249,58.827286],[-136.451149,58.846336],[-136.477605,58.862508],[-136.511168,58.907102],[-136.566209,58.940896],[-136.830969,58.983819],[-136.988996,59.034488],[-137.002125,59.021151],[-136.952824,58.966944],[-136.948072,58.934908],[-136.987909,58.925141],[-137.059018,58.873714],[-137.038402,58.866639],[-136.963057,58.883536],[-136.879078,58.881525],[-136.740123,58.850203],[-136.613928,58.809279],[-136.568198,58.78634],[-136.549334,58.752381],[-136.533525,58.740241],[-136.410116,58.700658],[-136.404172,58.679773],[-136.483757,58.617667],[-136.31989,58.624489],[-136.2246,58.602264],[-136.102905,58.506298],[-136.061486,58.452707],[-136.055982,58.384163],[-136.081251,58.36419],[-136.129618,58.350391],[-136.462388,58.327968],[-136.582612,58.245208],[-136.607419,58.243989],[-136.698913,58.266467],[-136.864999,58.332407],[-137.071937,58.395194],[-137.544004,58.581181],[-137.556923,58.589959],[-137.564625,58.625885],[-137.597073,58.644221],[-137.661101,58.659931],[-137.749986,58.707063],[-137.863695,58.78556],[-137.934007,58.846875],[-137.96088,58.891007],[-138.026919,58.941467],[-138.240704,59.046837],[-138.352479,59.087299],[-138.451337,59.110085],[-138.53717,59.115095],[-138.560321,59.129157],[-138.520685,59.152251],[-138.514898,59.165896],[-138.704215,59.18755],[-138.884333,59.2369],[-139.340971,59.375658],[-139.576823,59.462439],[-139.714463,59.503967],[-139.773272,59.527302],[-139.799109,59.546264],[-139.766063,59.566084],[-139.674104,59.586804],[-139.611628,59.610315],[-139.513056,59.698117],[-139.505588,59.72633],[-139.558503,59.790205],[-139.582173,59.848311],[-139.581138,59.880534],[-139.569149,59.912362],[-139.554112,59.933324],[-139.512306,59.953549],[-139.483005,59.963778],[-139.446882,59.956856],[-139.330974,59.877019],[-139.314643,59.847927],[-139.320018,59.738734],[-139.286713,59.610941],[-139.276248,59.620345],[-139.265602,59.662609],[-139.25873,59.743326],[-139.245706,59.782086],[-139.2208,59.819868],[-139.178863,59.839863],[-139.048304,59.828239],[-138.988074,59.835007],[-139.242504,59.892784],[-139.402492,60.000988],[-139.431433,60.012249],[-139.51892,60.017116],[-139.611653,59.973446],[-139.850193,59.830711],[-139.91688,59.805673],[-140.216733,59.726638],[-140.419848,59.710719],[-140.648386,59.723177],[-140.843154,59.748863],[-141.331911,59.873767],[-141.408288,59.902804],[-141.294626,59.980005],[-141.289949,60.004141],[-141.32956,60.082815],[-141.362167,60.105293],[-141.408727,60.117674],[-141.421697,60.108841],[-141.422164,60.085506],[-141.409708,60.042275],[-141.447073,60.019434],[-141.530192,59.994792],[-141.670158,59.969875],[-142.104113,60.033442],[-142.548606,60.086045],[-142.945635,60.096954],[-143.506119,60.055041],[-143.805068,60.012898],[-143.979501,60.008789],[-144.147215,60.016391],[-144.160937,60.045824],[-144.084299,60.063028],[-144.088537,60.084342],[-144.185484,60.150743],[-144.332632,60.191008],[-144.529985,60.205235],[-144.642949,60.224648],[-144.671576,60.249246],[-144.741392,60.272702],[-144.85242,60.295081],[-144.901331,60.335182],[-144.862469,60.459206],[-144.824437,60.533617],[-144.786557,60.584626],[-144.691138,60.669111],[-144.724415,60.66286],[-144.86309,60.600897],[-144.984014,60.536923],[-145.096022,60.45368],[-145.162709,60.415382],[-145.248287,60.380138],[-145.381766,60.388564],[-145.56315,60.440705],[-145.718439,60.467578],[-145.847732,60.469226],[-145.898892,60.478169],[-145.810628,60.524674],[-145.759833,60.561983],[-145.690223,60.62198],[-145.674928,60.651126],[-146.149032,60.660695],[-146.16642,60.692292],[-146.167093,60.71555],[-146.182337,60.734743],[-146.251042,60.749058],[-146.347187,60.738127],[-146.502989,60.700796],[-146.570478,60.729162],[-146.546399,60.745125],[-146.495524,60.756804],[-146.391989,60.810868],[-146.53193,60.838872],[-146.603552,60.870963],[-146.638434,60.897319],[-146.636056,60.992527],[-146.599109,61.053534],[-146.284889,61.112651],[-146.384392,61.135854],[-146.582728,61.127845],[-146.715896,61.077539],[-146.874028,61.004908],[-146.980169,60.977805],[-147.034326,60.996174],[-147.105952,61.002535],[-147.19504,60.996844],[-147.254907,60.978299],[-147.285603,60.946768],[-147.321081,60.92551],[-147.361387,60.914502],[-147.390558,60.918039],[-147.433424,60.950284],[-147.523289,60.970334],[-147.567265,60.994933],[-147.592588,60.979431],[-147.623284,60.933025],[-147.655686,60.909514],[-147.807613,60.885377],[-147.891123,60.88987],[-147.990755,60.948274],[-148.00512,60.968576],[-147.971169,61.019069],[-147.751855,61.218955],[-147.773791,61.217812],[-147.844821,61.186391],[-147.986363,61.106499],[-148.049408,61.08268],[-148.157928,61.079681],[-148.208674,61.088261],[-148.270014,61.081801],[-148.34187,61.060411],[-148.388792,61.036944],[-148.410754,61.011467],[-148.395846,61.007127],[-148.287378,61.036252],[-148.225882,61.044052],[-148.208674,61.029924],[-148.29314,60.939693],[-148.344427,60.853549],[-148.393313,60.831895],[-148.471061,60.83551],[-148.556147,60.826985],[-148.557386,60.802902],[-148.398688,60.734018],[-148.341277,60.724328],[-148.267896,60.699708],[-148.256734,60.675318],[-148.284252,60.609323],[-148.305,60.58333],[-148.338434,60.569839],[-148.467779,60.572069],[-148.509587,60.565246],[-148.596635,60.523795],[-148.640121,60.48943],[-148.624282,60.486441],[-148.549143,60.514808],[-148.439824,60.530002],[-148.29637,60.532068],[-148.189476,60.547108],[-148.119196,60.575167],[-148.050699,60.567213],[-147.984012,60.523333],[-147.964088,60.484892],[-147.990961,60.451867],[-148.045997,60.428302],[-148.129196,60.414217],[-148.1817,60.393057],[-148.203557,60.364922],[-148.215857,60.32314],[-148.218647,60.267692],[-148.197617,60.167772],[-148.213764,60.154259],[-148.245003,60.146821],[-148.291357,60.145481],[-148.333111,60.122014],[-148.430703,59.989134],[-148.465092,59.974687],[-148.506071,59.988947],[-148.542401,59.987398],[-148.574077,59.970084],[-148.643582,59.956856],[-148.750863,59.94776],[-148.842745,59.95122],[-149.004258,59.979983],[-149.070121,60.000241],[-149.121589,60.033519],[-149.266595,59.998275],[-149.304937,60.013645],[-149.395269,60.105732],[-149.414852,60.100261],[-149.432216,60.001043],[-149.45971,59.966261],[-149.54916,59.894333],[-149.598047,59.770462],[-149.612878,59.766848],[-149.629621,59.784668],[-149.684657,59.895311],[-149.713854,59.919602],[-149.794779,59.855826],[-149.803667,59.832733],[-149.782455,59.750335],[-149.801291,59.737954],[-149.965001,59.782295],[-150.00531,59.784415],[-150.015953,59.776977],[-149.960142,59.713048],[-149.966525,59.690053],[-150.198062,59.566545],[-150.258471,59.570962],[-150.296505,59.583266],[-150.338157,59.581322],[-150.48533,59.535278],[-150.526001,59.537299],[-150.581554,59.564578],[-150.607391,59.563392],[-150.621162,59.535069],[-150.622893,59.479621],[-150.677464,59.426964],[-150.852776,59.341853],[-150.899311,59.302686],[-150.934503,59.249095],[-150.960755,59.243986],[-151.06359,59.278396],[-151.182756,59.300775],[-151.199241,59.289668],[-151.163016,59.25695],[-151.170715,59.2369],[-151.222287,59.229408],[-151.287505,59.232297],[-151.366362,59.245579],[-151.477003,59.23055],[-151.619369,59.187297],[-151.7382,59.188527],[-151.903849,59.259763],[-151.949505,59.265069],[-151.964051,59.285119],[-151.931702,59.342732],[-151.884626,59.386347],[-151.84995,59.406353],[-151.692596,59.462186],[-151.512711,59.482697],[-151.39959,59.516316],[-151.262132,59.585617],[-151.189422,59.637681],[-151.046484,59.771803],[-151.057339,59.782163],[-151.08943,59.789425],[-151.403672,59.662247],[-151.450105,59.650415],[-151.512607,59.651294],[-151.763831,59.700029],[-151.816928,59.720903],[-151.853205,59.782086],[-151.783469,59.921151],[-151.734506,59.988332],[-151.611876,60.092043],[-151.451473,60.202653],[-151.395973,60.27446],[-151.312672,60.466435],[-151.317528,60.553568],[-151.355046,60.65986],[-151.356466,60.722966],[-151.321791,60.742906],[-150.953779,60.841201],[-150.779472,60.914809],[-150.44125,61.023563],[-150.349138,61.022629],[-150.281492,60.985221],[-150.202789,60.95525],[-150.113053,60.932816],[-149.997556,60.935145],[-149.856275,60.96227],[-149.632464,60.951987],[-149.172826,60.880422],[-149.075081,60.876412],[-149.07131,60.885531],[-149.142235,60.935683],[-149.459114,60.964753],[-149.59249,60.993823],[-149.967739,61.121748],[-150.053265,61.171098],[-150.018537,61.194246],[-149.92676,61.213264],[-149.89529,61.23171],[-149.882008,61.263702],[-149.829196,61.307527],[-149.7369,61.363337],[-149.595978,61.41728],[-149.329071,61.497381],[-149.433535,61.500798],[-149.625436,61.48601],[-149.695251,61.470717],[-149.823744,61.413358],[-149.873688,61.372994],[-149.945209,61.294244],[-149.975699,61.279358],[-150.108919,61.26791],[-150.471792,61.259978],[-150.533208,61.300243],[-150.567239,61.306801],[-150.61225,61.301143],[-150.945484,61.198224],[-151.064985,61.145731],[-151.150148,61.085833],[-151.281872,61.041954],[-151.46013,61.014104],[-151.593507,60.97964],[-151.733962,60.910722],[-151.781659,60.857944],[-151.784425,60.833137],[-151.750474,60.75487],[-151.785123,60.740225],[-151.866177,60.734073],[-151.996219,60.68224],[-152.270726,60.528112],[-152.306589,60.472225],[-152.305064,60.452999],[-152.260314,60.409438],[-152.291526,60.381126],[-152.368834,60.336346],[-152.540916,60.265418],[-152.653932,60.238447],[-152.727313,60.237074],[-152.797903,60.247181],[-152.923372,60.292862],[-153.02502,60.295653],[-153.031274,60.289237],[-152.892937,60.24038],[-152.752375,60.177495],[-152.664759,60.125266],[-152.630109,60.08377],[-152.628559,60.041088],[-152.660107,59.99722],[-152.759456,59.920887],[-152.856919,59.898101],[-153.10605,59.875052],[-153.186355,59.856859],[-153.211211,59.842708],[-153.040085,59.810507],[-153.024633,59.793995],[-153.048147,59.730055],[-153.093622,59.709126],[-153.236172,59.670937],[-153.363993,59.659874],[-153.383474,59.667213],[-153.359625,59.717497],[-153.366448,59.729846],[-153.414403,59.740129],[-153.482615,59.720958],[-153.652529,59.647009],[-153.670717,59.634814],[-153.609378,59.615017],[-153.62227,59.598482],[-153.714333,59.545254],[-153.752598,59.509856],[-153.814146,59.473733],[-154.088316,59.363298],[-154.067488,59.336381],[-154.138803,59.240152],[-154.178335,59.15559],[-154.129811,59.119852],[-153.89954,59.078049],[-153.787919,59.06792],[-153.656377,59.038674],[-153.418279,58.959968],[-153.338955,58.908552],[-153.32707,58.884316],[-153.334409,58.857883],[-153.362932,58.822199],[-153.437606,58.754842],[-153.617337,58.654713],[-153.698573,58.626346],[-153.82151,58.604121],[-153.861948,58.58785],[-154.019896,58.492972],[-154.062451,58.441754],[-154.055733,58.39716],[-154.085888,58.365838],[-154.289028,58.304348],[-154.28179,58.293449],[-154.20805,58.288791],[-154.235129,58.234639],[-154.247013,58.159427],[-154.282282,58.146782],[-154.409226,58.147309],[-154.570585,58.118053],[-154.581953,58.109791],[-154.584925,58.055683],[-155.006863,58.016044],[-155.099261,57.913311],[-155.147373,57.881814],[-155.312736,57.807117],[-155.41397,57.777037],[-155.529623,57.758898],[-155.59024,57.733608],[-155.595846,57.701077],[-155.628687,57.673073],[-155.72894,57.626612],[-155.77798,57.56822],[-155.813688,57.559024],[-156.00019,57.544962],[-156.037343,57.526516],[-156.055379,57.447579],[-156.089898,57.445074],[-156.155992,57.463443],[-156.242188,57.449205],[-156.435872,57.359963],[-156.478402,57.327872],[-156.4737,57.310711],[-156.443573,57.29366],[-156.397631,57.240585],[-156.400498,57.204825],[-156.475145,57.105201],[-156.50132,57.089798],[-156.59204,57.065101],[-156.628987,57.009982],[-156.71265,57.016058],[-156.779881,57.005621],[-156.823859,56.968828],[-156.87171,56.947635],[-156.923439,56.942076],[-156.988448,56.912929],[-157.066687,56.860195],[-157.139137,56.826555],[-157.205774,56.812064],[-157.270577,56.808493],[-157.333567,56.815887],[-157.390232,56.809812],[-157.440566,56.790333],[-157.489658,56.759736],[-157.528726,56.673186],[-157.578387,56.634448],[-157.609753,56.627702],[-157.673885,56.633448],[-157.770724,56.651685],[-157.86909,56.645225],[-158.027868,56.59215],[-158.078303,56.552028],[-157.978259,56.543162],[-157.928702,56.531693],[-157.929993,56.520476],[-157.982186,56.509577],[-158.070964,56.510346],[-158.124374,56.501052],[-158.189383,56.478156],[-158.3525,56.453503],[-158.414408,56.435837],[-158.537397,56.335422],[-158.552152,56.312713],[-158.536364,56.30767],[-158.467323,56.318272],[-158.38614,56.301573],[-158.343974,56.280336],[-158.316997,56.254134],[-158.291416,56.203652],[-158.275656,56.196258],[-158.431849,56.111455],[-158.47611,56.075496],[-158.504688,56.062104],[-158.523343,56.072442],[-158.542668,56.166826],[-158.55445,56.182855],[-158.591167,56.184525],[-158.626746,56.154708],[-158.704881,56.04312],[-158.789863,55.986914],[-159.429435,55.84274],[-159.52323,55.810001],[-159.541314,55.748488],[-159.567621,55.695205],[-159.610072,55.652808],[-159.659653,55.625903],[-159.670274,55.64503],[-159.665339,55.794894],[-159.678489,55.824656],[-159.743034,55.843773],[-159.771379,55.841114],[-159.810421,55.83272],[-159.87437,55.800289],[-159.913542,55.792203],[-159.962299,55.794894],[-160.045652,55.762924],[-160.243804,55.660532],[-160.373204,55.635109],[-160.407413,55.613818],[-160.462682,55.557799],[-160.499319,55.537287],[-160.553501,55.535496],[-160.625231,55.552371],[-160.682898,55.540429],[-160.726514,55.499659],[-160.770827,55.483542],[-160.896736,55.513612],[-160.952184,55.493045],[-161.024221,55.440443],[-161.099516,55.405715],[-161.178013,55.388873],[-161.381926,55.371295],[-161.46386,55.382512],[-161.480526,55.397805],[-161.476701,55.464887],[-161.44381,55.513304],[-161.413346,55.536144],[-161.372728,55.556304],[-161.3133,55.558622],[-161.202092,55.543538],[-161.214702,55.559765],[-161.255113,55.57898],[-161.357458,55.612192],[-161.45877,55.629133],[-161.516958,55.61841],[-161.598761,55.592834],[-161.654313,55.563358],[-161.683563,55.529948],[-161.720382,55.420722],[-161.741569,55.391136],[-161.980339,55.198644],[-162.073977,55.139318],[-162.166582,55.143768],[-162.211489,55.121334],[-162.274637,55.073225],[-162.332928,55.05023],[-162.386361,55.052351],[-162.42791,55.061502],[-162.457495,55.077696],[-162.452378,55.092813],[-162.412536,55.106865],[-162.426824,55.145416],[-162.495244,55.208466],[-162.541882,55.242722],[-162.630378,55.246655],[-162.64415,55.218002],[-162.614307,55.071467],[-162.618906,55.038453],[-162.674354,54.996595],[-162.819566,54.94998],[-162.865041,54.954528],[-162.995885,55.046462],[-163.119624,55.064699],[-163.127815,55.034783],[-163.10022,54.973644],[-163.131123,54.916548],[-163.220575,54.863375],[-163.288632,54.837579],[-163.335296,54.839183],[-163.33788,54.876393],[-163.296333,54.949255],[-163.285687,55.009976],[-163.305944,55.058547],[-163.303644,55.095867],[-163.278813,55.121828],[-163.114483,55.193942],[-163.045339,55.20472],[-163.008235,55.186867],[-162.961986,55.183813],[-162.906588,55.195546],[-162.871604,55.218596],[-162.857133,55.253005],[-162.786235,55.297093],[-162.658981,55.350783],[-162.513356,55.450001],[-162.349362,55.594746],[-162.157124,55.71944],[-161.936622,55.824195],[-161.697334,55.907208],[-161.21563,56.021411],[-161.178606,56.014467],[-161.222582,55.977432],[-161.192507,55.954306],[-161.145145,55.95134],[-160.968644,55.96961],[-160.898647,55.993637],[-160.877823,55.970489],[-160.902369,55.941287],[-161.008409,55.911734],[-161.005385,55.887158],[-160.851313,55.771889],[-160.802841,55.754432],[-160.762584,55.756596],[-160.745506,55.771483],[-160.758399,55.854627],[-160.706334,55.870436],[-160.599726,55.874315],[-160.530248,55.86346],[-160.497899,55.837884],[-160.436919,55.816691],[-160.347315,55.799926],[-160.291708,55.805068],[-160.270109,55.832204],[-160.308506,55.864471],[-160.479865,55.935454],[-160.527458,55.965062],[-160.539059,56.006293],[-160.514719,56.059116],[-160.460848,56.137503],[-160.377492,56.241478],[-160.302046,56.31413],[-160.149289,56.396352],[-160.046246,56.437023],[-159.785073,56.561608],[-159.283089,56.688577],[-159.159039,56.770074],[-158.990393,56.860041],[-158.918021,56.882156],[-158.918021,56.84744],[-158.894895,56.816425],[-158.782087,56.79576],[-158.708836,56.788575],[-158.675168,56.794881],[-158.665918,56.827928],[-158.681032,56.887738],[-158.684803,56.944229],[-158.677234,56.99737],[-158.660801,57.039415],[-158.585613,57.114089],[-158.473734,57.19909],[-158.320925,57.297901],[-158.224498,57.342648],[-158.133548,57.366423],[-158.045696,57.409467],[-157.894337,57.511376],[-157.845761,57.528065],[-157.737188,57.54817],[-157.697396,57.539282],[-157.674039,57.513695],[-157.645541,57.497808],[-157.535287,57.483471],[-157.46191,57.506202],[-157.473896,57.518199],[-157.53348,57.525889],[-157.571616,57.540677],[-157.607583,57.601442],[-157.68068,57.638082],[-157.697215,57.679423],[-157.683987,57.743913],[-157.621173,57.895228],[-157.610865,58.050827],[-157.55503,58.13997],[-157.442683,58.172182],[-157.193706,58.194177],[-157.339385,58.23453],[-157.393591,58.234815],[-157.488392,58.253701],[-157.524438,58.350754],[-157.523609,58.421341],[-157.460899,58.503013],[-157.228846,58.640914],[-156.974649,58.736341],[-157.009042,58.744163],[-157.040485,58.772541],[-156.923233,58.963692],[-156.808899,59.134277],[-156.963361,58.988851],[-157.142032,58.877647],[-157.66572,58.748503],[-158.021927,58.640189],[-158.190935,58.61425],[-158.302578,58.641793],[-158.389628,58.745669],[-158.439314,58.782616],[-158.503188,58.850357],[-158.476266,58.938369],[-158.425622,58.999288],[-158.314493,59.009318],[-158.189226,58.979941],[-158.080528,58.977436],[-158.220595,59.037487],[-158.422807,59.089826],[-158.514427,59.07283],[-158.584476,58.987796],[-158.678266,58.929371],[-158.760587,58.950124],[-158.809473,58.973866],[-158.77555,58.902553],[-158.837741,58.793953],[-158.861381,58.718763],[-158.772112,58.520328],[-158.788624,58.440952],[-158.950705,58.404554],[-159.082687,58.469769],[-159.358227,58.721279],[-159.454214,58.792899],[-159.670274,58.911134],[-159.741433,58.894292],[-159.832202,58.835965],[-159.920208,58.81987],[-160.152596,58.905915],[-160.260809,58.971547],[-160.363124,59.051176],[-160.519913,59.007308],[-160.656649,58.955057],[-160.817079,58.871704],[-160.924278,58.872429],[-161.215916,58.800963],[-161.246845,58.799458],[-161.287875,58.760961],[-161.328106,58.743702],[-161.361334,58.669544],[-161.755444,58.612031],[-162.14493,58.644221],[-162.008684,58.685002],[-161.856471,58.717093],[-161.724387,58.794294],[-161.780534,58.897412],[-161.790274,58.94997],[-161.788672,59.016394],[-161.644391,59.109679],[-161.79446,59.10947],[-161.89076,59.076082],[-161.981037,59.146153],[-162.02331,59.283977],[-161.920137,59.365473],[-161.872232,59.42826],[-161.831693,59.514503],[-161.828695,59.588617],[-161.908638,59.714135],[-162.138135,59.980037],[-162.242495,60.178319],[-162.421347,60.283974],[-162.287789,60.456877],[-162.138883,60.614333],[-161.946595,60.684821],[-161.961995,60.695335],[-162.068267,60.694874],[-162.13803,60.685547],[-162.199913,60.634306],[-162.265025,60.595217],[-162.468708,60.394683],[-162.599683,60.296993],[-162.684974,60.268956],[-162.547721,60.231053],[-162.526948,60.199116],[-162.500488,60.126562],[-162.535654,60.038408],[-162.570743,59.989727],[-162.73262,59.99365],[-162.877856,59.922755],[-163.219386,59.845598],[-163.680391,59.801521],[-163.906889,59.806794],[-164.142844,59.896761],[-164.141113,59.948902],[-164.131527,59.994221],[-164.470498,60.149304],[-164.66227,60.303816],[-164.799961,60.307221],[-164.919747,60.348464],[-165.061134,60.412536],[-165.048732,60.464238],[-165.02651,60.500647],[-165.113275,60.526069],[-165.224509,60.523564],[-165.353829,60.541219],[-165.015995,60.740017],[-164.8998,60.873127],[-164.805155,60.892046],[-164.682372,60.871534],[-164.512924,60.81903],[-164.370065,60.795904],[-164.318517,60.771273],[-164.265652,60.724669],[-164.321412,60.646633],[-164.372339,60.591855],[-164.309681,60.60672],[-164.131836,60.69149],[-163.99957,60.766054],[-163.936138,60.758309],[-163.894925,60.74518],[-163.82139,60.668287],[-163.73,60.589976],[-163.528695,60.664563],[-163.420949,60.75743],[-163.511875,60.798145],[-163.62303,60.822227],[-163.906527,60.853802],[-163.837306,60.880422],[-163.655432,60.877478],[-163.586909,60.902977],[-163.65892,60.938221],[-163.749017,60.969719],[-163.99461,60.864712],[-164.44156,60.869985],[-164.75397,60.931322],[-165.065604,60.920676],[-165.114825,60.932816],[-165.175468,60.965687],[-164.999923,61.043668],[-164.875564,61.086767],[-164.868975,61.11175],[-164.941193,61.11487],[-165.077076,61.094205],[-165.137718,61.130119],[-165.12777,61.192445],[-165.150043,61.186864],[-165.203761,61.152828],[-165.279803,61.169648],[-165.344889,61.197707],[-165.310809,61.227634],[-165.243939,61.268767],[-165.273653,61.274864],[-165.333676,61.26613],[-165.392043,61.212308],[-165.37928,61.168769],[-165.380778,61.106301],[-165.480463,61.094875],[-165.565883,61.102368],[-165.627585,61.16521],[-165.69138,61.299924],[-165.863953,61.335684],[-165.906276,61.4038],[-165.797109,61.491185],[-165.845324,61.53624],[-165.961311,61.550874],[-166.09399,61.506742],[-166.15272,61.545963],[-166.163521,61.589007],[-166.168094,61.650816],[-166.131172,61.65732],[-166.100502,61.64507],[-165.834575,61.679392],[-165.808918,61.69608],[-166.019938,61.748276],[-166.078823,61.803098],[-165.991387,61.834189],[-165.833852,61.836793],[-165.612805,61.869301],[-165.705798,61.92743],[-165.725253,61.959367],[-165.743934,62.011695],[-165.70727,62.100443],[-165.447648,62.303899],[-165.194511,62.473528],[-165.115601,62.512672],[-164.999716,62.53381],[-164.891867,62.517583],[-164.779214,62.481152],[-164.757871,62.496731],[-164.796111,62.511639],[-164.844402,62.58104],[-164.687978,62.608275],[-164.596305,62.686695],[-164.589432,62.709349],[-164.688986,62.676764],[-164.792701,62.623205],[-164.818668,62.677049],[-164.84541,62.800975],[-164.799651,62.918067],[-164.764072,62.970626],[-164.677462,63.020471],[-164.428123,63.040444],[-164.38425,63.030468],[-164.375077,63.053979],[-164.525197,63.127621],[-164.463289,63.185211],[-164.409055,63.215061],[-164.1076,63.26172],[-163.942856,63.247196],[-163.736228,63.192813],[-163.616312,63.125171],[-163.633753,63.09041],[-163.663571,63.070316],[-163.725737,63.047783],[-163.748991,63.030337],[-163.737855,63.016417],[-163.649359,63.05677],[-163.504356,63.105868],[-163.423172,63.084521],[-163.358835,63.045761],[-163.287857,63.046432],[-163.062237,63.07972],[-162.947723,63.115008],[-162.807757,63.206579],[-162.621489,63.265807],[-162.3598,63.452585],[-162.282803,63.529193],[-162.193298,63.540981],[-162.112476,63.534181],[-162.056227,63.471317],[-161.973984,63.452948],[-161.505433,63.468164],[-161.266016,63.496981],[-161.099722,63.557933],[-160.926709,63.660556],[-160.826508,63.729342],[-160.778553,63.818946],[-160.840461,63.934907],[-160.90397,64.03118],[-160.987532,64.251269],[-161.220102,64.396564],[-161.385674,64.439938],[-161.490706,64.433763],[-161.414612,64.526367],[-161.193048,64.516424],[-161.048795,64.534464],[-160.931952,64.579112],[-160.893714,64.612906],[-160.836017,64.681944],[-160.855911,64.755608],[-160.886969,64.795554],[-160.967482,64.839554],[-161.063239,64.904],[-161.130184,64.925445],[-161.186901,64.92405],[-161.466366,64.794862],[-161.634005,64.792478],[-161.759371,64.816252],[-161.868331,64.742666],[-162.172266,64.678066],[-162.334633,64.612851],[-162.635726,64.450847],[-162.71107,64.377513],[-162.807008,64.374206],[-162.876435,64.516424],[-163.203883,64.652018],[-163.302843,64.605897],[-163.248299,64.563292],[-163.174092,64.532959],[-163.051748,64.519731],[-163.104508,64.478598],[-163.144352,64.423821],[-163.267057,64.475182],[-163.486191,64.549812],[-163.713103,64.588253],[-164.303971,64.583913],[-164.691828,64.507438],[-164.727484,64.523302],[-164.764924,64.529652],[-164.82952,64.511382],[-164.85727,64.480301],[-164.899491,64.460669],[-164.978761,64.453659],[-165.138158,64.465217],[-165.446174,64.512854],[-166.142774,64.582782],[-166.325114,64.625716],[-166.481383,64.728087],[-166.478101,64.797543],[-166.408674,64.826953],[-166.415237,64.926533],[-166.550862,64.952988],[-166.826943,65.096074],[-166.92841,65.157059],[-166.906396,65.163827],[-166.856786,65.147292],[-166.762529,65.134911],[-166.531018,65.15473],[-166.451643,65.247334],[-166.279665,65.273789],[-166.121482,65.260715],[-166.157037,65.28583],[-166.197395,65.305572],[-166.609385,65.352759],[-166.665377,65.33829],[-167.403988,65.422104],[-167.987234,65.567783],[-168.035009,65.595611],[-168.088364,65.65775],[-168.009687,65.719142],[-167.930571,65.748157],[-167.926979,65.714341],[-167.91437,65.681184],[-167.58005,65.758308],[-167.405306,65.859338],[-167.074215,65.877059],[-166.997217,65.904942],[-166.894458,65.959182],[-166.747671,66.05183],[-166.540113,66.100642],[-166.398726,66.144433],[-166.214577,66.170273],[-166.057404,66.127229],[-166.008931,66.12134],[-165.723677,66.112551],[-165.629911,66.131206],[-165.589991,66.145115],[-165.560225,66.167076],[-165.840259,66.245057],[-165.811863,66.288464],[-165.776154,66.31905],[-165.449404,66.409896],[-165.198309,66.439922],[-165.06395,66.437834],[-164.674129,66.555004],[-164.460499,66.588446],[-164.058276,66.61077],[-163.727675,66.61645],[-163.638223,66.574669],[-163.815706,66.58348],[-163.89397,66.575889],[-163.838237,66.561573],[-163.775477,66.531108],[-163.793718,66.492634],[-163.902859,66.378376],[-163.89397,66.286915],[-163.964973,66.257296],[-164.033754,66.215548],[-163.695378,66.083822],[-163.171456,66.07545],[-162.886486,66.099225],[-162.721768,66.059795],[-162.586866,66.050852],[-162.214279,66.071056],[-161.933676,66.042898],[-161.816319,66.053642],[-161.556852,66.250528],[-161.455411,66.281411],[-161.345081,66.247167],[-161.201084,66.219371],[-161.109231,66.23952],[-161.034301,66.188807],[-161.069542,66.294639],[-161.120291,66.334321],[-161.544424,66.407029],[-161.828153,66.370829],[-161.916907,66.411841],[-161.88758,66.493074],[-162.191179,66.693135],[-162.317735,66.733707],[-162.467442,66.735641],[-162.543639,66.805118],[-162.607433,66.894393],[-162.478319,66.930802],[-162.361609,66.947314],[-162.253553,66.918629],[-162.131416,66.80135],[-162.01765,66.784112],[-162.050723,66.667273],[-161.909596,66.559607],[-161.591036,66.45951],[-161.335935,66.496359],[-161.155791,66.495293],[-161.048122,66.474232],[-160.784494,66.384375],[-160.650549,66.373103],[-160.231711,66.420289],[-160.227322,66.50852],[-160.262564,66.57245],[-160.360878,66.612528],[-160.643781,66.60498],[-160.864024,66.670865],[-161.051456,66.652782],[-161.39805,66.55185],[-161.571734,66.591599],[-161.680901,66.64552],[-161.856679,66.70032],[-161.878745,66.803932],[-161.731311,66.922793],[-161.622196,66.979318],[-161.719943,67.02056],[-161.965431,67.049553],[-162.391529,67.01989],[-162.41158,67.060298],[-162.409409,67.103968],[-162.583119,67.018495],[-162.761403,67.036424],[-163.001698,67.027284],[-163.531822,67.102573],[-163.72057,67.195539],[-163.799789,67.270983],[-163.942701,67.477591],[-164.12517,67.606725],[-165.386023,68.045585],[-165.959581,68.155887],[-166.235946,68.277956],[-166.409114,68.307971],[-166.574479,68.320254],[-166.7863,68.359596],[-166.643905,68.408024],[-166.5459,68.424349],[-166.647859,68.373812],[-166.570396,68.361068],[-166.447044,68.390248],[-166.380537,68.425129],[-166.282945,68.573236],[-166.182047,68.797192],[-166.209075,68.885358],[-165.509479,68.867582],[-165.043951,68.882457],[-164.889698,68.902463],[-164.302368,68.936488],[-164.150182,68.961163],[-163.867925,69.036661],[-163.535671,69.17009],[-163.250547,69.345377],[-163.205201,69.392509],[-163.187113,69.380468],[-163.161456,69.38796],[-163.131018,69.454362],[-163.093554,69.610708],[-162.952116,69.758123],[-162.350395,70.094117],[-162.071162,70.227184],[-161.977963,70.287653],[-161.880967,70.331752],[-161.812599,70.289839],[-161.779939,70.277369],[-161.761077,70.257649],[-161.818386,70.24842],[-161.911947,70.205486],[-162.042378,70.176647],[-162.073874,70.161969],[-161.997393,70.165232],[-161.768156,70.196543],[-161.638991,70.234523],[-160.996266,70.304594],[-160.647656,70.420565],[-160.634119,70.446394],[-160.117146,70.591194],[-160.045625,70.585613],[-159.96315,70.568145],[-160.106396,70.472574],[-160.005552,70.447537],[-160.09508,70.333279],[-159.907546,70.331466],[-159.865688,70.278842],[-159.855224,70.324182],[-159.857522,70.389243],[-159.842641,70.453008],[-159.814994,70.497096],[-159.683296,70.477167],[-159.386753,70.524529],[-159.746214,70.53045],[-159.961832,70.634063],[-160.081594,70.634865],[-159.680895,70.786794],[-159.314507,70.878519],[-159.231722,70.876762],[-159.191723,70.859656],[-159.183171,70.831959],[-159.262212,70.813843],[-159.339855,70.781257],[-159.304147,70.752528],[-159.251154,70.748452],[-159.075065,70.772062],[-158.996285,70.801593],[-158.620934,70.799033],[-158.510835,70.820127],[-158.484377,70.841056],[-157.998465,70.845286],[-157.909374,70.860117],[-157.605622,70.941251],[-157.324734,71.039623],[-157.19531,71.09328],[-156.973358,71.230016],[-156.783292,71.31895],[-156.470237,71.407687],[-156.395255,71.396679],[-156.496695,71.379078],[-156.567232,71.341538],[-156.469979,71.291561],[-155.811156,71.188422],[-155.645584,71.182786],[-155.579438,71.121086],[-155.634578,71.061585],[-155.804333,70.995436],[-156.146588,70.927815],[-156.041943,70.902239],[-155.973523,70.841979],[-155.872237,70.83464],[-155.708036,70.857283],[-155.579386,70.894329],[-155.313382,71.014991],[-155.229718,71.082228],[-155.166855,71.099224],[-154.943818,71.083052],[-154.817522,71.048478],[-154.673681,70.987086],[-154.726314,70.92776],[-154.785222,70.894307],[-154.59862,70.847977],[-154.392198,70.838309],[-154.195235,70.80111],[-153.918223,70.877333],[-153.701363,70.893604],[-153.497704,70.891077],[-153.232915,70.932572],[-152.784906,70.876036],[-152.670829,70.890714],[-152.49123,70.880947],[-152.300414,70.846791],[-152.232925,70.81036],[-152.437255,70.733258],[-152.470584,70.653618],[-152.399192,70.620472],[-152.269666,70.61476],[-152.253363,70.568254],[-152.172929,70.556653],[-151.769025,70.560136],[-151.799927,70.53802],[-151.819617,70.511301],[-151.944674,70.452107],[-151.22482,70.418752],[-151.12803,70.451613],[-150.979075,70.464686],[-150.662633,70.509906],[-150.543519,70.490142],[-150.403218,70.443922],[-150.273637,70.434309],[-150.15251,70.443713],[-149.870098,70.509653],[-149.544046,70.512905],[-149.410617,70.491405],[-149.269437,70.500765],[-148.844785,70.425212],[-148.688359,70.416324],[-148.479199,70.317931],[-148.371146,70.314987],[-148.248774,70.356735],[-148.142734,70.355449],[-148.039073,70.315503],[-147.869521,70.303253],[-147.790587,70.240159],[-147.705347,70.217208],[-147.062929,70.170396],[-146.744886,70.191742],[-146.281247,70.186161],[-146.057669,70.156234],[-145.823136,70.160057],[-145.440084,70.050919],[-145.236815,70.033945],[-145.197385,70.008699],[-144.619177,69.982134],[-144.416891,70.039032],[-144.064096,70.054127],[-143.746415,70.101973],[-143.566426,70.101478],[-143.357032,70.089569],[-143.276442,70.095304],[-143.218332,70.116233],[-142.707872,70.033813],[-142.422128,69.939507],[-142.296994,69.869897],[-141.699201,69.770372],[-141.526369,69.714716],[-141.407901,69.653368],[-141.338629,69.646754],[-141.289666,69.664684],[-141.080816,69.659421],[-141.002137,69.650786],[-141.002137,69.358583],[-141.002137,69.066379],[-141.002137,68.774176],[-141.002137,68.481973],[-141.002137,68.189736],[-141.002137,67.897566],[-141.002137,67.605351],[-141.002137,67.313148],[-141.002137,67.020945],[-141.002137,66.728741],[-141.002137,66.436538],[-141.002137,66.144335],[-141.002137,65.852131],[-141.002137,65.559928],[-141.002137,65.267724],[-141.002137,64.975521],[-141.002137,64.683318],[-141.002137,64.391103],[-141.002137,64.098878],[-141.002137,63.806697],[-141.002137,63.514471],[-141.002137,63.22229],[-141.002137,62.930086],[-141.002137,62.637883],[-141.002137,62.34568],[-141.002137,62.053476],[-141.002137,61.761273],[-141.002137,61.469069],[-141.002137,61.176855],[-141.002137,60.884652],[-141.002137,60.592448],[-141.002137,60.300245],[-140.762745,60.259112],[-140.525421,60.218342],[-140.452818,60.299729],[-140.196916,60.237491],[-139.973284,60.183153],[-139.830659,60.252883],[-139.676302,60.328337],[-139.467993,60.333709],[-139.234777,60.33973],[-139.079258,60.343707],[-139.079258,60.279448],[-139.13698,60.172705],[-139.185169,60.083573],[-139.056519,60.001582]]],[[[-166.109856,66.227457],[-166.148639,66.221821],[-166.146468,66.237169],[-166.032522,66.277709],[-165.822198,66.328092],[-165.829872,66.317139],[-165.942295,66.278181],[-166.109856,66.227457]]],[[[-171.463043,63.640023],[-171.447849,63.615677],[-171.343361,63.619632],[-171.196909,63.609118],[-171.034879,63.585498],[-170.874629,63.594001],[-170.672522,63.668829],[-170.551832,63.688462],[-170.430419,63.698855],[-170.299367,63.680606],[-170.171312,63.640924],[-170.121832,63.617512],[-170.082404,63.576665],[-170.056281,63.527182],[-170.017369,63.491729],[-169.777436,63.448015],[-169.62411,63.430547],[-169.587188,63.406596],[-169.554528,63.373495],[-169.427586,63.348325],[-169.295062,63.357531],[-169.221086,63.348589],[-168.996036,63.347292],[-168.716001,63.310609],[-168.761347,63.213764],[-168.852376,63.171236],[-169.109052,63.184925],[-169.36472,63.171126],[-169.470839,63.12126],[-169.559283,63.05822],[-169.571298,62.996773],[-169.622872,62.968561],[-169.676356,62.956102],[-169.719815,62.990105],[-169.777797,63.09375],[-169.818596,63.122347],[-169.863426,63.140387],[-169.988482,63.173126],[-170.1154,63.193868],[-170.189607,63.196351],[-170.243091,63.232287],[-170.272702,63.284275],[-170.323526,63.311125],[-170.424165,63.349259],[-170.527104,63.379284],[-170.848377,63.444367],[-170.95403,63.452948],[-171.061232,63.445895],[-171.176006,63.416209],[-171.287292,63.372154],[-171.401186,63.339239],[-171.519137,63.331999],[-171.631818,63.351203],[-171.737858,63.394215],[-171.790982,63.424713],[-171.819404,63.47726],[-171.81793,63.529819],[-171.80354,63.58051],[-171.746385,63.703084],[-171.646468,63.726991],[-171.463043,63.640023]]],[[[-147.930706,60.826161],[-148.057417,60.817943],[-148.115425,60.830599],[-148.123797,60.844354],[-148.099687,60.894836],[-148.101678,60.916128],[-148.03773,60.924137],[-147.964399,60.900164],[-147.94311,60.875379],[-147.930706,60.826161]]],[[[-172.742214,60.457393],[-172.526053,60.391761],[-172.387508,60.398485],[-172.277541,60.343652],[-172.232066,60.299135],[-172.397172,60.331128],[-172.635736,60.328853],[-172.958378,60.462766],[-173.07403,60.493209],[-173.047649,60.568289],[-172.923884,60.60684],[-172.860219,60.505689],[-172.742214,60.457393]]],[[[-152.020741,60.361746],[-152.069034,60.358077],[-152.004514,60.407395],[-151.959736,60.503745],[-151.899405,60.490363],[-151.887287,60.472686],[-151.986892,60.373985],[-152.020741,60.361746]]],[[[-147.658268,60.450472],[-147.658682,60.424138],[-147.690048,60.398902],[-147.659973,60.352496],[-147.712013,60.272757],[-147.732115,60.222066],[-147.759916,60.190228],[-147.787821,60.177934],[-147.815831,60.185163],[-147.82167,60.20273],[-147.805287,60.230636],[-147.871356,60.229757],[-147.891433,60.299421],[-147.854898,60.321438],[-147.841695,60.351255],[-147.837611,60.371305],[-147.794539,60.459876],[-147.779139,60.466073],[-147.774179,60.44499],[-147.760226,60.438794],[-147.737281,60.447418],[-147.702968,60.486804],[-147.688576,60.491396],[-147.658268,60.450472]]],[[[-146.393928,60.449648],[-146.371681,60.422149],[-146.179546,60.428763],[-146.124255,60.423907],[-146.102238,60.411196],[-146.128284,60.392541],[-146.202389,60.367998],[-146.419172,60.32503],[-146.595335,60.26844],[-146.618332,60.273691],[-146.650448,60.335643],[-146.683006,60.360714],[-146.702874,60.395595],[-146.702564,60.408559],[-146.67024,60.432641],[-146.605928,60.46783],[-146.560299,60.480542],[-146.393928,60.449648]]],[[[-145.118528,60.337093],[-145.150462,60.312649],[-145.237641,60.321328],[-145.284254,60.336829],[-145.128138,60.401121],[-145.10243,60.388256],[-145.118528,60.337093]]],[[[-166.135435,60.383554],[-166.043632,60.33394],[-165.994926,60.33115],[-165.840931,60.346245],[-165.784449,60.335599],[-165.729697,60.314198],[-165.695824,60.281535],[-165.689364,60.224132],[-165.714401,60.172869],[-165.706934,60.100568],[-165.712335,60.069356],[-165.630583,60.028377],[-165.605028,59.97283],[-165.5918,59.913142],[-165.769307,59.893191],[-165.946739,59.890037],[-166.099831,59.84963],[-166.131198,59.819758],[-166.106677,59.77545],[-166.148716,59.764134],[-166.187551,59.773824],[-166.261603,59.814902],[-166.342968,59.834436],[-166.627654,59.86467],[-166.985047,59.983883],[-167.138863,60.008536],[-167.295106,60.095713],[-167.436415,60.206663],[-167.344354,60.224461],[-167.251724,60.233536],[-166.836323,60.217002],[-166.784387,60.296422],[-166.730954,60.316263],[-166.598973,60.338741],[-166.475699,60.382774],[-166.420379,60.381687],[-166.363871,60.364735],[-166.246953,60.391146],[-166.184942,60.396782],[-166.135435,60.383554]]],[[[-147.735886,59.813254],[-147.846318,59.798829],[-147.872468,59.828393],[-147.814331,59.90198],[-147.768081,59.943728],[-147.733664,59.953604],[-147.606695,60.03665],[-147.465825,60.097009],[-147.33653,60.185372],[-147.205246,60.311308],[-147.180881,60.358253],[-147.120006,60.363087],[-147.019857,60.332237],[-146.957873,60.288874],[-146.986734,60.254355],[-147.318471,60.0753],[-147.346349,60.051943],[-147.376529,59.991167],[-147.403813,59.969952],[-147.447583,59.960273],[-147.479416,59.933708],[-147.499312,59.890191],[-147.540214,59.867504],[-147.60207,59.865593],[-147.644936,59.853607],[-147.668759,59.831546],[-147.735886,59.813254]]],[[[-148.021761,60.065324],[-148.07416,60.034705],[-148.271873,60.053261],[-148.230688,60.113543],[-148.079588,60.151655],[-147.914197,60.092351],[-148.021761,60.065324]]],[[[-144.565641,59.818418],[-144.613596,59.812628],[-144.541559,59.878205],[-144.444926,59.950704],[-144.353973,59.996187],[-144.235738,60.015205],[-144.248968,59.982125],[-144.403246,59.921096],[-144.565641,59.818418]]],[[[-160.918983,58.577094],[-160.992388,58.561054],[-161.07024,58.56914],[-161.131503,58.668204],[-161.08458,58.67128],[-160.986241,58.736418],[-160.768605,58.789229],[-160.715145,58.795228],[-160.918983,58.577094]]],[[[-152.486089,58.485007],[-152.515518,58.478602],[-152.588613,58.509243],[-152.636621,58.541696],[-152.604892,58.566405],[-152.463169,58.618491],[-152.395526,58.61937],[-152.367928,58.611097],[-152.356846,58.59498],[-152.36227,58.570843],[-152.392812,58.540872],[-152.486089,58.485007]]],[[[-152.416944,58.360213],[-152.380771,58.352094],[-152.343022,58.411629],[-152.316279,58.413486],[-152.197939,58.363103],[-152.125232,58.374265],[-152.07854,58.312357],[-152.036633,58.306677],[-151.997771,58.314213],[-151.974387,58.309852],[-151.9825,58.244351],[-152.068905,58.177917],[-152.109107,58.161152],[-152.165461,58.178258],[-152.186544,58.184663],[-152.22357,58.214018],[-152.251684,58.251119],[-152.268375,58.25169],[-152.334365,58.208075],[-152.332659,58.18653],[-152.305221,58.154077],[-152.30925,58.133873],[-152.381134,58.12426],[-152.451619,58.12927],[-152.537661,58.101002],[-152.558228,58.118624],[-152.571354,58.168238],[-152.598226,58.162602],[-152.638766,58.101826],[-152.683052,58.06333],[-152.763875,58.031392],[-152.781522,58.015946],[-152.840716,58.013792],[-152.928437,57.99372],[-152.982569,57.997049],[-153.305468,58.063066],[-153.381329,58.087203],[-153.115817,58.238518],[-152.976134,58.297009],[-152.895365,58.293856],[-152.814542,58.275618],[-152.771857,58.278563],[-152.768707,58.34559],[-152.843922,58.395611],[-152.841104,58.416386],[-152.674655,58.450598],[-152.61228,58.445687],[-152.543577,58.428186],[-152.478464,58.399687],[-152.416944,58.360213]]],[[[-134.680274,58.161668],[-134.426127,58.138828],[-134.240096,58.143991],[-134.070159,57.994544],[-133.965515,57.873782],[-133.904123,57.789188],[-133.869291,57.707515],[-133.822731,57.628678],[-133.826917,57.61757],[-133.925024,57.670799],[-133.99554,57.778487],[-134.031658,57.820609],[-134.067237,57.839626],[-134.104728,57.879364],[-134.17754,57.982174],[-134.180281,58.011134],[-134.212603,58.037951],[-134.24994,58.049168],[-134.292314,58.04473],[-134.306887,58.034392],[-134.3004,57.963442],[-134.267095,57.884527],[-134.083695,57.71224],[-133.961142,57.614187],[-133.937016,57.581579],[-133.920866,57.491964],[-133.973754,57.45138],[-133.908825,57.368719],[-133.911149,57.352547],[-133.925305,57.33676],[-134.100026,57.30012],[-134.260146,57.146795],[-134.435301,57.056982],[-134.516018,57.042568],[-134.554777,57.057553],[-134.591521,57.091962],[-134.613093,57.137962],[-134.619531,57.195531],[-134.575888,57.231752],[-134.4892,57.420168],[-134.486772,57.482021],[-134.594801,57.567802],[-134.659889,57.638082],[-134.695133,57.736014],[-134.754091,57.995017],[-134.78148,58.077854],[-134.820108,58.146892],[-134.869981,58.202076],[-134.907653,58.262775],[-134.933125,58.328946],[-134.923489,58.354654],[-134.836983,58.320157],[-134.733195,58.225026],[-134.680274,58.161668]]],[[[-134.312727,58.228905],[-134.319857,58.204097],[-134.45623,58.206525],[-134.593999,58.24311],[-134.661597,58.290911],[-134.647974,58.312412],[-134.519973,58.332539],[-134.398898,58.287187],[-134.312727,58.228905]]],[[[-135.730369,58.244252],[-135.587481,58.146782],[-135.586295,58.124414],[-135.615386,58.057485],[-135.693104,58.038522],[-135.671142,58.011914],[-135.613244,57.991864],[-135.572029,58.008552],[-135.421187,58.102375],[-135.374731,58.122139],[-135.346617,58.124106],[-135.162854,58.095838],[-135.002091,58.05108],[-134.95468,58.015319],[-134.927983,57.952763],[-134.970643,57.817247],[-135.102578,57.793659],[-135.164771,57.796109],[-135.231222,57.815797],[-135.338476,57.768665],[-135.249542,57.732553],[-134.978839,57.724357],[-134.896617,57.648002],[-134.873106,57.589204],[-134.931499,57.481142],[-135.084851,57.511014],[-135.220219,57.573647],[-135.497844,57.662274],[-135.564223,57.666427],[-135.608564,57.650749],[-135.62066,57.596949],[-135.617814,57.480373],[-135.691945,57.419904],[-135.910765,57.446568],[-135.996656,57.534887],[-136.076598,57.674567],[-136.378233,57.839989],[-136.459906,57.873079],[-136.56861,57.972176],[-136.525098,58.050564],[-136.512283,58.095992],[-136.454379,58.108],[-136.369527,58.143035],[-136.321983,58.218874],[-136.245683,58.157482],[-136.143725,58.098475],[-136.142357,58.153923],[-136.094374,58.198154],[-135.994382,58.196528],[-135.947404,58.2058],[-135.881728,58.247142],[-135.787059,58.268488],[-135.730369,58.244252]]],[[[-152.898051,57.823916],[-152.890817,57.768984],[-152.850148,57.775697],[-152.696254,57.832287],[-152.616027,57.848876],[-152.511563,57.851458],[-152.428779,57.825673],[-152.411931,57.805931],[-152.419166,57.78231],[-152.485416,57.73441],[-152.482625,57.703297],[-152.411492,57.646091],[-152.236515,57.614912],[-152.215276,57.597696],[-152.216234,57.576998],[-152.336664,57.48223],[-152.380875,57.460114],[-152.412189,57.454786],[-152.630935,57.471815],[-152.831131,57.502873],[-152.912161,57.508168],[-152.940788,57.498094],[-152.997453,57.468947],[-152.956858,57.460367],[-152.781366,57.453391],[-152.71951,57.410863],[-152.692536,57.379595],[-152.679047,57.345131],[-152.714058,57.33097],[-152.789092,57.320632],[-152.879034,57.320819],[-152.990295,57.281982],[-153.051607,57.237641],[-153.274361,57.226347],[-153.443704,57.167208],[-153.503544,57.138006],[-153.524423,57.103081],[-153.588295,57.077702],[-153.732576,57.052335],[-153.646533,57.029593],[-153.633045,57.010367],[-153.631444,56.983703],[-153.643328,56.960764],[-153.757251,56.858338],[-153.972715,56.774205],[-154.027364,56.777984],[-154.050797,56.788476],[-154.070021,56.804538],[-154.070847,56.820666],[-153.79319,56.989493],[-153.804198,56.997788],[-153.879724,57.0035],[-153.999381,57.049951],[-154.083767,57.02009],[-154.102991,57.021221],[-154.08046,57.061036],[-154.025424,57.108475],[-154.035037,57.121834],[-154.065319,57.133667],[-154.134876,57.140753],[-154.243758,57.143027],[-154.324426,57.131788],[-154.376825,57.107036],[-154.381115,57.096511],[-154.269543,57.099466],[-154.23921,57.086854],[-154.209135,57.063343],[-154.19084,57.036152],[-154.184331,57.005302],[-154.207712,56.963807],[-154.260941,56.911776],[-154.338947,56.920916],[-154.498781,57.036569],[-154.569319,57.205913],[-154.705951,57.335365],[-154.712205,57.366269],[-154.673214,57.446107],[-154.535316,57.559431],[-154.387083,57.590467],[-154.281431,57.638082],[-154.179343,57.652452],[-154.116169,57.65121],[-154.029844,57.630699],[-153.995039,57.587281],[-154.015864,57.566879],[-154.007907,57.556179],[-153.947342,57.530075],[-153.881869,57.439032],[-153.80544,57.358205],[-153.754589,57.325367],[-153.687718,57.30513],[-153.756913,57.366829],[-153.797815,57.443261],[-153.818357,57.595609],[-153.838149,57.635863],[-153.799444,57.646662],[-153.690149,57.640719],[-153.693146,57.663405],[-153.808488,57.714722],[-153.879438,57.757196],[-153.906105,57.790792],[-153.904424,57.819884],[-153.841535,57.862829],[-153.805827,57.875068],[-153.769006,57.880396],[-153.695626,57.871245],[-153.662656,57.857808],[-153.56858,57.761074],[-153.524473,57.731026],[-153.487938,57.730949],[-153.454039,57.747022],[-153.422723,57.779157],[-153.390426,57.798383],[-153.357145,57.804689],[-153.252396,57.790473],[-153.217465,57.795747],[-153.200307,57.820037],[-153.20103,57.863291],[-153.175192,57.878847],[-153.168837,57.910653],[-153.225938,57.957597],[-153.160465,57.971967],[-152.943268,57.93602],[-152.850406,57.896777],[-152.898051,57.823916]]],[[[-153.240641,57.850085],[-153.268571,57.822366],[-153.294979,57.829464],[-153.350842,57.86195],[-153.465045,57.909389],[-153.517084,57.941887],[-153.520081,57.955741],[-153.481066,57.971033],[-153.346966,57.93279],[-153.290044,57.897908],[-153.240641,57.850085]]],[[[-134.969764,57.351438],[-134.884889,57.241695],[-134.823184,57.156562],[-134.768516,57.054191],[-134.676835,56.842265],[-134.634099,56.76212],[-134.620717,56.718295],[-134.610566,56.603422],[-134.624332,56.578714],[-134.651721,56.556027],[-134.657098,56.523244],[-134.631698,56.43565],[-134.630045,56.302452],[-134.654022,56.22747],[-134.6819,56.216154],[-134.750296,56.240753],[-134.806469,56.28127],[-134.847991,56.323491],[-134.950153,56.45681],[-134.980541,56.518926],[-134.982398,56.56363],[-134.966644,56.596127],[-134.933179,56.616342],[-134.875122,56.670439],[-134.883444,56.679074],[-134.927598,56.666978],[-135.017796,56.660156],[-135.09715,56.702849],[-135.159031,56.725371],[-135.146578,56.802319],[-135.163112,56.824127],[-135.284808,56.800352],[-135.330599,56.821853],[-135.340651,56.850769],[-135.338377,56.894],[-135.315147,56.931826],[-135.199598,57.027319],[-135.211254,57.044941],[-135.267373,57.048874],[-135.341371,57.08158],[-135.375297,57.188444],[-135.454931,57.249429],[-135.501953,57.243848],[-135.608927,57.071451],[-135.66187,57.033724],[-135.812327,57.009543],[-135.781654,57.05752],[-135.767701,57.100389],[-135.821138,57.230412],[-135.822737,57.280433],[-135.787136,57.317281],[-135.680887,57.332574],[-135.624505,57.354382],[-135.580582,57.390011],[-135.56965,57.424683],[-135.48728,57.516485],[-135.44868,57.534371],[-135.346282,57.533129],[-135.130659,57.431638],[-135.065235,57.416707],[-134.969764,57.351438]]],[[[-170.160565,57.183951],[-170.263995,57.136776],[-170.357994,57.154211],[-170.385874,57.188554],[-170.386622,57.203023],[-170.116174,57.241783],[-170.160565,57.183951]]],[[[-153.007088,57.124833],[-153.134213,57.092589],[-153.156821,57.093929],[-153.235422,57.028615],[-153.295391,57.000424],[-153.374586,57.051917],[-153.35433,57.131909],[-153.285212,57.185039],[-152.935465,57.167307],[-152.908414,57.152431],[-152.907741,57.139742],[-152.933425,57.129228],[-153.007088,57.124833]]],[[[-133.366221,57.0035],[-133.299716,56.972178],[-133.263538,57.004973],[-133.195999,57.003468],[-133.070788,56.974277],[-132.996218,56.93043],[-132.954152,56.880278],[-132.950587,56.850461],[-132.963325,56.782576],[-132.953998,56.713077],[-132.959167,56.677053],[-132.975855,56.647236],[-133.004123,56.623725],[-133.034923,56.620726],[-133.132383,56.68326],[-133.244004,56.795859],[-133.328961,56.83007],[-133.3324,56.818491],[-133.309065,56.786246],[-133.239719,56.725689],[-133.227261,56.689259],[-133.178481,56.644808],[-133.156619,56.611124],[-133.144221,56.566882],[-133.144737,56.528232],[-133.158173,56.495152],[-133.180805,56.47397],[-133.212665,56.464621],[-133.382756,56.473894],[-133.484198,56.451745],[-133.602795,56.464094],[-133.631349,56.484045],[-133.649279,56.516806],[-133.65832,56.596292],[-133.688165,56.710023],[-133.68098,56.797518],[-133.757543,56.876685],[-133.823066,56.924377],[-133.917296,56.96707],[-133.979467,57.009598],[-133.962362,57.043447],[-133.865984,57.068715],[-133.707726,57.062827],[-133.366221,57.0035]]],[[[-133.989597,56.844957],[-133.924788,56.77571],[-133.830872,56.781291],[-133.778132,56.728886],[-133.738367,56.650444],[-133.767283,56.600115],[-133.809009,56.611322],[-133.855261,56.582175],[-133.883579,56.485495],[-133.870455,56.388651],[-133.884611,56.292125],[-133.93851,56.193676],[-133.9497,56.127714],[-133.970783,56.107917],[-133.994013,56.101127],[-134.024039,56.119002],[-134.067468,56.13301],[-134.122427,56.077408],[-134.189581,56.076968],[-134.245056,56.203267],[-134.195469,56.413513],[-134.084398,56.456348],[-134.150491,56.513499],[-134.290249,56.58001],[-134.278389,56.617111],[-134.384401,56.72403],[-134.390603,56.749486],[-134.373679,56.838651],[-134.274434,56.918181],[-134.143279,56.932342],[-134.051812,56.898284],[-134.000599,56.869193],[-133.989597,56.844957]]],[[[-132.746878,56.525694],[-132.757628,56.511016],[-132.884702,56.512467],[-132.930795,56.524453],[-132.948027,56.567244],[-132.936249,56.606828],[-132.906531,56.637425],[-132.870645,56.696389],[-132.842531,56.794771],[-132.655878,56.68471],[-132.598673,56.635711],[-132.567977,56.575825],[-132.634224,56.553446],[-132.714479,56.542547],[-132.746878,56.525694]]],[[[-169.755214,56.635041],[-169.623904,56.615145],[-169.550498,56.62812],[-169.485696,56.617738],[-169.474327,56.594062],[-169.586878,56.542437],[-169.632611,56.5457],[-169.766169,56.607938],[-169.755214,56.635041]]],[[[-154.208643,56.514895],[-154.257788,56.512675],[-154.332124,56.539031],[-154.322204,56.570606],[-154.216757,56.60874],[-154.110382,56.602928],[-154.102268,56.581658],[-154.107176,56.557785],[-154.115963,56.543887],[-154.149809,56.529572],[-154.208643,56.514895]]],[[[-154.6828,56.435782],[-154.75122,56.412139],[-154.773931,56.42028],[-154.777161,56.439913],[-154.760934,56.471125],[-154.729362,56.502128],[-154.623734,56.561301],[-154.517541,56.600522],[-154.463356,56.598204],[-154.444882,56.573188],[-154.511182,56.521431],[-154.6828,56.435782]]],[[[-132.112346,56.109389],[-132.132935,55.943254],[-132.172623,55.952636],[-132.210295,55.952966],[-132.28732,55.9294],[-132.36858,55.939738],[-132.406588,55.958184],[-132.420595,55.979531],[-132.406049,56.028881],[-132.451159,56.056369],[-132.602963,56.0664],[-132.659905,56.078177],[-132.691381,56.130065],[-132.699027,56.19817],[-132.675203,56.223625],[-132.598722,56.241632],[-132.539011,56.324183],[-132.505964,56.335268],[-132.379847,56.498778],[-132.316494,56.487484],[-132.20562,56.387926],[-132.066896,56.244213],[-132.112346,56.109389]]],[[[-132.779897,56.247268],[-132.830956,56.244169],[-132.891442,56.259407],[-133.035028,56.340904],[-133.037664,56.364832],[-133.017092,56.392012],[-132.935497,56.44177],[-132.902038,56.453767],[-132.70608,56.448493],[-132.643343,56.435156],[-132.62911,56.411909],[-132.632263,56.388288],[-132.65283,56.36436],[-132.657581,56.3393],[-132.646573,56.313207],[-132.669392,56.287313],[-132.779897,56.247268]]],[[[-133.566107,56.339201],[-133.376636,56.317756],[-133.203003,56.319843],[-133.143704,56.278579],[-133.104478,56.235095],[-133.081741,56.194193],[-133.075435,56.15585],[-133.080115,56.128714],[-133.101226,56.099776],[-133.096622,56.090042],[-132.757573,55.99501],[-132.597612,55.895035],[-132.533765,55.842487],[-132.496972,55.798091],[-132.430153,55.686987],[-132.288869,55.558106],[-132.214766,55.51883],[-132.1727,55.480598],[-132.196342,55.479147],[-132.295873,55.50747],[-132.51126,55.593922],[-132.528854,55.590461],[-132.548339,55.543692],[-132.581748,55.502658],[-132.63128,55.473182],[-132.591592,55.464371],[-132.417854,55.482916],[-132.272021,55.39864],[-132.215283,55.383544],[-132.160247,55.322977],[-132.15839,55.299829],[-132.190426,55.255004],[-132.214871,55.236789],[-132.206708,55.224429],[-132.165981,55.218024],[-132.005092,55.230637],[-131.976434,55.208598],[-132.000385,55.03385],[-131.977599,54.969459],[-131.977934,54.940213],[-131.996561,54.901398],[-131.997209,54.868615],[-131.98274,54.83492],[-131.980878,54.804818],[-132.021703,54.72632],[-132.064748,54.713126],[-132.134308,54.712554],[-132.18924,54.734846],[-132.266314,54.802335],[-132.341323,54.907243],[-132.370212,54.922228],[-132.468627,54.937939],[-132.48648,54.950397],[-132.549371,54.952595],[-132.593866,54.995738],[-132.588488,55.052351],[-132.626962,55.110051],[-132.622183,55.135967],[-132.665332,55.146767],[-132.701741,55.13054],[-132.68285,55.07395],[-132.704141,55.030081],[-132.782303,55.048472],[-132.912607,55.188493],[-133.060582,55.300916],[-133.118535,55.327657],[-133.103005,55.360242],[-133.03004,55.377546],[-132.970818,55.376151],[-132.958909,55.395563],[-133.082466,55.504108],[-133.078407,55.534903],[-133.033402,55.589681],[-133.089624,55.612576],[-133.243773,55.595416],[-133.298265,55.606885],[-133.342809,55.65082],[-133.369012,55.688953],[-133.502726,55.695875],[-133.553264,55.691173],[-133.640495,55.748796],[-133.680183,55.785172],[-133.664418,55.803826],[-133.584064,55.836544],[-133.537141,55.83194],[-133.446965,55.797004],[-133.411721,55.798355],[-133.322139,55.84463],[-133.308472,55.886455],[-133.241527,55.92082],[-133.252172,55.957075],[-133.289224,56.018697],[-133.371231,56.035913],[-133.538613,55.999273],[-133.68421,55.942792],[-133.742531,55.964853],[-133.755187,55.999471],[-133.599203,56.093635],[-133.530862,56.145666],[-133.54409,56.176516],[-133.594424,56.216363],[-133.59861,56.316251],[-133.566107,56.339201]]],[[[-130.979134,55.489167],[-131.013911,55.379282],[-131.08274,55.266804],[-131.18788,55.206291],[-131.261878,55.219782],[-131.316321,55.268518],[-131.366836,55.265826],[-131.42068,55.2759],[-131.450936,55.316286],[-131.422361,55.368427],[-131.44758,55.408791],[-131.474502,55.37347],[-131.521837,55.341071],[-131.641285,55.29895],[-131.723661,55.218332],[-131.76252,55.165828],[-131.810991,55.223111],[-131.842,55.358693],[-131.846082,55.416251],[-131.759471,55.503076],[-131.647564,55.58555],[-131.62496,55.831688],[-131.269217,55.955394],[-131.23617,55.948989],[-131.120671,55.856638],[-130.997789,55.727658],[-130.965956,55.669518],[-130.965022,55.568027],[-130.979134,55.489167]]],[[[-155.566002,55.821196],[-155.60489,55.789566],[-155.680622,55.79184],[-155.723202,55.802178],[-155.737361,55.829798],[-155.620626,55.913074],[-155.593959,55.924335],[-155.573239,55.921083],[-155.563936,55.886663],[-155.566002,55.821196]]],[[[-133.305088,55.543747],[-133.283203,55.515633],[-133.281704,55.497857],[-133.426476,55.431445],[-133.429085,55.417701],[-133.463088,55.376667],[-133.493476,55.361682],[-133.547375,55.317242],[-133.650185,55.269287],[-133.634991,55.413306],[-133.737131,55.496923],[-133.634238,55.539243],[-133.5667,55.527202],[-133.454771,55.522291],[-133.345578,55.559095],[-133.305088,55.543747]]],[[[-160.684914,55.314814],[-160.669722,55.314243],[-160.638821,55.321944],[-160.573966,55.378271],[-160.552778,55.380754],[-160.552468,55.363362],[-160.583164,55.307629],[-160.531177,55.233196],[-160.482677,55.197403],[-160.487539,55.184846],[-160.609081,55.159006],[-160.701789,55.177617],[-160.750623,55.171212],[-160.79509,55.145218],[-160.825476,55.174002],[-160.846534,55.311353],[-160.839662,55.33538],[-160.789199,55.383083],[-160.723932,55.404627],[-160.695664,55.398321],[-160.672175,55.379381],[-160.666336,55.359407],[-160.684914,55.314814]]],[[[-160.329278,55.337709],[-160.343308,55.258795],[-160.480741,55.30898],[-160.517482,55.333831],[-160.492939,55.352332],[-160.3623,55.356979],[-160.329278,55.337709]]],[[[-132.862273,54.894422],[-132.837724,54.880942],[-132.812895,54.890445],[-132.772306,54.926052],[-132.700653,54.91902],[-132.648875,54.907067],[-132.617223,54.892412],[-132.634016,54.840479],[-132.646963,54.756137],[-132.676648,54.726221],[-132.705822,54.684155],[-132.807286,54.709116],[-132.889585,54.762652],[-133.008929,54.854838],[-133.075413,54.92135],[-133.080555,54.949442],[-133.122698,54.969821],[-133.204629,55.084497],[-133.251162,55.175134],[-133.324852,55.185516],[-133.417972,55.210718],[-133.45381,55.260344],[-133.429036,55.303806],[-133.296563,55.325723],[-133.097402,55.21374],[-133.067064,55.166191],[-132.995751,55.110589],[-132.982189,55.033026],[-132.946016,55.002582],[-132.862273,54.894422]]],[[[-159.872975,55.128749],[-159.933954,55.106843],[-159.953073,55.078959],[-159.999427,55.067204],[-160.038418,55.044495],[-160.169597,54.941685],[-160.227061,54.92269],[-160.163577,55.010438],[-160.153604,55.038343],[-160.152415,55.056899],[-160.172077,55.123048],[-160.133735,55.120147],[-160.10221,55.133891],[-160.038753,55.192547],[-159.981651,55.197766],[-159.920466,55.267529],[-159.887367,55.273011],[-159.871063,55.263552],[-159.898243,55.221276],[-159.839411,55.182374],[-159.854111,55.144702],[-159.872975,55.128749]]],[[[-131.339727,55.079838],[-131.237461,54.949518],[-131.232034,54.903782],[-131.329521,54.887764],[-131.406183,54.894301],[-131.44569,54.909341],[-131.456105,54.930545],[-131.431326,54.996485],[-131.481736,55.035245],[-131.54003,55.048472],[-131.59222,55.025687],[-131.595115,55.090748],[-131.555993,55.137407],[-131.577828,55.20082],[-131.578477,55.248775],[-131.565452,55.264123],[-131.512663,55.262728],[-131.404634,55.213322],[-131.339727,55.079838]]],[[[-159.515117,55.151876],[-159.520385,55.072148],[-159.534986,55.059634],[-159.561496,55.080926],[-159.617718,55.057316],[-159.648491,55.074576],[-159.635417,55.102316],[-159.639655,55.12397],[-159.597954,55.125706],[-159.588031,55.165312],[-159.595268,55.182011],[-159.574751,55.217717],[-159.545088,55.225978],[-159.515117,55.151876]]],[[[-159.361998,54.972403],[-159.394476,54.967338],[-159.421349,54.978138],[-159.458477,55.034937],[-159.461916,55.05881],[-159.390422,55.040881],[-159.363187,54.999506],[-159.361998,54.972403]]],[[[-163.476037,54.980731],[-163.378962,54.815518],[-163.336898,54.783218],[-163.274525,54.765596],[-163.187089,54.747766],[-163.13505,54.723277],[-163.089265,54.686066],[-163.083271,54.669016],[-163.358085,54.735681],[-163.53084,54.63832],[-163.583033,54.625663],[-164.073313,54.621005],[-164.171266,54.603021],[-164.234621,54.571347],[-164.346682,54.482413],[-164.403499,54.447839],[-164.463495,54.427327],[-164.590801,54.404333],[-164.743788,54.407475],[-164.823423,54.419077],[-164.866184,54.461374],[-164.903935,54.544782],[-164.903701,54.567985],[-164.887656,54.607833],[-164.751488,54.662918],[-164.706194,54.691988],[-164.529796,54.880832],[-164.478637,54.906826],[-164.424299,54.913187],[-164.273689,54.900058],[-164.145066,54.955143],[-163.867977,55.039123],[-163.807153,55.049099],[-163.607476,55.050856],[-163.553009,55.037827],[-163.510893,55.014294],[-163.476037,54.980731]]],[[[-162.29815,54.847038],[-162.321921,54.842391],[-162.390754,54.872977],[-162.415766,54.895872],[-162.433904,54.931534],[-162.293654,54.982851],[-162.264612,54.983521],[-162.23836,54.954737],[-162.233761,54.93205],[-162.27257,54.867198],[-162.29815,54.847038]]],[[[-162.554413,54.401356],[-162.641127,54.379526],[-162.73311,54.402311],[-162.81171,54.444378],[-162.820548,54.494553],[-162.64539,54.462055],[-162.60795,54.446652],[-162.554413,54.401356]]],[[[-165.561155,54.136695],[-165.604821,54.129147],[-165.615364,54.13954],[-165.620532,54.183541],[-165.654147,54.253304],[-165.590352,54.278649],[-165.550613,54.284538],[-165.533767,54.273892],[-165.487671,54.221883],[-165.44173,54.208007],[-165.407857,54.196845],[-165.467595,54.180926],[-165.561155,54.136695]]],[[[-165.841552,54.070656],[-165.879379,54.053034],[-165.909841,54.049156],[-165.932889,54.059153],[-166.036423,54.047189],[-166.056654,54.054319],[-166.102827,54.113953],[-166.105825,54.144814],[-166.087738,54.169149],[-166.04128,54.191242],[-165.966402,54.211028],[-165.892866,54.206974],[-165.76445,54.152098],[-165.704247,54.119897],[-165.692878,54.099924],[-165.737914,54.081093],[-165.841552,54.070656]]],[[[-166.615355,53.90095],[-166.572178,53.853456],[-166.497481,53.883537],[-166.442755,53.924802],[-166.400044,53.978096],[-166.37232,53.998981],[-166.33563,53.970922],[-166.230881,53.932602],[-166.31899,53.87377],[-166.488747,53.785506],[-166.545617,53.726487],[-166.549209,53.700955],[-166.384723,53.720522],[-166.338782,53.717654],[-166.309455,53.697494],[-166.354517,53.673522],[-166.444177,53.651813],[-166.522001,53.609648],[-166.702196,53.536677],[-166.770409,53.47601],[-166.850999,53.452862],[-166.960733,53.44738],[-167.153642,53.407851],[-167.270792,53.370596],[-167.300455,53.350491],[-167.337274,53.340977],[-167.381302,53.342021],[-167.428793,53.325684],[-167.479823,53.291989],[-167.522482,53.276235],[-167.592194,53.272719],[-167.628625,53.259437],[-167.669424,53.259953],[-167.780864,53.300262],[-167.808769,53.323773],[-167.710094,53.370904],[-167.638702,53.386559],[-167.530182,53.39369],[-167.423521,53.43725],[-167.204078,53.494973],[-167.136097,53.526448],[-167.092353,53.635949],[-167.042408,53.654604],[-167.015743,53.698373],[-166.894149,53.697132],[-166.838339,53.648045],[-166.818727,53.641376],[-166.808986,53.646133],[-166.803663,53.68541],[-166.741263,53.712952],[-166.777256,53.733156],[-166.889601,53.758578],[-166.972929,53.770565],[-167.027266,53.769125],[-167.071501,53.783386],[-167.105608,53.813356],[-167.121164,53.843118],[-167.118166,53.872628],[-167.090468,53.905652],[-167.038067,53.942182],[-166.978097,53.962935],[-166.848673,53.977899],[-166.734055,54.002178],[-166.673284,54.005958],[-166.627394,53.995674],[-166.615355,53.90095]]],[[[-166.209746,53.723279],[-166.223828,53.720412],[-166.249433,53.745142],[-166.250751,53.767774],[-166.234369,53.784188],[-166.187732,53.822475],[-166.154555,53.836142],[-166.113731,53.843074],[-166.102672,53.832791],[-166.138639,53.787418],[-166.183753,53.756898],[-166.209746,53.723279]]],[[[-167.964367,53.345119],[-168.27068,53.238046],[-168.370131,53.159758],[-168.445991,53.084413],[-168.505627,53.043171],[-168.549035,53.036096],[-168.597404,53.016089],[-168.698534,52.963432],[-168.741013,52.956873],[-169.065928,52.833936],[-169.088898,52.832024],[-169.07311,52.86416],[-168.973867,52.909687],[-168.909167,52.951182],[-168.836097,53.019737],[-168.795867,53.044929],[-168.783024,53.079349],[-168.777806,53.148793],[-168.759615,53.175051],[-168.689827,53.227247],[-168.639029,53.255767],[-168.572186,53.265633],[-168.436638,53.25691],[-168.380414,53.283442],[-168.362973,53.303569],[-168.397262,53.321916],[-168.405323,53.353798],[-168.396433,53.408785],[-168.357212,53.457564],[-168.287707,53.500147],[-168.193061,53.533326],[-168.073276,53.55699],[-167.98571,53.558177],[-167.828097,53.507947],[-167.804688,53.484953],[-167.843108,53.43457],[-167.865148,53.387306],[-167.964367,53.345119]]],[[[-169.691962,52.847372],[-169.708084,52.807107],[-169.722762,52.792331],[-169.877326,52.813754],[-169.980549,52.806031],[-169.991841,52.829849],[-169.982564,52.851042],[-169.820637,52.883386],[-169.754904,52.883649],[-169.710979,52.866752],[-169.691962,52.847372]]],[[[-170.733397,52.581492],[-170.797347,52.549764],[-170.81608,52.561541],[-170.827035,52.600718],[-170.791172,52.63126],[-170.682083,52.697563],[-170.608057,52.685082],[-170.58462,52.667581],[-170.586636,52.642422],[-170.614025,52.609606],[-170.649268,52.593116],[-170.692263,52.592962],[-170.733397,52.581492]]],[[[-174.677394,52.03501],[-175.213873,51.99391],[-175.295548,52.022145],[-175.214158,52.038218],[-175.117652,52.047106],[-174.915933,52.094183],[-174.667757,52.134953],[-174.474254,52.184051],[-174.306151,52.216142],[-174.258815,52.269063],[-174.406507,52.29598],[-174.435548,52.317216],[-174.36545,52.341924],[-174.306874,52.377938],[-174.168898,52.420191],[-174.045624,52.367248],[-174.018339,52.331795],[-174.030096,52.289783],[-174.0549,52.246014],[-174.163214,52.223371],[-174.179389,52.200333],[-174.120633,52.135217],[-174.343539,52.07778],[-174.677394,52.03501]]],[[[-172.46479,52.272293],[-172.539127,52.257483],[-172.619846,52.272831],[-172.582199,52.325643],[-172.543675,52.353812],[-172.470398,52.388012],[-172.383115,52.372928],[-172.31361,52.329576],[-172.46479,52.272293]]],[[[-173.553303,52.136304],[-173.357242,52.095633],[-173.113304,52.10039],[-173.024317,52.090513],[-173.022896,52.079142],[-173.178881,52.062509],[-173.232212,52.06798],[-173.36843,52.045612],[-173.461009,52.041547],[-173.672572,52.062663],[-173.835792,52.048194],[-173.878942,52.053665],[-173.930205,52.072144],[-173.989581,52.103587],[-173.9925,52.123329],[-173.938913,52.131283],[-173.794115,52.104312],[-173.779,52.118375],[-173.656837,52.143742],[-173.553303,52.136304]]],[[[-176.02155,52.002436],[-176.045089,51.973003],[-176.142861,52.004314],[-176.177535,52.029847],[-176.184511,52.056049],[-176.155676,52.099401],[-176.077412,52.099972],[-176.031214,52.082295],[-175.988063,52.049479],[-175.975274,52.028946],[-176.02155,52.002436]]],[[[-176.593298,51.8667],[-176.587924,51.833191],[-176.473383,51.837377],[-176.437467,51.820096],[-176.437338,51.75431],[-176.452351,51.73571],[-176.469766,51.731161],[-176.511003,51.74563],[-176.557538,51.712034],[-176.770961,51.629944],[-176.837107,51.675867],[-176.961622,51.603676],[-176.874418,51.790488],[-176.773623,51.818744],[-176.736416,51.839937],[-176.745123,51.89466],[-176.698356,51.986055],[-176.596812,51.981793],[-176.54989,51.944065],[-176.551595,51.919566],[-176.593298,51.8667]]],[[[-177.1482,51.716736],[-177.176983,51.703718],[-177.2299,51.693533],[-177.382371,51.704849],[-177.474665,51.70129],[-177.577605,51.694214],[-177.654887,51.676592],[-177.670235,51.701081],[-177.667625,51.721186],[-177.3347,51.776216],[-177.257288,51.804957],[-177.209747,51.841277],[-177.16639,51.909437],[-177.131508,51.929805],[-177.110037,51.928773],[-177.063037,51.9019],[-177.079522,51.866546],[-177.121379,51.835773],[-177.135125,51.806912],[-177.1482,51.716736]]],[[[-177.879034,51.64972],[-177.901254,51.616387],[-177.925362,51.617365],[-178.058894,51.672604],[-178.078479,51.691259],[-178.000034,51.717461],[-177.977245,51.737775],[-177.986365,51.764285],[-178.045122,51.801078],[-178.153487,51.848254],[-178.194518,51.882212],[-178.168241,51.903032],[-178.116616,51.915853],[-177.953809,51.918434],[-177.865856,51.860405],[-177.799607,51.840036],[-177.6445,51.826292],[-177.724961,51.801672],[-177.770642,51.777897],[-177.826969,51.685887],[-177.879034,51.64972]]],[[[-176.008967,51.812372],[-176.093355,51.790488],[-176.204433,51.834817],[-176.193659,51.886288],[-176.071625,51.843299],[-176.008967,51.812372]]],[[[-176.286702,51.791982],[-176.349644,51.733282],[-176.396101,51.759836],[-176.413722,51.840585],[-176.378582,51.861119],[-176.280217,51.802836],[-176.286702,51.791982]]]]}},{"type":"Feature","properties":{"name":"Alabama"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-87.489511,30.377683],[-87.513252,30.368125],[-87.622269,30.264765],[-88.005934,30.230916],[-87.985016,30.254383],[-87.903981,30.259085],[-87.790294,30.291792],[-87.813289,30.346877],[-87.857113,30.40739],[-87.897631,30.414135],[-87.924284,30.449643],[-87.922998,30.56155],[-87.948871,30.626919],[-88.011317,30.694177],[-88.032422,30.681224],[-88.078367,30.566197],[-88.116555,30.415322],[-88.135441,30.366598],[-88.249215,30.363181],[-88.349927,30.373464],[-88.399585,30.370805],[-88.412758,30.576579],[-88.423261,30.764303],[-88.433742,30.952015],[-88.444234,31.139706],[-88.454726,31.327385],[-88.465217,31.515108],[-88.475709,31.702821],[-88.48619,31.890511],[-88.461779,32.075246],[-88.437367,32.25997],[-88.412977,32.444684],[-88.388555,32.62943],[-88.364132,32.814176],[-88.339743,32.998889],[-88.315331,33.183613],[-88.290908,33.368348],[-88.266519,33.553094],[-88.242096,33.737807],[-88.217684,33.922532],[-88.193295,34.107278],[-88.168883,34.292013],[-88.144461,34.476737],[-88.12006,34.66145],[-88.095648,34.846196],[-88.089474,34.893064],[-88.088211,34.909082],[-88.084772,34.933109],[-88.173267,34.999005],[-88.19079,35.012046],[-88.203139,35.024197],[-88.190427,35.024999],[-88.029994,35.023494],[-87.869594,35.021966],[-87.70916,35.02045],[-87.548738,35.018945],[-87.388305,35.017451],[-87.227871,35.015946],[-87.067449,35.014452],[-86.907015,35.012925],[-86.746582,35.011409],[-86.58616,35.009903],[-86.425726,35.008409],[-86.265293,35.006904],[-86.104871,35.00541],[-85.944437,35.003861],[-85.784037,35.002356],[-85.623604,35.000862],[-85.59717,34.873069],[-85.57077,34.745265],[-85.544359,34.617472],[-85.517948,34.489679],[-85.491548,34.36193],[-85.465115,34.234137],[-85.438682,34.106344],[-85.412271,33.978551],[-85.38587,33.850747],[-85.359459,33.722954],[-85.333059,33.595161],[-85.306626,33.46739],[-85.280193,33.339619],[-85.253782,33.211826],[-85.227382,33.084022],[-85.200971,32.956229],[-85.176317,32.898221],[-85.156531,32.804277],[-85.015038,32.526158],[-84.973905,32.409286],[-84.985968,32.360946],[-84.9685,32.319813],[-84.921533,32.285887],[-84.929696,32.246556],[-84.992977,32.201831],[-85.034627,32.147372],[-85.064564,32.051043],[-85.06441,32.050527],[-85.124132,31.880536],[-85.124824,31.77677],[-85.067201,31.635387],[-85.067047,31.635178],[-85.054885,31.572677],[-85.092601,31.295711],[-85.067443,31.117579],[-85.007282,31.001673],[-85.330005,31.001102],[-85.653399,31.001058],[-85.976792,31.001003],[-86.300175,31.000948],[-86.623568,31.000893],[-86.94694,31.000849],[-87.2703,31.000794],[-87.593694,31.000739],[-87.607438,30.929328],[-87.601055,30.860598],[-87.566195,30.795636],[-87.421659,30.671589],[-87.408278,30.641465],[-87.43381,30.545938],[-87.429382,30.477856],[-87.444807,30.442557],[-87.480106,30.411707],[-87.489511,30.377683]]],[[[-88.071336,30.25234],[-88.159314,30.230916],[-88.289722,30.232938],[-88.316254,30.240453],[-88.263937,30.254713],[-88.10937,30.27373],[-88.071336,30.25234]]]]}},{"type":"Feature","properties":{"name":"Arkansas"},"geometry":{"type":"Polygon","coordinates":[[[-89.704772,36.001573],[-89.70932,35.98305],[-89.689171,35.943599],[-89.688908,35.920956],[-89.703772,35.906904],[-89.738214,35.898741],[-89.763593,35.888766],[-89.768932,35.8721],[-89.769943,35.864299],[-89.768108,35.845249],[-89.763593,35.828044],[-89.779655,35.805742],[-89.894561,35.750503],[-89.943505,35.679136],[-89.92652,35.591652],[-89.967345,35.50331],[-90.066024,35.414112],[-90.107882,35.314203],[-90.092919,35.203592],[-90.14227,35.114296],[-90.255956,35.046389],[-90.29376,35.004476],[-90.293705,35.001114],[-90.293419,34.970067],[-90.282104,34.945304],[-90.31994,34.899161],[-90.41595,34.851623],[-90.467575,34.805261],[-90.47476,34.760052],[-90.497216,34.738091],[-90.53925,34.72817],[-90.563848,34.661164],[-90.584008,34.503708],[-90.635424,34.413873],[-90.718107,34.391703],[-90.762338,34.356426],[-90.768117,34.308108],[-90.817215,34.25222],[-90.90972,34.188763],[-90.940251,34.128558],[-90.908786,34.071561],[-90.914729,34.048622],[-90.943107,34.029681],[-91.043148,34.002864],[-91.060353,33.989296],[-91.070175,33.9742],[-91.05007,33.945163],[-91.038183,33.901394],[-91.052707,33.827599],[-91.077151,33.796694],[-91.100299,33.767449],[-91.184125,33.71567],[-91.207482,33.675669],[-91.17037,33.647456],[-91.172721,33.616683],[-91.214579,33.583406],[-91.202714,33.546975],[-91.192958,33.52253],[-91.15433,33.500206],[-91.141015,33.438507],[-91.168459,33.35946],[-91.163339,33.294454],[-91.117306,33.240819],[-91.106781,33.217923],[-91.152858,33.040571],[-91.149958,33.015918],[-91.346173,33.015193],[-91.525855,33.014984],[-91.705536,33.014786],[-91.885207,33.014544],[-92.064899,33.014314],[-92.244569,33.014105],[-92.424251,33.013907],[-92.603927,33.013699],[-92.783608,33.01349],[-92.963284,33.013281],[-93.142965,33.013072],[-93.322619,33.012842],[-93.502273,33.012611],[-93.681949,33.012402],[-93.861631,33.012193],[-94.041307,33.011996],[-94.042806,33.147589],[-94.044306,33.283215],[-94.045805,33.418841],[-94.047327,33.554435],[-94.098798,33.57733],[-94.191534,33.589009],[-94.238456,33.581208],[-94.294679,33.58746],[-94.33256,33.565036],[-94.357674,33.560972],[-94.377955,33.566113],[-94.390122,33.585603],[-94.432008,33.599731],[-94.484149,33.648434],[-94.481331,33.75711],[-94.47854,33.865787],[-94.475728,33.974464],[-94.47291,34.083141],[-94.470092,34.191817],[-94.467279,34.300494],[-94.464461,34.409171],[-94.461643,34.517837],[-94.458831,34.626514],[-94.456013,34.73519],[-94.453195,34.843867],[-94.450377,34.952544],[-94.447564,35.061221],[-94.444746,35.169897],[-94.441956,35.278574],[-94.439138,35.387251],[-94.461539,35.526459],[-94.483968,35.665655],[-94.506369,35.804841],[-94.52877,35.94406],[-94.551177,36.083279],[-94.573578,36.222465],[-94.595979,36.361661],[-94.61838,36.500869],[-94.339871,36.500869],[-94.061357,36.500869],[-93.782848,36.500869],[-93.504339,36.500869],[-93.22583,36.500869],[-92.947321,36.500869],[-92.668806,36.500869],[-92.390298,36.500869],[-92.111789,36.500869],[-91.833285,36.500869],[-91.55476,36.500869],[-91.276256,36.500869],[-90.997753,36.500869],[-90.719239,36.500869],[-90.440746,36.500869],[-90.162243,36.500869],[-90.118078,36.422537],[-90.074473,36.371835],[-90.067057,36.334272],[-90.075659,36.296721],[-90.149279,36.215928],[-90.216164,36.178409],[-90.25255,36.137738],[-90.303043,36.099374],[-90.381068,35.99274],[-90.21679,35.994938],[-90.052489,35.997135],[-89.888178,35.999332],[-89.704772,36.001573]]]}},{"type":"Feature","properties":{"name":"Arizona"},"geometry":{"type":"Polygon","coordinates":[[[-109.047807,31.327879],[-109.274774,31.327473],[-109.628215,31.326825],[-109.981651,31.326155],[-110.335092,31.325528],[-110.688533,31.324858],[-111.041974,31.32421],[-111.51621,31.47224],[-111.990473,31.620237],[-112.464731,31.768244],[-112.938967,31.916274],[-113.413203,32.064293],[-113.887461,32.212301],[-114.361724,32.360298],[-114.835955,32.508327],[-114.787999,32.564808],[-114.724773,32.715343],[-114.72095,32.724483],[-114.7209,32.724483],[-114.582176,32.734723],[-114.516467,32.772757],[-114.477531,32.842004],[-114.469,32.912306],[-114.490863,32.983618],[-114.550546,33.036792],[-114.648088,33.07175],[-114.704388,33.169781],[-114.719428,33.330863],[-114.701702,33.417809],[-114.651159,33.430619],[-114.60261,33.469895],[-114.556001,33.535626],[-114.521559,33.607608],[-114.499257,33.685875],[-114.495098,33.784653],[-114.509051,33.903921],[-114.418282,34.051149],[-114.32932,34.142027],[-114.163514,34.253363],[-114.125612,34.286509],[-114.125018,34.314084],[-114.125068,34.317182],[-114.15879,34.355217],[-114.308028,34.43289],[-114.371024,34.488492],[-114.376913,34.5397],[-114.378879,34.540633],[-114.398001,34.589698],[-114.557473,34.794571],[-114.610933,34.907401],[-114.610543,34.991117],[-114.610521,34.99761],[-114.590987,35.352776],[-114.648528,35.475922],[-114.662063,35.545355],[-114.645166,35.630543],[-114.650126,35.683508],[-114.677076,35.729805],[-114.68369,35.813597],[-114.687101,35.917341],[-114.732321,35.983666],[-114.741362,36.013516],[-114.715759,36.084982],[-114.669144,36.12172],[-114.592975,36.14756],[-114.505277,36.156426],[-114.406087,36.148307],[-114.331545,36.116293],[-114.281573,36.060328],[-114.232146,36.031698],[-114.183207,36.030303],[-114.119437,36.076665],[-114.061924,36.175212],[-114.042879,36.181771],[-114.041171,36.61249],[-114.04027,37.004153],[-113.72817,37.003944],[-113.41607,37.003735],[-113.103971,37.003527],[-112.791871,37.003318],[-112.479772,37.00312],[-112.167672,37.002911],[-111.855572,37.002703],[-111.543473,37.002494],[-111.231373,37.002285],[-110.919268,37.002087],[-110.607168,37.001879],[-110.295069,37.00167],[-109.982969,37.001461],[-109.67087,37.001252],[-109.35877,37.001055],[-109.04667,37.000846],[-109.046698,36.646339],[-109.046747,36.291843],[-109.046802,35.937336],[-109.046852,35.582819],[-109.046906,35.22829],[-109.046956,34.873794],[-109.047005,34.519287],[-109.04706,34.164791],[-109.04711,33.810284],[-109.047165,33.455788],[-109.047214,33.101293],[-109.047264,32.746764],[-109.047318,32.392235],[-109.047368,32.037739],[-109.047423,31.683232],[-109.047807,31.327879]]]}},{"type":"Feature","properties":{"name":"California"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-114.610543,34.991117],[-114.610933,34.907401],[-114.557473,34.794571],[-114.398001,34.589698],[-114.378879,34.540633],[-114.376913,34.5397],[-114.371024,34.488492],[-114.308028,34.43289],[-114.15879,34.355217],[-114.125068,34.317182],[-114.125018,34.314084],[-114.125612,34.286509],[-114.163514,34.253363],[-114.32932,34.142027],[-114.418282,34.051149],[-114.509051,33.903921],[-114.495098,33.784653],[-114.499257,33.685875],[-114.521559,33.607608],[-114.556001,33.535626],[-114.60261,33.469895],[-114.651159,33.430619],[-114.701702,33.417809],[-114.719428,33.330863],[-114.704388,33.169781],[-114.648088,33.07175],[-114.550546,33.036792],[-114.490863,32.983618],[-114.469,32.912306],[-114.477531,32.842004],[-114.516467,32.772757],[-114.582176,32.734723],[-114.7209,32.724483],[-114.72095,32.724483],[-114.724773,32.715343],[-114.839058,32.704719],[-115.125214,32.683307],[-115.411374,32.661883],[-115.697508,32.64046],[-115.983663,32.619048],[-116.269824,32.597624],[-116.555958,32.576201],[-116.842113,32.554789],[-117.128274,32.533365],[-117.130466,32.53977],[-117.137393,32.649172],[-117.183744,32.687877],[-117.243482,32.664026],[-117.27069,32.806266],[-117.255759,32.87337],[-117.262966,32.938871],[-117.318826,33.100051],[-117.467422,33.295487],[-117.788514,33.538472],[-117.952095,33.619606],[-118.080514,33.722152],[-118.161901,33.750705],[-118.264403,33.758616],[-118.294171,33.712308],[-118.410439,33.743938],[-118.392949,33.858295],[-118.506196,34.01741],[-118.598854,34.035032],[-118.832045,34.024463],[-119.143732,34.112024],[-119.235842,34.164121],[-119.267647,34.257439],[-119.413688,34.338573],[-119.606054,34.418004],[-119.713203,34.399657],[-119.853301,34.411962],[-120.052977,34.469266],[-120.169559,34.476451],[-120.396471,34.459554],[-120.481192,34.471639],[-120.559821,34.543885],[-120.644696,34.579986],[-120.626716,34.668943],[-120.63762,34.749352],[-120.624904,34.811985],[-120.663015,34.949292],[-120.63361,35.076459],[-120.659088,35.122403],[-120.707043,35.157648],[-120.857374,35.20969],[-120.88489,35.274949],[-120.860291,35.365443],[-120.899589,35.425121],[-121.02284,35.480777],[-121.137949,35.607131],[-121.283831,35.676323],[-121.343855,35.792229],[-121.433745,35.86386],[-121.465012,35.927394],[-121.664353,36.154042],[-121.877411,36.331064],[-121.910178,36.432919],[-121.918648,36.572346],[-121.835141,36.657457],[-121.790004,36.732285],[-121.794525,36.800961],[-121.807445,36.851234],[-121.880669,36.938938],[-122.164215,36.990969],[-122.3949,37.207521],[-122.408468,37.373173],[-122.499237,37.542615],[-122.500451,37.652764],[-122.514223,37.771987],[-122.445624,37.798003],[-122.384101,37.788544],[-122.390275,37.741083],[-122.369708,37.655862],[-122.297594,37.591866],[-122.228661,37.563906],[-122.166,37.501669],[-122.11905,37.482827],[-122.070529,37.478279],[-122.096544,37.518203],[-122.124142,37.543812],[-122.15804,37.62644],[-122.222201,37.732041],[-122.29599,37.790356],[-122.333432,37.896605],[-122.365473,37.921204],[-122.385446,37.960579],[-122.314233,38.007347],[-122.217031,38.040647],[-122.086728,38.049612],[-121.716857,38.034066],[-121.638101,38.061268],[-121.573013,38.052402],[-121.525343,38.055918],[-121.625725,38.083933],[-121.682206,38.074781],[-121.748635,38.080461],[-121.880773,38.075012],[-121.934155,38.086823],[-121.993119,38.120133],[-122.031511,38.123517],[-122.153778,38.065531],[-122.208297,38.072529],[-122.337129,38.135887],[-122.393351,38.144808],[-122.483889,38.108839],[-122.494892,37.95358],[-122.46691,37.838213],[-122.521325,37.826403],[-122.584189,37.874072],[-122.680698,37.90234],[-122.760382,37.945648],[-122.872932,38.026046],[-122.932,38.055457],[-122.998791,37.988616],[-123.001455,38.019279],[-122.96815,38.097007],[-122.977604,38.227327],[-122.87681,38.123363],[-122.908154,38.196587],[-122.986547,38.277095],[-123.046181,38.305055],[-123.121162,38.449283],[-123.289731,38.535867],[-123.424786,38.675624],[-123.701125,38.907293],[-123.719522,39.110968],[-123.820294,39.3684],[-123.777788,39.514957],[-123.783501,39.618723],[-123.832928,39.775509],[-123.884476,39.860796],[-124.108515,40.09453],[-124.324034,40.251964],[-124.356537,40.371078],[-124.371654,40.491202],[-124.324522,40.598088],[-124.283675,40.710534],[-124.253908,40.740307],[-124.242334,40.727903],[-124.250601,40.70392],[-124.220009,40.696482],[-124.208435,40.746096],[-124.190242,40.771727],[-124.222487,40.775034],[-124.21918,40.790745],[-124.199904,40.822056],[-124.133091,40.969778],[-124.140013,41.155886],[-124.068519,41.384171],[-124.071903,41.459516],[-124.117688,41.621751],[-124.163243,41.719002],[-124.244608,41.787941],[-124.208743,41.888554],[-124.211665,41.984618],[-124.228409,42.000768],[-123.955656,42.000559],[-123.692007,42.000559],[-123.428351,42.000559],[-123.164701,42.000559],[-122.901046,42.000559],[-122.63739,42.000559],[-122.37374,42.000559],[-122.110063,42.000559],[-121.84638,42.000559],[-121.58273,42.000559],[-121.319075,42.000559],[-121.05542,42.000559],[-120.79177,42.000559],[-120.528114,42.000559],[-120.264464,42.000559],[-120.000809,42.000559],[-120.000759,41.813056],[-120.000704,41.625519],[-120.000655,41.438015],[-120.000628,41.250501],[-120.0006,41.062975],[-120.000551,40.87546],[-120.000501,40.687957],[-120.000446,40.50042],[-120.000397,40.312883],[-120.000342,40.12538],[-120.000293,39.937876],[-120.000243,39.750339],[-120.000188,39.562803],[-120.000139,39.375299],[-120.000084,39.187784],[-120.000062,39.000259],[-119.765839,38.836782],[-119.531616,38.673295],[-119.297387,38.509796],[-119.063164,38.34632],[-118.828941,38.182843],[-118.594718,38.019333],[-118.360495,37.855857],[-118.126272,37.69238],[-117.942949,37.554579],[-117.759603,37.416788],[-117.576253,37.278965],[-117.392935,37.141174],[-117.209611,37.003373],[-117.02626,36.865549],[-116.842915,36.727759],[-116.659592,36.589968],[-116.405681,36.391786],[-116.151743,36.193625],[-115.897827,35.995476],[-115.643917,35.797294],[-115.390006,35.599122],[-115.136096,35.400962],[-114.88218,35.202812],[-114.610543,34.991117]]],[[[-119.882393,34.07968],[-119.678865,34.028462],[-119.569129,34.052961],[-119.549287,34.028154],[-119.562207,34.00661],[-119.809581,33.967795],[-119.885518,33.994931],[-119.892418,34.032164],[-119.918049,34.067848],[-119.882393,34.07968]]],[[[-120.306602,34.024869],[-120.359705,34.022265],[-120.441558,34.032933],[-120.412928,34.056323],[-120.367736,34.073297],[-120.353322,34.060586],[-120.306602,34.024869]]],[[[-120.043573,33.918862],[-120.113902,33.904855],[-120.167131,33.918082],[-120.251907,34.013839],[-120.071841,34.026506],[-119.994404,33.984934],[-119.983939,33.973332],[-120.043573,33.918862]]],[[[-118.347965,33.385762],[-118.297478,33.312131],[-118.370234,33.321217],[-118.446304,33.317086],[-118.469353,33.357142],[-118.49204,33.412821],[-118.507333,33.427004],[-118.559425,33.43197],[-118.563325,33.437079],[-118.569422,33.464182],[-118.554849,33.47708],[-118.391707,33.415095],[-118.347965,33.385762]]],[[[-119.438029,33.217198],[-119.482496,33.215342],[-119.543679,33.224614],[-119.575177,33.278326],[-119.525128,33.282051],[-119.478799,33.274635],[-119.442055,33.232447],[-119.438029,33.217198]]],[[[-118.350393,32.827612],[-118.408582,32.818515],[-118.473204,32.838928],[-118.52891,32.935608],[-118.59017,33.011161],[-118.557101,33.032661],[-118.507492,32.959898],[-118.383182,32.849464],[-118.350393,32.827612]]]]}},{"type":"Feature","properties":{"name":"Colorado"},"geometry":{"type":"Polygon","coordinates":[[[-109.04667,37.000846],[-109.046648,37.250851],[-109.046648,37.500834],[-109.046621,37.750828],[-109.046593,38.000833],[-109.046593,38.250848],[-109.046566,38.500853],[-109.046544,38.750869],[-109.046544,39.000819],[-109.046516,39.250835],[-109.046489,39.50084],[-109.046489,39.750856],[-109.046467,40.000872],[-109.04644,40.250877],[-109.04644,40.500859],[-109.046412,40.750842],[-109.04639,41.000858],[-108.732351,41.000858],[-108.418313,41.000858],[-108.104274,41.000858],[-107.790213,41.000858],[-107.476147,41.000858],[-107.162108,41.000858],[-106.84807,41.000858],[-106.534037,41.000858],[-106.219998,41.000858],[-105.905932,41.000858],[-105.591871,41.000858],[-105.277832,41.000858],[-104.963794,41.000858],[-104.649755,41.000858],[-104.335722,41.000858],[-104.021655,41.000858],[-103.772084,41.000836],[-103.522486,41.000803],[-103.272915,41.000781],[-103.023344,41.000748],[-102.773746,41.000726],[-102.524175,41.000704],[-102.274604,41.00065],[-102.025006,41.000628],[-102.024956,40.875691],[-102.024879,40.750744],[-102.024802,40.625818],[-102.024747,40.500892],[-102.024698,40.375934],[-102.024621,40.251008],[-102.024544,40.126083],[-102.024489,40.001124],[-102.02377,39.813588],[-102.023045,39.626084],[-102.022319,39.43858],[-102.021572,39.251044],[-102.02082,39.063529],[-102.0201,38.876025],[-102.019375,38.688489],[-102.01865,38.500985],[-102.017925,38.31347],[-102.017178,38.125945],[-102.016431,37.93843],[-102.015706,37.750927],[-102.014981,37.56339],[-102.014261,37.375853],[-102.013536,37.188372],[-102.012783,37.000846],[-102.2598,37.000846],[-102.506811,37.000846],[-102.753828,37.000846],[-103.000839,37.000846],[-103.378724,37.000846],[-103.756583,37.000846],[-104.134441,37.000846],[-104.512299,37.000846],[-104.890158,37.000846],[-105.268016,37.000846],[-105.645874,37.000846],[-106.023755,37.000846],[-106.40164,37.000846],[-106.779499,37.000846],[-107.157357,37.000846],[-107.535215,37.000846],[-107.913073,37.000846],[-108.290932,37.000846],[-108.66879,37.000846],[-109.04667,37.000846]]]}},{"type":"Feature","properties":{"name":"Connecticut"},"geometry":{"type":"Polygon","coordinates":[[[-71.800836,42.011963],[-71.800319,41.95824],[-71.799561,41.883027],[-71.798968,41.828502],[-71.798199,41.753114],[-71.79732,41.667586],[-71.796518,41.588858],[-71.795793,41.519951],[-71.799232,41.47917],[-71.804527,41.416746],[-71.829873,41.392741],[-71.842353,41.335513],[-71.929947,41.341039],[-72.07389,41.326109],[-72.265272,41.291666],[-72.371059,41.312156],[-72.479417,41.27578],[-72.847152,41.265849],[-72.924715,41.285151],[-73.023724,41.216476],[-73.182268,41.175838],[-73.582994,41.021886],[-73.630466,40.99186],[-73.682113,41.054702],[-73.723015,41.104514],[-73.641881,41.143406],[-73.579797,41.173146],[-73.521756,41.200919],[-73.484139,41.218959],[-73.51445,41.257455],[-73.544729,41.295951],[-73.53672,41.390906],[-73.528689,41.485839],[-73.520647,41.580794],[-73.512638,41.675748],[-73.504629,41.770703],[-73.496619,41.865658],[-73.48861,41.960613],[-73.480568,42.055568],[-73.396468,42.052887],[-73.312346,42.050195],[-73.228234,42.047515],[-73.144134,42.044823],[-73.060034,42.042132],[-72.975922,42.039451],[-72.8918,42.036759],[-72.8077,42.034079],[-72.806458,42.00803],[-72.763326,42.011238],[-72.757624,42.034079],[-72.638115,42.03265],[-72.518638,42.031233],[-72.39914,42.029816],[-72.279642,42.028388],[-72.160133,42.02697],[-72.040634,42.025553],[-71.921136,42.024125],[-71.801638,42.022708],[-71.800836,42.011963]]]}},{"type":"Feature","properties":{"name":"District of Columbia"},"geometry":{"type":"Polygon","coordinates":[[[-77.030361,38.889253],[-77.053048,38.915302],[-77.101827,38.935967],[-77.122053,38.943536],[-77.042116,39.011783],[-76.988789,38.952347],[-76.931242,38.88822],[-77.019737,38.806526],[-77.030361,38.889253]]]}},{"type":"Feature","properties":{"name":"Delaware"},"geometry":{"type":"Polygon","coordinates":[[[-75.037661,38.45559],[-75.144657,38.454865],[-75.366273,38.454919],[-75.587856,38.454996],[-75.688601,38.455018],[-75.690908,38.455018],[-75.693226,38.455018],[-75.695533,38.455018],[-75.697829,38.455018],[-75.700125,38.455018],[-75.702433,38.45504],[-75.704729,38.455073],[-75.707025,38.455073],[-75.716748,38.613485],[-75.72646,38.771897],[-75.736172,38.930309],[-75.745883,39.088721],[-75.755606,39.247144],[-75.765318,39.405555],[-75.77503,39.563945],[-75.78472,39.722357],[-75.709145,39.802898],[-75.676823,39.827233],[-75.634581,39.839482],[-75.510446,39.843438],[-75.421029,39.815422],[-75.464403,39.780936],[-75.50213,39.717391],[-75.587603,39.640784],[-75.581583,39.589467],[-75.567268,39.552992],[-75.573882,39.476945],[-75.519807,39.40282],[-75.412657,39.281377],[-75.392168,39.092753],[-75.310407,38.966564],[-75.185064,38.819391],[-75.088692,38.777533],[-75.08399,38.72281],[-75.128485,38.632448],[-75.187108,38.591128],[-75.110863,38.599379],[-75.072883,38.578735],[-75.035881,38.503336],[-75.037661,38.45559]]]}},{"type":"Feature","properties":{"name":"Florida"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-87.489511,30.377683],[-87.480106,30.411707],[-87.444807,30.442557],[-87.429382,30.477856],[-87.43381,30.545938],[-87.408278,30.641465],[-87.421659,30.671589],[-87.566195,30.795636],[-87.601055,30.860598],[-87.607438,30.929328],[-87.593694,31.000739],[-87.2703,31.000794],[-86.94694,31.000849],[-86.623568,31.000893],[-86.300175,31.000948],[-85.976792,31.001003],[-85.653399,31.001058],[-85.330005,31.001102],[-85.007282,31.001673],[-84.966335,30.922638],[-84.886882,30.75926],[-84.883938,30.72094],[-84.790378,30.715128],[-84.630978,30.705779],[-84.471555,30.696451],[-84.312166,30.687124],[-84.152765,30.677763],[-83.993342,30.668414],[-83.833942,30.659087],[-83.674552,30.649759],[-83.515129,30.640399],[-83.355707,30.63105],[-83.196306,30.621722],[-83.036916,30.612395],[-82.877494,30.603045],[-82.718093,30.593685],[-82.558704,30.584358],[-82.399281,30.57503],[-82.23988,30.565681],[-82.238924,30.532612],[-82.212733,30.480746],[-82.20624,30.421606],[-82.194232,30.393437],[-82.162624,30.375716],[-82.112274,30.371355],[-82.061759,30.404599],[-82.029822,30.477702],[-82.021835,30.559869],[-82.04116,30.65322],[-82.038193,30.73197],[-82.012947,30.778069],[-81.983053,30.789494],[-81.957081,30.81429],[-81.935592,30.819509],[-81.880452,30.806336],[-81.673359,30.740243],[-81.503939,30.731432],[-81.457192,30.640761],[-81.385726,30.269984],[-81.337101,30.141213],[-81.249507,29.793792],[-81.104531,29.456963],[-80.900021,29.049853],[-80.5643,28.556402],[-80.524123,28.48609],[-80.567816,28.426456],[-80.581153,28.36468],[-80.584977,28.271604],[-80.572859,28.180868],[-80.533165,28.07007],[-80.456887,27.900672],[-80.499547,27.934466],[-80.610015,28.177605],[-80.62288,28.320361],[-80.606938,28.522883],[-80.632877,28.518027],[-80.653883,28.452186],[-80.665484,28.374908],[-80.693489,28.344959],[-80.731754,28.46292],[-80.729051,28.516214],[-80.688457,28.57854],[-80.700267,28.600941],[-80.765943,28.632823],[-80.779896,28.682954],[-80.771008,28.732458],[-80.80868,28.758946],[-80.83819,28.75765],[-80.818425,28.635614],[-80.787213,28.560632],[-80.748607,28.381005],[-80.686359,28.272175],[-80.650115,28.180911],[-80.226108,27.20705],[-80.12577,27.083004],[-80.088647,26.99396],[-80.050041,26.807697],[-80.041307,26.568613],[-80.110587,26.131588],[-80.126374,25.833518],[-80.136295,25.842614],[-80.142909,25.874024],[-80.158927,25.878342],[-80.219077,25.741738],[-80.300826,25.618537],[-80.327754,25.427078],[-80.36692,25.331267],[-80.484639,25.22983],[-80.557632,25.232412],[-80.736544,25.156342],[-80.862217,25.176195],[-81.011971,25.133249],[-81.110497,25.13805],[-81.167395,25.228533],[-81.158683,25.268996],[-81.136029,25.309646],[-81.097654,25.319149],[-80.965367,25.224304],[-80.940406,25.264217],[-80.980353,25.311656],[-81.05685,25.338144],[-81.113309,25.367236],[-81.227128,25.583403],[-81.345077,25.731817],[-81.364929,25.831035],[-81.568242,25.891547],[-81.715503,25.983173],[-81.81149,26.146101],[-81.866576,26.434997],[-81.931483,26.467451],[-81.958949,26.489929],[-81.895514,26.597166],[-81.82864,26.687056],[-81.881561,26.664677],[-81.920552,26.631422],[-81.970188,26.552045],[-82.006388,26.539851],[-82.039611,26.552045],[-82.077876,26.704338],[-82.066923,26.891567],[-82.013254,26.961561],[-82.095685,26.963418],[-82.181103,26.936776],[-82.168623,26.874351],[-82.180664,26.840096],[-82.242858,26.848874],[-82.290066,26.870814],[-82.354039,26.935743],[-82.44137,27.059691],[-82.620458,27.401069],[-82.655361,27.449233],[-82.714589,27.499583],[-82.686705,27.515272],[-82.63585,27.524577],[-82.520845,27.678254],[-82.430515,27.771121],[-82.400544,27.83538],[-82.405763,27.862901],[-82.445709,27.902848],[-82.498136,27.867911],[-82.520614,27.877887],[-82.579611,27.958449],[-82.635937,27.981213],[-82.675203,27.963767],[-82.633817,27.897783],[-82.596551,27.873239],[-82.610977,27.777219],[-82.626006,27.745985],[-82.660887,27.718409],[-82.715336,27.733109],[-82.742856,27.709367],[-82.775299,27.734383],[-82.807555,27.776549],[-82.843513,27.846004],[-82.748536,28.236799],[-82.660635,28.485859],[-82.650604,28.769922],[-82.644023,28.81201],[-82.651483,28.887486],[-82.769333,29.051556],[-83.29047,29.451898],[-83.694371,29.92598],[-84.04422,30.103794],[-84.309683,30.064759],[-84.355616,30.029021],[-84.375337,29.982274],[-84.358693,29.929386],[-84.38283,29.907369],[-84.454065,29.91016],[-84.549976,29.897866],[-84.800552,29.773072],[-84.888926,29.77761],[-84.96917,29.745288],[-85.029298,29.721085],[-85.18604,29.707901],[-85.318942,29.680205],[-85.376356,29.69519],[-85.413798,29.76759],[-85.413798,29.842473],[-85.383442,29.785058],[-85.33641,29.740124],[-85.314888,29.758076],[-85.306857,29.797846],[-85.353626,29.87575],[-85.504281,29.975792],[-85.6758,30.121932],[-85.623472,30.117076],[-85.610277,30.148398],[-85.663418,30.189454],[-85.640973,30.236893],[-85.603532,30.286782],[-85.675899,30.279289],[-85.740806,30.244386],[-85.742948,30.201253],[-85.755791,30.166998],[-85.79075,30.171986],[-85.855657,30.214404],[-86.17515,30.332518],[-86.454434,30.399128],[-86.240079,30.429099],[-86.123833,30.405797],[-86.137709,30.441557],[-86.165691,30.464244],[-86.257394,30.493017],[-86.374179,30.482064],[-86.447952,30.49561],[-86.523373,30.467112],[-86.606078,30.424682],[-86.679642,30.402896],[-86.967605,30.372354],[-87.201152,30.339231],[-87.163722,30.374189],[-87.123776,30.396667],[-86.985798,30.430857],[-86.965155,30.501916],[-86.997576,30.570328],[-87.033908,30.553925],[-87.072019,30.500433],[-87.118788,30.538962],[-87.170588,30.538786],[-87.184651,30.453697],[-87.251074,30.396667],[-87.281045,30.339231],[-87.475767,30.294275],[-87.500728,30.30926],[-87.443731,30.363829],[-87.448301,30.394162],[-87.489511,30.377683]]],[[[-84.907888,29.642632],[-85.00827,29.606618],[-85.116738,29.632788],[-85.049326,29.637776],[-85.000547,29.627185],[-84.876984,29.678678],[-84.812186,29.717646],[-84.737172,29.732445],[-84.907888,29.642632]]],[[[-80.186755,27.27844],[-80.170506,27.204798],[-80.262462,27.37557],[-80.376072,27.643427],[-80.436892,27.850553],[-80.395759,27.794555],[-80.355505,27.678617],[-80.186755,27.27844]]],[[[-82.083765,26.552331],[-82.085215,26.493598],[-82.135598,26.59197],[-82.169139,26.700723],[-82.121129,26.665534],[-82.083765,26.552331]]],[[[-82.037183,26.45363],[-82.072844,26.427537],[-82.144958,26.446654],[-82.184388,26.480942],[-82.201384,26.548046],[-82.138597,26.476987],[-82.116064,26.460914],[-82.037183,26.45363]]],[[[-80.381828,25.142291],[-80.580582,24.954238],[-80.558566,25.001314],[-80.481046,25.10196],[-80.456019,25.149322],[-80.403669,25.179337],[-80.354934,25.233653],[-80.351286,25.296956],[-80.280491,25.341242],[-80.257057,25.347603],[-80.381828,25.142291]]],[[[-80.638304,24.903184],[-80.665144,24.898449],[-80.62567,24.941087],[-80.614607,24.937934],[-80.638304,24.903184]]],[[[-80.829401,24.803681],[-80.848363,24.803681],[-80.838882,24.817886],[-80.799408,24.846308],[-80.785192,24.835278],[-80.786774,24.82104],[-80.829401,24.803681]]],[[[-81.044194,24.716812],[-81.090007,24.693115],[-81.137369,24.710506],[-81.08525,24.734204],[-80.930486,24.759472],[-80.988922,24.727875],[-81.044194,24.716812]]],[[[-81.334794,24.650488],[-81.364797,24.629943],[-81.379036,24.636271],[-81.379036,24.666275],[-81.421662,24.7326],[-81.420091,24.749991],[-81.322313,24.685084],[-81.319841,24.667615],[-81.334794,24.650488]]],[[[-81.566693,24.599896],[-81.631501,24.590019],[-81.57925,24.629372],[-81.562298,24.689138],[-81.531636,24.642479],[-81.532229,24.614156],[-81.566693,24.599896]]],[[[-81.783838,24.54458],[-81.809216,24.542349],[-81.811413,24.557807],[-81.767688,24.576715],[-81.738651,24.575429],[-81.739761,24.5545],[-81.783838,24.54458]]]]}},{"type":"Feature","properties":{"name":"Georgia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-85.007282,31.001673],[-85.067443,31.117579],[-85.092601,31.295711],[-85.054885,31.572677],[-85.067047,31.635178],[-85.067201,31.635387],[-85.124824,31.77677],[-85.124132,31.880536],[-85.06441,32.050527],[-85.064564,32.051043],[-85.034627,32.147372],[-84.992977,32.201831],[-84.929696,32.246556],[-84.921533,32.285887],[-84.9685,32.319813],[-84.985968,32.360946],[-84.973905,32.409286],[-85.015038,32.526158],[-85.156531,32.804277],[-85.176317,32.898221],[-85.200971,32.956229],[-85.227382,33.084022],[-85.253782,33.211826],[-85.280193,33.339619],[-85.306626,33.46739],[-85.333059,33.595161],[-85.359459,33.722954],[-85.38587,33.850747],[-85.412271,33.978551],[-85.438682,34.106344],[-85.465115,34.234137],[-85.491548,34.36193],[-85.517948,34.489679],[-85.544359,34.617472],[-85.57077,34.745265],[-85.59717,34.873069],[-85.623604,35.000862],[-85.298892,34.997654],[-84.974158,34.994479],[-84.649424,34.991304],[-84.32469,34.988096],[-84.022225,34.991457],[-83.719772,34.994786],[-83.417307,34.998126],[-83.114821,35.001477],[-83.121357,35.000554],[-83.1704,34.932911],[-83.316716,34.805657],[-83.355575,34.708318],[-83.166522,34.599597],[-83.165896,34.598531],[-83.052781,34.51086],[-82.975679,34.476396],[-82.896819,34.465806],[-82.847732,34.436911],[-82.818607,34.366072],[-82.818585,34.366017],[-82.589268,34.017377],[-82.589344,34.017618],[-82.351897,33.837728],[-82.256623,33.749233],[-82.208361,33.663584],[-82.005718,33.522893],[-81.936394,33.447285],[-81.932845,33.38987],[-81.908741,33.349254],[-81.864093,33.325436],[-81.821279,33.274096],[-81.780322,33.195292],[-81.69932,33.126759],[-81.57824,33.068575],[-81.489778,32.935663],[-81.433813,32.728032],[-81.37697,32.607468],[-81.290332,32.557239],[-81.171504,32.380139],[-81.132953,32.27467],[-81.135018,32.181858],[-81.074813,32.109699],[-80.872346,32.029565],[-80.923432,31.944894],[-81.045535,31.892038],[-81.082877,31.894104],[-81.113287,31.878624],[-81.095511,31.840897],[-81.065046,31.813464],[-81.066134,31.787987],[-81.098401,31.75338],[-81.162121,31.743723],[-81.197904,31.704216],[-81.186588,31.666961],[-81.165527,31.646153],[-81.169922,31.610316],[-81.242399,31.574325],[-81.25935,31.538927],[-81.223414,31.528468],[-81.195685,31.538927],[-81.175426,31.531302],[-81.21891,31.472141],[-81.257933,31.436018],[-81.294979,31.371209],[-81.380947,31.353258],[-81.377739,31.332296],[-81.329136,31.313751],[-81.288464,31.263906],[-81.364874,31.171895],[-81.412621,31.179443],[-81.441767,31.199724],[-81.460345,31.127071],[-81.453215,31.088279],[-81.471376,31.009012],[-81.500599,30.913772],[-81.520397,30.874649],[-81.516233,30.80181],[-81.503939,30.731432],[-81.673359,30.740243],[-81.880452,30.806336],[-81.935592,30.819509],[-81.957081,30.81429],[-81.983053,30.789494],[-82.012947,30.778069],[-82.038193,30.73197],[-82.04116,30.65322],[-82.021835,30.559869],[-82.029822,30.477702],[-82.061759,30.404599],[-82.112274,30.371355],[-82.162624,30.375716],[-82.194232,30.393437],[-82.20624,30.421606],[-82.212733,30.480746],[-82.238924,30.532612],[-82.23988,30.565681],[-82.399281,30.57503],[-82.558704,30.584358],[-82.718093,30.593685],[-82.877494,30.603045],[-83.036916,30.612395],[-83.196306,30.621722],[-83.355707,30.63105],[-83.515129,30.640399],[-83.674552,30.649759],[-83.833942,30.659087],[-83.993342,30.668414],[-84.152765,30.677763],[-84.312166,30.687124],[-84.471555,30.696451],[-84.630978,30.705779],[-84.790378,30.715128],[-84.883938,30.72094],[-84.886882,30.75926],[-84.966335,30.922638],[-85.007282,31.001673]]],[[[-81.418982,30.971439],[-81.463498,30.727762],[-81.482725,30.814093],[-81.484636,30.897831],[-81.450941,30.947412],[-81.418982,30.971439]]]]}},{"type":"Feature","properties":{"name":"Hawaii"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-177.371467,28.2005],[-177.390485,28.196369],[-177.388831,28.208773],[-177.370641,28.221176],[-177.354104,28.217035],[-177.361546,28.207114],[-177.371467,28.2005]]],[[[-159.372773,21.93236],[-159.460674,21.876132],[-159.51186,21.900368],[-159.608858,21.90952],[-159.646373,21.95174],[-159.748022,21.989819],[-159.789182,22.041806],[-159.726626,22.1402],[-159.579222,22.223135],[-159.352052,22.219576],[-159.304792,22.154053],[-159.300658,22.105263],[-159.33019,22.050694],[-159.34373,21.973647],[-159.372773,21.93236]]],[[[-160.18001,21.841075],[-160.200241,21.796888],[-160.234711,21.803677],[-160.243445,21.843063],[-160.220912,21.89727],[-160.16386,21.944039],[-160.100636,22.015241],[-160.048728,22.00465],[-160.076711,21.95809],[-160.080042,21.907443],[-160.153395,21.878769],[-160.18001,21.841075]]],[[[-157.799355,21.456652],[-157.764989,21.450939],[-157.720885,21.457707],[-157.705537,21.378078],[-157.65417,21.333913],[-157.635411,21.307645],[-157.690887,21.279739],[-157.798786,21.268621],[-157.849326,21.290847],[-157.901753,21.34056],[-157.958442,21.326915],[-157.968311,21.366916],[-157.97844,21.378484],[-158.017274,21.36774],[-157.98097,21.316115],[-158.079157,21.312237],[-158.110345,21.318598],[-158.137835,21.377144],[-158.239093,21.489337],[-158.238681,21.533051],[-158.273124,21.585247],[-158.123108,21.600255],[-158.02035,21.691804],[-157.962496,21.701362],[-157.851496,21.553365],[-157.854338,21.511913],[-157.829584,21.471451],[-157.799355,21.456652]]],[[[-157.213602,21.215392],[-157.002296,21.18796],[-156.952353,21.199693],[-156.917213,21.177314],[-156.742209,21.163515],[-156.712161,21.155088],[-156.747894,21.103574],[-156.85985,21.056332],[-157.020874,21.097784],[-157.290314,21.112582],[-157.27949,21.152353],[-157.253807,21.180566],[-157.249931,21.229763],[-157.213602,21.215392]]],[[[-156.486826,20.932571],[-156.460833,20.914741],[-156.354405,20.941459],[-156.277537,20.951281],[-156.148346,20.885495],[-156.103516,20.84033],[-156.018636,20.792067],[-155.989854,20.757131],[-156.013574,20.714811],[-156.107133,20.644784],[-156.234748,20.628613],[-156.309963,20.598796],[-156.408793,20.605179],[-156.438223,20.617868],[-156.448868,20.706231],[-156.480056,20.801241],[-156.543823,20.790002],[-156.615449,20.821829],[-156.689681,20.901414],[-156.697769,20.949062],[-156.656867,21.024505],[-156.585423,21.034327],[-156.532301,20.992678],[-156.486826,20.932571]]],[[[-156.849595,20.772632],[-156.908866,20.744474],[-156.973411,20.757548],[-156.988448,20.825707],[-157.050565,20.912466],[-156.941784,20.930045],[-156.880549,20.90482],[-156.848276,20.877794],[-156.80939,20.831135],[-156.849595,20.772632]]],[[[-155.581325,19.012018],[-155.625611,18.963909],[-155.680751,18.967677],[-155.881306,19.070521],[-155.905594,19.125815],[-155.890738,19.382543],[-155.965824,19.590789],[-156.048686,19.749959],[-155.988407,19.831609],[-155.908877,19.894704],[-155.820302,20.01418],[-155.892754,20.167396],[-155.874278,20.259802],[-155.831621,20.27582],[-155.622073,20.163419],[-155.198789,19.994383],[-155.086083,19.875632],[-155.065929,19.748201],[-154.989035,19.731974],[-154.952577,19.644644],[-154.841343,19.568157],[-154.804188,19.524443],[-154.850283,19.454108],[-155.053476,19.319185],[-155.309611,19.260167],[-155.535229,19.109072],[-155.581325,19.012018]]]]}},{"type":"Feature","properties":{"name":"Iowa"},"geometry":{"type":"Polygon","coordinates":[[[-91.441952,40.37945],[-91.529931,40.432316],[-91.545487,40.469318],[-91.616855,40.50688],[-91.627423,40.530753],[-91.682047,40.551869],[-91.73153,40.624653],[-91.983787,40.623203],[-92.236044,40.621764],[-92.488301,40.620314],[-92.740564,40.618864],[-92.992821,40.617413],[-93.245078,40.615974],[-93.497335,40.614524],[-93.749598,40.613074],[-94.001855,40.611635],[-94.254112,40.610184],[-94.506369,40.608734],[-94.758631,40.607284],[-95.010888,40.605845],[-95.263146,40.604395],[-95.51543,40.602944],[-95.765029,40.601868],[-95.826107,40.676179],[-95.859,40.745108],[-95.838148,40.777748],[-95.834017,40.88949],[-95.846597,41.080333],[-95.870887,41.187824],[-95.906906,41.21195],[-95.911169,41.245183],[-95.883626,41.287557],[-95.891943,41.316166],[-95.936025,41.330986],[-95.94972,41.367428],[-95.932977,41.425458],[-95.943567,41.460933],[-95.98158,41.473798],[-95.997367,41.493639],[-95.990957,41.52049],[-96.011397,41.537881],[-96.058627,41.54578],[-96.077771,41.611281],[-96.068806,41.734328],[-96.086637,41.821372],[-96.13123,41.872437],[-96.153763,41.920436],[-96.154203,41.965293],[-96.201384,42.036122],[-96.295333,42.132912],[-96.356104,42.260133],[-96.383751,42.417776],[-96.451004,42.505985],[-96.480953,42.511259],[-96.506326,42.593579],[-96.53361,42.630164],[-96.538702,42.658585],[-96.62177,42.729535],[-96.626835,42.757001],[-96.616084,42.791388],[-96.562576,42.85857],[-96.513274,42.969059],[-96.502112,43.043294],[-96.462688,43.099181],[-96.461293,43.129767],[-96.468137,43.17023],[-96.49028,43.205529],[-96.55539,43.231676],[-96.563454,43.242685],[-96.569942,43.283323],[-96.542526,43.309031],[-96.534956,43.338057],[-96.541647,43.373455],[-96.581285,43.434923],[-96.598622,43.497501],[-96.453619,43.501171],[-96.128418,43.501226],[-95.80319,43.50127],[-95.477967,43.501325],[-95.152766,43.50138],[-94.827565,43.501424],[-94.502342,43.501478],[-94.177114,43.501533],[-93.851913,43.501577],[-93.526712,43.501632],[-93.20149,43.501687],[-92.876261,43.501742],[-92.551066,43.501786],[-92.225838,43.501841],[-91.900609,43.501896],[-91.575414,43.50194],[-91.245253,43.502412],[-91.238277,43.440241],[-91.218688,43.395285],[-91.178357,43.358931],[-91.117196,43.331157],[-91.106968,43.278028],[-91.147585,43.199585],[-91.161328,43.102334],[-91.148156,42.986209],[-91.117592,42.881652],[-91.069582,42.788554],[-90.959949,42.72034],[-90.788749,42.676933],[-90.687873,42.610322],[-90.657331,42.520509],[-90.650585,42.512984],[-90.589633,42.444802],[-90.484735,42.383257],[-90.425036,42.325656],[-90.41049,42.272075],[-90.346571,42.214837],[-90.233214,42.154016],[-90.167516,42.100304],[-90.149433,42.053711],[-90.152443,41.98152],[-90.176613,41.883643],[-90.217768,41.81311],[-90.276006,41.770011],[-90.319237,41.709652],[-90.347527,41.632034],[-90.43667,41.560359],[-90.586732,41.494727],[-90.754065,41.449826],[-90.938756,41.42559],[-91.048114,41.369098],[-91.082106,41.280318],[-91.066505,41.205907],[-91.001334,41.145966],[-90.963827,41.082531],[-90.954005,41.01558],[-91.000126,40.904684],[-91.102134,40.749788],[-91.215128,40.649559],[-91.339043,40.603977],[-91.394184,40.536653],[-91.380539,40.447554],[-91.390778,40.397127],[-91.441952,40.37945]]]}},{"type":"Feature","properties":{"name":"Idaho"},"geometry":{"type":"Polygon","coordinates":[[[-117.039054,48.993083],[-116.717028,48.993083],[-116.290649,48.993083],[-116.048494,48.993083],[-116.048389,48.746637],[-116.048598,48.499313],[-116.048801,48.251989],[-116.04901,48.00472],[-115.941443,47.904107],[-115.862149,47.842408],[-115.811244,47.775951],[-115.733757,47.706342],[-115.718382,47.68148],[-115.690867,47.606652],[-115.710862,47.552599],[-115.66968,47.497854],[-115.676887,47.470564],[-115.708022,47.456798],[-115.714454,47.45225],[-115.713317,47.446746],[-115.702468,47.437594],[-115.593325,47.384915],[-115.485994,47.311636],[-115.349467,47.261176],[-115.306675,47.231172],[-115.126636,47.084593],[-115.033516,46.990934],[-114.935694,46.922819],[-114.886937,46.844871],[-114.786066,46.776756],[-114.760715,46.742292],[-114.753689,46.734568],[-114.740302,46.733634],[-114.678032,46.750169],[-114.661623,46.745544],[-114.630648,46.718572],[-114.624006,46.677615],[-114.60155,46.660334],[-114.562999,46.650435],[-114.518664,46.647743],[-114.380917,46.667639],[-114.350897,46.667639],[-114.336868,46.659224],[-114.330122,46.637647],[-114.332061,46.601392],[-114.345805,46.550591],[-114.387042,46.499955],[-114.38022,46.453033],[-114.41275,46.343631],[-114.444248,46.270714],[-114.446599,46.199325],[-114.485359,46.158214],[-114.463578,46.109765],[-114.478306,46.035585],[-114.464792,46.016414],[-114.415903,45.982159],[-114.396787,45.89095],[-114.405131,45.874251],[-114.492566,45.838732],[-114.522537,45.815133],[-114.533699,45.78201],[-114.495796,45.685846],[-114.532617,45.633024],[-114.537346,45.587398],[-114.529233,45.575719],[-114.448434,45.551253],[-114.350562,45.497145],[-114.319191,45.48573],[-114.297641,45.487565],[-114.256146,45.505648],[-114.210234,45.542442],[-114.116619,45.579103],[-114.006393,45.658457],[-114.000708,45.680628],[-113.991924,45.69302],[-113.977818,45.69235],[-113.942651,45.681507],[-113.872915,45.63354],[-113.812814,45.606986],[-113.802273,45.601098],[-113.796642,45.587661],[-113.799614,45.540189],[-113.76615,45.502517],[-113.756097,45.44084],[-113.721941,45.379273],[-113.697112,45.304983],[-113.606573,45.209105],[-113.557404,45.140419],[-113.503582,45.109284],[-113.471079,45.072853],[-113.447129,45.029084],[-113.438136,44.993971],[-113.469294,44.929976],[-113.460796,44.90362],[-113.432138,44.874165],[-113.338891,44.808072],[-113.320418,44.802534],[-113.234269,44.809873],[-113.18717,44.798579],[-113.140709,44.765489],[-113.09327,44.715336],[-113.062706,44.665073],[-113.05428,44.605187],[-113.006379,44.539137],[-112.999689,44.48036],[-112.970075,44.454499],[-112.910392,44.419331],[-112.853856,44.398325],[-112.831351,44.396623],[-112.815514,44.405972],[-112.810163,44.438162],[-112.787142,44.463079],[-112.715928,44.498037],[-112.648236,44.497104],[-112.392848,44.467957],[-112.375385,44.470022],[-112.36386,44.479558],[-112.320036,44.53315],[-112.285077,44.553947],[-112.23131,44.560692],[-112.074211,44.547619],[-111.89208,44.554925],[-111.797098,44.539895],[-111.659302,44.559605],[-111.499857,44.54485],[-111.47934,44.553716],[-111.474506,44.564615],[-111.488821,44.584544],[-111.491046,44.624226],[-111.459109,44.671017],[-111.4481,44.711117],[-111.41557,44.733551],[-111.372525,44.74624],[-111.337463,44.744812],[-111.304081,44.723312],[-111.265118,44.687552],[-111.197574,44.590586],[-111.160934,44.555836],[-111.11722,44.525349],[-111.051434,44.498883],[-111.051357,44.342768],[-111.05128,44.186652],[-111.051225,44.030547],[-111.051148,43.874398],[-111.051071,43.718261],[-111.051022,43.562145],[-111.050945,43.406029],[-111.050862,43.249892],[-111.050785,43.093754],[-111.050708,42.937638],[-111.050659,42.781522],[-111.050582,42.625385],[-111.050505,42.469247],[-111.05045,42.313131],[-111.050373,42.157016],[-111.050296,42.000878],[-111.237311,42.0009],[-111.424331,42.0009],[-111.611346,42.000922],[-111.798367,42.000955],[-111.985381,42.000955],[-112.172396,42.000977],[-112.359416,42.000999],[-112.546431,42.000999],[-112.733451,42.000999],[-112.920466,42.001032],[-113.107481,42.001054],[-113.294501,42.001054],[-113.481516,42.001054],[-113.668536,42.001076],[-113.855551,42.001109],[-114.042593,42.001109],[-114.414354,42.001054],[-114.786115,42.000977],[-115.157876,42.0009],[-115.529637,42.000845],[-115.901398,42.000768],[-116.273153,42.000691],[-116.644914,42.000636],[-117.016675,42.000559],[-117.017114,42.223779],[-117.017581,42.446967],[-117.018021,42.670165],[-117.01846,42.893352],[-117.0189,43.11654],[-117.019339,43.339727],[-117.0198,43.562925],[-117.02024,43.808437],[-117.020498,43.813194],[-116.957634,43.964135],[-116.943967,44.037677],[-116.960683,44.079118],[-116.949779,44.119009],[-116.91131,44.157406],[-116.91242,44.199473],[-116.95319,44.245308],[-117.028952,44.275542],[-117.139744,44.290264],[-117.197312,44.3438],[-117.201701,44.436206],[-117.118919,44.578314],[-116.948955,44.770114],[-116.855857,44.90574],[-116.839553,44.98516],[-116.737342,45.168841],[-116.549157,45.456737],[-116.477043,45.641088],[-116.520917,45.721914],[-116.616827,45.79917],[-116.764725,45.87291],[-116.869194,45.958483],[-116.896479,46.002099],[-116.930196,46.055954],[-116.947845,46.124322],[-116.92211,46.163642],[-116.942962,46.232108],[-117.010396,46.329623],[-117.038999,46.396552],[-117.032462,46.419755],[-117.025046,46.429159],[-117.025848,46.589461],[-117.026678,46.749751],[-117.027502,46.910053],[-117.028331,47.070354],[-117.029155,47.230656],[-117.029985,47.390957],[-117.030809,47.551259],[-117.031638,47.71156],[-117.032462,47.871862],[-117.033292,48.032163],[-117.034116,48.192454],[-117.034918,48.352756],[-117.03572,48.513057],[-117.036544,48.673359],[-117.037373,48.83366],[-117.039054,48.993083]]]}},{"type":"Feature","properties":{"name":"Illinois"},"geometry":{"type":"Polygon","coordinates":[[[-91.441952,40.37945],[-91.390778,40.397127],[-91.380539,40.447554],[-91.394184,40.536653],[-91.339043,40.603977],[-91.215128,40.649559],[-91.102134,40.749788],[-91.000126,40.904684],[-90.954005,41.01558],[-90.963827,41.082531],[-91.001334,41.145966],[-91.066505,41.205907],[-91.082106,41.280318],[-91.048114,41.369098],[-90.938756,41.42559],[-90.754065,41.449826],[-90.586732,41.494727],[-90.43667,41.560359],[-90.347527,41.632034],[-90.319237,41.709652],[-90.276006,41.770011],[-90.217768,41.81311],[-90.176613,41.883643],[-90.152443,41.98152],[-90.149433,42.053711],[-90.167516,42.100304],[-90.233214,42.154016],[-90.346571,42.214837],[-90.41049,42.272075],[-90.425036,42.325656],[-90.484735,42.383257],[-90.589633,42.444802],[-90.650585,42.512984],[-90.191049,42.510303],[-89.740796,42.507798],[-89.290521,42.505315],[-88.840236,42.50281],[-88.38995,42.500305],[-87.939664,42.497822],[-87.489412,42.495318],[-87.039126,42.492802],[-87.084675,42.309791],[-87.130203,42.126781],[-87.17573,41.943749],[-87.221257,41.760728],[-87.371408,41.760761],[-87.521085,41.760761],[-87.522536,41.460988],[-87.524008,41.161237],[-87.52548,40.861486],[-87.52693,40.561713],[-87.528369,40.26194],[-87.529819,39.962189],[-87.53127,39.662438],[-87.532742,39.379144],[-87.532918,39.37486],[-87.579115,39.343977],[-87.611052,39.291353],[-87.602912,39.234147],[-87.614985,39.193289],[-87.647285,39.168745],[-87.631696,39.106705],[-87.568294,39.00718],[-87.530281,38.908897],[-87.51768,38.811821],[-87.529457,38.742289],[-87.583773,38.67937],[-87.635958,38.542612],[-87.680662,38.487988],[-87.735231,38.469905],[-87.784065,38.419104],[-87.827164,38.335564],[-87.872955,38.295024],[-87.921427,38.297507],[-87.957265,38.282214],[-87.980413,38.249189],[-87.97749,38.21444],[-87.948552,38.178009],[-87.958056,38.144292],[-88.006022,38.113278],[-88.005143,38.098402],[-87.990256,38.089305],[-87.996046,38.074419],[-88.026127,38.059587],[-88.044518,38.013291],[-88.042496,37.93665],[-88.059108,37.898363],[-88.091122,37.896649],[-88.095319,37.875566],[-88.041991,37.788851],[-88.073247,37.770922],[-88.128959,37.69951],[-88.140385,37.620651],[-88.107514,37.534353],[-88.190504,37.464557],[-88.389335,37.411262],[-88.494672,37.364285],[-88.506603,37.323591],[-88.492782,37.261551],[-88.453275,37.178143],[-88.446244,37.120421],[-88.471666,37.088385],[-88.613808,37.110083],[-88.872602,37.185537],[-89.046207,37.182977],[-89.134603,37.102469],[-89.165069,37.041561],[-89.154313,36.992112],[-89.224911,37.052679],[-89.272394,37.07998],[-89.281469,37.077794],[-89.291675,37.070653],[-89.295817,37.051636],[-89.293246,37.038177],[-89.285885,37.022698],[-89.290016,37.012777],[-89.300827,37.012052],[-89.35188,37.035519],[-89.413942,37.102415],[-89.486913,37.212739],[-89.502931,37.300509],[-89.461974,37.36568],[-89.461974,37.434125],[-89.502931,37.5058],[-89.523421,37.575947],[-89.523421,37.644524],[-89.623286,37.747257],[-89.822963,37.884092],[-89.969828,37.968533],[-90.063871,38.000525],[-90.173581,38.069047],[-90.299,38.173999],[-90.365775,38.254254],[-90.373993,38.309757],[-90.316601,38.457809],[-90.150751,38.780532],[-90.132195,38.818644],[-90.126768,38.832618],[-90.134206,38.84667],[-90.149916,38.859897],[-90.220075,38.897679],[-90.35435,38.93021],[-90.477968,38.948118],[-90.577075,38.909611],[-90.663527,38.987493],[-90.737223,39.181797],[-90.919376,39.386901],[-91.209899,39.602804],[-91.378737,39.749406],[-91.425868,39.826815],[-91.466814,39.942864],[-91.501652,40.097529],[-91.499784,40.226025],[-91.441952,40.37945]]]}},{"type":"Feature","properties":{"name":"Indiana"},"geometry":{"type":"Polygon","coordinates":[[[-88.041991,37.788851],[-88.095319,37.875566],[-88.091122,37.896649],[-88.059108,37.898363],[-88.042496,37.93665],[-88.044518,38.013291],[-88.026127,38.059587],[-87.996046,38.074419],[-87.990256,38.089305],[-88.005143,38.098402],[-88.006022,38.113278],[-87.958056,38.144292],[-87.948552,38.178009],[-87.97749,38.21444],[-87.980413,38.249189],[-87.957265,38.282214],[-87.921427,38.297507],[-87.872955,38.295024],[-87.827164,38.335564],[-87.784065,38.419104],[-87.735231,38.469905],[-87.680662,38.487988],[-87.635958,38.542612],[-87.583773,38.67937],[-87.529457,38.742289],[-87.51768,38.811821],[-87.530281,38.908897],[-87.568294,39.00718],[-87.631696,39.106705],[-87.647285,39.168745],[-87.614985,39.193289],[-87.602912,39.234147],[-87.611052,39.291353],[-87.579115,39.343977],[-87.532918,39.37486],[-87.532742,39.379144],[-87.53127,39.662438],[-87.529819,39.962189],[-87.528369,40.26194],[-87.52693,40.561713],[-87.52548,40.861486],[-87.524008,41.161237],[-87.522536,41.460988],[-87.521085,41.760761],[-87.371408,41.760761],[-87.221257,41.760728],[-86.918156,41.760607],[-86.615043,41.760497],[-86.31193,41.760376],[-86.008828,41.760244],[-85.705715,41.760112],[-85.402614,41.759981],[-85.099501,41.75986],[-84.796399,41.759728],[-84.796113,41.701434],[-84.799552,41.376052],[-84.802958,41.05067],[-84.806397,40.725321],[-84.809835,40.399939],[-84.813263,40.074557],[-84.816702,39.749197],[-84.82014,39.423826],[-84.821711,39.091984],[-84.837422,39.082678],[-84.860603,39.039711],[-84.835488,38.99604],[-84.836598,38.960565],[-84.863888,38.933231],[-84.854165,38.912896],[-84.807451,38.899536],[-84.78962,38.868379],[-84.800739,38.819391],[-84.901241,38.769568],[-85.093898,38.71356],[-85.135525,38.697256],[-85.16989,38.690378],[-85.186117,38.693663],[-85.18604,38.693663],[-85.211122,38.704122],[-85.24663,38.72704],[-85.306747,38.737191],[-85.405426,38.729962],[-85.444779,38.683095],[-85.424828,38.596588],[-85.458677,38.530209],[-85.546326,38.484011],[-85.608904,38.423026],[-85.646422,38.347297],[-85.706287,38.301353],[-85.788453,38.285214],[-85.854932,38.215033],[-85.905678,38.090909],[-85.961159,38.014016],[-86.021331,37.984353],[-86.103442,37.991868],[-86.207527,38.036571],[-86.267622,38.082582],[-86.28375,38.129867],[-86.3146,38.163771],[-86.342659,38.178734],[-86.361445,38.178987],[-86.362522,38.172109],[-86.354952,38.15886],[-86.365137,38.1446],[-86.429627,38.139689],[-86.457378,38.120155],[-86.448336,38.085966],[-86.462542,38.061763],[-86.499961,38.047502],[-86.519857,38.01484],[-86.522186,37.963732],[-86.548641,37.917062],[-86.599233,37.874797],[-86.673128,37.889036],[-86.770335,37.959777],[-86.86908,37.976135],[-86.96944,37.938046],[-87.044268,37.886443],[-87.093563,37.821283],[-87.141035,37.805243],[-87.209403,37.854846],[-87.372385,37.923478],[-87.457288,37.938101],[-87.518449,37.921566],[-87.561449,37.929059],[-87.576171,37.947758],[-87.587388,37.95569],[-87.599407,37.946472],[-87.600802,37.886729],[-87.615392,37.848936],[-87.643253,37.833038],[-87.664567,37.845541],[-87.67942,37.886366],[-87.714456,37.899604],[-87.769651,37.885234],[-87.825253,37.891431],[-87.874428,37.915743],[-87.892116,37.912986],[-87.906002,37.901824],[-87.902069,37.85511],[-87.912484,37.81769],[-87.938115,37.793817],[-87.974546,37.788027],[-88.021776,37.800431],[-88.041991,37.788851]]]}},{"type":"Feature","properties":{"name":"Kansas"},"geometry":{"type":"Polygon","coordinates":[[[-102.012783,37.000846],[-102.013536,37.188372],[-102.014261,37.375853],[-102.014981,37.56339],[-102.015706,37.750927],[-102.016431,37.93843],[-102.017178,38.125945],[-102.017925,38.31347],[-102.01865,38.500985],[-102.019375,38.688489],[-102.0201,38.876025],[-102.02082,39.063529],[-102.021572,39.251044],[-102.022319,39.43858],[-102.023045,39.626084],[-102.02377,39.813588],[-102.024489,40.001124],[-101.814892,40.001124],[-101.605289,40.001124],[-101.395692,40.001124],[-101.18609,40.001124],[-100.976492,40.001124],[-100.766895,40.001124],[-100.557293,40.001124],[-100.347695,40.001124],[-100.138093,40.001124],[-99.928495,40.001124],[-99.718893,40.001124],[-99.509296,40.001124],[-99.299693,40.001124],[-99.090096,40.001124],[-98.880499,40.001124],[-98.670896,40.001124],[-98.461299,40.001124],[-98.251696,40.001124],[-98.042099,40.001124],[-97.832496,40.001124],[-97.622899,40.001124],[-97.413296,40.001124],[-97.203699,40.001124],[-96.994102,40.001124],[-96.784499,40.001124],[-96.574902,40.001124],[-96.3653,40.001124],[-96.155702,40.001124],[-95.9461,40.001124],[-95.736503,40.001124],[-95.526905,40.001124],[-95.34668,40.001487],[-95.116203,39.87209],[-95.055537,39.870794],[-94.984016,39.891162],[-94.929936,39.861499],[-94.893296,39.781815],[-94.898597,39.741144],[-94.945827,39.739485],[-95.004764,39.691552],[-95.075356,39.597377],[-95.057937,39.508959],[-94.952518,39.426375],[-94.882294,39.343131],[-94.847203,39.259152],[-94.777852,39.193992],[-94.622384,39.124404],[-94.624527,39.086062],[-94.624115,38.955764],[-94.62373,38.825433],[-94.62334,38.695103],[-94.622928,38.564783],[-94.622511,38.434452],[-94.622099,38.304121],[-94.621687,38.17379],[-94.621297,38.04347],[-94.620912,37.91314],[-94.6205,37.782809],[-94.620083,37.652478],[-94.619671,37.522158],[-94.619259,37.391827],[-94.618869,37.261497],[-94.618484,37.131166],[-94.618067,37.000846],[-94.849164,37.000846],[-95.08024,37.000846],[-95.31131,37.000846],[-95.542407,37.000846],[-95.773504,37.000846],[-96.004574,37.000846],[-96.235644,37.000846],[-96.466742,37.000846],[-96.697839,37.000846],[-96.928909,37.000846],[-97.159979,37.000846],[-97.391077,37.000846],[-97.622174,37.000846],[-97.853244,37.000846],[-98.084319,37.000846],[-98.315417,37.000846],[-98.546514,37.000846],[-98.777584,37.000846],[-99.008654,37.000846],[-99.239752,37.000846],[-99.470849,37.000846],[-99.701919,37.000846],[-99.932989,37.000846],[-100.164086,37.000846],[-100.395184,37.000846],[-100.626254,37.000846],[-100.857329,37.000846],[-101.088421,37.000846],[-101.319518,37.000846],[-101.550616,37.000846],[-101.781713,37.000846],[-102.012783,37.000846]]]}},{"type":"Feature","properties":{"name":"Kentucky"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-89.154313,36.992112],[-89.165069,37.041561],[-89.134603,37.102469],[-89.046207,37.182977],[-88.872602,37.185537],[-88.613808,37.110083],[-88.471666,37.088385],[-88.446244,37.120421],[-88.453275,37.178143],[-88.492782,37.261551],[-88.506603,37.323591],[-88.494672,37.364285],[-88.389335,37.411262],[-88.190504,37.464557],[-88.107514,37.534353],[-88.140385,37.620651],[-88.128959,37.69951],[-88.073247,37.770922],[-88.041991,37.788851],[-88.021776,37.800431],[-87.974546,37.788027],[-87.938115,37.793817],[-87.912484,37.81769],[-87.902069,37.85511],[-87.906002,37.901824],[-87.892116,37.912986],[-87.874428,37.915743],[-87.825253,37.891431],[-87.769651,37.885234],[-87.714456,37.899604],[-87.67942,37.886366],[-87.664567,37.845541],[-87.643253,37.833038],[-87.615392,37.848936],[-87.600802,37.886729],[-87.599407,37.946472],[-87.587388,37.95569],[-87.576171,37.947758],[-87.561449,37.929059],[-87.518449,37.921566],[-87.457288,37.938101],[-87.372385,37.923478],[-87.209403,37.854846],[-87.141035,37.805243],[-87.093563,37.821283],[-87.044268,37.886443],[-86.96944,37.938046],[-86.86908,37.976135],[-86.770335,37.959777],[-86.673128,37.889036],[-86.599233,37.874797],[-86.548641,37.917062],[-86.522186,37.963732],[-86.519857,38.01484],[-86.499961,38.047502],[-86.462542,38.061763],[-86.448336,38.085966],[-86.457378,38.120155],[-86.429627,38.139689],[-86.365137,38.1446],[-86.354952,38.15886],[-86.362522,38.172109],[-86.361445,38.178987],[-86.342659,38.178734],[-86.3146,38.163771],[-86.28375,38.129867],[-86.267622,38.082582],[-86.207527,38.036571],[-86.103442,37.991868],[-86.021331,37.984353],[-85.961159,38.014016],[-85.905678,38.090909],[-85.854932,38.215033],[-85.788453,38.285214],[-85.706287,38.301353],[-85.646422,38.347297],[-85.608904,38.423026],[-85.546326,38.484011],[-85.458677,38.530209],[-85.424828,38.596588],[-85.444779,38.683095],[-85.405426,38.729962],[-85.306747,38.737191],[-85.24663,38.72704],[-85.211122,38.704122],[-85.18604,38.693663],[-85.186117,38.693663],[-85.16989,38.690378],[-85.135525,38.697256],[-85.093898,38.71356],[-84.901241,38.769568],[-84.800739,38.819391],[-84.78962,38.868379],[-84.807451,38.899536],[-84.854165,38.912896],[-84.863888,38.933231],[-84.836598,38.960565],[-84.835488,38.99604],[-84.860603,39.039711],[-84.837422,39.082678],[-84.821711,39.091984],[-84.765901,39.124998],[-84.706948,39.128909],[-84.660542,39.094467],[-84.594547,39.085776],[-84.508865,39.102838],[-84.43006,39.090896],[-84.358022,39.049917],[-84.290435,38.974705],[-84.227285,38.865204],[-84.113236,38.798385],[-83.948386,38.774226],[-83.828086,38.731226],[-83.752269,38.669373],[-83.689878,38.649531],[-83.616313,38.682776],[-83.538387,38.69986],[-83.460582,38.679502],[-83.35697,38.627405],[-83.203469,38.638907],[-83.000068,38.713999],[-82.880438,38.710253],[-82.844623,38.627668],[-82.758226,38.541162],[-82.621282,38.450679],[-82.612778,38.448218],[-82.589498,38.420345],[-82.578413,38.272085],[-82.585389,38.24273],[-82.619546,38.182008],[-82.617711,38.149873],[-82.588773,38.099742],[-82.482195,37.983551],[-82.47189,37.938408],[-82.4299,37.894177],[-82.393876,37.828314],[-82.280244,37.687184],[-82.103463,37.570575],[-81.965277,37.539725],[-82.343207,37.296927],[-82.516505,37.208839],[-82.681586,37.13812],[-82.69489,37.126156],[-82.731892,37.048076],[-82.832021,36.979269],[-82.894501,36.906374],[-83.043816,36.845554],[-83.150218,36.762333],[-83.41689,36.681012],[-83.566183,36.652623],[-83.667521,36.60503],[-83.675376,36.602723],[-83.683231,36.600449],[-83.691086,36.598175],[-83.698942,36.595901],[-83.706797,36.593638],[-83.714652,36.591363],[-83.722507,36.589089],[-83.730385,36.586815],[-84.07752,36.596582],[-84.424688,36.606316],[-84.771845,36.616061],[-85.11898,36.625828],[-85.466126,36.635594],[-85.813283,36.645339],[-86.160451,36.655073],[-86.507586,36.66484],[-86.84046,36.659622],[-87.173357,36.654403],[-87.506254,36.649185],[-87.839151,36.643966],[-87.868715,36.675046],[-87.956298,36.681968],[-88.091122,36.6928],[-88.096297,36.693009],[-88.056713,36.59032],[-88.05601,36.500946],[-88.059108,36.499683],[-88.215509,36.499737],[-88.388214,36.499759],[-88.560919,36.499792],[-88.733646,36.499836],[-88.906373,36.499891],[-89.079079,36.499913],[-89.251784,36.499946],[-89.450329,36.500023],[-89.397462,36.587793],[-89.351309,36.611205],[-89.330534,36.615907],[-89.280128,36.600043],[-89.256123,36.594407],[-89.203048,36.62552],[-89.156334,36.715718],[-89.129517,36.811057],[-89.122486,36.911593],[-89.154313,36.992112]]],[[[-89.487221,36.503066],[-89.557313,36.501078],[-89.560038,36.513097],[-89.55549,36.540771],[-89.549645,36.553065],[-89.535582,36.555284],[-89.51952,36.554823],[-89.496834,36.528829],[-89.487221,36.503066]]]]}},{"type":"Feature","properties":{"name":"Louisiana"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-94.041307,33.011996],[-93.861631,33.012193],[-93.681949,33.012402],[-93.502273,33.012611],[-93.322619,33.012842],[-93.142965,33.013072],[-92.963284,33.013281],[-92.783608,33.01349],[-92.603927,33.013699],[-92.424251,33.013907],[-92.244569,33.014105],[-92.064899,33.014314],[-91.885207,33.014544],[-91.705536,33.014786],[-91.525855,33.014984],[-91.346173,33.015193],[-91.149958,33.015918],[-91.144179,32.966875],[-91.096081,32.937684],[-91.093378,32.885027],[-91.13606,32.808847],[-91.135587,32.755783],[-91.092082,32.725857],[-91.094356,32.69426],[-91.142421,32.661026],[-91.14965,32.625013],[-91.11612,32.586231],[-91.100816,32.541374],[-91.103815,32.490497],[-91.059276,32.423755],[-90.990019,32.381051],[-90.9447,32.330711],[-90.940437,32.303092],[-90.937647,32.277329],[-90.947721,32.240074],[-91.004597,32.185582],[-91.048158,32.145921],[-91.074591,32.131321],[-91.088698,32.10414],[-91.092543,32.045847],[-91.156527,31.970689],[-91.286496,31.883974],[-91.37253,31.773716],[-91.414706,31.639979],[-91.459091,31.554978],[-91.505728,31.518701],[-91.529008,31.448751],[-91.528953,31.345194],[-91.558693,31.287911],[-91.61825,31.276958],[-91.630807,31.217599],[-91.596365,31.109911],[-91.611043,31.0649],[-91.652615,31.029557],[-91.656449,31.001805],[-91.417123,31.001256],[-91.176885,31.001234],[-90.936614,31.001212],[-90.696343,31.001212],[-90.456105,31.001212],[-90.215834,31.001157],[-89.975563,31.001157],[-89.735314,31.001157],[-89.764933,30.886075],[-89.835366,30.730816],[-89.838124,30.690431],[-89.819733,30.639861],[-89.819997,30.611208],[-89.794003,30.568933],[-89.736632,30.526613],[-89.685766,30.462684],[-89.640777,30.348921],[-89.628988,30.296186],[-89.591657,30.223017],[-89.572486,30.209164],[-89.545075,30.200693],[-89.520861,30.192629],[-89.588482,30.165965],[-89.954249,30.268742],[-90.045216,30.351404],[-90.125966,30.369102],[-90.225282,30.379287],[-90.332003,30.277586],[-90.413061,30.140301],[-90.284982,30.065089],[-90.175338,30.029098],[-89.994196,30.059255],[-89.894044,30.125865],[-89.81224,30.12369],[-89.773118,30.137236],[-89.737434,30.171986],[-89.66755,30.14452],[-89.665067,30.117054],[-89.714704,30.078294],[-89.77726,30.045709],[-89.815185,30.007268],[-89.743817,29.929858],[-89.63168,29.903831],[-89.589514,29.915049],[-89.563389,30.002093],[-89.49445,30.058167],[-89.400736,30.04605],[-89.414052,30.010882],[-89.400912,29.977682],[-89.357846,29.921014],[-89.362811,29.839781],[-89.354462,29.820226],[-89.455415,29.784388],[-89.530661,29.772215],[-89.590888,29.725271],[-89.559313,29.698036],[-89.62065,29.674129],[-89.662123,29.683687],[-89.682942,29.674854],[-89.689215,29.646048],[-89.720878,29.619308],[-89.674801,29.538668],[-89.580341,29.486054],[-89.513676,29.42007],[-89.245686,29.333202],[-89.180779,29.335706],[-89.116828,29.248211],[-89.065335,29.218142],[-89.015753,29.202871],[-89.021378,29.142721],[-89.109511,29.098665],[-89.13334,29.04614],[-89.15551,29.016631],[-89.195248,29.053984],[-89.236095,29.08112],[-89.330556,28.998701],[-89.376149,28.981331],[-89.353539,29.070244],[-89.389223,29.105016],[-89.443144,29.194137],[-89.521762,29.249277],[-89.577155,29.267514],[-89.620265,29.302396],[-89.672472,29.316502],[-89.716967,29.31291],[-89.792377,29.333202],[-89.797354,29.380641],[-89.818283,29.416137],[-89.877246,29.458017],[-90.159068,29.537141],[-90.160792,29.504402],[-90.141259,29.479748],[-90.100807,29.463324],[-90.052335,29.431408],[-90.052797,29.336838],[-90.073748,29.29676],[-90.082713,29.239763],[-90.101367,29.181788],[-90.135864,29.136074],[-90.212802,29.104939],[-90.246706,29.131009],[-90.301615,29.255814],[-90.379201,29.295112],[-90.502511,29.299759],[-90.586249,29.271546],[-90.677501,29.15062],[-90.751022,29.130888],[-91.002763,29.19351],[-91.290132,29.288993],[-91.282716,29.320743],[-91.237497,29.330971],[-91.15076,29.317898],[-91.155385,29.350692],[-91.243979,29.457325],[-91.260238,29.505456],[-91.248845,29.564189],[-91.277729,29.562871],[-91.330924,29.513575],[-91.514198,29.555378],[-91.56479,29.605322],[-91.672467,29.74609],[-91.824386,29.750693],[-91.893172,29.836013],[-92.017328,29.800296],[-92.080214,29.760713],[-92.135475,29.699475],[-92.113986,29.667702],[-92.058878,29.617187],[-92.084037,29.59282],[-92.260824,29.55685],[-92.671317,29.597082],[-92.791332,29.634655],[-92.952408,29.714185],[-93.175705,29.778961],[-93.283189,29.789398],[-93.388455,29.776577],[-93.694842,29.769919],[-93.765901,29.752704],[-93.826463,29.725139],[-93.86574,29.755626],[-93.883878,29.810019],[-93.848321,29.81883],[-93.808814,29.850811],[-93.773081,29.914038],[-93.769049,29.952303],[-93.79401,29.977264],[-93.726933,30.077108],[-93.710629,30.112813],[-93.720967,30.282904],[-93.750394,30.344713],[-93.746626,30.380363],[-93.715205,30.473253],[-93.720215,30.558265],[-93.665206,30.660768],[-93.624721,30.714348],[-93.579194,30.823805],[-93.568675,30.894655],[-93.549196,30.947719],[-93.562654,31.004903],[-93.530591,31.04619],[-93.551443,31.104066],[-93.557749,31.180421],[-93.596992,31.209754],[-93.665882,31.322584],[-93.663657,31.372198],[-93.736057,31.477667],[-93.737578,31.513812],[-93.806902,31.568799],[-93.820652,31.603966],[-93.826798,31.75026],[-93.845585,31.792942],[-93.905065,31.876998],[-94.043301,31.999232],[-94.043064,32.125838],[-94.042806,32.252423],[-94.042548,32.379007],[-94.04229,32.505614],[-94.042032,32.63222],[-94.041801,32.758805],[-94.041565,32.885378],[-94.041307,33.011996]]],[[[-89.223955,30.084051],[-89.22044,30.037601],[-89.26945,30.060727],[-89.342003,30.062848],[-89.310055,30.078712],[-89.287643,30.094181],[-89.276481,30.110825],[-89.184679,30.168679],[-89.210673,30.126228],[-89.223955,30.084051]]],[[[-88.82747,29.80769],[-88.855661,29.775863],[-88.827986,29.928353],[-88.866867,30.056717],[-88.825888,30.000368],[-88.812583,29.933363],[-88.82747,29.80769]]],[[[-88.889301,29.712581],[-88.943584,29.660232],[-88.941101,29.680205],[-88.901155,29.732632],[-88.872656,29.752989],[-88.889301,29.712581]]],[[[-91.79369,29.500732],[-91.830846,29.486472],[-91.996234,29.57311],[-92.006649,29.610288],[-91.925032,29.643928],[-91.875231,29.640984],[-91.796503,29.59695],[-91.767675,29.584712],[-91.754315,29.566881],[-91.761885,29.538997],[-91.79369,29.500732]]]]}},{"type":"Feature","properties":{"name":"Massachusetts"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-71.800836,42.011963],[-71.801638,42.022708],[-71.921136,42.024125],[-72.040634,42.025553],[-72.160133,42.02697],[-72.279642,42.028388],[-72.39914,42.029816],[-72.518638,42.031233],[-72.638115,42.03265],[-72.757624,42.034079],[-72.763326,42.011238],[-72.806458,42.00803],[-72.8077,42.034079],[-72.8918,42.036759],[-72.975922,42.039451],[-73.060034,42.042132],[-73.144134,42.044823],[-73.228234,42.047515],[-73.312346,42.050195],[-73.396468,42.052887],[-73.480568,42.055568],[-73.507287,42.080012],[-73.475537,42.164047],[-73.443808,42.24807],[-73.412047,42.332094],[-73.380296,42.416117],[-73.348568,42.500141],[-73.316806,42.584175],[-73.285056,42.668198],[-73.253327,42.752222],[-73.155011,42.749486],[-73.056694,42.74674],[-72.95841,42.744004],[-72.860094,42.741268],[-72.761777,42.738533],[-72.663493,42.735786],[-72.565177,42.733051],[-72.46686,42.730315],[-72.324697,42.726854],[-72.182545,42.723361],[-72.040382,42.719878],[-71.898241,42.716406],[-71.75611,42.712924],[-71.613947,42.70943],[-71.471784,42.705969],[-71.329621,42.702487],[-71.242335,42.729535],[-71.139294,42.808131],[-71.076177,42.825083],[-70.974082,42.871676],[-70.923489,42.881564],[-70.806112,42.876763],[-70.829051,42.825347],[-70.800278,42.77403],[-70.781337,42.72124],[-70.735678,42.669286],[-70.696864,42.664584],[-70.65483,42.673955],[-70.62398,42.671758],[-70.604139,42.649719],[-70.61295,42.623264],[-70.661444,42.616651],[-70.75185,42.570343],[-70.831171,42.552567],[-70.870887,42.496636],[-70.930444,42.431981],[-71.046174,42.331116],[-70.996724,42.299981],[-70.817944,42.264967],[-70.73826,42.228866],[-70.617696,42.040429],[-70.645239,42.021565],[-70.656148,41.987046],[-70.548922,41.938629],[-70.514677,41.803311],[-70.426677,41.7573],[-70.295467,41.728955],[-70.135012,41.769857],[-70.001407,41.826184],[-70.006109,41.872327],[-70.090034,41.979707],[-70.110238,42.030145],[-70.172585,42.062808],[-70.196228,42.035111],[-70.236536,42.071026],[-70.241085,42.091229],[-70.203489,42.101018],[-70.159852,42.097118],[-70.108941,42.078309],[-69.977896,41.961261],[-69.941586,41.807859],[-69.933841,41.710421],[-69.94864,41.677144],[-69.986751,41.683966],[-70.059514,41.677352],[-70.40466,41.626892],[-70.481356,41.582453],[-70.657126,41.534234],[-70.668057,41.558294],[-70.655346,41.608106],[-70.666453,41.710114],[-70.701126,41.714849],[-70.974246,41.548527],[-71.079792,41.53809],[-71.16854,41.489409],[-71.188414,41.516403],[-71.204278,41.641131],[-71.148731,41.74572],[-71.178339,41.744072],[-71.233765,41.706554],[-71.267889,41.75084],[-71.304737,41.774658],[-71.340728,41.797916],[-71.339487,41.835171],[-71.33763,41.891443],[-71.379071,41.902407],[-71.383927,41.971731],[-71.387135,42.016863],[-71.462534,42.015962],[-71.524134,42.015237],[-71.623242,42.014028],[-71.725821,42.012864],[-71.800836,42.011963]]],[[[-70.509898,41.376338],[-70.785314,41.327449],[-70.829183,41.359002],[-70.760485,41.373602],[-70.673715,41.448529],[-70.615993,41.457208],[-70.525356,41.41479],[-70.509898,41.376338]]],[[[-69.97794,41.265596],[-70.055097,41.249468],[-70.233076,41.286338],[-70.086617,41.317561],[-70.0627,41.328482],[-70.043605,41.374426],[-70.041199,41.397476],[-69.985598,41.298621],[-69.97794,41.265596]]]]}},{"type":"Feature","properties":{"name":"Maryland"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-77.030361,38.889253],[-77.019737,38.806526],[-76.931242,38.88822],[-76.988789,38.952347],[-77.042116,39.011783],[-77.122053,38.943536],[-77.1903,38.969047],[-77.301086,39.053378],[-77.480921,39.112957],[-77.506454,39.14262],[-77.502938,39.175282],[-77.478856,39.220864],[-77.53415,39.265612],[-77.668821,39.309535],[-77.726642,39.346438],[-77.739045,39.354337],[-77.744835,39.400106],[-77.762358,39.429242],[-77.791703,39.441777],[-77.797438,39.461465],[-77.779585,39.488337],[-77.798141,39.517275],[-77.853072,39.548334],[-77.872167,39.575778],[-77.855423,39.599706],[-77.883252,39.610714],[-77.955707,39.608803],[-78.027195,39.631226],[-78.097782,39.677885],[-78.181135,39.68574],[-78.325364,39.639213],[-78.406761,39.627864],[-78.442698,39.601464],[-78.460265,39.556134],[-78.495542,39.533348],[-78.574962,39.532854],[-78.587497,39.534436],[-78.677673,39.54952],[-78.741669,39.577898],[-78.753402,39.589522],[-78.746459,39.613702],[-78.758214,39.624766],[-78.77777,39.626622],[-78.796172,39.612626],[-78.814794,39.570087],[-78.971481,39.453643],[-79.046748,39.476791],[-79.075345,39.475989],[-79.293556,39.311578],[-79.35977,39.285354],[-79.487981,39.210911],[-79.485344,39.33889],[-79.48274,39.466837],[-79.480126,39.594817],[-79.4775,39.722797],[-79.24671,39.722775],[-79.015898,39.722742],[-78.785086,39.72272],[-78.554297,39.722687],[-78.323507,39.722665],[-78.092695,39.722643],[-77.861883,39.72261],[-77.631094,39.722588],[-77.400304,39.722566],[-77.169492,39.722533],[-76.93868,39.722511],[-76.707901,39.722489],[-76.477112,39.722456],[-76.246322,39.722434],[-76.015532,39.722379],[-75.78472,39.722357],[-75.77503,39.563945],[-75.765318,39.405555],[-75.755606,39.247144],[-75.745883,39.088721],[-75.736172,38.930309],[-75.72646,38.771897],[-75.716748,38.613485],[-75.707025,38.455073],[-75.704729,38.455073],[-75.702433,38.45504],[-75.700125,38.455018],[-75.697829,38.455018],[-75.695533,38.455018],[-75.693226,38.455018],[-75.690908,38.455018],[-75.688601,38.455018],[-75.587856,38.454996],[-75.366273,38.454919],[-75.144657,38.454865],[-75.037661,38.45559],[-75.038748,38.426366],[-75.051251,38.383036],[-75.074355,38.365721],[-75.073399,38.410007],[-75.089747,38.42541],[-75.116751,38.406206],[-75.134242,38.384321],[-75.141482,38.298123],[-75.160005,38.255056],[-75.225428,38.24229],[-75.291786,38.129197],[-75.35354,38.065015],[-75.375963,38.024991],[-75.469424,38.014939],[-75.620002,37.999207],[-75.659256,37.953965],[-75.735161,37.973707],[-75.850814,37.971554],[-75.829039,38.03277],[-75.795344,38.086669],[-75.855626,38.140359],[-75.89131,38.147236],[-75.92807,38.169242],[-75.88497,38.213945],[-75.863921,38.26123],[-75.876764,38.318744],[-75.858702,38.362074],[-75.888827,38.355515],[-75.937276,38.30968],[-75.967401,38.291355],[-75.985715,38.331949],[-76.006677,38.322776],[-76.020311,38.294871],[-76.051216,38.279545],[-76.116485,38.317689],[-76.211671,38.361327],[-76.264647,38.436418],[-76.29487,38.494657],[-76.264175,38.599972],[-76.198388,38.618682],[-76.112948,38.601576],[-76.000942,38.60173],[-76.016927,38.625109],[-76.05695,38.621263],[-76.174987,38.706682],[-76.212967,38.758285],[-76.278314,38.772468],[-76.308098,38.722854],[-76.341178,38.709648],[-76.30032,38.818204],[-76.24697,38.822643],[-76.168132,38.852745],[-76.19105,38.915554],[-76.240818,38.943075],[-76.330664,38.908611],[-76.329598,38.952787],[-76.312756,39.009356],[-76.245003,39.009191],[-76.18571,38.990745],[-76.135195,39.082107],[-76.132943,39.122965],[-76.216845,39.063639],[-76.235698,39.191619],[-76.153125,39.315039],[-76.074364,39.368861],[-75.975981,39.367257],[-75.875984,39.375991],[-75.938716,39.398579],[-76.003106,39.410851],[-75.954734,39.459608],[-75.913447,39.468342],[-75.872929,39.510892],[-75.9704,39.504564],[-75.958919,39.58505],[-76.006314,39.568691],[-76.063004,39.561122],[-76.085064,39.526998],[-76.080725,39.470309],[-76.097259,39.433098],[-76.141369,39.403226],[-76.215813,39.379946],[-76.223042,39.420332],[-76.247662,39.438602],[-76.256814,39.352173],[-76.276369,39.322741],[-76.330818,39.403897],[-76.347198,39.387549],[-76.345045,39.364522],[-76.358976,39.324685],[-76.405689,39.303877],[-76.402778,39.252824],[-76.420883,39.224995],[-76.570407,39.269336],[-76.573923,39.254318],[-76.489383,39.158693],[-76.427607,39.126041],[-76.42006,39.073889],[-76.47308,39.030614],[-76.546248,39.067979],[-76.558553,39.06521],[-76.518783,39.001182],[-76.493778,38.945217],[-76.519508,38.898328],[-76.515553,38.840606],[-76.521112,38.7883],[-76.536877,38.742618],[-76.501314,38.532175],[-76.458501,38.47497],[-76.416412,38.420236],[-76.394088,38.368973],[-76.438736,38.361536],[-76.509895,38.403646],[-76.572429,38.435792],[-76.646894,38.538525],[-76.659188,38.579559],[-76.677326,38.611958],[-76.668548,38.537515],[-76.641983,38.454348],[-76.408766,38.268262],[-76.365721,38.196895],[-76.332905,38.140776],[-76.341178,38.087031],[-76.401943,38.125066],[-76.454425,38.173538],[-76.593589,38.228315],[-76.769161,38.262933],[-76.868115,38.390298],[-76.867752,38.337146],[-76.889747,38.29208],[-76.95026,38.347045],[-76.988393,38.393879],[-77.001181,38.445251],[-77.076712,38.441758],[-77.155902,38.397109],[-77.23252,38.407711],[-77.241584,38.494811],[-77.220919,38.540953],[-77.134929,38.650125],[-77.053894,38.705803],[-77.018188,38.777742],[-77.030361,38.889253]]],[[[-75.225791,38.040339],[-75.252476,38.03745],[-75.225999,38.072299],[-75.137395,38.240093],[-75.097888,38.298079],[-75.13623,38.180536],[-75.203203,38.072408],[-75.225791,38.040339]]]]}},{"type":"Feature","properties":{"name":"Maine"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-69.05366,47.294585],[-69.048574,47.273656],[-69.00309,47.236446],[-68.937183,47.211254],[-68.887415,47.202827],[-68.828715,47.203322],[-68.668546,47.253442],[-68.480383,47.285796],[-68.376902,47.316151],[-68.358017,47.344529],[-68.310886,47.354472],[-68.235497,47.345946],[-68.096795,47.274843],[-67.934835,47.167616],[-67.806789,47.082813],[-67.802856,46.935739],[-67.800351,46.779854],[-67.797692,46.61563],[-67.795836,46.498406],[-67.792518,46.337379],[-67.789914,46.209323],[-67.786475,46.042155],[-67.78464,45.952803],[-67.767051,45.926985],[-67.777609,45.891796],[-67.782289,45.874174],[-67.781125,45.860144],[-67.774105,45.842522],[-67.775258,45.81788],[-67.791694,45.795578],[-67.799911,45.76976],[-67.802241,45.727517],[-67.78464,45.70171],[-67.755318,45.686461],[-67.730665,45.686461],[-67.698991,45.67119],[-67.657935,45.644186],[-67.595742,45.62073],[-67.531197,45.612534],[-67.486625,45.618401],[-67.43265,45.603108],[-67.413863,45.56559],[-67.424432,45.530401],[-67.454919,45.513965],[-67.48779,45.501045],[-67.493657,45.474074],[-67.477221,45.445905],[-67.453754,45.421262],[-67.427947,45.377954],[-67.438516,45.340381],[-67.461972,45.308708],[-67.472541,45.275891],[-67.452601,45.247678],[-67.399778,45.21016],[-67.36694,45.173784],[-67.315294,45.153833],[-67.290662,45.167918],[-67.270722,45.186704],[-67.249584,45.200778],[-67.213231,45.192538],[-67.170988,45.182002],[-67.124835,45.169445],[-67.130372,45.139002],[-67.102258,45.08774],[-67.08045,44.98917],[-67.113936,44.94439],[-67.106729,44.885042],[-67.014015,44.867749],[-66.991461,44.849611],[-66.987022,44.827704],[-67.191247,44.675565],[-67.364073,44.696857],[-67.457786,44.656526],[-67.556004,44.644771],[-67.59907,44.576787],[-67.652991,44.562395],[-67.726786,44.566482],[-67.790485,44.585675],[-67.839056,44.576249],[-67.907017,44.45362],[-67.962696,44.464309],[-67.984888,44.420188],[-68.01398,44.400885],[-68.056618,44.384318],[-68.093719,44.438843],[-68.117285,44.490644],[-68.152034,44.502014],[-68.198265,44.515242],[-68.245748,44.514781],[-68.277432,44.507365],[-68.316752,44.473878],[-68.373749,44.445138],[-68.416849,44.469066],[-68.450599,44.507595],[-68.47946,44.445655],[-68.521417,44.380242],[-68.514473,44.303909],[-68.532535,44.258645],[-68.572349,44.27084],[-68.612032,44.310523],[-68.72329,44.342306],[-68.811917,44.339362],[-68.793889,44.381736],[-68.710118,44.442556],[-68.735881,44.454499],[-68.777014,44.44605],[-68.794943,44.454499],[-68.765511,44.509793],[-68.76272,44.570767],[-68.800217,44.549398],[-68.84737,44.485041],[-68.961474,44.433855],[-68.956168,44.348096],[-69.063559,44.172348],[-69.06836,44.097564],[-69.137244,44.037831],[-69.226058,43.986459],[-69.344545,44.000928],[-69.434952,43.956312],[-69.480875,43.905072],[-69.520733,43.897371],[-69.541541,43.962619],[-69.556702,43.982768],[-69.58998,43.886571],[-69.623939,43.880628],[-69.636749,43.948842],[-69.652877,43.993875],[-69.699129,43.955016],[-69.729847,43.851997],[-69.762015,43.860709],[-69.772276,43.89903],[-69.795292,43.910631],[-69.803258,43.866829],[-69.791601,43.805228],[-69.808344,43.772313],[-69.840336,43.789881],[-69.872526,43.819544],[-69.925601,43.797022],[-69.974326,43.78787],[-69.974534,43.818072],[-69.965229,43.855106],[-70.062359,43.834639],[-70.178814,43.76637],[-70.269243,43.671909],[-70.237877,43.656199],[-70.202578,43.626118],[-70.359682,43.480242],[-70.520698,43.348823],[-70.642327,43.134425],[-70.691162,43.109332],[-70.733096,43.070034],[-70.812835,43.163649],[-70.829029,43.23907],[-70.919699,43.328103],[-70.955635,43.389396],[-70.967545,43.458148],[-70.962436,43.532152],[-70.970104,43.643026],[-70.977751,43.753867],[-70.985408,43.864708],[-70.993077,43.975561],[-71.000756,44.086402],[-71.008403,44.197254],[-71.016049,44.308095],[-71.023718,44.418947],[-71.031397,44.529788],[-71.039044,44.64064],[-71.04669,44.751481],[-71.05437,44.862322],[-71.062038,44.973174],[-71.069685,45.084015],[-71.077331,45.194867],[-71.084549,45.294008],[-71.060225,45.309125],[-70.999877,45.337228],[-70.960184,45.333097],[-70.926236,45.290701],[-70.89799,45.262455],[-70.865053,45.270695],[-70.836829,45.310696],[-70.837818,45.366177],[-70.79919,45.404772],[-70.7533,45.410694],[-70.710948,45.409474],[-70.689788,45.428338],[-70.692139,45.455364],[-70.70741,45.498925],[-70.702214,45.551385],[-70.596383,45.643988],[-70.466568,45.706819],[-70.421096,45.73824],[-70.407868,45.801906],[-70.333458,45.868054],[-70.296247,45.906089],[-70.28715,45.939158],[-70.306431,45.979829],[-70.30452,46.057393],[-70.278878,46.149997],[-70.248292,46.250873],[-70.17966,46.341818],[-70.067215,46.441046],[-70.038222,46.571421],[-70.00768,46.708937],[-69.871724,46.842926],[-69.71752,46.994856],[-69.629772,47.081363],[-69.471492,47.238665],[-69.358882,47.350649],[-69.302149,47.401988],[-69.242878,47.462995],[-69.146286,47.444757],[-69.050222,47.426619],[-69.064284,47.338146],[-69.05366,47.294585]]],[[[-68.187256,44.332484],[-68.24544,44.313006],[-68.30926,44.321509],[-68.307974,44.268698],[-68.315104,44.249702],[-68.38579,44.276861],[-68.411707,44.294351],[-68.409488,44.364268],[-68.347042,44.430362],[-68.299438,44.456509],[-68.238046,44.438404],[-68.190893,44.364378],[-68.187256,44.332484]]],[[[-68.623194,44.196067],[-68.661174,44.17627],[-68.701713,44.182675],[-68.703032,44.232003],[-68.690793,44.248725],[-68.67673,44.256217],[-68.655955,44.242309],[-68.623194,44.196067]]]]}},{"type":"Feature","properties":{"name":"Michigan"},"geometry":{"type":"Polygon","coordinates":[[[-89.498383,47.997897],[-89.455646,47.996216],[-89.273174,48.019969],[-89.185635,48.047434],[-89.062599,48.093808],[-88.898705,48.155716],[-88.611764,48.264008],[-88.378195,48.303097],[-88.160665,48.225402],[-87.987466,48.156902],[-87.920493,48.130392],[-87.743888,48.06053],[-87.494246,47.961752],[-87.20803,47.848505],[-86.921825,47.735225],[-86.672172,47.636425],[-86.495567,47.566585],[-86.428572,47.540075],[-86.234498,47.46005],[-86.040403,47.380026],[-85.846329,47.300013],[-85.652256,47.219988],[-85.458193,47.139964],[-85.26412,47.059939],[-85.070046,46.979926],[-84.875973,46.899901],[-84.827062,46.766857],[-84.779414,46.637284],[-84.665782,46.543252],[-84.561753,46.457372],[-84.501581,46.461866],[-84.440497,46.498142],[-84.401715,46.515611],[-84.336709,46.5185],[-84.192173,46.549558],[-84.14948,46.542769],[-84.125222,46.527234],[-84.123179,46.502954],[-84.128145,46.483597],[-84.150469,46.444793],[-84.11517,46.370811],[-84.107776,46.288622],[-84.088407,46.226527],[-84.029202,46.146997],[-83.977786,46.084914],[-83.913043,46.072895],[-83.763201,46.109073],[-83.669301,46.12274],[-83.615951,46.116829],[-83.524764,46.058711],[-83.480149,46.023753],[-83.46947,45.994683],[-83.592693,45.817155],[-83.397312,45.729044],[-83.179288,45.632771],[-82.919352,45.517975],[-82.760424,45.447718],[-82.551079,45.347357],[-82.515242,45.20437],[-82.485062,45.083762],[-82.446588,44.915507],[-82.407389,44.743933],[-82.368278,44.572986],[-82.326804,44.391558],[-82.281222,44.192233],[-82.240792,44.015353],[-82.196605,43.822213],[-82.13785,43.570879],[-82.190376,43.47409],[-82.304766,43.263229],[-82.408191,43.072638],[-82.417233,43.017377],[-82.488347,42.739511],[-82.545322,42.624682],[-82.645133,42.558049],[-82.744197,42.493483],[-82.867749,42.385213],[-83.003683,42.331731],[-83.073138,42.30031],[-83.109525,42.250707],[-83.149669,42.14192],[-83.141946,41.975862],[-83.121665,41.95],[-83.30395,41.837808],[-83.464197,41.739447],[-83.797181,41.729955],[-84.130155,41.720452],[-84.463129,41.710938],[-84.796113,41.701434],[-84.796399,41.759728],[-85.099501,41.75986],[-85.402614,41.759981],[-85.705715,41.760112],[-86.008828,41.760244],[-86.31193,41.760376],[-86.615043,41.760497],[-86.918156,41.760607],[-87.221257,41.760728],[-87.17573,41.943749],[-87.130203,42.126781],[-87.084675,42.309791],[-87.039126,42.492802],[-87.079358,42.782149],[-87.113855,43.03055],[-87.15501,43.326763],[-87.145188,43.571264],[-87.141727,43.657803],[-87.083203,43.890142],[-87.03249,44.091466],[-86.918749,44.361587],[-86.822113,44.591125],[-86.7147,44.846205],[-86.535952,45.041487],[-86.401469,45.133366],[-86.264524,45.226903],[-86.481823,45.323001],[-86.77429,45.452365],[-86.942337,45.452365],[-87.115272,45.452365],[-87.244384,45.289789],[-87.419802,45.183859],[-87.45954,45.067997],[-87.653613,45.121797],[-87.694208,45.161073],[-87.71885,45.201272],[-87.720916,45.242768],[-87.66271,45.345193],[-87.657568,45.361804],[-87.664226,45.371286],[-87.696394,45.382832],[-87.768563,45.364364],[-87.84182,45.360794],[-87.86543,45.367825],[-87.874911,45.385392],[-87.874032,45.412814],[-87.859135,45.445498],[-87.815178,45.505824],[-87.814662,45.563239],[-87.794557,45.596033],[-87.814091,45.657029],[-87.809081,45.686044],[-87.839832,45.717981],[-87.922537,45.759971],[-88.116116,45.815804],[-88.096483,45.878415],[-88.104415,45.905155],[-88.151745,45.945409],[-88.35475,45.992288],[-88.492991,46.013524],[-88.62954,46.014041],[-88.727241,46.031114],[-88.837335,46.036618],[-88.907824,46.064765],[-88.978312,46.092901],[-89.0488,46.121059],[-89.119289,46.149195],[-89.244181,46.173255],[-89.369085,46.197337],[-89.493988,46.221364],[-89.618925,46.245446],[-89.743839,46.269473],[-89.868754,46.293555],[-89.993646,46.317582],[-90.11855,46.341664],[-90.14651,46.383676],[-90.174459,46.425721],[-90.20242,46.467754],[-90.23038,46.509766],[-90.28786,46.527388],[-90.318227,46.536639],[-90.34088,46.558446],[-90.39234,46.548965],[-90.412588,46.585275],[-90.355712,46.673012],[-90.298847,46.760716],[-90.242003,46.848463],[-90.185138,46.9362],[-90.128273,47.023948],[-90.07143,47.111674],[-90.014553,47.199389],[-89.957677,47.287137],[-89.842958,47.464489],[-89.728239,47.641797],[-89.61352,47.81915],[-89.498383,47.997897]]]}},{"type":"Feature","properties":{"name":"Minnesota"},"geometry":{"type":"Polygon","coordinates":[[[-97.225738,48.993182],[-97.103449,48.993182],[-96.677064,48.993182],[-96.250685,48.993182],[-95.8243,48.993182],[-95.39792,48.993182],[-95.162044,48.991764],[-95.158243,49.203097],[-95.155298,49.369672],[-94.93934,49.349413],[-94.874795,49.319036],[-94.854333,49.304589],[-94.860403,49.2586],[-94.842605,49.119173],[-94.803461,49.002948],[-94.712769,48.863422],[-94.71256,48.863016],[-94.705095,48.808523],[-94.675355,48.774444],[-94.620885,48.742605],[-94.414155,48.704109],[-94.055182,48.659021],[-93.851628,48.607287],[-93.803546,48.548949],[-93.70774,48.525461],[-93.564286,48.536908],[-93.463618,48.561276],[-93.377886,48.616537],[-93.257943,48.628864],[-93.155215,48.625348],[-93.051707,48.619877],[-92.996254,48.611813],[-92.836733,48.56778],[-92.732654,48.531822],[-92.583256,48.465102],[-92.500578,48.43534],[-92.46089,48.365884],[-92.414588,48.276587],[-92.34844,48.276587],[-92.298677,48.328882],[-92.171785,48.338396],[-92.005155,48.301834],[-91.8584,48.197574],[-91.647287,48.104607],[-91.518307,48.058311],[-91.38724,48.058542],[-91.220655,48.104607],[-91.043478,48.193695],[-90.916048,48.209153],[-90.840319,48.200518],[-90.797318,48.131062],[-90.744408,48.104607],[-90.607101,48.112594],[-90.320138,48.09918],[-90.091776,48.118099],[-90.039943,48.078152],[-89.993646,48.01531],[-89.901043,47.995469],[-89.77537,48.01531],[-89.550568,47.999908],[-89.498383,47.997897],[-89.61352,47.81915],[-89.728239,47.641797],[-89.842958,47.464489],[-89.957677,47.287137],[-90.131778,47.292619],[-90.305856,47.298123],[-90.479923,47.303627],[-90.654024,47.309098],[-90.8576,47.213089],[-91.061188,47.117068],[-91.264787,47.021114],[-91.468363,46.925093],[-91.59252,46.876259],[-91.716643,46.827425],[-91.840778,46.77859],[-91.964923,46.729778],[-92.093266,46.761902],[-92.125346,46.763012],[-92.194549,46.706971],[-92.224003,46.671023],[-92.291646,46.660718],[-92.291904,46.516643],[-92.29214,46.372547],[-92.292371,46.22845],[-92.292629,46.084375],[-92.325473,46.069588],[-92.367276,46.035981],[-92.424613,46.027807],[-92.693949,45.909012],[-92.738081,45.874668],[-92.786448,45.795501],[-92.874712,45.706094],[-92.89652,45.658578],[-92.892488,45.594759],[-92.757461,45.543244],[-92.707022,45.493761],[-92.682605,45.433095],[-92.685808,45.380536],[-92.753918,45.277572],[-92.76614,45.236461],[-92.759059,45.11058],[-92.79304,45.071359],[-92.765212,44.96945],[-92.763404,44.934261],[-92.784668,44.822563],[-92.799214,44.790032],[-92.7726,44.732002],[-92.769809,44.72585],[-92.643538,44.645342],[-92.537031,44.600792],[-92.441587,44.586576],[-92.366941,44.552266],[-92.313091,44.497796],[-92.240307,44.462145],[-92.148582,44.445248],[-92.055121,44.39982],[-91.912299,44.288869],[-91.840976,44.194156],[-91.716435,44.126458],[-91.514846,44.054212],[-91.382692,43.990799],[-91.319916,43.936284],[-91.278432,43.797428],[-91.245253,43.502412],[-91.575414,43.50194],[-91.900609,43.501896],[-92.225838,43.501841],[-92.551066,43.501786],[-92.876261,43.501742],[-93.20149,43.501687],[-93.526712,43.501632],[-93.851913,43.501577],[-94.177114,43.501533],[-94.502342,43.501478],[-94.827565,43.501424],[-95.152766,43.50138],[-95.477967,43.501325],[-95.80319,43.50127],[-96.128418,43.501226],[-96.453619,43.501171],[-96.453619,43.725698],[-96.453619,43.950215],[-96.453619,44.174721],[-96.453641,44.399259],[-96.453668,44.623787],[-96.453668,44.848292],[-96.453668,45.072809],[-96.453668,45.297337],[-96.529759,45.371549],[-96.696109,45.431776],[-96.737527,45.467845],[-96.81491,45.557427],[-96.845452,45.595868],[-96.85106,45.626004],[-96.813619,45.659182],[-96.662672,45.755653],[-96.614689,45.799972],[-96.591052,45.843269],[-96.556401,45.942773],[-96.57048,46.019237],[-96.560845,46.138241],[-96.591904,46.227538],[-96.598567,46.271857],[-96.61743,46.327096],[-96.730859,46.472775],[-96.758198,46.59034],[-96.786647,46.648216],[-96.795997,46.797091],[-96.792822,46.839026],[-96.770135,46.919666],[-96.818299,46.974136],[-96.825325,47.018861],[-96.847517,47.373335],[-96.862947,47.423927],[-96.858707,47.588338],[-96.94635,47.761526],[-96.988005,47.820336],[-97.009032,47.891549],[-97.007434,47.925607],[-97.078516,48.04337],[-97.125927,48.173393],[-97.121609,48.286047],[-97.136803,48.371213],[-97.131019,48.437427],[-97.143961,48.536755],[-97.12913,48.593367],[-97.128047,48.681115],[-97.225738,48.993182]]]}},{"type":"Feature","properties":{"name":"Missouri"},"geometry":{"type":"Polygon","coordinates":[[[-89.704772,36.001573],[-89.888178,35.999332],[-90.052489,35.997135],[-90.21679,35.994938],[-90.381068,35.99274],[-90.303043,36.099374],[-90.25255,36.137738],[-90.216164,36.178409],[-90.149279,36.215928],[-90.075659,36.296721],[-90.067057,36.334272],[-90.074473,36.371835],[-90.118078,36.422537],[-90.162243,36.500869],[-90.440746,36.500869],[-90.719239,36.500869],[-90.997753,36.500869],[-91.276256,36.500869],[-91.55476,36.500869],[-91.833285,36.500869],[-92.111789,36.500869],[-92.390298,36.500869],[-92.668806,36.500869],[-92.947321,36.500869],[-93.22583,36.500869],[-93.504339,36.500869],[-93.782848,36.500869],[-94.061357,36.500869],[-94.339871,36.500869],[-94.61838,36.500869],[-94.618303,36.625883],[-94.618226,36.750863],[-94.618149,36.875832],[-94.618067,37.000846],[-94.618484,37.131166],[-94.618869,37.261497],[-94.619259,37.391827],[-94.619671,37.522158],[-94.620083,37.652478],[-94.6205,37.782809],[-94.620912,37.91314],[-94.621297,38.04347],[-94.621687,38.17379],[-94.622099,38.304121],[-94.622511,38.434452],[-94.622928,38.564783],[-94.62334,38.695103],[-94.62373,38.825433],[-94.624115,38.955764],[-94.624527,39.086062],[-94.622384,39.124404],[-94.777852,39.193992],[-94.847203,39.259152],[-94.882294,39.343131],[-94.952518,39.426375],[-95.057937,39.508959],[-95.075356,39.597377],[-95.004764,39.691552],[-94.945827,39.739485],[-94.898597,39.741144],[-94.893296,39.781815],[-94.929936,39.861499],[-94.984016,39.891162],[-95.055537,39.870794],[-95.116203,39.87209],[-95.34668,40.001487],[-95.362467,40.01032],[-95.434296,40.09598],[-95.463652,40.198065],[-95.52122,40.264577],[-95.607106,40.29547],[-95.66157,40.362761],[-95.684696,40.466362],[-95.739551,40.570853],[-95.765029,40.601868],[-95.51543,40.602944],[-95.263146,40.604395],[-95.010888,40.605845],[-94.758631,40.607284],[-94.506369,40.608734],[-94.254112,40.610184],[-94.001855,40.611635],[-93.749598,40.613074],[-93.497335,40.614524],[-93.245078,40.615974],[-92.992821,40.617413],[-92.740564,40.618864],[-92.488301,40.620314],[-92.236044,40.621764],[-91.983787,40.623203],[-91.73153,40.624653],[-91.682047,40.551869],[-91.627423,40.530753],[-91.616855,40.50688],[-91.545487,40.469318],[-91.529931,40.432316],[-91.441952,40.37945],[-91.499784,40.226025],[-91.501652,40.097529],[-91.466814,39.942864],[-91.425868,39.826815],[-91.378737,39.749406],[-91.209899,39.602804],[-90.919376,39.386901],[-90.737223,39.181797],[-90.663527,38.987493],[-90.577075,38.909611],[-90.477968,38.948118],[-90.35435,38.93021],[-90.220075,38.897679],[-90.149916,38.859897],[-90.134206,38.84667],[-90.126768,38.832618],[-90.132195,38.818644],[-90.150751,38.780532],[-90.316601,38.457809],[-90.373993,38.309757],[-90.365775,38.254254],[-90.299,38.173999],[-90.173581,38.069047],[-90.063871,38.000525],[-89.969828,37.968533],[-89.822963,37.884092],[-89.623286,37.747257],[-89.523421,37.644524],[-89.523421,37.575947],[-89.502931,37.5058],[-89.461974,37.434125],[-89.461974,37.36568],[-89.502931,37.300509],[-89.486913,37.212739],[-89.413942,37.102415],[-89.35188,37.035519],[-89.300827,37.012052],[-89.290016,37.012777],[-89.285885,37.022698],[-89.293246,37.038177],[-89.295817,37.051636],[-89.291675,37.070653],[-89.281469,37.077794],[-89.272394,37.07998],[-89.224911,37.052679],[-89.154313,36.992112],[-89.122486,36.911593],[-89.129517,36.811057],[-89.156334,36.715718],[-89.203048,36.62552],[-89.256123,36.594407],[-89.280128,36.600043],[-89.330534,36.615907],[-89.351309,36.611205],[-89.397462,36.587793],[-89.450329,36.500023],[-89.451823,36.497518],[-89.471488,36.488883],[-89.485386,36.498133],[-89.487221,36.503066],[-89.496834,36.528829],[-89.51952,36.554823],[-89.535582,36.555284],[-89.549645,36.553065],[-89.55549,36.540771],[-89.560038,36.513097],[-89.557313,36.501078],[-89.540603,36.426667],[-89.55527,36.372922],[-89.604093,36.351916],[-89.611707,36.321968],[-89.583549,36.287657],[-89.583549,36.272233],[-89.594623,36.259445],[-89.627988,36.255259],[-89.654081,36.247964],[-89.674549,36.220575],[-89.63413,36.167917],[-89.641886,36.104515],[-89.697697,36.030303],[-89.704772,36.001573]]]}},{"type":"Feature","properties":{"name":"Mississippi"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-88.173267,34.999005],[-88.084772,34.933109],[-88.088211,34.909082],[-88.089474,34.893064],[-88.095648,34.846196],[-88.12006,34.66145],[-88.144461,34.476737],[-88.168883,34.292013],[-88.193295,34.107278],[-88.217684,33.922532],[-88.242096,33.737807],[-88.266519,33.553094],[-88.290908,33.368348],[-88.315331,33.183613],[-88.339743,32.998889],[-88.364132,32.814176],[-88.388555,32.62943],[-88.412977,32.444684],[-88.437367,32.25997],[-88.461779,32.075246],[-88.48619,31.890511],[-88.475709,31.702821],[-88.465217,31.515108],[-88.454726,31.327385],[-88.444234,31.139706],[-88.433742,30.952015],[-88.423261,30.764303],[-88.412758,30.576579],[-88.399585,30.370805],[-88.692096,30.355359],[-88.819889,30.406489],[-88.872942,30.416333],[-88.905209,30.415146],[-89.054041,30.368246],[-89.223637,30.332364],[-89.263561,30.343625],[-89.320536,30.345328],[-89.443495,30.223138],[-89.520861,30.192629],[-89.545075,30.200693],[-89.572486,30.209164],[-89.591657,30.223017],[-89.628988,30.296186],[-89.640777,30.348921],[-89.685766,30.462684],[-89.736632,30.526613],[-89.794003,30.568933],[-89.819997,30.611208],[-89.819733,30.639861],[-89.838124,30.690431],[-89.835366,30.730816],[-89.764933,30.886075],[-89.735314,31.001157],[-89.975563,31.001157],[-90.215834,31.001157],[-90.456105,31.001212],[-90.696343,31.001212],[-90.936614,31.001212],[-91.176885,31.001234],[-91.417123,31.001256],[-91.656449,31.001805],[-91.652615,31.029557],[-91.611043,31.0649],[-91.596365,31.109911],[-91.630807,31.217599],[-91.61825,31.276958],[-91.558693,31.287911],[-91.528953,31.345194],[-91.529008,31.448751],[-91.505728,31.518701],[-91.459091,31.554978],[-91.414706,31.639979],[-91.37253,31.773716],[-91.286496,31.883974],[-91.156527,31.970689],[-91.092543,32.045847],[-91.088698,32.10414],[-91.074591,32.131321],[-91.048158,32.145921],[-91.004597,32.185582],[-90.947721,32.240074],[-90.937647,32.277329],[-90.940437,32.303092],[-90.9447,32.330711],[-90.990019,32.381051],[-91.059276,32.423755],[-91.103815,32.490497],[-91.100816,32.541374],[-91.11612,32.586231],[-91.14965,32.625013],[-91.142421,32.661026],[-91.094356,32.69426],[-91.092082,32.725857],[-91.135587,32.755783],[-91.13606,32.808847],[-91.093378,32.885027],[-91.096081,32.937684],[-91.144179,32.966875],[-91.149958,33.015918],[-91.152858,33.040571],[-91.106781,33.217923],[-91.117306,33.240819],[-91.163339,33.294454],[-91.168459,33.35946],[-91.141015,33.438507],[-91.15433,33.500206],[-91.192958,33.52253],[-91.202714,33.546975],[-91.214579,33.583406],[-91.172721,33.616683],[-91.17037,33.647456],[-91.207482,33.675669],[-91.184125,33.71567],[-91.100299,33.767449],[-91.077151,33.796694],[-91.052707,33.827599],[-91.038183,33.901394],[-91.05007,33.945163],[-91.070175,33.9742],[-91.060353,33.989296],[-91.043148,34.002864],[-90.943107,34.029681],[-90.914729,34.048622],[-90.908786,34.071561],[-90.940251,34.128558],[-90.90972,34.188763],[-90.817215,34.25222],[-90.768117,34.308108],[-90.762338,34.356426],[-90.718107,34.391703],[-90.635424,34.413873],[-90.584008,34.503708],[-90.563848,34.661164],[-90.53925,34.72817],[-90.497216,34.738091],[-90.47476,34.760052],[-90.467575,34.805261],[-90.41595,34.851623],[-90.31994,34.899161],[-90.282104,34.945304],[-90.293419,34.970067],[-90.293705,35.001114],[-90.038635,35.00084],[-89.772997,35.000554],[-89.507348,35.000268],[-89.241698,34.999983],[-88.97606,34.999697],[-88.710421,34.999412],[-88.444772,34.999126],[-88.173267,34.999005]]],[[[-88.558107,30.215909],[-88.570653,30.204802],[-88.659236,30.225599],[-88.713102,30.244924],[-88.722847,30.264249],[-88.573993,30.229159],[-88.558107,30.215909]]]]}},{"type":"Feature","properties":{"name":"Montana"},"geometry":{"type":"Polygon","coordinates":[[[-114.062517,48.993083],[-113.732356,48.993083],[-113.305971,48.993083],[-112.879592,48.993083],[-112.453207,48.993083],[-112.026827,48.993083],[-111.600442,48.993083],[-111.174063,48.993083],[-110.747678,48.993083],[-110.321299,48.993083],[-109.999432,48.993083],[-109.894914,48.993083],[-109.468534,48.993083],[-109.042149,48.993105],[-108.61577,48.993138],[-108.189385,48.993138],[-107.763006,48.993138],[-107.336621,48.993138],[-106.910241,48.993138],[-106.483856,48.993138],[-106.057477,48.993138],[-105.631092,48.993138],[-105.204707,48.993138],[-104.778328,48.993138],[-104.351943,48.993138],[-104.033927,48.993138],[-104.031911,48.803327],[-104.030516,48.612637],[-104.029121,48.421958],[-104.027725,48.231269],[-104.02633,48.040579],[-104.024962,47.8499],[-104.023595,47.659211],[-104.022199,47.468521],[-104.020804,47.277842],[-104.019409,47.087152],[-104.018013,46.896463],[-104.01664,46.705784],[-104.015272,46.515094],[-104.013877,46.324405],[-104.012482,46.133726],[-104.011087,45.943058],[-104.00951,45.710642],[-104.007934,45.47826],[-104.006357,45.245866],[-104.00478,45.013483],[-104.004962,45.010352],[-104.005143,45.007232],[-104.005302,45.004101],[-104.005478,45.00097],[-104.013416,45.001024],[-104.021348,45.001057],[-104.02928,45.001079],[-104.037212,45.001134],[-104.256395,45.001134],[-104.475556,45.001134],[-104.694738,45.001134],[-104.913927,45.001134],[-105.133087,45.001134],[-105.35227,45.001134],[-105.571458,45.001134],[-105.790619,45.001101],[-106.009802,45.001079],[-106.22899,45.001079],[-106.448151,45.001079],[-106.667334,45.001079],[-106.886522,45.001079],[-107.105677,45.001079],[-107.324865,45.001079],[-107.544048,45.001079],[-107.763209,45.001079],[-107.982397,45.001079],[-108.20158,45.001079],[-108.420741,45.001079],[-108.639929,45.001079],[-108.859112,45.001079],[-109.078272,45.001079],[-109.297455,45.001079],[-109.516643,45.001079],[-109.735804,45.001079],[-109.954987,45.001079],[-110.174175,45.001079],[-110.393336,45.001079],[-110.612519,45.001079],[-110.831707,45.001079],[-111.050862,45.001057],[-111.051022,44.875506],[-111.051148,44.749987],[-111.05128,44.624457],[-111.051434,44.498883],[-111.11722,44.525349],[-111.160934,44.555836],[-111.197574,44.590586],[-111.265118,44.687552],[-111.304081,44.723312],[-111.337463,44.744812],[-111.372525,44.74624],[-111.41557,44.733551],[-111.4481,44.711117],[-111.459109,44.671017],[-111.491046,44.624226],[-111.488821,44.584544],[-111.474506,44.564615],[-111.47934,44.553716],[-111.499857,44.54485],[-111.659302,44.559605],[-111.797098,44.539895],[-111.89208,44.554925],[-112.074211,44.547619],[-112.23131,44.560692],[-112.285077,44.553947],[-112.320036,44.53315],[-112.36386,44.479558],[-112.375385,44.470022],[-112.392848,44.467957],[-112.648236,44.497104],[-112.715928,44.498037],[-112.787142,44.463079],[-112.810163,44.438162],[-112.815514,44.405972],[-112.831351,44.396623],[-112.853856,44.398325],[-112.910392,44.419331],[-112.970075,44.454499],[-112.999689,44.48036],[-113.006379,44.539137],[-113.05428,44.605187],[-113.062706,44.665073],[-113.09327,44.715336],[-113.140709,44.765489],[-113.18717,44.798579],[-113.234269,44.809873],[-113.320418,44.802534],[-113.338891,44.808072],[-113.432138,44.874165],[-113.460796,44.90362],[-113.469294,44.929976],[-113.438136,44.993971],[-113.447129,45.029084],[-113.471079,45.072853],[-113.503582,45.109284],[-113.557404,45.140419],[-113.606573,45.209105],[-113.697112,45.304983],[-113.721941,45.379273],[-113.756097,45.44084],[-113.76615,45.502517],[-113.799614,45.540189],[-113.796642,45.587661],[-113.802273,45.601098],[-113.812814,45.606986],[-113.872915,45.63354],[-113.942651,45.681507],[-113.977818,45.69235],[-113.991924,45.69302],[-114.000708,45.680628],[-114.006393,45.658457],[-114.116619,45.579103],[-114.210234,45.542442],[-114.256146,45.505648],[-114.297641,45.487565],[-114.319191,45.48573],[-114.350562,45.497145],[-114.448434,45.551253],[-114.529233,45.575719],[-114.537346,45.587398],[-114.532617,45.633024],[-114.495796,45.685846],[-114.533699,45.78201],[-114.522537,45.815133],[-114.492566,45.838732],[-114.405131,45.874251],[-114.396787,45.89095],[-114.415903,45.982159],[-114.464792,46.016414],[-114.478306,46.035585],[-114.463578,46.109765],[-114.485359,46.158214],[-114.446599,46.199325],[-114.444248,46.270714],[-114.41275,46.343631],[-114.38022,46.453033],[-114.387042,46.499955],[-114.345805,46.550591],[-114.332061,46.601392],[-114.330122,46.637647],[-114.336868,46.659224],[-114.350897,46.667639],[-114.380917,46.667639],[-114.518664,46.647743],[-114.562999,46.650435],[-114.60155,46.660334],[-114.624006,46.677615],[-114.630648,46.718572],[-114.661623,46.745544],[-114.678032,46.750169],[-114.740302,46.733634],[-114.753689,46.734568],[-114.760715,46.742292],[-114.786066,46.776756],[-114.886937,46.844871],[-114.935694,46.922819],[-115.033516,46.990934],[-115.126636,47.084593],[-115.306675,47.231172],[-115.349467,47.261176],[-115.485994,47.311636],[-115.593325,47.384915],[-115.702468,47.437594],[-115.713317,47.446746],[-115.714454,47.45225],[-115.708022,47.456798],[-115.676887,47.470564],[-115.66968,47.497854],[-115.710862,47.552599],[-115.690867,47.606652],[-115.718382,47.68148],[-115.733757,47.706342],[-115.811244,47.775951],[-115.862149,47.842408],[-115.941443,47.904107],[-116.04901,48.00472],[-116.048801,48.251989],[-116.048598,48.499313],[-116.048389,48.746637],[-116.048494,48.993083],[-115.864264,48.993083],[-115.437884,48.993083],[-115.0115,48.993083],[-114.58512,48.993083],[-114.158735,48.993083],[-114.062517,48.993083]]]}},{"type":"Feature","properties":{"name":"North Carolina"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-83.114821,35.001477],[-83.417307,34.998126],[-83.719772,34.994786],[-84.022225,34.991457],[-84.32469,34.988096],[-84.286974,35.200846],[-84.261101,35.249581],[-84.232471,35.260589],[-84.128584,35.261413],[-84.062281,35.286012],[-84.003735,35.414069],[-83.871306,35.51489],[-83.811705,35.54029],[-83.722716,35.559901],[-83.511119,35.584082],[-83.284241,35.682058],[-83.120369,35.774618],[-82.990203,35.800447],[-82.949476,35.834526],[-82.920253,35.8789],[-82.901862,35.939171],[-82.887722,35.951728],[-82.812817,35.947444],[-82.75559,35.999871],[-82.700087,36.029841],[-82.644924,36.046793],[-82.611097,36.047364],[-82.598101,36.031599],[-82.588751,35.986951],[-82.576842,35.972273],[-82.553408,35.970987],[-82.52113,35.981216],[-82.478426,36.010055],[-82.368245,36.099549],[-82.294944,36.13397],[-82.182499,36.153789],[-82.100618,36.106526],[-82.051366,36.122862],[-81.908247,36.306411],[-81.851151,36.3397],[-81.80826,36.352718],[-81.734125,36.355454],[-81.733323,36.405914],[-81.707648,36.481962],[-81.704418,36.533993],[-81.65889,36.610579],[-81.641631,36.595077],[-81.27984,36.592264],[-80.918049,36.589452],[-80.556269,36.586628],[-80.194479,36.583816],[-79.832688,36.580992],[-79.470908,36.57818],[-79.109117,36.575389],[-78.747337,36.572577],[-78.385547,36.569753],[-78.023756,36.566963],[-77.661976,36.56415],[-77.300185,36.561338],[-76.938395,36.558514],[-76.576615,36.555702],[-76.214824,36.552889],[-75.966445,36.551362],[-75.992768,36.473799],[-75.978486,36.42915],[-75.924873,36.382997],[-75.866579,36.26786],[-75.820074,36.112832],[-75.883015,36.175696],[-75.950185,36.208973],[-76.054731,36.234528],[-76.147829,36.279286],[-76.141062,36.215104],[-76.150027,36.145758],[-76.221745,36.166885],[-76.27058,36.189912],[-76.227381,36.11604],[-76.321172,36.138155],[-76.383684,36.13353],[-76.424322,36.067975],[-76.478814,36.028193],[-76.559355,36.01535],[-76.67893,36.075314],[-76.717635,36.148076],[-76.733631,36.229155],[-76.740069,36.133299],[-76.718778,36.033511],[-76.726216,35.957595],[-76.611156,35.943642],[-76.503512,35.956046],[-76.358327,35.952893],[-76.263559,35.967109],[-76.206562,35.991213],[-76.069771,35.970306],[-76.060027,35.878658],[-76.075715,35.787527],[-76.08357,35.690539],[-76.045711,35.691155],[-76.001195,35.722191],[-75.978925,35.895951],[-75.85389,35.960155],[-75.81201,35.955738],[-75.772218,35.899873],[-75.758836,35.843238],[-75.744752,35.765466],[-75.773921,35.647001],[-75.965951,35.508397],[-76.10351,35.380297],[-76.173845,35.354149],[-76.275238,35.369058],[-76.390221,35.401247],[-76.446646,35.407762],[-76.489482,35.397018],[-76.51563,35.43647],[-76.532483,35.50843],[-76.577186,35.532303],[-76.611057,35.529667],[-76.634128,35.453213],[-76.741388,35.431482],[-76.887242,35.463111],[-77.039996,35.527392],[-76.974474,35.458409],[-76.595445,35.329704],[-76.552785,35.305622],[-76.512949,35.270433],[-76.565969,35.215194],[-76.607519,35.153],[-76.613408,35.104166],[-76.628031,35.07336],[-76.779137,34.990348],[-76.86104,35.004993],[-77.070274,35.154648],[-76.974957,35.025174],[-76.898657,34.970243],[-76.744969,34.940964],[-76.456754,34.989337],[-76.362206,34.936504],[-76.439802,34.842911],[-76.516871,34.777257],[-76.618,34.76994],[-76.707066,34.752142],[-76.733192,34.706999],[-76.796649,34.704165],[-76.895866,34.701473],[-77.049499,34.697364],[-77.133918,34.707933],[-77.251769,34.615637],[-77.29623,34.602948],[-77.358369,34.620262],[-77.384472,34.694365],[-77.412268,34.730796],[-77.412949,34.592126],[-77.402062,34.554795],[-77.379792,34.526626],[-77.517671,34.45138],[-77.649671,34.357513],[-77.696957,34.331959],[-77.750757,34.284993],[-77.860829,34.14918],[-77.888053,34.050149],[-77.927845,33.939736],[-77.932855,33.989471],[-77.926043,34.073165],[-77.953268,34.168977],[-77.97056,33.993426],[-78.013341,33.911809],[-78.405882,33.917566],[-78.564272,33.876664],[-78.708237,33.997821],[-78.843292,34.111947],[-78.978347,34.226073],[-79.11338,34.340232],[-79.248413,34.45438],[-79.383468,34.568506],[-79.518523,34.682643],[-79.653556,34.796791],[-79.794862,34.800768],[-79.936179,34.804745],[-80.077507,34.808733],[-80.218824,34.81271],[-80.36013,34.816687],[-80.501459,34.820664],[-80.642776,34.824641],[-80.784082,34.828629],[-80.789278,34.90717],[-80.79297,34.962772],[-80.881695,35.057914],[-80.933683,35.113669],[-81.045249,35.065615],[-81.051171,35.088972],[-81.046853,35.131083],[-81.05662,35.145508],[-81.087316,35.155714],[-81.245914,35.161471],[-81.404513,35.167206],[-81.5631,35.172941],[-81.721699,35.178675],[-81.880298,35.184421],[-82.038885,35.190156],[-82.197484,35.195891],[-82.356083,35.201626],[-82.392535,35.210931],[-82.463957,35.177961],[-82.651483,35.128039],[-82.743966,35.084061],[-82.777529,35.086643],[-82.936974,35.04417],[-83.09655,35.001642],[-83.114821,35.001477]]],[[[-75.889057,36.550505],[-75.857428,36.550582],[-75.757881,36.229232],[-75.558687,35.879361],[-75.534199,35.81908],[-75.580495,35.872001],[-75.728239,36.103713],[-75.809791,36.271046],[-75.889057,36.550505]]],[[[-75.635691,35.855895],[-75.650775,35.835592],[-75.717176,35.946125],[-75.648863,35.910387],[-75.636668,35.880658],[-75.635691,35.855895]]],[[[-75.54412,35.2401],[-75.678274,35.212843],[-75.690106,35.221566],[-75.536363,35.278618],[-75.487892,35.479514],[-75.481278,35.572118],[-75.504327,35.735386],[-75.503525,35.769158],[-75.478487,35.716478],[-75.456471,35.564164],[-75.464743,35.448642],[-75.509337,35.280332],[-75.54412,35.2401]]],[[[-75.781963,35.1902],[-75.963676,35.118844],[-75.984199,35.123074],[-75.86492,35.174127],[-75.781963,35.1902]]],[[[-76.503644,34.642949],[-76.528582,34.631501],[-76.437033,34.756328],[-76.25622,34.914718],[-76.207386,34.938899],[-76.357712,34.803668],[-76.503644,34.642949]]],[[[-76.546227,34.654858],[-76.568496,34.652562],[-76.607794,34.66357],[-76.661957,34.684653],[-76.673921,34.700155],[-76.622274,34.694552],[-76.546227,34.654858]]]]}},{"type":"Feature","properties":{"name":"North Dakota"},"geometry":{"type":"Polygon","coordinates":[[[-101.367271,48.993138],[-100.940886,48.993138],[-100.514506,48.993138],[-100.088121,48.993138],[-99.661742,48.993138],[-99.235357,48.993138],[-98.808978,48.99316],[-98.382593,48.993182],[-97.956213,48.993182],[-97.529828,48.993182],[-97.225738,48.993182],[-97.128047,48.681115],[-97.12913,48.593367],[-97.143961,48.536755],[-97.131019,48.437427],[-97.136803,48.371213],[-97.121609,48.286047],[-97.125927,48.173393],[-97.078516,48.04337],[-97.007434,47.925607],[-97.009032,47.891549],[-96.988005,47.820336],[-96.94635,47.761526],[-96.858707,47.588338],[-96.862947,47.423927],[-96.847517,47.373335],[-96.825325,47.018861],[-96.818299,46.974136],[-96.770135,46.919666],[-96.792822,46.839026],[-96.795997,46.797091],[-96.786647,46.648216],[-96.758198,46.59034],[-96.730859,46.472775],[-96.61743,46.327096],[-96.598567,46.271857],[-96.591904,46.227538],[-96.560845,46.138241],[-96.57048,46.019237],[-96.556401,45.942773],[-96.789355,45.942773],[-97.022315,45.942805],[-97.255275,45.942827],[-97.488229,45.942827],[-97.721188,45.942827],[-97.954142,45.942827],[-98.187102,45.942827],[-98.420062,45.94286],[-98.653016,45.942882],[-98.885975,45.942882],[-99.118929,45.942882],[-99.351889,45.942882],[-99.584849,45.942882],[-99.817803,45.942904],[-100.050762,45.942937],[-100.283744,45.942937],[-100.516725,45.942937],[-100.749685,45.942937],[-100.982645,45.942937],[-101.215599,45.942959],[-101.448558,45.942981],[-101.681513,45.942981],[-101.914472,45.942981],[-102.147426,45.942981],[-102.380386,45.942981],[-102.613345,45.943014],[-102.8463,45.943036],[-103.079259,45.943036],[-103.312213,45.943036],[-103.545173,45.943036],[-103.778132,45.943036],[-104.011087,45.943058],[-104.012482,46.133726],[-104.013877,46.324405],[-104.015272,46.515094],[-104.01664,46.705784],[-104.018013,46.896463],[-104.019409,47.087152],[-104.020804,47.277842],[-104.022199,47.468521],[-104.023595,47.659211],[-104.024962,47.8499],[-104.02633,48.040579],[-104.027725,48.231269],[-104.029121,48.421958],[-104.030516,48.612637],[-104.031911,48.803327],[-104.033927,48.993138],[-103.925564,48.993138],[-103.499179,48.993138],[-103.072799,48.993138],[-102.646414,48.993138],[-102.220035,48.993138],[-101.79365,48.993138],[-101.367271,48.993138]]]}},{"type":"Feature","properties":{"name":"Nebraska"},"geometry":{"type":"Polygon","coordinates":[[[-102.024489,40.001124],[-102.024544,40.126083],[-102.024621,40.251008],[-102.024698,40.375934],[-102.024747,40.500892],[-102.024802,40.625818],[-102.024879,40.750744],[-102.024956,40.875691],[-102.025006,41.000628],[-102.274604,41.00065],[-102.524175,41.000704],[-102.773746,41.000726],[-103.023344,41.000748],[-103.272915,41.000781],[-103.522486,41.000803],[-103.772084,41.000836],[-104.021655,41.000858],[-104.022562,41.250918],[-104.023441,41.500978],[-104.024342,41.751049],[-104.025248,42.001131],[-104.026149,42.251223],[-104.027055,42.501283],[-104.027962,42.751343],[-104.028862,43.001403],[-103.682738,43.001403],[-103.33663,43.001381],[-102.990528,43.001359],[-102.644398,43.001359],[-102.298274,43.001359],[-101.952172,43.001326],[-101.606064,43.001304],[-101.25994,43.001304],[-100.91381,43.001304],[-100.567708,43.001282],[-100.221605,43.001249],[-99.875475,43.001249],[-99.529373,43.001249],[-99.183271,43.001249],[-98.837141,43.001249],[-98.441765,43.001095],[-98.143283,42.852263],[-97.964947,42.805868],[-97.880918,42.849583],[-97.698139,42.874643],[-97.416658,42.881004],[-97.23879,42.860536],[-97.164478,42.813196],[-97.019733,42.760176],[-96.804527,42.701421],[-96.675542,42.637601],[-96.632778,42.568673],[-96.55795,42.524794],[-96.480953,42.511259],[-96.451004,42.505985],[-96.383751,42.417776],[-96.356104,42.260133],[-96.295333,42.132912],[-96.201384,42.036122],[-96.154203,41.965293],[-96.153763,41.920436],[-96.13123,41.872437],[-96.086637,41.821372],[-96.068806,41.734328],[-96.077771,41.611281],[-96.058627,41.54578],[-96.011397,41.537881],[-95.990957,41.52049],[-95.997367,41.493639],[-95.98158,41.473798],[-95.943567,41.460933],[-95.932977,41.425458],[-95.94972,41.367428],[-95.936025,41.330986],[-95.891943,41.316166],[-95.883626,41.287557],[-95.911169,41.245183],[-95.906906,41.21195],[-95.870887,41.187824],[-95.846597,41.080333],[-95.834017,40.88949],[-95.838148,40.777748],[-95.859,40.745108],[-95.826107,40.676179],[-95.765029,40.601868],[-95.739551,40.570853],[-95.684696,40.466362],[-95.66157,40.362761],[-95.607106,40.29547],[-95.52122,40.264577],[-95.463652,40.198065],[-95.434296,40.09598],[-95.362467,40.01032],[-95.34668,40.001487],[-95.526905,40.001124],[-95.736503,40.001124],[-95.9461,40.001124],[-96.155702,40.001124],[-96.3653,40.001124],[-96.574902,40.001124],[-96.784499,40.001124],[-96.994102,40.001124],[-97.203699,40.001124],[-97.413296,40.001124],[-97.622899,40.001124],[-97.832496,40.001124],[-98.042099,40.001124],[-98.251696,40.001124],[-98.461299,40.001124],[-98.670896,40.001124],[-98.880499,40.001124],[-99.090096,40.001124],[-99.299693,40.001124],[-99.509296,40.001124],[-99.718893,40.001124],[-99.928495,40.001124],[-100.138093,40.001124],[-100.347695,40.001124],[-100.557293,40.001124],[-100.766895,40.001124],[-100.976492,40.001124],[-101.18609,40.001124],[-101.395692,40.001124],[-101.605289,40.001124],[-101.814892,40.001124],[-102.024489,40.001124]]]}},{"type":"Feature","properties":{"name":"New Hampshire"},"geometry":{"type":"Polygon","coordinates":[[[-71.51752,45.007561],[-71.419017,45.200338],[-71.327292,45.290108],[-71.201619,45.260335],[-71.134647,45.262818],[-71.084549,45.294008],[-71.077331,45.194867],[-71.069685,45.084015],[-71.062038,44.973174],[-71.05437,44.862322],[-71.04669,44.751481],[-71.039044,44.64064],[-71.031397,44.529788],[-71.023718,44.418947],[-71.016049,44.308095],[-71.008403,44.197254],[-71.000756,44.086402],[-70.993077,43.975561],[-70.985408,43.864708],[-70.977751,43.753867],[-70.970104,43.643026],[-70.962436,43.532152],[-70.967545,43.458148],[-70.955635,43.389396],[-70.919699,43.328103],[-70.829029,43.23907],[-70.812835,43.163649],[-70.733096,43.070034],[-70.777635,42.940582],[-70.806112,42.876763],[-70.923489,42.881564],[-70.974082,42.871676],[-71.076177,42.825083],[-71.139294,42.808131],[-71.242335,42.729535],[-71.329621,42.702487],[-71.471784,42.705969],[-71.613947,42.70943],[-71.75611,42.712924],[-71.898241,42.716406],[-72.040382,42.719878],[-72.182545,42.723361],[-72.324697,42.726854],[-72.46686,42.730315],[-72.483658,42.766174],[-72.539622,42.829632],[-72.552806,42.856449],[-72.549807,42.886684],[-72.519419,42.966675],[-72.496479,42.991669],[-72.473715,43.038537],[-72.438186,43.224645],[-72.407072,43.332036],[-72.384957,43.52923],[-72.362369,43.586645],[-72.337672,43.621988],[-72.296693,43.714954],[-72.222381,43.790869],[-72.173855,43.884088],[-72.114924,43.965431],[-72.106212,44.013079],[-72.062233,44.11635],[-72.031208,44.300734],[-72.001776,44.329496],[-71.867677,44.354918],[-71.825511,44.37409],[-71.683007,44.45028],[-71.638205,44.481679],[-71.609289,44.514055],[-71.5878,44.565263],[-71.571496,44.579193],[-71.568442,44.607637],[-71.618287,44.727761],[-71.62066,44.771894],[-71.510225,44.908344],[-71.533483,44.987973],[-71.51752,45.007561]]]}},{"type":"Feature","properties":{"name":"New Jersey"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-75.074168,39.98348],[-75.023532,40.01745],[-74.909297,40.079545],[-74.734889,40.154504],[-74.976379,40.405828],[-75.034046,40.420374],[-75.097448,40.543135],[-75.170518,40.576797],[-75.189019,40.595814],[-75.192282,40.689868],[-75.185691,40.743822],[-75.174737,40.775518],[-75.111797,40.802105],[-75.075564,40.856267],[-75.074926,40.884458],[-75.12275,40.971766],[-75.123036,40.999002],[-75.031541,41.05178],[-74.912296,41.155271],[-74.84139,41.268595],[-74.812485,41.30151],[-74.777779,41.325076],[-74.699051,41.357299],[-74.600064,41.311585],[-74.501056,41.265903],[-74.402047,41.220222],[-74.30306,41.174541],[-74.204073,41.12886],[-74.105053,41.083179],[-74.006045,41.037498],[-73.910079,40.992256],[-73.927218,40.914242],[-74.025501,40.756379],[-74.067337,40.71963],[-74.116248,40.687286],[-74.15314,40.673257],[-74.187143,40.647988],[-74.226705,40.608009],[-74.26419,40.528633],[-74.241515,40.456266],[-74.049836,40.429833],[-73.998453,40.452157],[-73.972251,40.400324],[-73.957595,40.328363],[-73.971987,40.250514],[-74.004001,40.171347],[-74.028347,40.073008],[-74.048913,39.923066],[-74.079917,39.78811],[-74.084004,39.829089],[-74.064591,39.993115],[-74.09599,39.975988],[-74.117644,39.938129],[-74.176135,39.726598],[-74.256577,39.613856],[-74.330603,39.535886],[-74.407024,39.548806],[-74.389874,39.486843],[-74.410858,39.454544],[-74.428831,39.387186],[-74.474359,39.34256],[-74.517172,39.346845],[-74.578696,39.316105],[-74.602987,39.292561],[-74.604799,39.247528],[-74.645932,39.207867],[-74.794478,39.001907],[-74.923436,38.941141],[-74.954308,38.949952],[-74.920327,39.047181],[-74.897025,39.145465],[-74.975291,39.188257],[-75.050218,39.210834],[-75.136109,39.207867],[-75.231031,39.284266],[-75.35343,39.339824],[-75.524245,39.490172],[-75.519257,39.531876],[-75.523553,39.601848],[-75.47161,39.712382],[-75.421908,39.789714],[-75.353177,39.829738],[-75.15383,39.870486],[-75.103831,39.931823],[-75.074168,39.98348]]],[[[-74.133222,39.680785],[-74.250501,39.529371],[-74.25316,39.558485],[-74.106767,39.746439],[-74.133222,39.680785]]]]}},{"type":"Feature","properties":{"name":"New Mexico"},"geometry":{"type":"Polygon","coordinates":[[[-109.047807,31.327879],[-109.047423,31.683232],[-109.047368,32.037739],[-109.047318,32.392235],[-109.047264,32.746764],[-109.047214,33.101293],[-109.047165,33.455788],[-109.04711,33.810284],[-109.04706,34.164791],[-109.047005,34.519287],[-109.046956,34.873794],[-109.046906,35.22829],[-109.046852,35.582819],[-109.046802,35.937336],[-109.046747,36.291843],[-109.046698,36.646339],[-109.04667,37.000846],[-108.66879,37.000846],[-108.290932,37.000846],[-107.913073,37.000846],[-107.535215,37.000846],[-107.157357,37.000846],[-106.779499,37.000846],[-106.40164,37.000846],[-106.023755,37.000846],[-105.645874,37.000846],[-105.268016,37.000846],[-104.890158,37.000846],[-104.512299,37.000846],[-104.134441,37.000846],[-103.756583,37.000846],[-103.378724,37.000846],[-103.000839,37.000846],[-103.000712,36.875942],[-103.000553,36.751039],[-103.000427,36.626135],[-103.000295,36.501232],[-103.042153,36.500616],[-103.043625,36.219498],[-103.045103,35.93838],[-103.046547,35.657251],[-103.04802,35.376133],[-103.049492,35.095015],[-103.050942,34.813896],[-103.052414,34.532778],[-103.053886,34.251682],[-103.055358,33.970586],[-103.056831,33.689468],[-103.058303,33.408349],[-103.059775,33.127231],[-103.061247,32.846113],[-103.062719,32.564984],[-103.064169,32.283866],[-103.065642,32.002748],[-103.290405,32.002649],[-103.515202,32.002572],[-103.739993,32.002495],[-103.964785,32.002385],[-104.189576,32.002286],[-104.414373,32.002209],[-104.639164,32.002132],[-104.863928,32.002022],[-105.088697,32.001924],[-105.313488,32.001847],[-105.53828,32.00177],[-105.763076,32.00166],[-105.987868,32.001561],[-106.212659,32.001484],[-106.43745,32.001407],[-106.662219,32.001297],[-106.668262,32.000946],[-106.566281,31.819529],[-106.566358,31.819529],[-106.445382,31.768398],[-106.45321,31.770178],[-106.673047,31.771343],[-106.892877,31.772474],[-107.112708,31.773617],[-107.332539,31.774748],[-107.55237,31.775891],[-107.772201,31.777022],[-107.992032,31.778165],[-108.211841,31.77933],[-108.212484,31.666852],[-108.213154,31.554385],[-108.213802,31.441906],[-108.21445,31.329428],[-108.567892,31.32878],[-108.921333,31.32811],[-109.047807,31.327879]]]}},{"type":"Feature","properties":{"name":"Nevada"},"geometry":{"type":"Polygon","coordinates":[[[-114.04027,37.004153],[-114.041171,36.61249],[-114.042879,36.181771],[-114.061924,36.175212],[-114.119437,36.076665],[-114.183207,36.030303],[-114.232146,36.031698],[-114.281573,36.060328],[-114.331545,36.116293],[-114.406087,36.148307],[-114.505277,36.156426],[-114.592975,36.14756],[-114.669144,36.12172],[-114.715759,36.084982],[-114.741362,36.013516],[-114.732321,35.983666],[-114.687101,35.917341],[-114.68369,35.813597],[-114.677076,35.729805],[-114.650126,35.683508],[-114.645166,35.630543],[-114.662063,35.545355],[-114.648528,35.475922],[-114.590987,35.352776],[-114.610521,34.99761],[-114.610543,34.991117],[-114.88218,35.202812],[-115.136096,35.400962],[-115.390006,35.599122],[-115.643917,35.797294],[-115.897827,35.995476],[-116.151743,36.193625],[-116.405681,36.391786],[-116.659592,36.589968],[-116.842915,36.727759],[-117.02626,36.865549],[-117.209611,37.003373],[-117.392935,37.141174],[-117.576253,37.278965],[-117.759603,37.416788],[-117.942949,37.554579],[-118.126272,37.69238],[-118.360495,37.855857],[-118.594718,38.019333],[-118.828941,38.182843],[-119.063164,38.34632],[-119.297387,38.509796],[-119.531616,38.673295],[-119.765839,38.836782],[-120.000062,39.000259],[-120.000084,39.187784],[-120.000139,39.375299],[-120.000188,39.562803],[-120.000243,39.750339],[-120.000293,39.937876],[-120.000342,40.12538],[-120.000397,40.312883],[-120.000446,40.50042],[-120.000501,40.687957],[-120.000551,40.87546],[-120.0006,41.062975],[-120.000628,41.250501],[-120.000655,41.438015],[-120.000704,41.625519],[-120.000759,41.813056],[-120.000809,42.000559],[-119.627807,42.000559],[-119.254782,42.000559],[-118.881758,42.000559],[-118.508756,42.000559],[-118.135731,42.000559],[-117.762701,42.000559],[-117.389705,42.000559],[-117.016675,42.000559],[-116.644914,42.000636],[-116.273153,42.000691],[-115.901398,42.000768],[-115.529637,42.000845],[-115.157876,42.0009],[-114.786115,42.000977],[-114.414354,42.001054],[-114.042593,42.001109],[-114.042516,41.844938],[-114.042467,41.6888],[-114.04239,41.532662],[-114.042308,41.376492],[-114.042231,41.220321],[-114.042154,41.064183],[-114.042077,40.908046],[-114.042,40.751875],[-114.041923,40.595715],[-114.041846,40.439578],[-114.041791,40.283429],[-114.041714,40.127269],[-114.041637,39.971099],[-114.041588,39.814939],[-114.041511,39.658768],[-114.041429,39.502631],[-114.041352,39.346493],[-114.041275,39.190322],[-114.041226,39.034152],[-114.041149,38.877992],[-114.041072,38.721821],[-114.041017,38.565684],[-114.04094,38.409546],[-114.040863,38.253375],[-114.040786,38.097205],[-114.040709,37.941067],[-114.040632,37.784929],[-114.040555,37.628759],[-114.040473,37.472599],[-114.040396,37.316461],[-114.040347,37.160312],[-114.04027,37.004153]]]}},{"type":"Feature","properties":{"name":"New York"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-79.762024,42.538977],[-79.446233,42.651455],[-79.173739,42.74853],[-79.036695,42.80232],[-78.939236,42.863744],[-78.915077,42.90914],[-78.920867,42.93521],[-78.946003,42.961303],[-78.980753,42.980606],[-79.011679,42.997041],[-79.026181,43.017322],[-79.029071,43.061762],[-79.048011,43.087294],[-79.066051,43.106102],[-79.059228,43.278061],[-79.083047,43.33141],[-79.171849,43.466575],[-79.002484,43.527165],[-78.845566,43.583338],[-78.720432,43.624932],[-78.458254,43.631502],[-78.214786,43.630667],[-77.879242,43.629557],[-77.59652,43.628601],[-77.266721,43.627492],[-77.073351,43.626843],[-76.819962,43.628788],[-76.696498,43.784794],[-76.586118,43.924298],[-76.464609,44.057595],[-76.248541,44.214129],[-76.185787,44.242232],[-76.151158,44.303942],[-76.020234,44.36262],[-75.875929,44.41698],[-75.819316,44.468012],[-75.79196,44.497049],[-75.401253,44.772278],[-75.179384,44.899379],[-74.996143,44.97012],[-74.856639,45.003925],[-74.762464,44.999058],[-74.708873,45.00387],[-74.663236,45.003925],[-74.430391,45.004178],[-74.014262,45.004694],[-73.598133,45.005155],[-73.352182,45.005419],[-73.345052,44.938864],[-73.365805,44.860366],[-73.348568,44.775299],[-73.372078,44.597332],[-73.309753,44.45964],[-73.324639,44.36786],[-73.320915,44.268874],[-73.331825,44.244583],[-73.38112,44.187432],[-73.409751,44.131413],[-73.426131,44.074855],[-73.424945,44.038292],[-73.38301,43.875827],[-73.374968,43.804152],[-73.375847,43.762184],[-73.413365,43.627854],[-73.415925,43.589644],[-73.40495,43.578811],[-73.391436,43.578526],[-73.349238,43.620384],[-73.330484,43.62669],[-73.30616,43.616253],[-73.247098,43.553048],[-73.250328,43.439669],[-73.252657,43.357195],[-73.255239,43.265371],[-73.259084,43.127855],[-73.26193,43.027067],[-73.264544,42.93521],[-73.266555,42.864777],[-73.2802,42.813152],[-73.253327,42.752222],[-73.285056,42.668198],[-73.316806,42.584175],[-73.348568,42.500141],[-73.380296,42.416117],[-73.412047,42.332094],[-73.443808,42.24807],[-73.475537,42.164047],[-73.507287,42.080012],[-73.480568,42.055568],[-73.48861,41.960613],[-73.496619,41.865658],[-73.504629,41.770703],[-73.512638,41.675748],[-73.520647,41.580794],[-73.528689,41.485839],[-73.53672,41.390906],[-73.544729,41.295951],[-73.51445,41.257455],[-73.484139,41.218959],[-73.521756,41.200919],[-73.579797,41.173146],[-73.641881,41.143406],[-73.723015,41.104514],[-73.682113,41.054702],[-73.630466,40.99186],[-73.671412,40.965867],[-73.779001,40.878405],[-73.851247,40.831405],[-73.910672,40.816112],[-73.947213,40.776946],[-73.987082,40.751392],[-73.948586,40.838744],[-73.90675,40.912462],[-73.871967,41.055164],[-73.882251,41.170586],[-73.925328,41.218058],[-73.969954,41.249732],[-73.917649,41.135781],[-73.909233,40.996079],[-73.910079,40.992256],[-74.006045,41.037498],[-74.105053,41.083179],[-74.204073,41.12886],[-74.30306,41.174541],[-74.402047,41.220222],[-74.501056,41.265903],[-74.600064,41.311585],[-74.699051,41.357299],[-74.720365,41.394861],[-74.75662,41.423909],[-74.935367,41.474369],[-74.981257,41.507702],[-75.02273,41.552866],[-75.051361,41.608369],[-75.066192,41.666608],[-75.066906,41.713212],[-75.053679,41.765045],[-75.094768,41.799487],[-75.095537,41.83171],[-75.121893,41.853364],[-75.238864,41.892201],[-75.273977,41.94666],[-75.351342,41.998417],[-75.48921,41.998494],[-75.627055,41.998571],[-75.764901,41.998648],[-75.902779,41.998725],[-76.040647,41.998801],[-76.178525,41.998878],[-76.316393,41.998966],[-76.454238,41.999043],[-76.592094,41.99912],[-76.729962,41.999197],[-76.86784,41.999274],[-77.005708,41.999351],[-77.143575,41.999428],[-77.281432,41.999505],[-77.419277,41.999581],[-77.557145,41.999658],[-77.695023,41.999735],[-77.832868,41.999812],[-77.970714,41.999889],[-78.108581,41.999966],[-78.24646,42.000043],[-78.384327,42.00012],[-78.522206,42.000197],[-78.660051,42.000274],[-78.797897,42.000329],[-78.935775,42.000438],[-79.073642,42.000515],[-79.211521,42.000592],[-79.349388,42.000669],[-79.487234,42.000746],[-79.625079,42.000801],[-79.762958,42.0009],[-79.76298,42.135515],[-79.763002,42.270131],[-79.763035,42.404746],[-79.762024,42.538977]]],[[[-72.509783,40.986027],[-72.580887,40.921328],[-72.516573,40.914813],[-72.461334,40.933776],[-72.409017,40.972151],[-72.287442,41.024083],[-72.183852,41.046792],[-72.151245,41.051472],[-72.101894,41.01502],[-72.003951,41.044265],[-71.903206,41.060701],[-72.33899,40.894148],[-72.428078,40.875383],[-72.555542,40.82578],[-72.676106,40.790635],[-72.762843,40.777847],[-73.194287,40.654207],[-73.22852,40.651526],[-73.265522,40.663567],[-73.620897,40.599901],[-73.766729,40.592716],[-73.899565,40.570524],[-73.801325,40.621786],[-73.799183,40.640979],[-73.822672,40.655964],[-73.875175,40.651625],[-73.928997,40.598814],[-74.014911,40.581213],[-74.032038,40.638683],[-74.003364,40.683156],[-73.964571,40.725343],[-73.879262,40.791668],[-73.757193,40.833679],[-73.695208,40.870033],[-73.652241,40.838019],[-73.642837,40.881228],[-73.609768,40.906189],[-73.573798,40.919625],[-73.487391,40.919955],[-73.440864,40.926777],[-73.407246,40.941093],[-73.372705,40.943806],[-73.278156,40.924196],[-73.185838,40.929854],[-73.111296,40.95688],[-73.033776,40.965977],[-72.828783,40.972052],[-72.625118,40.991838],[-72.543676,41.027006],[-72.372575,41.125553],[-72.274138,41.153041],[-72.427386,41.03853],[-72.509783,40.986027]]],[[[-74.188132,40.522854],[-74.235879,40.518712],[-74.188154,40.614601],[-74.100483,40.658447],[-74.068755,40.649307],[-74.067414,40.615458],[-74.079708,40.586465],[-74.138518,40.541838],[-74.188132,40.522854]]]]}},{"type":"Feature","properties":{"name":"Ohio"},"geometry":{"type":"Polygon","coordinates":[[[-83.121665,41.95],[-83.029962,41.832974],[-82.8662,41.753004],[-82.690012,41.675177],[-82.439073,41.67487],[-82.213326,41.77869],[-81.974187,41.88874],[-81.76092,41.986815],[-81.507345,42.103479],[-81.277643,42.209179],[-81.028198,42.247158],[-80.682645,42.299772],[-80.520762,42.324392],[-80.520278,42.220473],[-80.520278,42.115619],[-80.520278,42.010766],[-80.520278,41.905923],[-80.520278,41.801069],[-80.520278,41.696238],[-80.520278,41.591417],[-80.520278,41.486564],[-80.520278,41.38171],[-80.520278,41.276857],[-80.520278,41.172014],[-80.520278,41.067183],[-80.520278,40.962362],[-80.520278,40.857509],[-80.520278,40.752655],[-80.519081,40.646956],[-80.637524,40.603263],[-80.659047,40.562976],[-80.623187,40.51156],[-80.604093,40.445203],[-80.601819,40.363893],[-80.668275,40.185244],[-80.803517,39.909136],[-80.872192,39.735508],[-80.874313,39.664294],[-80.963291,39.57113],[-81.139127,39.455994],[-81.262504,39.386538],[-81.333354,39.362819],[-81.392417,39.364829],[-81.439647,39.392559],[-81.492722,39.373618],[-81.551631,39.308041],[-81.606464,39.274137],[-81.657209,39.271973],[-81.700594,39.229467],[-81.736663,39.14663],[-81.770665,39.098828],[-81.802602,39.086062],[-81.804954,39.04405],[-81.777685,38.972793],[-81.780124,38.946975],[-81.795033,38.945942],[-81.809337,38.950029],[-81.843757,38.934319],[-81.88244,38.894219],[-81.896678,38.893549],[-81.907368,38.900239],[-81.91853,38.952347],[-81.949797,38.989327],[-82.001092,39.011102],[-82.072273,38.962949],[-82.163328,38.844912],[-82.203527,38.768228],[-82.18764,38.715208],[-82.180071,38.637589],[-82.202494,38.605839],[-82.252317,38.594083],[-82.290868,38.552017],[-82.318147,38.479672],[-82.387064,38.43399],[-82.497543,38.414973],[-82.612778,38.448218],[-82.621282,38.450679],[-82.758226,38.541162],[-82.844623,38.627668],[-82.880438,38.710253],[-83.000068,38.713999],[-83.203469,38.638907],[-83.35697,38.627405],[-83.460582,38.679502],[-83.538387,38.69986],[-83.616313,38.682776],[-83.689878,38.649531],[-83.752269,38.669373],[-83.828086,38.731226],[-83.948386,38.774226],[-84.113236,38.798385],[-84.227285,38.865204],[-84.290435,38.974705],[-84.358022,39.049917],[-84.43006,39.090896],[-84.508865,39.102838],[-84.594547,39.085776],[-84.660542,39.094467],[-84.706948,39.128909],[-84.765901,39.124998],[-84.821711,39.091984],[-84.82014,39.423826],[-84.816702,39.749197],[-84.813263,40.074557],[-84.809835,40.399939],[-84.806397,40.725321],[-84.802958,41.05067],[-84.799552,41.376052],[-84.796113,41.701434],[-84.463129,41.710938],[-84.130155,41.720452],[-83.797181,41.729955],[-83.464197,41.739447],[-83.30395,41.837808],[-83.121665,41.95]]]}},{"type":"Feature","properties":{"name":"Oklahoma"},"geometry":{"type":"Polygon","coordinates":[[[-94.61838,36.500869],[-94.595979,36.361661],[-94.573578,36.222465],[-94.551177,36.083279],[-94.52877,35.94406],[-94.506369,35.804841],[-94.483968,35.665655],[-94.461539,35.526459],[-94.439138,35.387251],[-94.441956,35.278574],[-94.444746,35.169897],[-94.447564,35.061221],[-94.450377,34.952544],[-94.453195,34.843867],[-94.456013,34.73519],[-94.458831,34.626514],[-94.461643,34.517837],[-94.464461,34.409171],[-94.467279,34.300494],[-94.470092,34.191817],[-94.47291,34.083141],[-94.475728,33.974464],[-94.47854,33.865787],[-94.481331,33.75711],[-94.484149,33.648434],[-94.709198,33.699289],[-94.765734,33.731611],[-94.869374,33.768196],[-94.962389,33.843408],[-95.146075,33.936616],[-95.21586,33.959039],[-95.238031,33.956479],[-95.276016,33.910622],[-95.373888,33.874269],[-95.427117,33.872785],[-95.523494,33.886562],[-95.541836,33.898164],[-95.555712,33.926091],[-95.594471,33.945163],[-95.622789,33.930255],[-95.763166,33.891473],[-95.783914,33.864502],[-95.863082,33.863304],[-95.941579,33.882838],[-96.139344,33.821963],[-96.207272,33.774062],[-96.278562,33.757627],[-96.315048,33.711122],[-96.336752,33.717713],[-96.41114,33.775205],[-96.487204,33.7923],[-96.59159,33.849275],[-96.595364,33.899405],[-96.606345,33.905635],[-96.625132,33.911446],[-96.648538,33.906382],[-96.694016,33.863799],[-96.720213,33.85279],[-96.746283,33.854186],[-96.847572,33.883179],[-96.889996,33.934617],[-96.911001,33.950437],[-96.934051,33.95348],[-96.977694,33.938033],[-97.002161,33.881597],[-97.02159,33.866512],[-97.063838,33.8568],[-97.061229,33.8285],[-97.09895,33.750442],[-97.119,33.734764],[-97.145071,33.737687],[-97.172383,33.75688],[-97.192488,33.784631],[-97.201013,33.808164],[-97.186182,33.870083],[-97.194762,33.890616],[-97.214938,33.897109],[-97.264679,33.867776],[-97.308163,33.869226],[-97.363611,33.840178],[-97.398492,33.831323],[-97.430171,33.838508],[-97.481565,33.885705],[-97.571247,33.91594],[-97.605925,33.971651],[-97.621789,33.987768],[-97.640933,33.991669],[-97.660362,33.990043],[-97.691937,33.972135],[-97.795291,33.899065],[-97.842422,33.875785],[-97.882858,33.871116],[-97.92159,33.878367],[-97.946238,33.897076],[-97.951072,33.971212],[-97.973962,33.993734],[-98.069383,34.040305],[-98.089587,34.084097],[-98.098635,34.145027],[-98.214079,34.135337],[-98.355978,34.141511],[-98.420419,34.088052],[-98.453674,34.078131],[-98.493851,34.088777],[-98.608395,34.161275],[-98.730118,34.146576],[-98.798953,34.154739],[-98.96884,34.208605],[-99.102291,34.213472],[-99.157508,34.223282],[-99.186578,34.235477],[-99.19991,34.318314],[-99.252875,34.388077],[-99.270316,34.407226],[-99.360387,34.456094],[-99.374938,34.457873],[-99.38465,34.446788],[-99.404986,34.392065],[-99.432298,34.38922],[-99.536168,34.404744],[-99.632029,34.388495],[-99.685615,34.415829],[-99.867027,34.543369],[-99.94069,34.576339],[-99.999341,34.586721],[-99.99955,34.706362],[-99.999731,34.825992],[-99.999912,34.945622],[-100.000115,35.065275],[-100.000324,35.184938],[-100.000505,35.304568],[-100.000687,35.424198],[-100.000895,35.543828],[-100.001099,35.663458],[-100.00128,35.783088],[-100.001461,35.902718],[-100.00167,36.022349],[-100.001873,36.141979],[-100.002054,36.261609],[-100.002236,36.381239],[-100.002444,36.500902],[-100.189822,36.500924],[-100.377177,36.500924],[-100.564527,36.500946],[-100.751904,36.500979],[-100.939287,36.500979],[-101.126637,36.501023],[-101.313992,36.501056],[-101.50137,36.501078],[-101.688747,36.501111],[-101.876102,36.501133],[-102.063452,36.501133],[-102.250835,36.501155],[-102.438212,36.501188],[-102.625562,36.501188],[-102.812918,36.50121],[-103.000295,36.501232],[-103.000427,36.626135],[-103.000553,36.751039],[-103.000712,36.875942],[-103.000839,37.000846],[-102.753828,37.000846],[-102.506811,37.000846],[-102.2598,37.000846],[-102.012783,37.000846],[-101.781713,37.000846],[-101.550616,37.000846],[-101.319518,37.000846],[-101.088421,37.000846],[-100.857329,37.000846],[-100.626254,37.000846],[-100.395184,37.000846],[-100.164086,37.000846],[-99.932989,37.000846],[-99.701919,37.000846],[-99.470849,37.000846],[-99.239752,37.000846],[-99.008654,37.000846],[-98.777584,37.000846],[-98.546514,37.000846],[-98.315417,37.000846],[-98.084319,37.000846],[-97.853244,37.000846],[-97.622174,37.000846],[-97.391077,37.000846],[-97.159979,37.000846],[-96.928909,37.000846],[-96.697839,37.000846],[-96.466742,37.000846],[-96.235644,37.000846],[-96.004574,37.000846],[-95.773504,37.000846],[-95.542407,37.000846],[-95.31131,37.000846],[-95.08024,37.000846],[-94.849164,37.000846],[-94.618067,37.000846],[-94.618149,36.875832],[-94.618226,36.750863],[-94.618303,36.625883],[-94.61838,36.500869]]]}},{"type":"Feature","properties":{"name":"Oregon"},"geometry":{"type":"Polygon","coordinates":[[[-120.000809,42.000559],[-120.264464,42.000559],[-120.528114,42.000559],[-120.79177,42.000559],[-121.05542,42.000559],[-121.319075,42.000559],[-121.58273,42.000559],[-121.84638,42.000559],[-122.110063,42.000559],[-122.37374,42.000559],[-122.63739,42.000559],[-122.901046,42.000559],[-123.164701,42.000559],[-123.428351,42.000559],[-123.692007,42.000559],[-123.955656,42.000559],[-124.228409,42.000768],[-124.355273,42.122881],[-124.409996,42.304342],[-124.420515,42.381005],[-124.406173,42.583681],[-124.443795,42.670209],[-124.539629,42.812866],[-124.498573,42.936858],[-124.454441,43.012367],[-124.346588,43.341649],[-124.320595,43.368203],[-124.275485,43.367379],[-124.196938,43.423344],[-124.23316,43.436363],[-124.287987,43.409699],[-124.239208,43.54003],[-124.184353,43.651552],[-124.148719,43.691729],[-124.130663,44.055662],[-124.099165,44.333781],[-124.047464,44.425506],[-124.065443,44.520076],[-124.044541,44.648231],[-124.059192,44.777727],[-123.948603,45.40085],[-123.9631,45.476084],[-123.929355,45.576961],[-123.961216,45.842995],[-123.947131,46.140592],[-123.975245,46.178341],[-123.989302,46.219397],[-123.962946,46.225451],[-123.911684,46.182198],[-123.67361,46.182604],[-123.521631,46.22266],[-123.466358,46.209433],[-123.402281,46.154962],[-123.321564,46.144009],[-123.220589,46.153622],[-123.120904,46.178781],[-123.042275,46.160027],[-122.941997,46.114862],[-122.843373,45.978094],[-122.74643,45.749688],[-122.725913,45.67375],[-122.649849,45.627443],[-122.560964,45.62507],[-122.202535,45.591067],[-122.149927,45.593759],[-122.149905,45.593858],[-122.085124,45.602647],[-121.882014,45.689461],[-121.662519,45.718135],[-121.402121,45.71184],[-121.242698,45.687033],[-121.184278,45.64378],[-121.045241,45.639044],[-120.715777,45.689823],[-120.351432,45.725166],[-120.156046,45.762168],[-119.934276,45.837875],[-119.429113,45.93417],[-119.177345,45.94508],[-119.049909,45.981488],[-119.01968,46.000341],[-119.002421,46.00055],[-118.736986,46.000813],[-118.47155,46.001044],[-118.206088,46.001275],[-117.940653,46.001538],[-117.675217,46.001791],[-117.409755,46.002022],[-117.14432,46.002253],[-116.896479,46.002099],[-116.869194,45.958483],[-116.764725,45.87291],[-116.616827,45.79917],[-116.520917,45.721914],[-116.477043,45.641088],[-116.549157,45.456737],[-116.737342,45.168841],[-116.839553,44.98516],[-116.855857,44.90574],[-116.948955,44.770114],[-117.118919,44.578314],[-117.201701,44.436206],[-117.197312,44.3438],[-117.139744,44.290264],[-117.028952,44.275542],[-116.95319,44.245308],[-116.91242,44.199473],[-116.91131,44.157406],[-116.949779,44.119009],[-116.960683,44.079118],[-116.943967,44.037677],[-116.957634,43.964135],[-117.020498,43.813194],[-117.02024,43.808437],[-117.0198,43.562925],[-117.019339,43.339727],[-117.0189,43.11654],[-117.01846,42.893352],[-117.018021,42.670165],[-117.017581,42.446967],[-117.017114,42.223779],[-117.016675,42.000559],[-117.389705,42.000559],[-117.762701,42.000559],[-118.135731,42.000559],[-118.508756,42.000559],[-118.881758,42.000559],[-119.254782,42.000559],[-119.627807,42.000559],[-120.000809,42.000559]]]}},{"type":"Feature","properties":{"name":"Pennsylvania"},"geometry":{"type":"Polygon","coordinates":[[[-80.520762,42.324392],[-80.247576,42.365997],[-80.035726,42.441463],[-79.762024,42.538977],[-79.763035,42.404746],[-79.763002,42.270131],[-79.76298,42.135515],[-79.762958,42.0009],[-79.625079,42.000801],[-79.487234,42.000746],[-79.349388,42.000669],[-79.211521,42.000592],[-79.073642,42.000515],[-78.935775,42.000438],[-78.797897,42.000329],[-78.660051,42.000274],[-78.522206,42.000197],[-78.384327,42.00012],[-78.24646,42.000043],[-78.108581,41.999966],[-77.970714,41.999889],[-77.832868,41.999812],[-77.695023,41.999735],[-77.557145,41.999658],[-77.419277,41.999581],[-77.281432,41.999505],[-77.143575,41.999428],[-77.005708,41.999351],[-76.86784,41.999274],[-76.729962,41.999197],[-76.592094,41.99912],[-76.454238,41.999043],[-76.316393,41.998966],[-76.178525,41.998878],[-76.040647,41.998801],[-75.902779,41.998725],[-75.764901,41.998648],[-75.627055,41.998571],[-75.48921,41.998494],[-75.351342,41.998417],[-75.273977,41.94666],[-75.238864,41.892201],[-75.121893,41.853364],[-75.095537,41.83171],[-75.094768,41.799487],[-75.053679,41.765045],[-75.066906,41.713212],[-75.066192,41.666608],[-75.051361,41.608369],[-75.02273,41.552866],[-74.981257,41.507702],[-74.935367,41.474369],[-74.75662,41.423909],[-74.720365,41.394861],[-74.699051,41.357299],[-74.777779,41.325076],[-74.812485,41.30151],[-74.84139,41.268595],[-74.912296,41.155271],[-75.031541,41.05178],[-75.123036,40.999002],[-75.12275,40.971766],[-75.074926,40.884458],[-75.075564,40.856267],[-75.111797,40.802105],[-75.174737,40.775518],[-75.185691,40.743822],[-75.192282,40.689868],[-75.189019,40.595814],[-75.170518,40.576797],[-75.097448,40.543135],[-75.034046,40.420374],[-74.976379,40.405828],[-74.734889,40.154504],[-74.909297,40.079545],[-75.023532,40.01745],[-75.074168,39.98348],[-75.172924,39.894777],[-75.320877,39.864696],[-75.400638,39.831572],[-75.421029,39.815422],[-75.510446,39.843438],[-75.634581,39.839482],[-75.676823,39.827233],[-75.709145,39.802898],[-75.78472,39.722357],[-76.015532,39.722379],[-76.246322,39.722434],[-76.477112,39.722456],[-76.707901,39.722489],[-76.93868,39.722511],[-77.169492,39.722533],[-77.400304,39.722566],[-77.631094,39.722588],[-77.861883,39.72261],[-78.092695,39.722643],[-78.323507,39.722665],[-78.554297,39.722687],[-78.785086,39.72272],[-79.015898,39.722742],[-79.24671,39.722775],[-79.4775,39.722797],[-79.607743,39.722742],[-79.737997,39.72272],[-79.868218,39.722687],[-79.998472,39.722643],[-80.128725,39.72261],[-80.258946,39.722588],[-80.3892,39.722533],[-80.519443,39.722511],[-80.519553,39.838186],[-80.519652,39.953839],[-80.519762,40.069492],[-80.519861,40.185145],[-80.51996,40.300798],[-80.520069,40.416473],[-80.520168,40.532149],[-80.519081,40.646956],[-80.520278,40.752655],[-80.520278,40.857509],[-80.520278,40.962362],[-80.520278,41.067183],[-80.520278,41.172014],[-80.520278,41.276857],[-80.520278,41.38171],[-80.520278,41.486564],[-80.520278,41.591417],[-80.520278,41.696238],[-80.520278,41.801069],[-80.520278,41.905923],[-80.520278,42.010766],[-80.520278,42.115619],[-80.520278,42.220473],[-80.520762,42.324392]]]}},{"type":"Feature","properties":{"name":"Rhode Island"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-71.842353,41.335513],[-71.829873,41.392741],[-71.804527,41.416746],[-71.799232,41.47917],[-71.795793,41.519951],[-71.796518,41.588858],[-71.79732,41.667586],[-71.798199,41.753114],[-71.798968,41.828502],[-71.799561,41.883027],[-71.800319,41.95824],[-71.800836,42.011963],[-71.725821,42.012864],[-71.623242,42.014028],[-71.524134,42.015237],[-71.462534,42.015962],[-71.387135,42.016863],[-71.383927,41.971731],[-71.379071,41.902407],[-71.33763,41.891443],[-71.339487,41.835171],[-71.340728,41.797916],[-71.304737,41.774658],[-71.267889,41.75084],[-71.233765,41.706554],[-71.271075,41.681231],[-71.310758,41.719881],[-71.330599,41.762255],[-71.359152,41.786238],[-71.390156,41.795335],[-71.363679,41.702731],[-71.426542,41.633297],[-71.443802,41.453693],[-71.52286,41.378975],[-71.769283,41.33091],[-71.842353,41.335513]]],[[[-71.241379,41.491969],[-71.290938,41.464602],[-71.346232,41.469403],[-71.318151,41.506306],[-71.307473,41.560491],[-71.280194,41.620048],[-71.264483,41.63823],[-71.232052,41.654303],[-71.241379,41.491969]]],[[[-71.36536,41.485267],[-71.393078,41.466745],[-71.403383,41.51504],[-71.383981,41.570532],[-71.364316,41.571807],[-71.354472,41.542297],[-71.36536,41.485267]]]]}},{"type":"Feature","properties":{"name":"South Carolina"},"geometry":{"type":"Polygon","coordinates":[[[-80.872346,32.029565],[-81.074813,32.109699],[-81.135018,32.181858],[-81.132953,32.27467],[-81.171504,32.380139],[-81.290332,32.557239],[-81.37697,32.607468],[-81.433813,32.728032],[-81.489778,32.935663],[-81.57824,33.068575],[-81.69932,33.126759],[-81.780322,33.195292],[-81.821279,33.274096],[-81.864093,33.325436],[-81.908741,33.349254],[-81.932845,33.38987],[-81.936394,33.447285],[-82.005718,33.522893],[-82.208361,33.663584],[-82.256623,33.749233],[-82.351897,33.837728],[-82.589344,34.017618],[-82.589268,34.017377],[-82.818585,34.366017],[-82.818607,34.366072],[-82.847732,34.436911],[-82.896819,34.465806],[-82.975679,34.476396],[-83.052781,34.51086],[-83.165896,34.598531],[-83.166522,34.599597],[-83.355575,34.708318],[-83.316716,34.805657],[-83.1704,34.932911],[-83.121357,35.000554],[-83.114821,35.001477],[-83.09655,35.001642],[-82.936974,35.04417],[-82.777529,35.086643],[-82.743966,35.084061],[-82.651483,35.128039],[-82.463957,35.177961],[-82.392535,35.210931],[-82.356083,35.201626],[-82.197484,35.195891],[-82.038885,35.190156],[-81.880298,35.184421],[-81.721699,35.178675],[-81.5631,35.172941],[-81.404513,35.167206],[-81.245914,35.161471],[-81.087316,35.155714],[-81.05662,35.145508],[-81.046853,35.131083],[-81.051171,35.088972],[-81.045249,35.065615],[-80.933683,35.113669],[-80.881695,35.057914],[-80.79297,34.962772],[-80.789278,34.90717],[-80.784082,34.828629],[-80.642776,34.824641],[-80.501459,34.820664],[-80.36013,34.816687],[-80.218824,34.81271],[-80.077507,34.808733],[-79.936179,34.804745],[-79.794862,34.800768],[-79.653556,34.796791],[-79.518523,34.682643],[-79.383468,34.568506],[-79.248413,34.45438],[-79.11338,34.340232],[-78.978347,34.226073],[-78.843292,34.111947],[-78.708237,33.997821],[-78.564272,33.876664],[-78.577709,33.873225],[-78.841435,33.724097],[-78.920295,33.658695],[-79.138187,33.405921],[-79.193822,33.244148],[-79.23836,33.312153],[-79.22733,33.363163],[-79.226473,33.404889],[-79.281328,33.315438],[-79.229242,33.185129],[-79.276011,33.135394],[-79.419931,33.042527],[-79.498681,33.027311],[-79.587121,33.000877],[-79.614928,32.909263],[-79.735019,32.824789],[-79.804991,32.78738],[-79.933103,32.810034],[-79.89364,32.728702],[-79.940727,32.667157],[-80.021752,32.619894],[-80.122551,32.589099],[-80.180317,32.592889],[-80.229668,32.576509],[-80.268351,32.537342],[-80.362844,32.500725],[-80.460974,32.521346],[-80.572233,32.533695],[-80.634195,32.511733],[-80.530012,32.475379],[-80.474278,32.422777],[-80.485726,32.351827],[-80.513631,32.324405],[-80.579341,32.287326],[-80.608224,32.292809],[-80.625846,32.326273],[-80.647214,32.395926],[-80.677778,32.381128],[-80.683052,32.348641],[-80.709331,32.33704],[-80.802561,32.448045],[-80.797881,32.363396],[-80.765328,32.298313],[-80.73383,32.265321],[-80.702047,32.245908],[-80.694214,32.21574],[-80.758011,32.142175],[-80.790795,32.125838],[-80.849242,32.113929],[-80.882058,32.068611],[-80.872346,32.029565]]]}},{"type":"Feature","properties":{"name":"South Dakota"},"geometry":{"type":"Polygon","coordinates":[[[-96.453619,43.501171],[-96.598622,43.497501],[-96.581285,43.434923],[-96.541647,43.373455],[-96.534956,43.338057],[-96.542526,43.309031],[-96.569942,43.283323],[-96.563454,43.242685],[-96.55539,43.231676],[-96.49028,43.205529],[-96.468137,43.17023],[-96.461293,43.129767],[-96.462688,43.099181],[-96.502112,43.043294],[-96.513274,42.969059],[-96.562576,42.85857],[-96.616084,42.791388],[-96.626835,42.757001],[-96.62177,42.729535],[-96.538702,42.658585],[-96.53361,42.630164],[-96.506326,42.593579],[-96.480953,42.511259],[-96.55795,42.524794],[-96.632778,42.568673],[-96.675542,42.637601],[-96.804527,42.701421],[-97.019733,42.760176],[-97.164478,42.813196],[-97.23879,42.860536],[-97.416658,42.881004],[-97.698139,42.874643],[-97.880918,42.849583],[-97.964947,42.805868],[-98.143283,42.852263],[-98.441765,43.001095],[-98.837141,43.001249],[-99.183271,43.001249],[-99.529373,43.001249],[-99.875475,43.001249],[-100.221605,43.001249],[-100.567708,43.001282],[-100.91381,43.001304],[-101.25994,43.001304],[-101.606064,43.001304],[-101.952172,43.001326],[-102.298274,43.001359],[-102.644398,43.001359],[-102.990528,43.001359],[-103.33663,43.001381],[-103.682738,43.001403],[-104.028862,43.001403],[-104.029895,43.251364],[-104.030955,43.501325],[-104.032016,43.751286],[-104.033048,44.001269],[-104.034081,44.251251],[-104.035119,44.501212],[-104.036152,44.751173],[-104.037212,45.001134],[-104.02928,45.001079],[-104.021348,45.001057],[-104.013416,45.001024],[-104.005478,45.00097],[-104.005302,45.004101],[-104.005143,45.007232],[-104.004962,45.010352],[-104.00478,45.013483],[-104.006357,45.245866],[-104.007934,45.47826],[-104.00951,45.710642],[-104.011087,45.943058],[-103.778132,45.943036],[-103.545173,45.943036],[-103.312213,45.943036],[-103.079259,45.943036],[-102.8463,45.943036],[-102.613345,45.943014],[-102.380386,45.942981],[-102.147426,45.942981],[-101.914472,45.942981],[-101.681513,45.942981],[-101.448558,45.942981],[-101.215599,45.942959],[-100.982645,45.942937],[-100.749685,45.942937],[-100.516725,45.942937],[-100.283744,45.942937],[-100.050762,45.942937],[-99.817803,45.942904],[-99.584849,45.942882],[-99.351889,45.942882],[-99.118929,45.942882],[-98.885975,45.942882],[-98.653016,45.942882],[-98.420062,45.94286],[-98.187102,45.942827],[-97.954142,45.942827],[-97.721188,45.942827],[-97.488229,45.942827],[-97.255275,45.942827],[-97.022315,45.942805],[-96.789355,45.942773],[-96.556401,45.942773],[-96.591052,45.843269],[-96.614689,45.799972],[-96.662672,45.755653],[-96.813619,45.659182],[-96.85106,45.626004],[-96.845452,45.595868],[-96.81491,45.557427],[-96.737527,45.467845],[-96.696109,45.431776],[-96.529759,45.371549],[-96.453668,45.297337],[-96.453668,45.072809],[-96.453668,44.848292],[-96.453668,44.623787],[-96.453641,44.399259],[-96.453619,44.174721],[-96.453619,43.950215],[-96.453619,43.725698],[-96.453619,43.501171]]]}},{"type":"Feature","properties":{"name":"Tennessee"},"geometry":{"type":"Polygon","coordinates":[[[-85.623604,35.000862],[-85.784037,35.002356],[-85.944437,35.003861],[-86.104871,35.00541],[-86.265293,35.006904],[-86.425726,35.008409],[-86.58616,35.009903],[-86.746582,35.011409],[-86.907015,35.012925],[-87.067449,35.014452],[-87.227871,35.015946],[-87.388305,35.017451],[-87.548738,35.018945],[-87.70916,35.02045],[-87.869594,35.021966],[-88.029994,35.023494],[-88.190427,35.024999],[-88.203139,35.024197],[-88.19079,35.012046],[-88.173267,34.999005],[-88.444772,34.999126],[-88.710421,34.999412],[-88.97606,34.999697],[-89.241698,34.999983],[-89.507348,35.000268],[-89.772997,35.000554],[-90.038635,35.00084],[-90.293705,35.001114],[-90.29376,35.004476],[-90.255956,35.046389],[-90.14227,35.114296],[-90.092919,35.203592],[-90.107882,35.314203],[-90.066024,35.414112],[-89.967345,35.50331],[-89.92652,35.591652],[-89.943505,35.679136],[-89.894561,35.750503],[-89.779655,35.805742],[-89.763593,35.828044],[-89.768108,35.845249],[-89.769943,35.864299],[-89.768932,35.8721],[-89.763593,35.888766],[-89.738214,35.898741],[-89.703772,35.906904],[-89.688908,35.920956],[-89.689171,35.943599],[-89.70932,35.98305],[-89.704772,36.001573],[-89.697697,36.030303],[-89.641886,36.104515],[-89.63413,36.167917],[-89.674549,36.220575],[-89.654081,36.247964],[-89.627988,36.255259],[-89.594623,36.259445],[-89.583549,36.272233],[-89.583549,36.287657],[-89.611707,36.321968],[-89.604093,36.351916],[-89.55527,36.372922],[-89.540603,36.426667],[-89.557313,36.501078],[-89.487221,36.503066],[-89.485386,36.498133],[-89.471488,36.488883],[-89.451823,36.497518],[-89.450329,36.500023],[-89.251784,36.499946],[-89.079079,36.499913],[-88.906373,36.499891],[-88.733646,36.499836],[-88.560919,36.499792],[-88.388214,36.499759],[-88.215509,36.499737],[-88.059108,36.499683],[-88.05601,36.500946],[-88.056713,36.59032],[-88.096297,36.693009],[-88.091122,36.6928],[-87.956298,36.681968],[-87.868715,36.675046],[-87.839151,36.643966],[-87.506254,36.649185],[-87.173357,36.654403],[-86.84046,36.659622],[-86.507586,36.66484],[-86.160451,36.655073],[-85.813283,36.645339],[-85.466126,36.635594],[-85.11898,36.625828],[-84.771845,36.616061],[-84.424688,36.606316],[-84.07752,36.596582],[-83.730385,36.586815],[-83.722507,36.589089],[-83.714652,36.591363],[-83.706797,36.593638],[-83.698942,36.595901],[-83.691086,36.598175],[-83.683231,36.600449],[-83.675376,36.602723],[-83.667521,36.60503],[-83.440763,36.604119],[-82.955837,36.60213],[-82.611779,36.600713],[-82.329386,36.599548],[-82.162185,36.598856],[-81.952511,36.598021],[-81.905336,36.618544],[-81.800713,36.615182],[-81.65889,36.610579],[-81.704418,36.533993],[-81.707648,36.481962],[-81.733323,36.405914],[-81.734125,36.355454],[-81.80826,36.352718],[-81.851151,36.3397],[-81.908247,36.306411],[-82.051366,36.122862],[-82.100618,36.106526],[-82.182499,36.153789],[-82.294944,36.13397],[-82.368245,36.099549],[-82.478426,36.010055],[-82.52113,35.981216],[-82.553408,35.970987],[-82.576842,35.972273],[-82.588751,35.986951],[-82.598101,36.031599],[-82.611097,36.047364],[-82.644924,36.046793],[-82.700087,36.029841],[-82.75559,35.999871],[-82.812817,35.947444],[-82.887722,35.951728],[-82.901862,35.939171],[-82.920253,35.8789],[-82.949476,35.834526],[-82.990203,35.800447],[-83.120369,35.774618],[-83.284241,35.682058],[-83.511119,35.584082],[-83.722716,35.559901],[-83.811705,35.54029],[-83.871306,35.51489],[-84.003735,35.414069],[-84.062281,35.286012],[-84.128584,35.261413],[-84.232471,35.260589],[-84.261101,35.249581],[-84.286974,35.200846],[-84.32469,34.988096],[-84.649424,34.991304],[-84.974158,34.994479],[-85.298892,34.997654],[-85.623604,35.000862]]]}},{"type":"Feature","properties":{"name":"Texas"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-94.484149,33.648434],[-94.432008,33.599731],[-94.390122,33.585603],[-94.377955,33.566113],[-94.357674,33.560972],[-94.33256,33.565036],[-94.294679,33.58746],[-94.238456,33.581208],[-94.191534,33.589009],[-94.098798,33.57733],[-94.047327,33.554435],[-94.045805,33.418841],[-94.044306,33.283215],[-94.042806,33.147589],[-94.041307,33.011996],[-94.041565,32.885378],[-94.041801,32.758805],[-94.042032,32.63222],[-94.04229,32.505614],[-94.042548,32.379007],[-94.042806,32.252423],[-94.043064,32.125838],[-94.043301,31.999232],[-93.905065,31.876998],[-93.845585,31.792942],[-93.826798,31.75026],[-93.820652,31.603966],[-93.806902,31.568799],[-93.737578,31.513812],[-93.736057,31.477667],[-93.663657,31.372198],[-93.665882,31.322584],[-93.596992,31.209754],[-93.557749,31.180421],[-93.551443,31.104066],[-93.530591,31.04619],[-93.562654,31.004903],[-93.549196,30.947719],[-93.568675,30.894655],[-93.579194,30.823805],[-93.624721,30.714348],[-93.665206,30.660768],[-93.720215,30.558265],[-93.715205,30.473253],[-93.746626,30.380363],[-93.750394,30.344713],[-93.720967,30.282904],[-93.710629,30.112813],[-93.726933,30.077108],[-93.79401,29.977264],[-93.841449,29.979747],[-93.946302,29.815007],[-93.886383,29.722634],[-93.890464,29.689356],[-94.099677,29.670383],[-94.574457,29.484527],[-94.759609,29.384255],[-94.750128,29.418027],[-94.526265,29.547962],[-94.605334,29.567804],[-94.732638,29.53535],[-94.778291,29.547863],[-94.724365,29.655299],[-94.741938,29.74999],[-94.832322,29.752605],[-94.889913,29.676953],[-94.929859,29.68015],[-94.982286,29.712603],[-95.022875,29.70232],[-94.992827,29.530934],[-94.935907,29.460478],[-94.888287,29.370555],[-95.018332,29.25945],[-95.139044,29.167835],[-95.152145,29.079231],[-95.273506,28.963863],[-95.387637,28.89844],[-95.655863,28.744598],[-95.732394,28.711705],[-95.853419,28.640349],[-96.020411,28.586834],[-96.180531,28.501877],[-96.234535,28.48899],[-96.132291,28.560896],[-96.011034,28.631944],[-96.115031,28.622232],[-96.27536,28.655125],[-96.37344,28.657037],[-96.374111,28.631098],[-96.448735,28.594481],[-96.526041,28.648303],[-96.559708,28.684448],[-96.575704,28.715715],[-96.608515,28.723307],[-96.64004,28.708761],[-96.524645,28.488704],[-96.475476,28.47919],[-96.42111,28.457339],[-96.488808,28.406065],[-96.561697,28.367163],[-96.676339,28.34129],[-96.773546,28.421622],[-96.794579,28.320855],[-96.806901,28.220188],[-96.839508,28.194403],[-96.8916,28.157555],[-96.919867,28.185339],[-96.933276,28.224275],[-96.966636,28.189547],[-97.01547,28.163454],[-97.096033,28.158258],[-97.156491,28.14436],[-97.155074,28.102656],[-97.141275,28.060765],[-97.034329,28.093845],[-97.073088,27.986091],[-97.171454,27.879567],[-97.251578,27.85442],[-97.37413,27.870031],[-97.404386,27.859309],[-97.431517,27.837215],[-97.288733,27.670608],[-97.380458,27.419361],[-97.439109,27.328285],[-97.47978,27.316573],[-97.523863,27.313969],[-97.682148,27.394917],[-97.768446,27.457495],[-97.692377,27.287141],[-97.485103,27.237406],[-97.474512,27.172938],[-97.475671,27.117885],[-97.516524,27.053209],[-97.554712,26.967351],[-97.526494,26.907508],[-97.49381,26.75961],[-97.465828,26.691759],[-97.435082,26.485853],[-97.402316,26.396534],[-97.213933,26.067867],[-97.150372,26.065307],[-97.140187,26.029733],[-97.146235,25.961464],[-97.281785,25.941623],[-97.33865,25.91118],[-97.349735,25.88478],[-97.358162,25.87052],[-97.375624,25.871805],[-97.440273,25.890822],[-97.587243,25.984206],[-97.801416,26.042049],[-98.082792,26.064428],[-98.275031,26.111197],[-98.378121,26.182356],[-98.48587,26.224576],[-98.598293,26.237858],[-98.691413,26.276453],[-98.76523,26.340405],[-98.873209,26.38123],[-99.015268,26.398962],[-99.107767,26.446917],[-99.172081,26.564141],[-99.172367,26.565921],[-99.22993,26.761928],[-99.302462,26.884711],[-99.443537,27.036674],[-99.456506,27.056615],[-99.456534,27.05667],[-99.45772,27.081707],[-99.440258,27.170125],[-99.455139,27.233714],[-99.499814,27.285515],[-99.51007,27.340326],[-99.485834,27.398048],[-99.484258,27.467393],[-99.505319,27.548341],[-99.595313,27.63588],[-99.754269,27.729934],[-99.889631,27.867296],[-100.001412,28.047845],[-100.111945,28.172957],[-100.221265,28.242622],[-100.296043,28.327678],[-100.336275,28.428137],[-100.348157,28.48643],[-100.331727,28.502547],[-100.398903,28.614223],[-100.549695,28.821338],[-100.636306,28.972806],[-100.65863,29.068541],[-100.754596,29.182513],[-100.924142,29.314701],[-101.016334,29.400658],[-101.038631,29.460291],[-101.038972,29.460401],[-101.303528,29.634084],[-101.380344,29.742552],[-101.44039,29.776841],[-101.509302,29.773116],[-101.544623,29.783531],[-101.546381,29.808075],[-101.568705,29.809239],[-101.611596,29.78697],[-101.752336,29.782476],[-101.990899,29.795704],[-102.163087,29.825257],[-102.268919,29.871169],[-102.343076,29.864973],[-102.385659,29.806657],[-102.476247,29.769084],[-102.614944,29.752341],[-102.73419,29.64395],[-102.834,29.443966],[-102.877825,29.315316],[-102.865679,29.258033],[-102.892008,29.216384],[-102.956811,29.190368],[-103.022828,29.132207],[-103.090009,29.041866],[-103.168298,28.998173],[-103.257699,29.001129],[-103.422933,29.070683],[-103.663979,29.206903],[-103.852905,29.29108],[-103.989746,29.323171],[-104.110617,29.386112],[-104.21552,29.479902],[-104.312205,29.542436],[-104.400623,29.573747],[-104.503977,29.677667],[-104.622212,29.854272],[-104.68133,29.990525],[-104.68133,30.134358],[-104.835896,30.447655],[-104.917854,30.583358],[-104.978834,30.645936],[-105.098151,30.720555],[-105.275816,30.80727],[-105.513994,30.980766],[-105.812707,31.241043],[-106.02409,31.397774],[-106.148065,31.450926],[-106.255703,31.544662],[-106.346967,31.678991],[-106.436027,31.764465],[-106.445382,31.768398],[-106.566358,31.819529],[-106.566281,31.819529],[-106.668262,32.000946],[-106.662219,32.001297],[-106.43745,32.001407],[-106.212659,32.001484],[-105.987868,32.001561],[-105.763076,32.00166],[-105.53828,32.00177],[-105.313488,32.001847],[-105.088697,32.001924],[-104.863928,32.002022],[-104.639164,32.002132],[-104.414373,32.002209],[-104.189576,32.002286],[-103.964785,32.002385],[-103.739993,32.002495],[-103.515202,32.002572],[-103.290405,32.002649],[-103.065642,32.002748],[-103.064169,32.283866],[-103.062719,32.564984],[-103.061247,32.846113],[-103.059775,33.127231],[-103.058303,33.408349],[-103.056831,33.689468],[-103.055358,33.970586],[-103.053886,34.251682],[-103.052414,34.532778],[-103.050942,34.813896],[-103.049492,35.095015],[-103.04802,35.376133],[-103.046547,35.657251],[-103.045103,35.93838],[-103.043625,36.219498],[-103.042153,36.500616],[-103.000295,36.501232],[-102.812918,36.50121],[-102.625562,36.501188],[-102.438212,36.501188],[-102.250835,36.501155],[-102.063452,36.501133],[-101.876102,36.501133],[-101.688747,36.501111],[-101.50137,36.501078],[-101.313992,36.501056],[-101.126637,36.501023],[-100.939287,36.500979],[-100.751904,36.500979],[-100.564527,36.500946],[-100.377177,36.500924],[-100.189822,36.500924],[-100.002444,36.500902],[-100.002236,36.381239],[-100.002054,36.261609],[-100.001873,36.141979],[-100.00167,36.022349],[-100.001461,35.902718],[-100.00128,35.783088],[-100.001099,35.663458],[-100.000895,35.543828],[-100.000687,35.424198],[-100.000505,35.304568],[-100.000324,35.184938],[-100.000115,35.065275],[-99.999912,34.945622],[-99.999731,34.825992],[-99.99955,34.706362],[-99.999341,34.586721],[-99.94069,34.576339],[-99.867027,34.543369],[-99.685615,34.415829],[-99.632029,34.388495],[-99.536168,34.404744],[-99.432298,34.38922],[-99.404986,34.392065],[-99.38465,34.446788],[-99.374938,34.457873],[-99.360387,34.456094],[-99.270316,34.407226],[-99.252875,34.388077],[-99.19991,34.318314],[-99.186578,34.235477],[-99.157508,34.223282],[-99.102291,34.213472],[-98.96884,34.208605],[-98.798953,34.154739],[-98.730118,34.146576],[-98.608395,34.161275],[-98.493851,34.088777],[-98.453674,34.078131],[-98.420419,34.088052],[-98.355978,34.141511],[-98.214079,34.135337],[-98.098635,34.145027],[-98.089587,34.084097],[-98.069383,34.040305],[-97.973962,33.993734],[-97.951072,33.971212],[-97.946238,33.897076],[-97.92159,33.878367],[-97.882858,33.871116],[-97.842422,33.875785],[-97.795291,33.899065],[-97.691937,33.972135],[-97.660362,33.990043],[-97.640933,33.991669],[-97.621789,33.987768],[-97.605925,33.971651],[-97.571247,33.91594],[-97.481565,33.885705],[-97.430171,33.838508],[-97.398492,33.831323],[-97.363611,33.840178],[-97.308163,33.869226],[-97.264679,33.867776],[-97.214938,33.897109],[-97.194762,33.890616],[-97.186182,33.870083],[-97.201013,33.808164],[-97.192488,33.784631],[-97.172383,33.75688],[-97.145071,33.737687],[-97.119,33.734764],[-97.09895,33.750442],[-97.061229,33.8285],[-97.063838,33.8568],[-97.02159,33.866512],[-97.002161,33.881597],[-96.977694,33.938033],[-96.934051,33.95348],[-96.911001,33.950437],[-96.889996,33.934617],[-96.847572,33.883179],[-96.746283,33.854186],[-96.720213,33.85279],[-96.694016,33.863799],[-96.648538,33.906382],[-96.625132,33.911446],[-96.606345,33.905635],[-96.595364,33.899405],[-96.59159,33.849275],[-96.487204,33.7923],[-96.41114,33.775205],[-96.336752,33.717713],[-96.315048,33.711122],[-96.278562,33.757627],[-96.207272,33.774062],[-96.139344,33.821963],[-95.941579,33.882838],[-95.863082,33.863304],[-95.783914,33.864502],[-95.763166,33.891473],[-95.622789,33.930255],[-95.594471,33.945163],[-95.555712,33.926091],[-95.541836,33.898164],[-95.523494,33.886562],[-95.427117,33.872785],[-95.373888,33.874269],[-95.276016,33.910622],[-95.238031,33.956479],[-95.21586,33.959039],[-95.146075,33.936616],[-94.962389,33.843408],[-94.869374,33.768196],[-94.765734,33.731611],[-94.709198,33.699289],[-94.484149,33.648434]]],[[[-95.039695,29.145918],[-95.089666,29.136305],[-94.87167,29.290146],[-94.825989,29.341309],[-94.767618,29.339035],[-94.864952,29.252892],[-95.039695,29.145918]]],[[[-96.7644,28.152567],[-96.801116,28.148414],[-96.755611,28.202434],[-96.68164,28.229702],[-96.519322,28.333468],[-96.453124,28.340598],[-96.418633,28.376325],[-96.403565,28.381577],[-96.413332,28.337807],[-96.543893,28.275592],[-96.7644,28.152567]]],[[[-97.014355,27.901628],[-97.036009,27.899178],[-96.987642,27.981026],[-96.978672,28.013842],[-96.899301,28.117454],[-96.857416,28.132912],[-96.839766,28.088802],[-96.92134,28.01604],[-97.014355,27.901628]]],[[[-97.353613,27.300061],[-97.384825,27.242525],[-97.376223,27.328252],[-97.29504,27.523072],[-97.130008,27.77913],[-97.060558,27.822021],[-97.250907,27.541189],[-97.353613,27.300061]]],[[[-97.170702,26.159383],[-97.184501,26.112933],[-97.267316,26.329759],[-97.402085,26.820507],[-97.407177,27.100208],[-97.38599,27.196503],[-97.351235,26.801468],[-97.202227,26.299788],[-97.170702,26.159383]]]]}},{"type":"Feature","properties":{"name":"Utah"},"geometry":{"type":"Polygon","coordinates":[[[-109.04667,37.000846],[-109.35877,37.001055],[-109.67087,37.001252],[-109.982969,37.001461],[-110.295069,37.00167],[-110.607168,37.001879],[-110.919268,37.002087],[-111.231373,37.002285],[-111.543473,37.002494],[-111.855572,37.002703],[-112.167672,37.002911],[-112.479772,37.00312],[-112.791871,37.003318],[-113.103971,37.003527],[-113.41607,37.003735],[-113.72817,37.003944],[-114.04027,37.004153],[-114.040347,37.160312],[-114.040396,37.316461],[-114.040473,37.472599],[-114.040555,37.628759],[-114.040632,37.784929],[-114.040709,37.941067],[-114.040786,38.097205],[-114.040863,38.253375],[-114.04094,38.409546],[-114.041017,38.565684],[-114.041072,38.721821],[-114.041149,38.877992],[-114.041226,39.034152],[-114.041275,39.190322],[-114.041352,39.346493],[-114.041429,39.502631],[-114.041511,39.658768],[-114.041588,39.814939],[-114.041637,39.971099],[-114.041714,40.127269],[-114.041791,40.283429],[-114.041846,40.439578],[-114.041923,40.595715],[-114.042,40.751875],[-114.042077,40.908046],[-114.042154,41.064183],[-114.042231,41.220321],[-114.042308,41.376492],[-114.04239,41.532662],[-114.042467,41.6888],[-114.042516,41.844938],[-114.042593,42.001109],[-113.855551,42.001109],[-113.668536,42.001076],[-113.481516,42.001054],[-113.294501,42.001054],[-113.107481,42.001054],[-112.920466,42.001032],[-112.733451,42.000999],[-112.546431,42.000999],[-112.359416,42.000999],[-112.172396,42.000977],[-111.985381,42.000955],[-111.798367,42.000955],[-111.611346,42.000922],[-111.424331,42.0009],[-111.237311,42.0009],[-111.050296,42.000878],[-111.050247,41.875897],[-111.05022,41.750884],[-111.050192,41.625881],[-111.050143,41.500879],[-111.050088,41.375877],[-111.050066,41.250863],[-111.050038,41.125861],[-111.049989,41.000858],[-110.799539,41.000858],[-110.549089,41.000858],[-110.298639,41.000858],[-110.048189,41.000858],[-109.79774,41.000858],[-109.54729,41.000858],[-109.29684,41.000858],[-109.04639,41.000858],[-109.046412,40.750842],[-109.04644,40.500859],[-109.04644,40.250877],[-109.046467,40.000872],[-109.046489,39.750856],[-109.046489,39.50084],[-109.046516,39.250835],[-109.046544,39.000819],[-109.046544,38.750869],[-109.046566,38.500853],[-109.046593,38.250848],[-109.046593,38.000833],[-109.046621,37.750828],[-109.046648,37.500834],[-109.046648,37.250851],[-109.04667,37.000846]]]}},{"type":"Feature","properties":{"name":"Virginia"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-77.122053,38.943536],[-77.101827,38.935967],[-77.053048,38.915302],[-77.030361,38.889253],[-77.045599,38.775797],[-77.091906,38.719547],[-77.164669,38.67658],[-77.260393,38.599994],[-77.283805,38.52922],[-77.313698,38.396626],[-77.273258,38.351769],[-77.231916,38.340035],[-77.109913,38.370138],[-77.046764,38.35668],[-76.906336,38.197048],[-76.644873,38.133954],[-76.549511,38.094502],[-76.471761,38.011171],[-76.354944,37.963215],[-76.264284,37.893551],[-76.261801,37.848079],[-76.293222,37.794333],[-76.305626,37.721571],[-76.344144,37.675681],[-76.436616,37.670419],[-76.492481,37.682218],[-76.792804,37.937991],[-76.828641,37.961512],[-76.939977,38.095458],[-77.070637,38.167209],[-77.1111,38.165682],[-76.925123,38.033022],[-76.849175,37.940243],[-76.715416,37.810176],[-76.619835,37.75509],[-76.549457,37.669144],[-76.484055,37.628868],[-76.305571,37.571509],[-76.367633,37.530288],[-76.268569,37.495154],[-76.254408,37.430631],[-76.263482,37.357023],[-76.400987,37.386147],[-76.405459,37.331908],[-76.393132,37.299949],[-76.45393,37.273538],[-76.538393,37.309353],[-76.757691,37.505437],[-76.755879,37.479213],[-76.738103,37.44877],[-76.610903,37.322581],[-76.497392,37.246874],[-76.401119,37.212695],[-76.326939,37.14926],[-76.300759,37.110885],[-76.283302,37.052679],[-76.338277,37.013118],[-76.400888,36.991332],[-76.462016,37.030784],[-76.506852,37.072312],[-76.602301,37.142844],[-76.630898,37.221704],[-76.703507,37.217672],[-77.006971,37.31767],[-77.25089,37.329194],[-77.22706,37.309067],[-77.196211,37.295708],[-77.001961,37.271055],[-76.925167,37.225011],[-76.765415,37.184142],[-76.671855,37.172947],[-76.633919,37.047428],[-76.504632,36.96102],[-76.487856,36.897025],[-76.399548,36.88984],[-76.244256,36.952627],[-76.144006,36.93061],[-75.999415,36.912659],[-75.966335,36.861957],[-75.941561,36.76553],[-75.890431,36.657018],[-75.857428,36.550582],[-75.889057,36.550505],[-75.966445,36.551362],[-76.214824,36.552889],[-76.576615,36.555702],[-76.938395,36.558514],[-77.300185,36.561338],[-77.661976,36.56415],[-78.023756,36.566963],[-78.385547,36.569753],[-78.747337,36.572577],[-79.109117,36.575389],[-79.470908,36.57818],[-79.832688,36.580992],[-80.194479,36.583816],[-80.556269,36.586628],[-80.918049,36.589452],[-81.27984,36.592264],[-81.641631,36.595077],[-81.65889,36.610579],[-81.800713,36.615182],[-81.905336,36.618544],[-81.952511,36.598021],[-82.162185,36.598856],[-82.329386,36.599548],[-82.611779,36.600713],[-82.955837,36.60213],[-83.440763,36.604119],[-83.667521,36.60503],[-83.566183,36.652623],[-83.41689,36.681012],[-83.150218,36.762333],[-83.043816,36.845554],[-82.894501,36.906374],[-82.832021,36.979269],[-82.731892,37.048076],[-82.69489,37.126156],[-82.681586,37.13812],[-82.516505,37.208839],[-82.343207,37.296927],[-81.965277,37.539725],[-81.957707,37.507634],[-81.971396,37.47306],[-81.939382,37.432598],[-81.913059,37.368965],[-81.87564,37.329612],[-81.829266,37.298597],[-81.752164,37.270769],[-81.660769,37.221759],[-81.589017,37.20807],[-81.564836,37.209795],[-81.485537,37.257003],[-81.419366,37.282272],[-81.350043,37.333688],[-81.227128,37.263276],[-81.178118,37.263331],[-81.057345,37.293719],[-80.94368,37.301904],[-80.915369,37.311363],[-80.873071,37.34062],[-80.871852,37.399419],[-80.862425,37.414569],[-80.843485,37.421721],[-80.821084,37.423094],[-80.77003,37.401594],[-80.719845,37.401023],[-80.507402,37.469061],[-80.491417,37.46392],[-80.464512,37.432729],[-80.371183,37.472599],[-80.316075,37.5097],[-80.291971,37.565895],[-80.245818,37.620782],[-80.255376,37.645271],[-80.285303,37.677054],[-80.245928,37.751025],[-80.188074,37.824227],[-79.971731,38.046151],[-79.902693,38.180745],[-79.812879,38.267042],[-79.783447,38.336036],[-79.715255,38.404042],[-79.668651,38.54426],[-79.639603,38.572451],[-79.597745,38.577131],[-79.555272,38.559377],[-79.524675,38.533461],[-79.504834,38.49135],[-79.395871,38.454392],[-79.304169,38.449899],[-79.240272,38.476519],[-79.20294,38.525814],[-79.152502,38.618319],[-79.104239,38.672932],[-79.073313,38.741948],[-79.041189,38.789673],[-78.991992,38.819699],[-78.868725,38.817941],[-78.805499,38.860183],[-78.756786,38.908215],[-78.727309,38.923882],[-78.692757,38.921652],[-78.581477,38.999017],[-78.435238,39.160758],[-78.403707,39.262645],[-78.365782,39.335847],[-78.35105,39.410928],[-78.322221,39.451852],[-78.193,39.370388],[-78.118348,39.323334],[-77.948598,39.216316],[-77.835791,39.145212],[-77.791758,39.226621],[-77.726642,39.346438],[-77.668821,39.309535],[-77.53415,39.265612],[-77.478856,39.220864],[-77.502938,39.175282],[-77.506454,39.14262],[-77.480921,39.112957],[-77.301086,39.053378],[-77.1903,38.969047],[-77.122053,38.943536]]],[[[-75.659256,37.953965],[-75.620002,37.999207],[-75.469424,38.014939],[-75.375963,38.024991],[-75.59636,37.631187],[-75.587109,37.558721],[-75.631549,37.535331],[-75.69884,37.516368],[-75.766867,37.473005],[-75.812054,37.425215],[-75.854,37.296642],[-75.934376,37.151897],[-75.984507,37.212201],[-75.997372,37.263826],[-75.975047,37.398441],[-75.888156,37.619156],[-75.792367,37.756354],[-75.719351,37.821382],[-75.659256,37.953965]]],[[[-75.252476,38.03745],[-75.225791,38.040339],[-75.225846,38.040262],[-75.33305,37.888278],[-75.378545,37.872051],[-75.252476,38.03745]]]]}},{"type":"Feature","properties":{"name":"Vermont"},"geometry":{"type":"Polygon","coordinates":[[[-73.352182,45.005419],[-73.182015,45.005628],[-72.765886,45.006111],[-72.349768,45.006605],[-71.933638,45.007067],[-71.51752,45.007561],[-71.533483,44.987973],[-71.510225,44.908344],[-71.62066,44.771894],[-71.618287,44.727761],[-71.568442,44.607637],[-71.571496,44.579193],[-71.5878,44.565263],[-71.609289,44.514055],[-71.638205,44.481679],[-71.683007,44.45028],[-71.825511,44.37409],[-71.867677,44.354918],[-72.001776,44.329496],[-72.031208,44.300734],[-72.062233,44.11635],[-72.106212,44.013079],[-72.114924,43.965431],[-72.173855,43.884088],[-72.222381,43.790869],[-72.296693,43.714954],[-72.337672,43.621988],[-72.362369,43.586645],[-72.384957,43.52923],[-72.407072,43.332036],[-72.438186,43.224645],[-72.473715,43.038537],[-72.496479,42.991669],[-72.519419,42.966675],[-72.549807,42.886684],[-72.552806,42.856449],[-72.539622,42.829632],[-72.483658,42.766174],[-72.46686,42.730315],[-72.565177,42.733051],[-72.663493,42.735786],[-72.761777,42.738533],[-72.860094,42.741268],[-72.95841,42.744004],[-73.056694,42.74674],[-73.155011,42.749486],[-73.253327,42.752222],[-73.2802,42.813152],[-73.266555,42.864777],[-73.264544,42.93521],[-73.26193,43.027067],[-73.259084,43.127855],[-73.255239,43.265371],[-73.252657,43.357195],[-73.250328,43.439669],[-73.247098,43.553048],[-73.30616,43.616253],[-73.330484,43.62669],[-73.349238,43.620384],[-73.391436,43.578526],[-73.40495,43.578811],[-73.415925,43.589644],[-73.413365,43.627854],[-73.375847,43.762184],[-73.374968,43.804152],[-73.38301,43.875827],[-73.424945,44.038292],[-73.426131,44.074855],[-73.409751,44.131413],[-73.38112,44.187432],[-73.331825,44.244583],[-73.320915,44.268874],[-73.324639,44.36786],[-73.309753,44.45964],[-73.372078,44.597332],[-73.348568,44.775299],[-73.365805,44.860366],[-73.345052,44.938864],[-73.352182,45.005419]]]}},{"type":"Feature","properties":{"name":"Washington"},"geometry":{"type":"MultiPolygon","coordinates":[[[[-122.788777,48.993028],[-122.686384,48.993028],[-122.259999,48.993028],[-121.83362,48.993028],[-121.407235,48.993028],[-120.980855,48.993028],[-120.55447,48.993028],[-120.128091,48.993028],[-119.701706,48.993028],[-119.275321,48.993061],[-118.848942,48.993083],[-118.422557,48.993083],[-117.996177,48.993083],[-117.569793,48.993083],[-117.143413,48.993083],[-117.039054,48.993083],[-117.037373,48.83366],[-117.036544,48.673359],[-117.03572,48.513057],[-117.034918,48.352756],[-117.034116,48.192454],[-117.033292,48.032163],[-117.032462,47.871862],[-117.031638,47.71156],[-117.030809,47.551259],[-117.029985,47.390957],[-117.029155,47.230656],[-117.028331,47.070354],[-117.027502,46.910053],[-117.026678,46.749751],[-117.025848,46.589461],[-117.025046,46.429159],[-117.032462,46.419755],[-117.038999,46.396552],[-117.010396,46.329623],[-116.942962,46.232108],[-116.92211,46.163642],[-116.947845,46.124322],[-116.930196,46.055954],[-116.896479,46.002099],[-117.14432,46.002253],[-117.409755,46.002022],[-117.675217,46.001791],[-117.940653,46.001538],[-118.206088,46.001275],[-118.47155,46.001044],[-118.736986,46.000813],[-119.002421,46.00055],[-119.01968,46.000341],[-119.049909,45.981488],[-119.177345,45.94508],[-119.429113,45.93417],[-119.934276,45.837875],[-120.156046,45.762168],[-120.351432,45.725166],[-120.715777,45.689823],[-121.045241,45.639044],[-121.184278,45.64378],[-121.242698,45.687033],[-121.402121,45.71184],[-121.662519,45.718135],[-121.882014,45.689461],[-122.085124,45.602647],[-122.149905,45.593858],[-122.149927,45.593759],[-122.202535,45.591067],[-122.560964,45.62507],[-122.649849,45.627443],[-122.725913,45.67375],[-122.74643,45.749688],[-122.843373,45.978094],[-122.941997,46.114862],[-123.042275,46.160027],[-123.120904,46.178781],[-123.220589,46.153622],[-123.251334,46.167256],[-123.298696,46.170849],[-123.404736,46.221001],[-123.464859,46.271099],[-123.65033,46.267715],[-123.688365,46.299861],[-123.895715,46.26777],[-123.959743,46.30074],[-124.07276,46.279449],[-124.045135,46.372876],[-124.050172,46.490551],[-124.04436,46.605061],[-124.016405,46.521368],[-123.946126,46.432565],[-123.912381,46.533332],[-123.889151,46.660015],[-123.957727,46.708695],[-124.0717,46.744796],[-124.112547,46.862669],[-123.842876,46.963183],[-123.986017,46.984496],[-124.042218,47.029683],[-124.111695,47.035187],[-124.116787,47.000338],[-124.139238,46.954701],[-124.163551,47.015324],[-124.170505,47.086691],[-124.19885,47.20854],[-124.309279,47.404602],[-124.376021,47.658639],[-124.460044,47.784213],[-124.621071,47.904129],[-124.663083,47.974123],[-124.701661,48.15164],[-124.67998,48.285893],[-124.709978,48.380375],[-124.632618,48.375036],[-124.429041,48.300768],[-124.175515,48.242431],[-124.098775,48.200002],[-123.975761,48.168482],[-123.294433,48.119549],[-123.249911,48.124196],[-123.161883,48.154551],[-123.124392,48.150915],[-123.024219,48.081613],[-122.973885,48.073296],[-122.908901,48.076889],[-122.860891,48.090039],[-122.778598,48.137577],[-122.767512,48.12001],[-122.769089,48.075977],[-122.739739,48.013245],[-122.679485,47.931803],[-122.656644,47.881134],[-122.778444,47.738433],[-122.801773,47.735335],[-122.805366,47.783642],[-122.821384,47.793156],[-123.050647,47.551929],[-123.131034,47.437726],[-123.139043,47.386101],[-123.136356,47.355823],[-123.10421,47.348374],[-123.03091,47.360185],[-122.922156,47.407646],[-122.916883,47.417984],[-123.01822,47.401065],[-123.066775,47.399637],[-123.060133,47.453645],[-123.048636,47.47932],[-122.98246,47.559367],[-122.912906,47.607355],[-122.814051,47.65854],[-122.757152,47.70053],[-122.717876,47.762098],[-122.608145,47.835475],[-122.587913,47.855943],[-122.592665,47.916401],[-122.585716,47.927881],[-122.532801,47.919707],[-122.510811,47.815733],[-122.523913,47.769338],[-122.618428,47.712802],[-122.630183,47.692796],[-122.613621,47.615617],[-122.628272,47.608157],[-122.66429,47.617254],[-122.67548,47.612343],[-122.585821,47.528418],[-122.557448,47.463203],[-122.553548,47.40491],[-122.577888,47.29319],[-122.603904,47.274612],[-122.648657,47.281457],[-122.707697,47.316393],[-122.720876,47.305121],[-122.767798,47.218362],[-122.7833,47.225954],[-122.812551,47.328951],[-122.828465,47.336597],[-122.919519,47.289674],[-122.956186,47.244554],[-122.987629,47.172571],[-123.027575,47.138909],[-122.914147,47.131493],[-122.811958,47.146006],[-122.729868,47.111806],[-122.701935,47.110872],[-122.627058,47.144259],[-122.60414,47.167023],[-122.542177,47.275568],[-122.51107,47.294992],[-122.464872,47.295827],[-122.420119,47.312098],[-122.353817,47.371578],[-122.351131,47.39522],[-122.375262,47.528363],[-122.368341,47.603916],[-122.380744,47.627845],[-122.410506,47.652652],[-122.406787,47.676778],[-122.383634,47.716471],[-122.38198,47.752331],[-122.401827,47.784268],[-122.392884,47.820545],[-122.330306,47.898625],[-122.318474,47.933045],[-122.242014,48.010762],[-122.261268,48.042029],[-122.31749,48.080163],[-122.352965,48.113803],[-122.388649,48.166361],[-122.415802,48.183929],[-122.424695,48.17592],[-122.386633,48.08993],[-122.394774,48.084151],[-122.494019,48.130447],[-122.517013,48.159649],[-122.529159,48.199331],[-122.52032,48.229093],[-122.467042,48.258504],[-122.403376,48.269194],[-122.408545,48.293902],[-122.48841,48.374311],[-122.541661,48.41095],[-122.582591,48.428671],[-122.63778,48.433318],[-122.662483,48.446392],[-122.668993,48.465256],[-122.657265,48.490008],[-122.627964,48.497918],[-122.542694,48.487975],[-122.496754,48.505542],[-122.501094,48.537502],[-122.514816,48.555146],[-122.512723,48.669436],[-122.545122,48.762293],[-122.562024,48.777981],[-122.580163,48.779585],[-122.599438,48.767105],[-122.653024,48.763875],[-122.685944,48.794285],[-122.72248,48.85304],[-122.788777,48.993028]]],[[[-123.086435,48.993028],[-123.049202,48.993028],[-123.063259,48.977735],[-123.077316,48.980218],[-123.086435,48.993028]]],[[[-122.782141,48.672688],[-122.768831,48.650979],[-122.808958,48.629853],[-122.837611,48.626546],[-122.883089,48.660647],[-122.903034,48.664679],[-122.887016,48.61233],[-122.892542,48.594499],[-122.985668,48.6267],[-123.002851,48.652199],[-122.976676,48.679148],[-122.91802,48.706999],[-122.897711,48.710361],[-122.782141,48.672688]]],[[[-123.013134,48.500862],[-122.98675,48.468002],[-123.094444,48.489085],[-123.139922,48.507948],[-123.153435,48.52634],[-123.169585,48.586698],[-123.162141,48.606386],[-123.114186,48.613263],[-123.024164,48.538479],[-123.013134,48.500862]]],[[[-122.820923,48.431363],[-122.836578,48.421541],[-122.890037,48.43467],[-122.921612,48.456939],[-122.932285,48.484745],[-122.912235,48.537963],[-122.885517,48.551608],[-122.868905,48.548609],[-122.861902,48.501851],[-122.814616,48.452336],[-122.820923,48.431363]]],[[[-122.572769,48.15665],[-122.523836,48.02544],[-122.502852,48.080064],[-122.366737,47.985439],[-122.366583,47.938835],[-122.383145,47.923201],[-122.41144,47.917752],[-122.437588,47.931342],[-122.461615,47.963993],[-122.492261,47.981308],[-122.557525,47.99247],[-122.591347,48.029626],[-122.603184,48.055048],[-122.60631,48.12859],[-122.622663,48.151431],[-122.657265,48.156496],[-122.690388,48.173854],[-122.741519,48.22527],[-122.748704,48.239025],[-122.724517,48.280927],[-122.668993,48.350998],[-122.628634,48.384231],[-122.60352,48.380617],[-122.572461,48.359578],[-122.535564,48.321214],[-122.542436,48.294001],[-122.692146,48.24109],[-122.697002,48.228687],[-122.624394,48.213746],[-122.597625,48.200419],[-122.572769,48.15665]]],[[[-122.497271,47.594589],[-122.502649,47.57544],[-122.557838,47.598313],[-122.575922,47.619473],[-122.573752,47.666857],[-122.560113,47.697762],[-122.549774,47.703958],[-122.517216,47.690577],[-122.507867,47.682644],[-122.497271,47.594589]]],[[[-122.394126,47.395242],[-122.398723,47.372511],[-122.437121,47.354812],[-122.456962,47.359328],[-122.458203,47.386156],[-122.468542,47.390232],[-122.509932,47.357987],[-122.506834,47.421675],[-122.486471,47.48878],[-122.468591,47.489966],[-122.442081,47.446153],[-122.394126,47.395242]]],[[[-122.85309,47.204717],[-122.862627,47.185074],[-122.876733,47.186117],[-122.907973,47.226108],[-122.9119,47.25432],[-122.885105,47.274711],[-122.84919,47.216297],[-122.85309,47.204717]]]]}},{"type":"Feature","properties":{"name":"Wisconsin"},"geometry":{"type":"Polygon","coordinates":[[[-90.650585,42.512984],[-90.657331,42.520509],[-90.687873,42.610322],[-90.788749,42.676933],[-90.959949,42.72034],[-91.069582,42.788554],[-91.117592,42.881652],[-91.148156,42.986209],[-91.161328,43.102334],[-91.147585,43.199585],[-91.106968,43.278028],[-91.117196,43.331157],[-91.178357,43.358931],[-91.218688,43.395285],[-91.238277,43.440241],[-91.245253,43.502412],[-91.278432,43.797428],[-91.319916,43.936284],[-91.382692,43.990799],[-91.514846,44.054212],[-91.716435,44.126458],[-91.840976,44.194156],[-91.912299,44.288869],[-92.055121,44.39982],[-92.148582,44.445248],[-92.240307,44.462145],[-92.313091,44.497796],[-92.366941,44.552266],[-92.441587,44.586576],[-92.537031,44.600792],[-92.643538,44.645342],[-92.769809,44.72585],[-92.7726,44.732002],[-92.799214,44.790032],[-92.784668,44.822563],[-92.763404,44.934261],[-92.765212,44.96945],[-92.79304,45.071359],[-92.759059,45.11058],[-92.76614,45.236461],[-92.753918,45.277572],[-92.685808,45.380536],[-92.682605,45.433095],[-92.707022,45.493761],[-92.757461,45.543244],[-92.892488,45.594759],[-92.89652,45.658578],[-92.874712,45.706094],[-92.786448,45.795501],[-92.738081,45.874668],[-92.693949,45.909012],[-92.424613,46.027807],[-92.367276,46.035981],[-92.325473,46.069588],[-92.292629,46.084375],[-92.292371,46.22845],[-92.29214,46.372547],[-92.291904,46.516643],[-92.291646,46.660718],[-92.224003,46.671023],[-92.194549,46.706971],[-92.125346,46.763012],[-92.093266,46.761902],[-91.964923,46.729778],[-91.840778,46.77859],[-91.716643,46.827425],[-91.59252,46.876259],[-91.468363,46.925093],[-91.264787,47.021114],[-91.061188,47.117068],[-90.8576,47.213089],[-90.654024,47.309098],[-90.479923,47.303627],[-90.305856,47.298123],[-90.131778,47.292619],[-89.957677,47.287137],[-90.014553,47.199389],[-90.07143,47.111674],[-90.128273,47.023948],[-90.185138,46.9362],[-90.242003,46.848463],[-90.298847,46.760716],[-90.355712,46.673012],[-90.412588,46.585275],[-90.39234,46.548965],[-90.34088,46.558446],[-90.318227,46.536639],[-90.28786,46.527388],[-90.23038,46.509766],[-90.20242,46.467754],[-90.174459,46.425721],[-90.14651,46.383676],[-90.11855,46.341664],[-89.993646,46.317582],[-89.868754,46.293555],[-89.743839,46.269473],[-89.618925,46.245446],[-89.493988,46.221364],[-89.369085,46.197337],[-89.244181,46.173255],[-89.119289,46.149195],[-89.0488,46.121059],[-88.978312,46.092901],[-88.907824,46.064765],[-88.837335,46.036618],[-88.727241,46.031114],[-88.62954,46.014041],[-88.492991,46.013524],[-88.35475,45.992288],[-88.151745,45.945409],[-88.104415,45.905155],[-88.096483,45.878415],[-88.116116,45.815804],[-87.922537,45.759971],[-87.839832,45.717981],[-87.809081,45.686044],[-87.814091,45.657029],[-87.794557,45.596033],[-87.814662,45.563239],[-87.815178,45.505824],[-87.859135,45.445498],[-87.874032,45.412814],[-87.874911,45.385392],[-87.86543,45.367825],[-87.84182,45.360794],[-87.768563,45.364364],[-87.696394,45.382832],[-87.664226,45.371286],[-87.657568,45.361804],[-87.66271,45.345193],[-87.720916,45.242768],[-87.71885,45.201272],[-87.694208,45.161073],[-87.653613,45.121797],[-87.45954,45.067997],[-87.419802,45.183859],[-87.244384,45.289789],[-87.115272,45.452365],[-86.942337,45.452365],[-86.77429,45.452365],[-86.481823,45.323001],[-86.264524,45.226903],[-86.401469,45.133366],[-86.535952,45.041487],[-86.7147,44.846205],[-86.822113,44.591125],[-86.918749,44.361587],[-87.03249,44.091466],[-87.083203,43.890142],[-87.141727,43.657803],[-87.145188,43.571264],[-87.15501,43.326763],[-87.113855,43.03055],[-87.079358,42.782149],[-87.039126,42.492802],[-87.489412,42.495318],[-87.939664,42.497822],[-88.38995,42.500305],[-88.840236,42.50281],[-89.290521,42.505315],[-89.740796,42.507798],[-90.191049,42.510303],[-90.650585,42.512984]]]}},{"type":"Feature","properties":{"name":"West Virginia"},"geometry":{"type":"Polygon","coordinates":[[[-81.965277,37.539725],[-82.103463,37.570575],[-82.280244,37.687184],[-82.393876,37.828314],[-82.4299,37.894177],[-82.47189,37.938408],[-82.482195,37.983551],[-82.588773,38.099742],[-82.617711,38.149873],[-82.619546,38.182008],[-82.585389,38.24273],[-82.578413,38.272085],[-82.589498,38.420345],[-82.612778,38.448218],[-82.497543,38.414973],[-82.387064,38.43399],[-82.318147,38.479672],[-82.290868,38.552017],[-82.252317,38.594083],[-82.202494,38.605839],[-82.180071,38.637589],[-82.18764,38.715208],[-82.203527,38.768228],[-82.163328,38.844912],[-82.072273,38.962949],[-82.001092,39.011102],[-81.949797,38.989327],[-81.91853,38.952347],[-81.907368,38.900239],[-81.896678,38.893549],[-81.88244,38.894219],[-81.843757,38.934319],[-81.809337,38.950029],[-81.795033,38.945942],[-81.780124,38.946975],[-81.777685,38.972793],[-81.804954,39.04405],[-81.802602,39.086062],[-81.770665,39.098828],[-81.736663,39.14663],[-81.700594,39.229467],[-81.657209,39.271973],[-81.606464,39.274137],[-81.551631,39.308041],[-81.492722,39.373618],[-81.439647,39.392559],[-81.392417,39.364829],[-81.333354,39.362819],[-81.262504,39.386538],[-81.139127,39.455994],[-80.963291,39.57113],[-80.874313,39.664294],[-80.872192,39.735508],[-80.803517,39.909136],[-80.668275,40.185244],[-80.601819,40.363893],[-80.604093,40.445203],[-80.623187,40.51156],[-80.659047,40.562976],[-80.637524,40.603263],[-80.519081,40.646956],[-80.520168,40.532149],[-80.520069,40.416473],[-80.51996,40.300798],[-80.519861,40.185145],[-80.519762,40.069492],[-80.519652,39.953839],[-80.519553,39.838186],[-80.519443,39.722511],[-80.3892,39.722533],[-80.258946,39.722588],[-80.128725,39.72261],[-79.998472,39.722643],[-79.868218,39.722687],[-79.737997,39.72272],[-79.607743,39.722742],[-79.4775,39.722797],[-79.480126,39.594817],[-79.48274,39.466837],[-79.485344,39.33889],[-79.487981,39.210911],[-79.35977,39.285354],[-79.293556,39.311578],[-79.075345,39.475989],[-79.046748,39.476791],[-78.971481,39.453643],[-78.814794,39.570087],[-78.796172,39.612626],[-78.77777,39.626622],[-78.758214,39.624766],[-78.746459,39.613702],[-78.753402,39.589522],[-78.741669,39.577898],[-78.677673,39.54952],[-78.587497,39.534436],[-78.574962,39.532854],[-78.495542,39.533348],[-78.460265,39.556134],[-78.442698,39.601464],[-78.406761,39.627864],[-78.325364,39.639213],[-78.181135,39.68574],[-78.097782,39.677885],[-78.027195,39.631226],[-77.955707,39.608803],[-77.883252,39.610714],[-77.855423,39.599706],[-77.872167,39.575778],[-77.853072,39.548334],[-77.798141,39.517275],[-77.779585,39.488337],[-77.797438,39.461465],[-77.791703,39.441777],[-77.762358,39.429242],[-77.744835,39.400106],[-77.739045,39.354337],[-77.726642,39.346438],[-77.791758,39.226621],[-77.835791,39.145212],[-77.948598,39.216316],[-78.118348,39.323334],[-78.193,39.370388],[-78.322221,39.451852],[-78.35105,39.410928],[-78.365782,39.335847],[-78.403707,39.262645],[-78.435238,39.160758],[-78.581477,38.999017],[-78.692757,38.921652],[-78.727309,38.923882],[-78.756786,38.908215],[-78.805499,38.860183],[-78.868725,38.817941],[-78.991992,38.819699],[-79.041189,38.789673],[-79.073313,38.741948],[-79.104239,38.672932],[-79.152502,38.618319],[-79.20294,38.525814],[-79.240272,38.476519],[-79.304169,38.449899],[-79.395871,38.454392],[-79.504834,38.49135],[-79.524675,38.533461],[-79.555272,38.559377],[-79.597745,38.577131],[-79.639603,38.572451],[-79.668651,38.54426],[-79.715255,38.404042],[-79.783447,38.336036],[-79.812879,38.267042],[-79.902693,38.180745],[-79.971731,38.046151],[-80.188074,37.824227],[-80.245928,37.751025],[-80.285303,37.677054],[-80.255376,37.645271],[-80.245818,37.620782],[-80.291971,37.565895],[-80.316075,37.5097],[-80.371183,37.472599],[-80.464512,37.432729],[-80.491417,37.46392],[-80.507402,37.469061],[-80.719845,37.401023],[-80.77003,37.401594],[-80.821084,37.423094],[-80.843485,37.421721],[-80.862425,37.414569],[-80.871852,37.399419],[-80.873071,37.34062],[-80.915369,37.311363],[-80.94368,37.301904],[-81.057345,37.293719],[-81.178118,37.263331],[-81.227128,37.263276],[-81.350043,37.333688],[-81.419366,37.282272],[-81.485537,37.257003],[-81.564836,37.209795],[-81.589017,37.20807],[-81.660769,37.221759],[-81.752164,37.270769],[-81.829266,37.298597],[-81.87564,37.329612],[-81.913059,37.368965],[-81.939382,37.432598],[-81.971396,37.47306],[-81.957707,37.507634],[-81.965277,37.539725]]]}},{"type":"Feature","properties":{"name":"Wyoming"},"geometry":{"type":"Polygon","coordinates":[[[-104.021655,41.000858],[-104.335722,41.000858],[-104.649755,41.000858],[-104.963794,41.000858],[-105.277832,41.000858],[-105.591871,41.000858],[-105.905932,41.000858],[-106.219998,41.000858],[-106.534037,41.000858],[-106.84807,41.000858],[-107.162108,41.000858],[-107.476147,41.000858],[-107.790213,41.000858],[-108.104274,41.000858],[-108.418313,41.000858],[-108.732351,41.000858],[-109.04639,41.000858],[-109.29684,41.000858],[-109.54729,41.000858],[-109.79774,41.000858],[-110.048189,41.000858],[-110.298639,41.000858],[-110.549089,41.000858],[-110.799539,41.000858],[-111.049989,41.000858],[-111.050038,41.125861],[-111.050066,41.250863],[-111.050088,41.375877],[-111.050143,41.500879],[-111.050192,41.625881],[-111.05022,41.750884],[-111.050247,41.875897],[-111.050296,42.000878],[-111.050373,42.157016],[-111.05045,42.313131],[-111.050505,42.469247],[-111.050582,42.625385],[-111.050659,42.781522],[-111.050708,42.937638],[-111.050785,43.093754],[-111.050862,43.249892],[-111.050945,43.406029],[-111.051022,43.562145],[-111.051071,43.718261],[-111.051148,43.874398],[-111.051225,44.030547],[-111.05128,44.186652],[-111.051357,44.342768],[-111.051434,44.498883],[-111.05128,44.624457],[-111.051148,44.749987],[-111.051022,44.875506],[-111.050862,45.001057],[-110.831707,45.001079],[-110.612519,45.001079],[-110.393336,45.001079],[-110.174175,45.001079],[-109.954987,45.001079],[-109.735804,45.001079],[-109.516643,45.001079],[-109.297455,45.001079],[-109.078272,45.001079],[-108.859112,45.001079],[-108.639929,45.001079],[-108.420741,45.001079],[-108.20158,45.001079],[-107.982397,45.001079],[-107.763209,45.001079],[-107.544048,45.001079],[-107.324865,45.001079],[-107.105677,45.001079],[-106.886522,45.001079],[-106.667334,45.001079],[-106.448151,45.001079],[-106.22899,45.001079],[-106.009802,45.001079],[-105.790619,45.001101],[-105.571458,45.001134],[-105.35227,45.001134],[-105.133087,45.001134],[-104.913927,45.001134],[-104.694738,45.001134],[-104.475556,45.001134],[-104.256395,45.001134],[-104.037212,45.001134],[-104.036152,44.751173],[-104.035119,44.501212],[-104.034081,44.251251],[-104.033048,44.001269],[-104.032016,43.751286],[-104.030955,43.501325],[-104.029895,43.251364],[-104.028862,43.001403],[-104.027962,42.751343],[-104.027055,42.501283],[-104.026149,42.251223],[-104.025248,42.001131],[-104.024342,41.751049],[-104.023441,41.500978],[-104.022562,41.250918],[-104.021655,41.000858]]]}}]} \ No newline at end of file diff --git a/crates/radar_gif/src/main.rs b/crates/radar_gif/src/main.rs index a1b949b8..9658bc4c 100644 --- a/crates/radar_gif/src/main.rs +++ b/crates/radar_gif/src/main.rs @@ -1,54 +1,56 @@ +use std::collections::HashMap; +use std::f32::consts::PI; use std::path::{Path, PathBuf}; -use std::time::Duration; -use chrono::{Datelike, NaiveDate, Utc}; +use ab_glyph::{FontRef, PxScale}; use clap::Parser; +use data_source::{latest_realtime_level2_volume, download_realtime_volume, recent_level2_objects, download_object}; use image::codecs::gif::{GifEncoder, Repeat}; -use image::{Delay, Frame, RgbaImage}; -use radar_core::{MomentType, RadarVolume}; -use render2d::{base_tilt_cut, render_moment_image, RasterOptions}; +use image::{Delay, Frame, ImageBuffer, Rgba, RgbaImage}; +use imageproc::drawing::{draw_filled_circle_mut, draw_filled_rect_mut, draw_hollow_circle_mut, draw_line_segment_mut, draw_text_mut}; +use imageproc::rect::Rect; +use color_tables::ColorTableSet; +use radar_core::MomentType; +use render2d::{base_tilt_cut, color_family_for_moment, smooth_moment_grid, viewport_rgba_buffer_len, ViewportMomentCache, ViewportRasterOptions}; +use nexrad_io::decode_volume_from_path; + +const BG: Rgba = Rgba([10, 12, 18, 255]); +const LAND: Rgba = Rgba([18, 22, 32, 255]); +const STATE_LINE: Rgba = Rgba([40, 50, 70, 255]); +const RING: Rgba = Rgba([55, 60, 75, 255]); +const RING_LABEL: Rgba = Rgba([90, 105, 135, 255]); +const LABEL: Rgba = Rgba([180, 195, 220, 255]); +const CITY_DOT: Rgba = Rgba([200, 210, 230, 180]); +const CITY_LABEL: Rgba = Rgba([150, 165, 195, 180]); +const COMPASS: Rgba = Rgba([130, 150, 185, 255]); +const LABEL_BG: Rgba = Rgba([8, 10, 15, 255]); + +const EARTH_RADIUS_KM: f32 = 6371.0; +const CACHE_DIR: &str = "cache/nexrad_volumes"; + +static STATES_JSON: &[u8] = include_bytes!("../assets/geo/us_states_50m.json"); +static SITES_CSV: &[u8] = include_bytes!("../assets/geo/nexrad_sites.csv"); -/// Fetch recent NEXRAD Level II volumes from the public AWS archive, render -/// them as polar radar images, and output a GIF animation loop. #[derive(Parser)] #[command(name = "radar", version, about)] struct Args { - /// NEXRAD site ID (e.g. KTLX, KFWS, PGUA). #[arg(short, long)] site: String, - - /// Radar product. One of: reflectivity, velocity, spectrum-width, zdr, - /// cc, phidp, kdp. #[arg(short, long, default_value = "reflectivity")] product: String, - - /// Number of frames (most recent volumes) to include. #[arg(short, long, default_value_t = 6)] frames: usize, - - /// Output GIF path. #[arg(short, long, default_value = "radar.gif")] output: PathBuf, - - /// How many days back to search for volumes. - #[arg(long, default_value_t = 3)] - days_back: i64, - - /// Cut (elevation tilt) index to render. 0 = lowest. - #[arg(long, default_value_t = 0)] - cut: usize, - - /// Image width in pixels. #[arg(long, default_value_t = 800)] width: u32, - - /// Image height in pixels. #[arg(long, default_value_t = 800)] height: u32, - - /// Frame delay in centiseconds (100 = 1 second). - #[arg(long, default_value_t = 100)] + #[arg(long, default_value_t = 50)] delay: u16, + /// Half-width of the displayed view in km (e.g. 75 = storm-scale zoom, 460 = full range) + #[arg(long, default_value_t = 150.0)] + range_km: f32, } fn main() { @@ -56,46 +58,336 @@ fn main() { let site = args.site.to_ascii_uppercase(); let moment = parse_moment(&args.product); - let volumes = match fetch_recent_volumes(&site, args.frames, args.days_back) { - Ok(v) => v, - Err(e) => { - eprintln!("Error fetching volumes: {e}"); - std::process::exit(1); + let state_polys = load_state_polys(); + let site_coords = load_site_coords(); + let (radar_lat, radar_lon) = site_coords.get(&site.as_str()).copied().unwrap_or((35.333, -97.278)); + + // Fetch volumes: try realtime first, fall back to archive + let cache_dir = Path::new(CACHE_DIR); + std::fs::create_dir_all(cache_dir).ok(); + + let mut volumes = Vec::new(); + + // Try realtime chunks feed first (most recent data) + match latest_realtime_level2_volume(&site) { + Ok(rt_vol) => { + match download_realtime_volume(&rt_vol, cache_dir) { + Ok(downloaded) => { + match decode_volume_from_path(&downloaded.path) { + Ok(vol) => volumes.push(vol), + Err(e) => eprintln!("Warning: decode realtime: {e}"), + } + } + Err(e) => eprintln!("Warning: download realtime: {e}"), + } } - }; + Err(e) => eprintln!("Warning: no realtime volume for {site}: {e}"), + } + + // Fill remaining frames from archive (oldest first) + if volumes.len() < args.frames { + let needed = args.frames - volumes.len(); + match recent_level2_objects(&site, 3, needed + 2) { + Ok(objects) => { + // Take oldest objects first (playback order) + let take: Vec<_> = objects.iter().rev().take(needed + 2).collect(); + for obj in &take { + if volumes.len() >= args.frames { break; } + match download_object("unidata-nexrad-level2", (*obj).clone(), cache_dir) { + Ok(downloaded) => { + match decode_volume_from_path(&downloaded.path) { + Ok(vol) => volumes.push(vol), + Err(e) => eprintln!("Warning: decode archive: {e}"), + } + } + Err(e) => eprintln!("Warning: download archive: {e}"), + } + } + } + Err(e) => eprintln!("Warning: archive listing: {e}"), + } + } if volumes.is_empty() { eprintln!("No radar volumes found for {site}"); std::process::exit(1); } - let options = RasterOptions { - width: args.width.max(64), - height: args.height.max(64), - range_fraction: 94, + let w = args.width.max(64); + let h = args.height.max(64); + let cx = (w as f32 - 1.0) / 2.0; + let cy = (h as f32 - 1.0) / 2.0; + let max_range_km = args.range_km.max(5.0); + let km_per_px = (2.0 * max_range_km) / w.min(h) as f32; + let radius_px = cx.min(cy) * 0.99; + let viewport_options = ViewportRasterOptions { + width: w, + height: h, + radar_x_px: cx, + radar_y_px: cy, + km_per_px_x: km_per_px, + km_per_px_y: km_per_px, + rotation_rad: 0.0, }; + let font_data: &[u8] = include_bytes!("../assets/fonts/DejaVuSans.ttf"); + let font = FontRef::try_from_slice(font_data).expect("load DejaVuSans.ttf"); + let title_scale = PxScale::from(17.0); + let label_scale = PxScale::from(13.0); + let small_scale = PxScale::from(11.0); + let city_scale = PxScale::from(10.0); + + let cities = get_major_cities(); + let color_tables = ColorTableSet::default(); + let mut frames: Vec = Vec::with_capacity(volumes.len()); for volume in &volumes { let cut_index = base_tilt_cut(volume, &moment).unwrap_or(0); - match render_moment_image(volume, cut_index, moment.clone(), options) { - Ok(img) => frames.push(img), - Err(e) => eprintln!( - " Skipping volume {}: {e}", - volume.volume_time.format("%H%M%SZ") - ), + let Some(cut) = volume.cuts.get(cut_index) else { continue }; + let Some(grid) = cut.moments.get(&moment) else { continue }; + let smoothed = smooth_moment_grid(grid); + let family = color_family_for_moment(&moment); + let cache = match ViewportMomentCache::new_derived(volume, cut_index, smoothed, family, &color_tables) { + Ok(c) => c, + Err(e) => { eprintln!(" Skipping volume: {e}"); continue; } + }; + let mut pixels = vec![0u8; viewport_rgba_buffer_len(viewport_options)]; + let radar_img = match cache.render_moment_rgba_into(volume, viewport_options, &mut pixels) { + Ok((rw, rh)) => match RgbaImage::from_raw(rw, rh, pixels) { + Some(img) => img, + None => { eprintln!(" Skipping volume: buffer size mismatch"); continue; } + }, + Err(e) => { eprintln!(" Skipping volume: {e}"); continue; } + }; + + let mut img = ImageBuffer::new(w, h); + for p in img.pixels_mut() { *p = BG; } + + // Fill radar disk with land color + for y in 0..h { + for x in 0..w { + let dx = x as f32 - cx; + let dy = y as f32 - cy; + if dx * dx + dy * dy <= radius_px * radius_px { + img.put_pixel(x, y, LAND); + } + } } - } - if frames.is_empty() { - eprintln!("No frames could be rendered"); - std::process::exit(1); + // State outlines + for state in &state_polys { + for ring in &state.rings { + let pts: Vec<(f32, f32)> = ring.iter().map(|&(lat, lon)| { + geo_to_pixel(lat, lon, cx, cy, radius_px, radar_lat, radar_lon, max_range_km) + }).collect(); + for i in 0..pts.len() { + let (x1, y1) = pts[i]; + let (x2, y2) = pts[(i + 1) % pts.len()]; + let d1 = ((x1 - cx).powi(2) + (y1 - cy).powi(2)).sqrt(); + let d2 = ((x2 - cx).powi(2) + (y2 - cy).powi(2)).sqrt(); + if d1 > radius_px && d2 > radius_px { continue; } + if x1 >= 0.0 && y1 >= 0.0 && x2 >= 0.0 && y2 >= 0.0 { + draw_line_segment_mut(&mut img, (x1, y1), (x2, y2), STATE_LINE); + } + } + } + } + + // Range rings — step scales with zoom so ~4-6 rings are visible at any range + let ring_step = if max_range_km <= 30.0 { 5.0 } + else if max_range_km <= 60.0 { 10.0 } + else if max_range_km <= 150.0 { 25.0 } + else if max_range_km <= 300.0 { 50.0 } + else { 100.0 }; + let ring_intervals: Vec = { + let mut v = Vec::new(); + let mut km = ring_step; + while km <= max_range_km { + v.push(km); + km += ring_step; + } + v + }; + for &km in &ring_intervals { + let ring_r = (radius_px * km / max_range_km).round() as i32; + if ring_r < 5 || ring_r > radius_px as i32 + 5 { continue; } + draw_hollow_circle_mut(&mut img, (cx as i32, cy as i32), ring_r, RING); + let label = format!("{km:.0}km"); + draw_text_mut(&mut img, RING_LABEL, (cx + ring_r as f32 - 16.0) as i32, (cy + 4.0) as i32, small_scale, &font, &label); + } + + // Compass + let compass_r = radius_px - 12.0; + for (angle, label) in [(-90.0f32, "N"), (0.0, "E"), (90.0, "S"), (180.0, "W")] { + let rad = angle * PI / 180.0; + let x = cx + rad.cos() * compass_r; + let y = cy + rad.sin() * compass_r; + draw_text_mut(&mut img, COMPASS, (x - 6.0) as i32, (y - 8.0) as i32, small_scale, &font, label); + } + + // Cities + for city in &cities { + let (px, py) = geo_to_pixel(city.lat, city.lon, cx, cy, radius_px, radar_lat, radar_lon, max_range_km); + if px >= 0.0 && px < w as f32 && py >= 0.0 && py < h as f32 { + let d = ((px - cx).powi(2) + (py - cy).powi(2)).sqrt(); + if d <= radius_px { + draw_filled_circle_mut(&mut img, (px as i32, py as i32), if city.major { 3 } else { 2 }, CITY_DOT); + let scale = if city.major { label_scale } else { city_scale }; + draw_text_mut(&mut img, CITY_LABEL, (px + 4.0) as i32, (py - 5.0) as i32, scale, &font, &city.name); + } + } + } + + // Overlay radar + for (px, py, pixel) in radar_img.enumerate_pixels() { + if pixel[3] > 10 { img.put_pixel(px, py, *pixel); } + } + + // Timestamp + site + product (with a backing panel so it stays legible over echoes) + draw_filled_rect_mut(&mut img, Rect::at(0, 0).of_size(160, 78), LABEL_BG); + let time_label = format!("{}Z", volume.volume_time.format("%H:%M")); + draw_text_mut(&mut img, LABEL, 14, 14, title_scale, &font, &time_label); + draw_text_mut(&mut img, COMPASS, 14, 36, label_scale, &font, &site); + draw_text_mut(&mut img, RING_LABEL, 14, 56, small_scale, &font, &args.product); + + frames.push(img); } + if frames.is_empty() { eprintln!("No frames could be rendered"); std::process::exit(1); } encode_gif(&frames, &args.output, args.delay); println!("Wrote {} frames to {}", frames.len(), args.output.display()); } +fn geo_to_pixel(lat: f32, lon: f32, cx: f32, cy: f32, radius_px: f32, radar_lat: f32, radar_lon: f32, max_range_km: f32) -> (f32, f32) { + let dlat = (lat - radar_lat).to_radians(); + let dlon = (lon - radar_lon).to_radians(); + let lat1 = radar_lat.to_radians(); + let lat2 = lat.to_radians(); + let a = (dlat / 2.0).sin().powi(2) + lat1.cos() * lat2.cos() * (dlon / 2.0).sin().powi(2); + let c = 2.0 * (a.sqrt().min(1.0)).asin(); + let dist_km = c * EARTH_RADIUS_KM; + let az = if dlon.abs() < 1e-8 && dlat.abs() < 1e-8 { + 0.0 + } else { + (dlon.sin() * lat2.cos()).atan2(lat1.cos() * lat2.sin() - lat1.sin() * lat2.cos() * dlon.cos()) + }; + let frac = dist_km / max_range_km; + (cx + radius_px * frac * az.sin(), cy - radius_px * frac * az.cos()) +} + +struct StatePoly { _name: String, rings: Vec> } + +fn load_site_coords() -> HashMap<&'static str, (f32, f32)> { + let text = std::str::from_utf8(SITES_CSV).expect("valid UTF-8"); + text.lines().filter_map(|line| { + let parts: Vec<&str> = line.split(',').collect(); + if parts.len() < 3 { return None; } + Some((parts[0].trim(), (parts[1].trim().parse().ok()?, parts[2].trim().parse().ok()?))) + }).collect() +} + +fn load_state_polys() -> Vec { + let data: serde_json::Value = serde_json::from_slice(STATES_JSON).expect("parse state GeoJSON"); + let features = data["features"].as_array().expect("features array"); + features.iter().filter_map(|feat| { + let name = feat["properties"]["name"].as_str()?.to_string(); + let geom = &feat["geometry"]; + let mut rings = Vec::new(); + match geom["type"].as_str()? { + "Polygon" => { + if let Some(coords) = geom["coordinates"][0].as_array() { + let ring: Vec<(f32, f32)> = coords.iter().filter_map(|c| Some((c[1].as_f64()? as f32, c[0].as_f64()? as f32))).collect(); + rings.push(ring); + } + } + "MultiPolygon" => { + if let Some(polys) = geom["coordinates"].as_array() { + for poly in polys { + if let Some(coords) = poly[0].as_array() { + let ring: Vec<(f32, f32)> = coords.iter().filter_map(|c| Some((c[1].as_f64()? as f32, c[0].as_f64()? as f32))).collect(); + rings.push(ring); + } + } + } + } + _ => {} + } + Some(StatePoly { _name: name, rings }) + }).collect() +} + +struct City { name: String, lat: f32, lon: f32, major: bool } + +fn get_major_cities() -> Vec { + vec![ + City { name: "NYC".into(), lat: 40.713, lon: -74.006, major: true }, + City { name: "Los Angeles".into(), lat: 34.052, lon: -118.244, major: true }, + City { name: "Chicago".into(), lat: 41.878, lon: -87.630, major: true }, + City { name: "Houston".into(), lat: 29.760, lon: -95.370, major: true }, + City { name: "Phoenix".into(), lat: 33.448, lon: -112.074, major: true }, + City { name: "San Antonio".into(), lat: 29.424, lon: -98.494, major: true }, + City { name: "Dallas".into(), lat: 32.777, lon: -96.797, major: true }, + City { name: "San Diego".into(), lat: 32.716, lon: -117.161, major: true }, + City { name: "Austin".into(), lat: 30.267, lon: -97.743, major: true }, + City { name: "Denver".into(), lat: 39.739, lon: -104.990, major: true }, + City { name: "Ft Worth".into(), lat: 32.755, lon: -97.331, major: false }, + City { name: "Oklahoma City".into(), lat: 35.468, lon: -97.516, major: false }, + City { name: "Tulsa".into(), lat: 36.154, lon: -95.993, major: false }, + City { name: "Wichita".into(), lat: 37.687, lon: -97.337, major: false }, + City { name: "Kansas City".into(), lat: 39.100, lon: -94.580, major: false }, + City { name: "Amarillo".into(), lat: 35.222, lon: -101.831, major: false }, + City { name: "Albuquerque".into(), lat: 35.085, lon: -106.606, major: false }, + City { name: "Little Rock".into(), lat: 34.746, lon: -92.290, major: false }, + City { name: "Shreveport".into(), lat: 32.525, lon: -93.750, major: false }, + City { name: "Memphis".into(), lat: 35.149, lon: -90.049, major: false }, + City { name: "Nashville".into(), lat: 36.163, lon: -86.782, major: false }, + City { name: "Knoxville".into(), lat: 35.960, lon: -83.921, major: false }, + City { name: "Jackson MS".into(), lat: 32.299, lon: -90.185, major: false }, + City { name: "Baton Rouge".into(), lat: 30.421, lon: -91.153, major: false }, + City { name: "New Orleans".into(), lat: 29.949, lon: -90.071, major: false }, + City { name: "St Louis".into(), lat: 38.627, lon: -90.199, major: false }, + City { name: "Atlanta".into(), lat: 33.749, lon: -84.388, major: true }, + City { name: "Minneapolis".into(), lat: 44.978, lon: -93.265, major: true }, + City { name: "Omaha".into(), lat: 41.256, lon: -95.934, major: false }, + City { name: "Des Moines".into(), lat: 41.587, lon: -93.624, major: false }, + City { name: "Lincoln".into(), lat: 40.813, lon: -96.703, major: false }, + City { name: "Topeka".into(), lat: 39.048, lon: -95.678, major: false }, + City { name: "Salt Lake City".into(), lat: 40.760, lon: -111.888, major: false }, + City { name: "Boise".into(), lat: 43.617, lon: -116.200, major: false }, + City { name: "Seattle".into(), lat: 47.606, lon: -122.332, major: true }, + City { name: "Portland".into(), lat: 45.515, lon: -122.679, major: false }, + City { name: "Sacramento".into(), lat: 38.581, lon: -121.494, major: false }, + City { name: "San Francisco".into(), lat: 37.774, lon: -122.419, major: true }, + City { name: "Las Vegas".into(), lat: 36.115, lon: -115.173, major: true }, + City { name: "Tucson".into(), lat: 32.222, lon: -110.926, major: false }, + City { name: "El Paso".into(), lat: 31.761, lon: -106.485, major: false }, + City { name: "Corpus Christi".into(), lat: 27.784, lon: -97.510, major: false }, + City { name: "Miami".into(), lat: 25.761, lon: -80.192, major: true }, + City { name: "Tampa".into(), lat: 27.951, lon: -82.458, major: false }, + City { name: "Jacksonville".into(), lat: 30.332, lon: -81.656, major: false }, + City { name: "Charlotte".into(), lat: 35.227, lon: -80.843, major: false }, + City { name: "Raleigh".into(), lat: 35.780, lon: -78.639, major: false }, + City { name: "Norfolk".into(), lat: 36.851, lon: -76.285, major: false }, + City { name: "Washington DC".into(), lat: 38.907, lon: -77.037, major: true }, + City { name: "Baltimore".into(), lat: 39.290, lon: -76.612, major: false }, + City { name: "Philadelphia".into(), lat: 39.952, lon: -75.165, major: true }, + City { name: "New York".into(), lat: 40.713, lon: -74.006, major: true }, + City { name: "Boston".into(), lat: 42.360, lon: -71.059, major: true }, + City { name: "Pittsburgh".into(), lat: 40.441, lon: -79.996, major: false }, + City { name: "Cincinnati".into(), lat: 39.103, lon: -84.512, major: false }, + City { name: "Indianapolis".into(), lat: 39.768, lon: -86.158, major: false }, + City { name: "Detroit".into(), lat: 42.331, lon: -83.046, major: true }, + City { name: "Cleveland".into(), lat: 41.499, lon: -81.694, major: false }, + City { name: "Milwaukee".into(), lat: 43.039, lon: -87.906, major: false }, + City { name: "Louisville".into(), lat: 38.253, lon: -85.758, major: false }, + City { name: "Lexington".into(), lat: 38.041, lon: -84.458, major: false }, + City { name: "Bowling Green".into(), lat: 36.990, lon: -86.444, major: false }, + City { name: "Paducah".into(), lat: 37.083, lon: -88.600, major: false }, + City { name: "Owensboro".into(), lat: 37.771, lon: -87.110, major: false }, + City { name: "Richmond KY".into(), lat: 37.748, lon: -84.294, major: false }, + ] +} + fn parse_moment(name: &str) -> MomentType { match name.to_lowercase().as_str() { "reflectivity" | "ref" | "dbz" => MomentType::Reflectivity, @@ -105,126 +397,16 @@ fn parse_moment(name: &str) -> MomentType { "cc" | "rhohv" => MomentType::CorrelationCoefficient, "phidp" => MomentType::DifferentialPhase, "kdp" => MomentType::SpecificDifferentialPhase, - _ => { - eprintln!("Unknown product '{name}', using reflectivity"); - MomentType::Reflectivity - } + _ => { eprintln!("Unknown product '{name}', using reflectivity"); MomentType::Reflectivity } } } fn encode_gif(frames: &[RgbaImage], path: &Path, delay_cs: u16) { let file = std::fs::File::create(path).expect("failed to create output file"); - let mut encoder = GifEncoder::new(file); + let mut encoder = GifEncoder::new_with_speed(file, 30); encoder.set_repeat(Repeat::Infinite).expect("set repeat"); - for img in frames { - let delay_ms = delay_cs as u32 * 10; - let delay = Delay::from_numer_denom_ms(delay_ms, 1); - let frame = Frame::from_parts(img.clone(), 0, 0, delay); - encoder.encode_frame(frame).expect("encode gif frame"); - } -} - -/// Fetch the N most recent NEXRAD Level II archive volumes for a site. -fn fetch_recent_volumes( - site: &str, - count: usize, - days_back: i64, -) -> Result, Box> { - let today = Utc::now().date_naive(); - let mut s3_keys = Vec::new(); - - for offset in 0..=days_back.max(0) { - let date = today - chrono::Duration::days(offset); - let mut day_keys = list_archive_keys(site, date)?; - s3_keys.append(&mut day_keys); - if s3_keys.len() >= count { - break; - } + let delay = Delay::from_numer_denom_ms(delay_cs as u32 * 10, 1); + encoder.encode_frame(Frame::from_parts(img.clone(), 0, 0, delay)).expect("encode gif frame"); } - - s3_keys.truncate(count); - - if s3_keys.is_empty() { - return Ok(Vec::new()); - } - - let client = reqwest::blocking::Client::builder() - .timeout(Duration::from_secs(60)) - .connect_timeout(Duration::from_secs(10)) - .build()?; - - let mut volumes = Vec::with_capacity(s3_keys.len()); - for key in &s3_keys { - let url = format!("https://unidata-nexrad-level2.s3.amazonaws.com/{key}"); - match fetch_and_decode_volume(&client, &url) { - Ok(vol) => volumes.push(vol), - Err(e) => eprintln!(" Warning: {url}: {e}"), - } - } - - Ok(volumes) -} - -/// List NEXRAD Level II archive keys for a site on a given date. -fn list_archive_keys( - site: &str, - date: NaiveDate, -) -> Result, Box> { - let prefix = format!( - "{:04}/{:02}/{:02}/{}/", - date.year(), - date.month(), - date.day(), - site - ); - let url = format!( - "https://unidata-nexrad-level2.s3.amazonaws.com/?list-type=2&prefix={}&max-keys=200", - prefix - ); - - let client = reqwest::blocking::Client::builder() - .timeout(Duration::from_secs(15)) - .connect_timeout(Duration::from_secs(5)) - .build()?; - - let text = client.get(&url).send()?.error_for_status()?.text()?; - - // Strip xmlns namespace so quick-xml serde can match element names - let cleaned = text.replace(" xmlns=\"http://s3.amazonaws.com/doc/2006-03-01/\"", ""); - let listing: S3Listing = quick_xml::de::from_str(&cleaned)?; - - let mut keys: Vec = listing - .contents - .into_iter() - .filter(|obj| obj.size > 0 && !obj.key.ends_with("_MDM")) - .map(|obj| obj.key) - .collect(); - - keys.sort(); - keys.reverse(); - Ok(keys) -} - -fn fetch_and_decode_volume( - client: &reqwest::blocking::Client, - url: &str, -) -> Result> { - let bytes = client.get(url).send()?.error_for_status()?.bytes()?; - let volume = nexrad_io::decode_volume_from_bytes(&bytes)?; - Ok(volume) -} - -#[derive(Debug, serde::Deserialize)] -struct S3Listing { - #[serde(rename = "Contents", default)] - contents: Vec, -} - -#[derive(Debug, serde::Deserialize)] -struct S3Content { - #[serde(rename = "Key")] - key: String, - #[serde(rename = "Size")] - size: u64, } diff --git a/scripts/generate_radar_basemaps.py b/scripts/generate_radar_basemaps.py new file mode 100644 index 00000000..94a18ccb --- /dev/null +++ b/scripts/generate_radar_basemaps.py @@ -0,0 +1,188 @@ +""" +Generate dark-themed circular radar basemaps for all NEXRAD sites. +Run once: python scripts/generate_radar_basemaps.py +Output: cache/radar_basemaps/{SITE}.png +""" +import os + +import cartopy.crs as ccrs +import cartopy.feature as cfeature +import matplotlib +matplotlib.use("Agg") +import matplotlib.pyplot as plt +import numpy as np + +RANGE_KM = 460 +SIZE = 800 +DPI = 100 +OUT_DIR = "cache/radar_basemaps" + +SITES = { + "KABX": (35.1497, -106.8239), "KABR": (45.4558, -98.4130), + "KAKQ": (36.9839, -77.0075), "KAMA": (35.2333, -101.7093), + "KAMX": (25.6105, -80.4130), "KAPX": (44.9063, -84.7195), + "KARX": (43.8228, -91.1911), "KATX": (48.1946, -122.4957), + "KBBX": (39.4961, -121.6316), "KBGM": (42.1997, -75.9847), + "KBHX": (40.4983, -124.2922), "KBIS": (46.7708, -100.7603), + "KBLX": (45.8538, -108.6068), "KBMX": (33.1719, -86.7697), + "KBOX": (41.9558, -71.1369), "KBRO": (25.9155, -97.4186), + "KBUF": (42.9486, -78.7369), "KBYX": (24.5969, -81.7033), + "KCAE": (33.9486, -81.1186), "KCBW": (46.0392, -67.8064), + "KCBX": (43.4902, -116.2360), "KCCX": (40.9231, -78.0039), + "KCLE": (41.4130, -81.8600), "KCLX": (32.6555, -81.0422), + "KCRP": (27.7839, -97.5108), "KCXX": (44.5111, -73.1664), + "KCYS": (41.1519, -104.8061), "KDAX": (38.5011, -121.6778), + "KDDC": (37.7608, -99.9689), "KDFX": (29.2725, -100.2803), + "KDGX": (32.2800, -89.9844), "KDIX": (39.9469, -74.4107), + "KDLH": (46.8369, -92.2097), "KDMX": (41.7311, -93.7228), + "KDOX": (38.8255, -75.4400), "KDTX": (42.7000, -83.4717), + "KDVN": (41.6117, -90.5808), "KDYX": (32.5383, -99.2542), + "KEAX": (38.8102, -94.2645), "KEMX": (31.8936, -110.6303), + "KENX": (42.5866, -74.0641), "KEOX": (31.4606, -85.4594), + "KEPZ": (31.8730, -106.6980), "KESX": (35.7011, -114.8914), + "KEVX": (30.5650, -85.9217), "KEWX": (29.7040, -98.0286), + "KEYX": (35.0978, -117.5607), "KFCX": (37.0242, -80.2742), + "KFDR": (34.3622, -98.9767), "KFDX": (34.6342, -103.6189), + "KFFC": (33.3633, -84.5658), "KFSD": (43.5878, -96.7289), + "KFSX": (34.5743, -111.1984), "KFTG": (39.7866, -104.5458), + "KFWS": (32.5728, -97.3031), "KGGW": (48.2064, -106.6247), + "KGJX": (39.0622, -108.2138), "KGLD": (39.3669, -101.7003), + "KGRB": (44.4986, -88.1111), "KGRK": (30.7217, -97.3828), + "KGRR": (42.8939, -85.5449), "KGSP": (34.8833, -82.2198), + "KGWX": (33.8969, -88.3292), "KGYX": (43.8913, -70.2564), + "KHDC": (30.5196, -90.4074), "KHDX": (33.0770, -106.1200), + "KHGX": (29.4719, -95.0789), "KHNX": (36.3142, -119.6321), + "KHPX": (36.7367, -87.2850), "KHTX": (34.9305, -86.0836), + "KICT": (37.6544, -97.4430), "KICX": (37.5910, -112.8622), + "KILN": (39.4203, -83.8217), "KILX": (40.1505, -89.3368), + "KIND": (39.7075, -86.2803), "KINX": (36.1750, -95.5641), + "KIWA": (33.2892, -111.6700), "KIWX": (41.3586, -85.7000), + "KJAX": (30.4846, -81.7019), "KJGX": (32.6750, -83.3511), + "KJKL": (37.5908, -83.3131), "KLBB": (33.6541, -101.8142), + "KLCH": (30.1253, -93.2159), "KLGX": (47.1169, -124.1066), + "KLNX": (41.9579, -100.5762), "KLOT": (41.6044, -88.0844), + "KLRX": (40.7397, -116.8028), "KLSX": (38.6989, -90.6828), + "KLTX": (33.9892, -78.4292), "KLVX": (37.9753, -85.9439), + "KLWX": (38.9761, -77.4875), "KLZK": (34.8364, -92.2619), + "KMAF": (31.9435, -102.1892), "KMAX": (42.0811, -122.7173), + "KMBX": (48.3925, -100.8644), "KMHX": (34.7758, -76.8764), + "KMKX": (42.9678, -88.5506), "KMLB": (28.1131, -80.6544), + "KMOB": (30.6794, -88.2397), "KMPX": (44.8489, -93.5655), + "KMQT": (46.5311, -87.5483), "KMRX": (36.1683, -83.4019), + "KMSX": (47.0411, -113.9861), "KMTX": (41.2628, -112.4478), + "KMUX": (37.1552, -121.8984), "KMVX": (47.5281, -97.3250), + "KMXX": (32.5366, -85.7897), "KNKX": (32.9189, -117.0419), + "KNQA": (35.3447, -89.8733), "KOAX": (41.3203, -96.3668), + "KOHX": (36.2472, -86.5625), "KOKX": (40.8655, -72.8639), + "KOTX": (47.6805, -117.6258), "KPAH": (37.0683, -88.7719), + "KPBZ": (40.5317, -80.2179), "KPDT": (45.6906, -118.8529), + "KPOE": (31.1553, -92.9758), "KPUX": (38.4594, -104.1814), + "KRAX": (35.6653, -78.4900), "KRGX": (39.7540, -119.4620), + "KRIW": (43.0661, -108.4773), "KRLX": (38.3111, -81.7228), + "KRTX": (45.7150, -122.9650), "KSFX": (43.1056, -112.6861), + "KSGF": (37.2353, -93.4003), "KSHV": (32.4508, -93.8412), + "KSJT": (31.3711, -100.4922), "KSOX": (33.8177, -117.6360), + "KSRX": (35.2904, -94.3619), "KTBW": (27.7053, -82.4019), + "KTFX": (47.4597, -111.3853), "KTLH": (30.3975, -84.3289), + "KTLX": (35.3331, -97.2777), "KTWX": (38.9969, -96.2325), + "KTYX": (43.7558, -75.6800), "KUDX": (44.1247, -102.8300), + "KUEX": (40.3208, -98.4419), "KVAX": (30.8903, -83.0018), + "KVBX": (34.8385, -120.3979), "KVNX": (36.7408, -98.1275), + "KVTX": (34.4117, -119.1786), "KVWX": (38.2602, -87.7245), + "KYUX": (32.4953, -114.6567), +} + +CITIES = [ + # (lat, lon, name, pop_rank) + (40.7128, -74.0060, "NYC", 0), (34.0522, -118.2437, "Los Angeles", 0), + (41.8781, -87.6298, "Chicago", 0), (29.7604, -95.3698, "Houston", 0), + (33.4484, -112.0740, "Phoenix", 0), (39.7392, -104.9903, "Denver", 0), + (29.4241, -98.4936, "San Antonio", 0), (32.7157, -117.1611, "San Diego", 0), + (32.7767, -96.7970, "Dallas", 0), (37.3382, -121.8863, "San Jose", 0), + (30.2672, -97.7431, "Austin", 0), (30.3322, -81.6557, "Jacksonville", 0), + (32.7555, -97.3308, "Ft Worth", 0), (35.4676, -97.5164, "Oklahoma City", 0), + (39.9612, -82.9988, "Columbus", 0), (35.2271, -80.8431, "Charlotte", 0), + (35.1495, -90.0490, "Memphis", 1), (42.3601, -71.0589, "Boston", 1), + (38.9072, -77.0369, "Washington", 1), (36.1627, -86.7816, "Nashville", 1), + (36.0680, -95.9378, "Tulsa", 1), (37.6872, -97.3371, "Wichita", 1), + (35.2220, -101.8310, "Amarillo", 1), (34.6040, -98.3960, "Lawton", 1), + (36.3960, -97.8780, "Enid", 1), (34.7460, -92.2900, "Little Rock", 1), + (37.1000, -94.5800, "Kansas City", 1), (39.0480, -95.6780, "Topeka", 1), + (35.0850, -106.6060, "Albuquerque", 1), (32.5250, -93.7500, "Shreveport", 1), + (38.6270, -90.1990, "St Louis", 1), (33.7490, -84.3880, "Atlanta", 1), + (44.9780, -93.2650, "Minneapolis", 1), (41.2560, -95.9340, "Omaha", 1), + (36.1740, -86.5620, "Nashville", 1), (35.9600, -83.9200, "Knoxville", 1), + (32.2980, -90.1840, "Jackson", 1), (30.4210, -91.1530, "Baton Rouge", 1), + (29.9490, -90.0710, "New Orleans", 1), (33.4640, -112.0800, "Mesa", 1), + (36.7380, -97.1280, "Ponca City", 1), (35.5960, -97.3990, "Edmond", 1), + (34.5030, -98.4090, "Wichita Falls", 1), (32.4600, -98.7200, "Dallas Area", 1), + (41.7000, -93.5940, "Des Moines", 1), (40.8070, -96.7000, "Lincoln", 1), + (43.6100, -96.1690, "Sioux Falls", 1), (46.8770, -96.7890, "Fargo", 1), + (46.8270, -100.7790, "Bismarck", 1), (44.0830, -103.2310, "Rapid City", 1), + (41.5930, -102.0910, "Scottsbluff", 1), (41.1400, -104.8200, "Cheyenne", 1), + (40.5870, -105.0450, "Fort Collins", 1), (38.8340, -104.8210, "Colorado Springs", 1), + (35.6870, -105.9380, "Santa Fe", 1), (32.2220, -110.9260, "Tucson", 1), + (36.1140, -115.1730, "Las Vegas", 1), (40.7590, -111.8880, "Salt Lake City", 1), + (43.6200, -116.2140, "Boise", 1), (47.6060, -122.3320, "Seattle", 1), + (45.5150, -122.6790, "Portland", 1), (38.5810, -121.4940, "Sacramento", 1), + (37.7740, -122.4190, "San Francisco", 1), (36.8820, -76.2730, "Norfolk", 1), + (38.6270, -90.1990, "St Louis", 1), +] + + +def generate(site: str, lat: float, lon: float): + path = os.path.join(OUT_DIR, f"{site}.png") + if os.path.exists(path): + return + + fig = plt.figure(figsize=(SIZE / DPI, SIZE / DPI), dpi=DPI) + ax = fig.add_subplot(1, 1, 1, projection=ccrs.AzimuthalEquidistant(central_longitude=lon, central_latitude=lat)) + + half = RANGE_KM * 1000 + ax.set_xlim(-half, half) + ax.set_ylim(-half, half) + ax.axis("off") + ax.set_facecolor("#0d1117") + + scale = "50m" + ax.add_feature(cfeature.LAND.with_scale(scale), color="#121620", zorder=0) + ax.add_feature(cfeature.OCEAN.with_scale(scale), color="#0a0c12", zorder=0) + ax.add_feature(cfeature.LAKES.with_scale(scale), color="#0a0c12", edgecolor="#1a2a3e", linewidth=0.3, zorder=1) + ax.add_feature(cfeature.RIVERS.with_scale(scale), edgecolor="#1a2a3e", linewidth=0.25, zorder=1) + ax.add_feature(cfeature.STATES.with_scale(scale), edgecolor="#2a3a4e", linewidth=0.6, zorder=2) + ax.add_feature(cfeature.COASTLINE.with_scale(scale), edgecolor="#3a4a6e", linewidth=0.8, zorder=2) + + # Range rings + for km in [50, 100, 150, 200, 300, 400]: + c = plt.Circle((0, 0), radius=km * 1000, color="#3a4050", fill=False, linewidth=0.4, linestyle="-", transform=ccrs.AzimuthalEquidistant(central_longitude=lon, central_latitude=lat)) + ax.add_patch(c) + + # Cities + for clat, clon, name, rank in CITIES: + dx = (clon - lon) * 111320 * np.cos(np.radians((clat + lat) / 2)) + dy = (clat - lat) * 111320 + d_km = np.sqrt(dx**2 + dy**2) / 1000 + if d_km < RANGE_KM * 1.1: + ax.plot(clon, clat, "o", color="#c8d4e6", markersize=3 if rank == 0 else 2, + transform=ccrs.Geodetic(), zorder=3) + ax.text(clon, clat, name, fontsize=5.5 if rank == 0 else 4.5, + color="#96a4c3", transform=ccrs.Geodetic(), zorder=3) + + fig.savefig(path, dpi=DPI, bbox_inches="tight", pad_inches=0, facecolor="#0d1117") + plt.close(fig) + + +def main(): + os.makedirs(OUT_DIR, exist_ok=True) + sites_list = sorted(SITES.items()) + total = len(sites_list) + print(f"Generating {total} circular basemaps in {OUT_DIR}/ ...") + for i, (site, (lat, lon)) in enumerate(sites_list, 1): + generate(site, lat, lon) + print(f" [{i}/{total}] {site}", flush=True) + size_kb = sum(os.path.getsize(os.path.join(OUT_DIR, f)) for f in os.listdir(OUT_DIR) if f.endswith(".png")) / 1024 + print(f"Done. Total: {size_kb:.0f} KB across {total} sites.") + + +if __name__ == "__main__": + main() From 06e37d046f5c8d61f83ff9a591e3cf0951d69cf3 Mon Sep 17 00:00:00 2001 From: full-bars <45684698+full-bars@users.noreply.github.com> Date: Tue, 21 Jul 2026 17:47:39 -0700 Subject: [PATCH 04/13] feat: mesocyclone/TVS rotation detection and PTDS debris-signature scoring for /radar MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Adds BowEcho's operational rotation-detection algorithm as an always-on overlay on /radar loops, with per-frame markers and a loop-wide peak Vrot/ΔV summary (fixes a bug where only the last frame's detections were ever reported, hiding real rotation that had already weakened by the end of a loop). Also adds PTDS, a new /radar product combining reflectivity, CC, and ZDR into a single debris-signature confidence score, sampled at each scan's strongest couplet and reported scan-by-scan. PTDS is explicitly marked experimental in the Discord output itself. Fixes along the way: GIF frames were not chronologically sorted; TDWR/SAILS volumes rescan the same low elevation multiple times, which was starving the rotation detector of the vertical tilt diversity it needs; rotation markers and geography were misaligned from the actual radar pixel data by about 1%; marker and corner labels had no backing panel and were unreadable over bright echoes; the compass rose mislabeled west as "F". --- CHANGELOG.md | 2 + Cargo.lock | 9 ++ cogs/radar/__init__.py | 137 ++++++++++++++++- crates/radar_gif/Cargo.toml | 1 + crates/radar_gif/src/main.rs | 289 +++++++++++++++++++++++++++++++++-- 5 files changed, 418 insertions(+), 20 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7fa20d6..b5fb8279 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,8 @@ All notable changes to this project will be documented in this file. - **Thread Cache Fallback (`_resolve_message_thread`)**: Button handlers for outlook, sounding, and MD summaries now use a shared helper that checks `message.thread` (cached property) first, then falls back to `message.fetch_thread()` from the API (#614). This handles edge cases where Discord hasn't populated the thread cache, preventing spurious channel fallback. - **NEXRAD Radar Loops (`/radar` command)**: New `radar_gif` Rust crate fetches NEXRAD Level II volumes from the public AWS S3 archive, decodes them using BowEcho's `nexrad_io` and `render2d` crates, and outputs animated GIFs. The `/radar` slash command accepts site ID (e.g. KTLX), product (reflectivity/velocity/ZDR/CC/KDP/PHIDP), frame count, and a zoom level. The render2d dependency renders publication-quality polar radar images with proper color tables and range-folding handling, including state/county outlines and city labels. - **Radar Zoom Control**: The `/radar` command now exposes a `zoom` option — Storm-Scale (~75km), Regional (~150km, default), Wide (~300km), or Full Range (~460km) — using `render2d`'s viewport rendering API to display any of those ranges at full resolution instead of a fixed full-range disk. Storm-scale zoom makes mesocyclone couplets and tornadic debris signatures actually resolvable. +- **Mesocyclone/TVS Rotation Detection**: `/radar` now runs BowEcho's operational rotation-detection algorithm (Stumpf/Mitchell) on every frame by default, overlaying color-coded markers (weak circulation through TVS) with Vrot labels, and reporting the loop's peak Vrot/ΔV (with timestamp) in the embed even when the strongest rotation occurred on an earlier frame than the most recent one. +- **PTDS (Probability of Tornadic Debris Signature)**: New `/radar` product choice combining reflectivity, correlation coefficient, and differential reflectivity into a single 0–100% debris-signature confidence score, rendered with a dedicated probability color scale. Score is also sampled at each scan's strongest detected couplet and reported scan-by-scan in the embed. PTDS is explicitly experimental — the embed carries a visible disclaimer and a low score should not be read as ruling out a tornado. ## [5.41.0] - 2026-07-19 diff --git a/Cargo.lock b/Cargo.lock index eecd5df1..bf1fb1d6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2182,6 +2182,14 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "product_engine" +version = "0.34.4" +source = "git+https://github.com/FahrenheitResearch/bowecho#aee5574c6008cd581a91d4576bb89f629cfdfe33" +dependencies = [ + "radar_core", +] + [[package]] name = "profiling" version = "1.0.18" @@ -2411,6 +2419,7 @@ dependencies = [ "image", "imageproc", "nexrad_io", + "product_engine", "quick-xml", "radar_core", "render2d", diff --git a/cogs/radar/__init__.py b/cogs/radar/__init__.py index 4ba7ae4d..6c039a79 100644 --- a/cogs/radar/__init__.py +++ b/cogs/radar/__init__.py @@ -3,6 +3,7 @@ import asyncio import difflib +import json import logging import re import time @@ -385,6 +386,7 @@ async def downloaderstatus_slash(self, interaction: discord.Interaction): product="Radar product to display", frames="Number of frames (default 6, max 20)", zoom="View range — tighter zoom shows more storm-scale detail (default Regional)", + show_rotation="Overlay mesocyclone/TVS rotation detection markers (Vrot, ΔV) and list findings (default on)", ) @discord.app_commands.choices( product=[ @@ -395,6 +397,7 @@ async def downloaderstatus_slash(self, interaction: discord.Interaction): Choice(name="Correlation Coefficient (CC)", value="cc"), Choice(name="Differential Phase (PHIDP)", value="phidp"), Choice(name="Specific KDP", value="kdp"), + Choice(name="PTDS (Probability of Debris Signature)", value="ptds"), ], zoom=[ Choice(name="Storm-Scale (~75km) — couplets/TDS", value=75.0), @@ -410,6 +413,7 @@ async def radar_slash( product: Choice[str] = None, frames: int = 6, zoom: Choice[float] = None, + show_rotation: bool = True, ): await interaction.response.defer(thinking=True) @@ -432,10 +436,13 @@ async def radar_slash( return self.RADAR_GIF_CACHE.mkdir(parents=True, exist_ok=True) - out_path = self.RADAR_GIF_CACHE / "{}_{}_{}_{:.0f}km.gif".format(site, product_value, frames, range_km) + rot_suffix = "_rot" if show_rotation else "" + out_path = self.RADAR_GIF_CACHE / "{}_{}_{}_{:.0f}km{}.gif".format( + site, product_value, frames, range_km, rot_suffix + ) try: - await _run_radar_cli(site, product_value, frames, out_path, range_km) + await _run_radar_cli(site, product_value, frames, out_path, range_km, show_rotation) except Exception as e: logger.exception("[RADAR] Failed to generate for {}: {}".format(site, e)) await interaction.followup.send( @@ -457,7 +464,14 @@ async def radar_slash( description="{} frames · {}".format(frames, zoom_label), color=discord.Color.blue(), ) - embed.set_footer(text="NEXRAD Level II Archive") + if product_value in ("tds", "ptds"): + embed.set_footer(text="NEXRAD Level II Archive · ⚠️ PTDS is experimental — do not rely on it for safety decisions") + else: + embed.set_footer(text="NEXRAD Level II Archive") + + if show_rotation: + rotation_field = _format_rotation_field(out_path.with_suffix(".rotation.json")) + embed.add_field(name="Rotation & Debris Signature (PTDS)", value=rotation_field, inline=False) file_size_mb = out_path.stat().st_size / (1024 * 1024) if file_size_mb > 25: @@ -492,12 +506,14 @@ async def periodic_cleanup(self): ) -async def _run_radar_cli(site: str, product: str, frames: int, out_path: Path, range_km: float = 150.0): +async def _run_radar_cli( + site: str, product: str, frames: int, out_path: Path, range_km: float = 150.0, rotation: bool = False +): if RADAR_GIF_BIN is None: raise RuntimeError( "radar_gif binary not found (build with: cargo build --release -p radar_gif)" ) - proc = await asyncio.create_subprocess_exec( + cmd = [ str(RADAR_GIF_BIN), "--site", site, @@ -509,6 +525,11 @@ async def _run_radar_cli(site: str, product: str, frames: int, out_path: Path, r str(range_km), "--output", str(out_path), + ] + if rotation: + cmd.append("--rotation") + proc = await asyncio.create_subprocess_exec( + *cmd, stdout=asyncio.subprocess.PIPE, stderr=asyncio.subprocess.PIPE, ) @@ -523,5 +544,111 @@ async def _run_radar_cli(site: str, product: str, frames: int, out_path: Path, r raise RuntimeError("radar_gif exited with code {}".format(proc.returncode)) +_ROTATION_DISPLAY = { + "tvs": ("🌪️", "TVS"), + "mesocyclone": ("🔴", "Mesocyclone"), + "moderate_circulation": ("🟠", "Moderate Circulation"), + "weak_circulation": ("🟡", "Weak Circulation"), +} +_ROTATION_RANK_ORDER = {"tvs": 0, "mesocyclone": 1, "moderate_circulation": 2, "weak_circulation": 3} +_COMPASS_POINTS = [ + "N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", + "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW", +] + + +def _bearing_to_compass(deg: float) -> str: + idx = round(deg / 22.5) % 16 + return _COMPASS_POINTS[idx] + + +def _fmt_z(iso_time: str) -> str: + try: + dt = datetime.fromisoformat(iso_time) + except ValueError: + return iso_time + return dt.strftime("%H:%MZ") + + +def _format_site_line(s: dict) -> str: + emoji, label = _ROTATION_DISPLAY.get(s["strength"], ("⚪", s["strength"])) + bearing = _bearing_to_compass(s["azimuth_deg"]) + return "{} **{}** — Vrot {:.0f} m/s, ΔV {:.0f} m/s · {} @ {:.0f}km · {} tilts deep".format( + emoji, label, s["vrot_mps"], s["gtg_dv_mps"], bearing, s["range_km"], s["depth_tilts"] + ) + + +def _format_rotation_field(sidecar_path: Path) -> str: + if not sidecar_path.exists(): + return "No rotation data (detection may have failed or found nothing)." + try: + data = json.loads(sidecar_path.read_text()) + except (OSError, json.JSONDecodeError) as e: + logger.warning("[RADAR] Failed to read rotation sidecar {}: {}".format(sidecar_path, e)) + return "No rotation data available." + + current_time = data.get("volume_time") + sites = data.get("sites", []) + peak_vrot = data.get("peak_vrot") + peak_dv = data.get("peak_dv") + + lines = [] + if sites: + lines.append("**Current ({}):**".format(_fmt_z(current_time)) if current_time else "**Current:**") + for s in sorted(sites, key=lambda s: _ROTATION_RANK_ORDER.get(s["strength"], 9))[:5]: + lines.append(_format_site_line(s)) + else: + lines.append("No rotation in the most recent frame.") + + # Only show a peak line if it's meaningfully distinct from the current listing + # (i.e. the strongest rotation in the loop happened on an earlier frame). + if peak_vrot and peak_vrot.get("time") != current_time: + emoji, label = _ROTATION_DISPLAY.get(peak_vrot["strength"], ("⚪", peak_vrot["strength"])) + lines.append( + "\n**Peak this loop:** {} {:.0f} m/s Vrot @ {} ({})".format( + emoji, peak_vrot["vrot_mps"], _fmt_z(peak_vrot["time"]), label + ) + ) + if peak_dv and peak_dv.get("time") != peak_vrot.get("time"): + lines.append( + "**Peak ΔV:** {:.0f} m/s gate-to-gate @ {}".format(peak_dv["gtg_dv_mps"], _fmt_z(peak_dv["time"])) + ) + + tds_lines = _format_tds_timeline(data.get("tds_timeline", [])) + if tds_lines: + lines.append("") + lines.extend(tds_lines) + + return "\n".join(lines) + + +def _tds_marker(score: float) -> str: + if score >= 50: + return "🔴" + if score >= 25: + return "🟠" + return "⚪" + + +def _format_tds_timeline(scans: list) -> list: + """PTDS (probability of tornadic debris signature) sampled at each scan's + strongest couplet — reflectivity+CC+ZDR based, independent of the Vrot/ΔV + numbers above. Scores are 0-100; shown per-scan so a rising trend is visible.""" + if not scans: + return [] + peak = max(scans, key=lambda s: s["tds_score"]) + lines = ["**PTDS (debris signature) by scan:**"] + lines.append( + "Peak: {} {:.0f}% @ {}".format(_tds_marker(peak["tds_score"]), peak["tds_score"], _fmt_z(peak["time"])) + ) + for s in scans[-8:]: + lines.append("{} {} — {:.0f}%".format(_tds_marker(s["tds_score"]), _fmt_z(s["time"]), s["tds_score"])) + lines.append( + "-# ⚠️ PTDS is experimental and unvalidated — a low score does NOT rule out a tornado. " + "Use official NWS warnings for safety decisions, not this number." + ) + return lines + + async def setup(bot: commands.Bot): await bot.add_cog(RadarCog(bot)) diff --git a/crates/radar_gif/Cargo.toml b/crates/radar_gif/Cargo.toml index a01e3657..4ea2eddd 100644 --- a/crates/radar_gif/Cargo.toml +++ b/crates/radar_gif/Cargo.toml @@ -9,6 +9,7 @@ color_tables = { git = "https://github.com/FahrenheitResearch/bowecho" } nexrad_io = { git = "https://github.com/FahrenheitResearch/bowecho" } data_source = { git = "https://github.com/FahrenheitResearch/bowecho" } render2d = { git = "https://github.com/FahrenheitResearch/bowecho" } +product_engine = { git = "https://github.com/FahrenheitResearch/bowecho" } image = "0.25" imageproc = "0.25" ab_glyph = "0.2" diff --git a/crates/radar_gif/src/main.rs b/crates/radar_gif/src/main.rs index 9658bc4c..8090f1f4 100644 --- a/crates/radar_gif/src/main.rs +++ b/crates/radar_gif/src/main.rs @@ -9,10 +9,12 @@ use image::codecs::gif::{GifEncoder, Repeat}; use image::{Delay, Frame, ImageBuffer, Rgba, RgbaImage}; use imageproc::drawing::{draw_filled_circle_mut, draw_filled_rect_mut, draw_hollow_circle_mut, draw_line_segment_mut, draw_text_mut}; use imageproc::rect::Rect; -use color_tables::ColorTableSet; -use radar_core::MomentType; -use render2d::{base_tilt_cut, color_family_for_moment, smooth_moment_grid, viewport_rgba_buffer_len, ViewportMomentCache, ViewportRasterOptions}; +use color_tables::{ColorTableFamily, ColorTableSet}; +use product_engine::{derive_product, DerivationConfig, DerivedSweepProduct, RadarBand}; +use radar_core::{ElevationCut, MomentGrid, MomentType, RadarVolume}; +use render2d::{base_tilt_cut, color_family_for_moment, detect_rotation_sites, smooth_moment_grid, viewport_rgba_buffer_len, RotationSite, RotationStrength, ViewportMomentCache, ViewportRasterOptions}; use nexrad_io::decode_volume_from_path; +use serde::Serialize; const BG: Rgba = Rgba([10, 12, 18, 255]); const LAND: Rgba = Rgba([18, 22, 32, 255]); @@ -51,6 +53,10 @@ struct Args { /// Half-width of the displayed view in km (e.g. 75 = storm-scale zoom, 460 = full range) #[arg(long, default_value_t = 150.0)] range_km: f32, + /// Detect and overlay mesocyclone/TVS rotation markers; also writes a + /// `.rotation.json` sidecar with the latest frame's detections + #[arg(long, default_value_t = false)] + rotation: bool, } fn main() { @@ -113,13 +119,20 @@ fn main() { std::process::exit(1); } + // Realtime is fetched first (newest) and archive fill-in appended after, + // so the vec isn't chronological — sort oldest-to-newest for correct GIF playback order. + volumes.sort_by_key(|v| v.volume_time); + let w = args.width.max(64); let h = args.height.max(64); let cx = (w as f32 - 1.0) / 2.0; let cy = (h as f32 - 1.0) / 2.0; let max_range_km = args.range_km.max(5.0); let km_per_px = (2.0 * max_range_km) / w.min(h) as f32; - let radius_px = cx.min(cy) * 0.99; + // Must exactly match the radar raster's pixel scale (km_per_px above) so + // geography/markers land on the same ground point as the echo data — + // do not shrink this for cosmetic purposes (see land-disk fill below). + let radius_px = cx.min(cy); let viewport_options = ViewportRasterOptions { width: w, height: h, @@ -141,15 +154,14 @@ fn main() { let color_tables = ColorTableSet::default(); let mut frames: Vec = Vec::with_capacity(volumes.len()); + let mut latest_rotation: Option<(chrono::DateTime, Vec)> = None; + let mut all_detections: Vec<(chrono::DateTime, RotationSite)> = Vec::new(); + let mut tds_timeline: Vec = Vec::new(); + let is_ptds = is_ptds_product(&args.product); for volume in &volumes { - let cut_index = base_tilt_cut(volume, &moment).unwrap_or(0); - let Some(cut) = volume.cuts.get(cut_index) else { continue }; - let Some(grid) = cut.moments.get(&moment) else { continue }; - let smoothed = smooth_moment_grid(grid); - let family = color_family_for_moment(&moment); - let cache = match ViewportMomentCache::new_derived(volume, cut_index, smoothed, family, &color_tables) { - Ok(c) => c, - Err(e) => { eprintln!(" Skipping volume: {e}"); continue; } + let cache = match build_moment_cache(volume, is_ptds, &moment, &color_tables) { + Some(c) => c, + None => { eprintln!(" Skipping volume: product unavailable"); continue; } }; let mut pixels = vec![0u8; viewport_rgba_buffer_len(viewport_options)]; let radar_img = match cache.render_moment_rgba_into(volume, viewport_options, &mut pixels) { @@ -163,12 +175,15 @@ fn main() { let mut img = ImageBuffer::new(w, h); for p in img.pixels_mut() { *p = BG; } - // Fill radar disk with land color + // Fill radar disk with land color (slightly inset from radius_px purely for + // visual framing — geo/marker coordinate math below uses the un-inset radius_px + // so it stays exactly aligned with the radar raster's pixel scale) + let land_disk_r = radius_px * 0.99; for y in 0..h { for x in 0..w { let dx = x as f32 - cx; let dy = y as f32 - cy; - if dx * dx + dy * dy <= radius_px * radius_px { + if dx * dx + dy * dy <= land_disk_r * land_disk_r { img.put_pixel(x, y, LAND); } } @@ -243,12 +258,60 @@ fn main() { if pixel[3] > 10 { img.put_pixel(px, py, *pixel); } } + // Rotation / mesocyclone-TVS markers + if args.rotation { + let deduped = dedup_repeated_tilts(volume); + let sites = detect_rotation_sites(&deduped); + for site in &sites { + let range_km = (site.ground_range_m / 1000.0) as f32; + if range_km > max_range_km { continue; } + let rad = site.azimuth_deg.to_radians(); + let frac = range_km / max_range_km; + let px = cx + radius_px * frac * rad.sin(); + let py = cy - radius_px * frac * rad.cos(); + let (color, marker_r) = rotation_marker_style(site.strength); + draw_hollow_circle_mut(&mut img, (px as i32, py as i32), marker_r, color); + draw_hollow_circle_mut(&mut img, (px as i32, py as i32), marker_r + 1, color); + let label = format!("{:.0}m/s", site.vrot_mps); + let label_x = (px + marker_r as f32 + 4.0) as i32; + let label_y = (py - 6.0) as i32; + let label_w = (label.len() as i32 * 7).max(24); + draw_filled_rect_mut(&mut img, Rect::at(label_x - 1, label_y - 1).of_size(label_w as u32, 15), LABEL_BG); + draw_text_mut(&mut img, color, label_x, label_y, small_scale, &font, &label); + } + // TDS colocation: sample the debris-signature score at the strongest + // couplet's position so scan-by-scan confidence can be reported alongside it. + if let Some(strongest) = sites.iter().max_by(|a, b| a.vrot_mps.total_cmp(&b.vrot_mps)) { + if let Some((tds_cut_index, tds_grid)) = tds_score_grid(volume) { + if let Some(tds_cut) = volume.cuts.get(tds_cut_index) { + let range_km = (strongest.ground_range_m / 1000.0) as f32; + if let Some(score) = sample_grid_max_near(tds_cut, &tds_grid, strongest.azimuth_deg, range_km, 5.0, 2.0) { + tds_timeline.push(TdsScanOut { + time: volume.volume_time.to_rfc3339(), + tds_score: score, + vrot_mps: strongest.vrot_mps, + strength: strength_label(strongest.strength).to_string(), + }); + } + } + } + } + + for site in &sites { + all_detections.push((volume.volume_time, *site)); + } + if latest_rotation.as_ref().map_or(true, |(t, _)| volume.volume_time > *t) { + latest_rotation = Some((volume.volume_time, sites)); + } + } + // Timestamp + site + product (with a backing panel so it stays legible over echoes) draw_filled_rect_mut(&mut img, Rect::at(0, 0).of_size(160, 78), LABEL_BG); let time_label = format!("{}Z", volume.volume_time.format("%H:%M")); draw_text_mut(&mut img, LABEL, 14, 14, title_scale, &font, &time_label); draw_text_mut(&mut img, COMPASS, 14, 36, label_scale, &font, &site); - draw_text_mut(&mut img, RING_LABEL, 14, 56, small_scale, &font, &args.product); + let product_label = if is_ptds { "PTDS".to_string() } else { args.product.clone() }; + draw_text_mut(&mut img, RING_LABEL, 14, 56, small_scale, &font, &product_label); frames.push(img); } @@ -256,6 +319,120 @@ fn main() { if frames.is_empty() { eprintln!("No frames could be rendered"); std::process::exit(1); } encode_gif(&frames, &args.output, args.delay); println!("Wrote {} frames to {}", frames.len(), args.output.display()); + + if args.rotation { + if let Some((volume_time, sites)) = latest_rotation { + let out: Vec = sites.iter().map(rotation_site_out).collect(); + + let peak_vrot = all_detections.iter() + .max_by(|a, b| a.1.vrot_mps.total_cmp(&b.1.vrot_mps)) + .map(|(t, s)| RotationPeakOut { time: t.to_rfc3339(), site: rotation_site_out(s) }); + let peak_dv = all_detections.iter() + .max_by(|a, b| a.1.gate_to_gate_dv_mps.total_cmp(&b.1.gate_to_gate_dv_mps)) + .map(|(t, s)| RotationPeakOut { time: t.to_rfc3339(), site: rotation_site_out(s) }); + + let payload = RotationPayload { + volume_time: volume_time.to_rfc3339(), + sites: out, + peak_vrot, + peak_dv, + tds_timeline, + }; + let sidecar = args.output.with_extension("rotation.json"); + if let Ok(json) = serde_json::to_string_pretty(&payload) { + if let Err(e) = std::fs::write(&sidecar, json) { + eprintln!("Warning: failed to write rotation sidecar: {e}"); + } + } + } + } +} + +fn rotation_site_out(s: &RotationSite) -> RotationSiteOut { + RotationSiteOut { + azimuth_deg: s.azimuth_deg, + range_km: (s.ground_range_m / 1000.0) as f32, + vrot_mps: s.vrot_mps, + gtg_dv_mps: s.gate_to_gate_dv_mps, + rank: s.rank, + depth_tilts: s.depth_tilts, + depth_km: (s.depth_m / 1000.0) as f32, + base_elevation_deg: s.base_elevation_deg, + strength: strength_label(s.strength).to_string(), + } +} + +#[derive(Serialize)] +struct RotationSiteOut { + azimuth_deg: f32, + range_km: f32, + vrot_mps: f32, + gtg_dv_mps: f32, + rank: u8, + depth_tilts: usize, + depth_km: f32, + base_elevation_deg: f32, + strength: String, +} + +#[derive(Serialize)] +struct RotationPeakOut { + time: String, + #[serde(flatten)] + site: RotationSiteOut, +} + +#[derive(Serialize)] +struct TdsScanOut { + time: String, + tds_score: f32, + vrot_mps: f32, + strength: String, +} + +#[derive(Serialize)] +struct RotationPayload { + volume_time: String, + sites: Vec, + peak_vrot: Option, + peak_dv: Option, + tds_timeline: Vec, +} + +fn strength_label(strength: RotationStrength) -> &'static str { + match strength { + RotationStrength::WeakCirculation => "weak_circulation", + RotationStrength::ModerateCirculation => "moderate_circulation", + RotationStrength::Mesocyclone => "mesocyclone", + RotationStrength::Tvs => "tvs", + } +} + +fn rotation_marker_style(strength: RotationStrength) -> (Rgba, i32) { + match strength { + RotationStrength::WeakCirculation => (Rgba([230, 220, 60, 255]), 10), + RotationStrength::ModerateCirculation => (Rgba([240, 150, 40, 255]), 12), + RotationStrength::Mesocyclone => (Rgba([235, 50, 50, 255]), 14), + RotationStrength::Tvs => (Rgba([230, 40, 230, 255]), 16), + } +} + +/// TDWR and SAILS-enabled NEXRAD VCPs rescan the same low elevation multiple +/// times per volume. `detect_rotation_sites` only examines the 8 +/// lowest-elevation velocity tilts, so redundant near-duplicate low tilts +/// crowd out genuinely distinct mid-level tilts, starving vertical-continuity +/// checks of the diversity they need. Keep only the first cut per ~0.1deg +/// elevation bucket before handing the volume to the detector. +fn dedup_repeated_tilts(volume: &radar_core::RadarVolume) -> std::borrow::Cow<'_, radar_core::RadarVolume> { + let mut seen = std::collections::HashSet::new(); + let has_dupes = volume.cuts.iter().any(|c| !seen.insert((c.elevation_deg * 10.0).round() as i32)); + if !has_dupes { + return std::borrow::Cow::Borrowed(volume); + } + let mut seen = std::collections::HashSet::new(); + let mut deduped = volume.clone(); + deduped.cuts.retain(|c| seen.insert((c.elevation_deg * 10.0).round() as i32)); + std::borrow::Cow::Owned(deduped) } fn geo_to_pixel(lat: f32, lon: f32, cx: f32, cy: f32, radius_px: f32, radar_lat: f32, radar_lon: f32, max_range_km: f32) -> (f32, f32) { @@ -397,10 +574,92 @@ fn parse_moment(name: &str) -> MomentType { "cc" | "rhohv" => MomentType::CorrelationCoefficient, "phidp" => MomentType::DifferentialPhase, "kdp" => MomentType::SpecificDifferentialPhase, + // PTDS isn't a native moment on the volume — build_moment_cache branches on + // is_ptds_product and derives it separately, this is just an unused placeholder. + "tds" | "ptds" => MomentType::Reflectivity, _ => { eprintln!("Unknown product '{name}', using reflectivity"); MomentType::Reflectivity } } } +fn is_ptds_product(product: &str) -> bool { + matches!(product.to_lowercase().as_str(), "tds" | "ptds") +} + +/// TDS (tornadic debris signature) confidence: BowEcho's `product_engine` combines +/// reflectivity + CC dropout + ZDR into a single 0-100 score on the lowest reflectivity +/// tilt. Velocity/rotation isn't part of this score directly — that's folded in +/// separately by sampling this grid at each detected rotation site's position. +/// The lowest-elevation *reflectivity-only surveillance* cut (what `base_tilt_cut` +/// picks for MomentType::Reflectivity) often lacks CC/ZDR — those ride on a separate +/// Doppler cut at the same elevation. TDS needs REF+CC(+ZDR) together on one cut, so +/// pick the lowest-elevation cut that actually carries both. +fn lowest_dual_pol_cut(volume: &RadarVolume) -> Option { + volume.cuts.iter().enumerate() + .filter(|(_, c)| c.moments.contains_key(&MomentType::Reflectivity) && c.moments.contains_key(&MomentType::CorrelationCoefficient)) + .min_by(|a, b| a.1.elevation_deg.total_cmp(&b.1.elevation_deg)) + .map(|(i, _)| i) +} + +fn tds_score_grid(volume: &RadarVolume) -> Option<(usize, MomentGrid)> { + let cut_index = lowest_dual_pol_cut(volume)?; + let cut = volume.cuts.get(cut_index)?; + let config = DerivationConfig::with_products(RadarBand::S, [DerivedSweepProduct::TdsConfidence]); + let grid = derive_product(cut, DerivedSweepProduct::TdsConfidence, &config)?; + Some((cut_index, grid)) +} + +fn build_moment_cache<'a>( + volume: &RadarVolume, + is_ptds: bool, + moment: &MomentType, + color_tables: &'a ColorTableSet, +) -> Option { + if is_ptds { + let (cut_index, grid) = tds_score_grid(volume)?; + ViewportMomentCache::new_derived(volume, cut_index, grid, ColorTableFamily::Probability, color_tables).ok() + } else { + let cut_index = base_tilt_cut(volume, moment).unwrap_or(0); + let cut = volume.cuts.get(cut_index)?; + let grid = cut.moments.get(moment)?; + let smoothed = smooth_moment_grid(grid); + let family = color_family_for_moment(moment); + ViewportMomentCache::new_derived(volume, cut_index, smoothed, family, color_tables).ok() + } +} + +fn angular_diff(a: f32, b: f32) -> f32 { + let d = (a - b).abs() % 360.0; + d.min(360.0 - d) +} + +/// Sample a MomentGrid's value at the nearest radial/gate to a given azimuth+range. +/// Debris balls and the couplet's exact flagged gate rarely land on the same pixel — +/// search a small azimuth/range window around the site and take the max, rather than +/// sampling one nearest gate (which reliably undershoots true colocated TDS score). +fn sample_grid_max_near(cut: &ElevationCut, grid: &MomentGrid, azimuth_deg: f32, range_km: f32, az_window_deg: f32, range_window_km: f32) -> Option { + let target_range_m = range_km * 1000.0; + let range_window_m = range_window_km * 1000.0; + let gate_spacing = grid.gate_range.gate_spacing_m as f32; + let first_gate = grid.gate_range.first_gate_m as f32; + let gate_lo = (((target_range_m - range_window_m - first_gate) / gate_spacing).floor().max(0.0)) as usize; + let gate_hi = (((target_range_m + range_window_m - first_gate) / gate_spacing).ceil().max(0.0)) as usize; + let gate_hi = gate_hi.min(grid.gate_range.gate_count.saturating_sub(1)); + + let mut best: Option = None; + for (row, &radial_idx) in grid.radial_indices.iter().enumerate() { + let Some(radial) = cut.radials.get(radial_idx) else { continue }; + if angular_diff(radial.azimuth_deg, azimuth_deg) > az_window_deg { continue; } + for gate in gate_lo..=gate_hi { + if let Some(v) = grid.scaled_value(row, gate) { + if v.is_finite() { + best = Some(best.map_or(v, |b| b.max(v))); + } + } + } + } + best +} + fn encode_gif(frames: &[RgbaImage], path: &Path, delay_cs: u16) { let file = std::fs::File::create(path).expect("failed to create output file"); let mut encoder = GifEncoder::new_with_speed(file, 30); From cfd83e87f36a4c86e9366efb9a32c38de0c11962 Mon Sep 17 00:00:00 2001 From: full-bars <45684698+full-bars@users.noreply.github.com> Date: Tue, 21 Jul 2026 17:49:16 -0700 Subject: [PATCH 05/13] feat: cap rotation marker clutter and add site autocomplete to /radar Rotation markers now get full ring+label treatment only for the top 6 sites by Vrot (matching the embed's cap); weaker circulations beyond that draw as small unlabeled dots instead of piling up overlapping rings and labels at storm-scale zoom. Also adds autocomplete on the site parameter, matching against both the 4-letter code and city name from the existing site tables. --- cogs/radar/__init__.py | 12 ++++++++++++ crates/radar_gif/src/main.rs | 29 +++++++++++++++++++---------- 2 files changed, 31 insertions(+), 10 deletions(-) diff --git a/cogs/radar/__init__.py b/cogs/radar/__init__.py index 6c039a79..3a6e1032 100644 --- a/cogs/radar/__init__.py +++ b/cogs/radar/__init__.py @@ -487,6 +487,18 @@ async def radar_slash( "Generated but file too large to send. Try fewer frames.", ephemeral=True ) + @radar_slash.autocomplete("site") + async def radar_site_autocomplete(self, interaction: discord.Interaction, current: str): + current = current.lower().strip() + all_sites = {**self.RADAR_SITES, **self.TDWR_SITES} + if not current: + matches = list(all_sites.items())[:25] + else: + starts_with = [(c, n) for c, n in all_sites.items() if c.lower().startswith(current) or n.lower().startswith(current)] + contains = [(c, n) for c, n in all_sites.items() if (current in c.lower() or current in n.lower()) and (c, n) not in starts_with] + matches = (starts_with + contains)[:25] + return [Choice(name="{} — {}".format(code, name), value=code) for code, name in matches] + @tasks.loop(hours=1) async def periodic_cleanup(self): await cleanup_old_files(OUTPUT_DIR, CLEANUP_AGE_THRESHOLD) diff --git a/crates/radar_gif/src/main.rs b/crates/radar_gif/src/main.rs index 8090f1f4..e9fb9a13 100644 --- a/crates/radar_gif/src/main.rs +++ b/crates/radar_gif/src/main.rs @@ -258,11 +258,16 @@ fn main() { if pixel[3] > 10 { img.put_pixel(px, py, *pixel); } } - // Rotation / mesocyclone-TVS markers + // Rotation / mesocyclone-TVS markers. `detect_rotation_sites` can return many weak + // circulations in a messy line — cap full ring+label treatment to the top 6 by Vrot + // (matches the embed's cap) and draw the rest as small unlabeled dots to avoid + // overlapping rings and colliding labels at storm-scale zoom. if args.rotation { let deduped = dedup_repeated_tilts(volume); let sites = detect_rotation_sites(&deduped); - for site in &sites { + let mut ranked: Vec<&RotationSite> = sites.iter().collect(); + ranked.sort_by(|a, b| b.vrot_mps.total_cmp(&a.vrot_mps)); + for (i, site) in ranked.iter().enumerate() { let range_km = (site.ground_range_m / 1000.0) as f32; if range_km > max_range_km { continue; } let rad = site.azimuth_deg.to_radians(); @@ -270,14 +275,18 @@ fn main() { let px = cx + radius_px * frac * rad.sin(); let py = cy - radius_px * frac * rad.cos(); let (color, marker_r) = rotation_marker_style(site.strength); - draw_hollow_circle_mut(&mut img, (px as i32, py as i32), marker_r, color); - draw_hollow_circle_mut(&mut img, (px as i32, py as i32), marker_r + 1, color); - let label = format!("{:.0}m/s", site.vrot_mps); - let label_x = (px + marker_r as f32 + 4.0) as i32; - let label_y = (py - 6.0) as i32; - let label_w = (label.len() as i32 * 7).max(24); - draw_filled_rect_mut(&mut img, Rect::at(label_x - 1, label_y - 1).of_size(label_w as u32, 15), LABEL_BG); - draw_text_mut(&mut img, color, label_x, label_y, small_scale, &font, &label); + if i < 6 { + draw_hollow_circle_mut(&mut img, (px as i32, py as i32), marker_r, color); + draw_hollow_circle_mut(&mut img, (px as i32, py as i32), marker_r + 1, color); + let label = format!("{:.0}m/s", site.vrot_mps); + let label_x = (px + marker_r as f32 + 4.0) as i32; + let label_y = (py - 6.0) as i32; + let label_w = (label.len() as i32 * 7).max(24); + draw_filled_rect_mut(&mut img, Rect::at(label_x - 1, label_y - 1).of_size(label_w as u32, 15), LABEL_BG); + draw_text_mut(&mut img, color, label_x, label_y, small_scale, &font, &label); + } else { + draw_filled_circle_mut(&mut img, (px as i32, py as i32), 2, color); + } } // TDS colocation: sample the debris-signature score at the strongest // couplet's position so scan-by-scan confidence can be reported alongside it. From 6ba0a9016c4e6d0bedb90aa2a278fb66a466fe11 Mon Sep 17 00:00:00 2001 From: full-bars <45684698+full-bars@users.noreply.github.com> Date: Tue, 21 Jul 2026 18:13:09 -0700 Subject: [PATCH 06/13] docs: credit BowEcho for /radar's NEXRAD decoding and rendering --- CREDITS.md | 12 ++++++++++++ README.md | 1 + 2 files changed, 13 insertions(+) diff --git a/CREDITS.md b/CREDITS.md index d3a17c00..773d3c00 100644 --- a/CREDITS.md +++ b/CREDITS.md @@ -27,6 +27,18 @@ dependency via pip. --- +## BowEcho + +NEXRAD radar decoding and rendering for `/radar` uses several crates from +[BowEcho](https://github.com/FahrenheitResearch/bowecho) by +[Fahrenheit Research](https://github.com/FahrenheitResearch), used under the +MIT License. + +No modifications were made to the BowEcho source. It is used as a dependency +via Cargo (git). + +--- + ## Data Sources & Acknowledgements This project relies heavily on the incredible data and services provided by the meteorological community: diff --git a/README.md b/README.md index 755b2596..92d56749 100644 --- a/README.md +++ b/README.md @@ -101,6 +101,7 @@ Work in progress. Actively developed in free time; expect behavior to evolve bet * [matplotlib](https://matplotlib.org) * [pytz](https://github.com/stub42/pytz) * [vad-plotter](https://github.com/tsupinie/vad-plotter) by Tim Supinie +* [BowEcho](https://github.com/FahrenheitResearch/bowecho) by Fahrenheit Research * [slixmpp](https://github.com/sagarp/xmppasync) — NWWS-OI XMPP connection * [Cartopy](https://scitools.org.uk/cartopy) — Map projections * [SciPy](https://scipy.org) — Scientific computing From 842bcb1ec877dad3a1af4d76d5bd91e046a675fc Mon Sep 17 00:00:00 2001 From: full-bars <45684698+full-bars@users.noreply.github.com> Date: Tue, 21 Jul 2026 18:15:36 -0700 Subject: [PATCH 07/13] style: cargo fmt + fix clippy warnings on radar_gif MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit No behavior changes — reformatting plus is_none_or/lifetime-elision/ too-many-arguments fixes so the crate passes CI's fmt/clippy gates. --- crates/radar_gif/src/main.rs | 873 ++++++++++++++++++++++++++++------- 1 file changed, 705 insertions(+), 168 deletions(-) diff --git a/crates/radar_gif/src/main.rs b/crates/radar_gif/src/main.rs index e9fb9a13..68cdeb70 100644 --- a/crates/radar_gif/src/main.rs +++ b/crates/radar_gif/src/main.rs @@ -4,16 +4,25 @@ use std::path::{Path, PathBuf}; use ab_glyph::{FontRef, PxScale}; use clap::Parser; -use data_source::{latest_realtime_level2_volume, download_realtime_volume, recent_level2_objects, download_object}; +use color_tables::{ColorTableFamily, ColorTableSet}; +use data_source::{ + download_object, download_realtime_volume, latest_realtime_level2_volume, recent_level2_objects, +}; use image::codecs::gif::{GifEncoder, Repeat}; use image::{Delay, Frame, ImageBuffer, Rgba, RgbaImage}; -use imageproc::drawing::{draw_filled_circle_mut, draw_filled_rect_mut, draw_hollow_circle_mut, draw_line_segment_mut, draw_text_mut}; +use imageproc::drawing::{ + draw_filled_circle_mut, draw_filled_rect_mut, draw_hollow_circle_mut, draw_line_segment_mut, + draw_text_mut, +}; use imageproc::rect::Rect; -use color_tables::{ColorTableFamily, ColorTableSet}; +use nexrad_io::decode_volume_from_path; use product_engine::{derive_product, DerivationConfig, DerivedSweepProduct, RadarBand}; use radar_core::{ElevationCut, MomentGrid, MomentType, RadarVolume}; -use render2d::{base_tilt_cut, color_family_for_moment, detect_rotation_sites, smooth_moment_grid, viewport_rgba_buffer_len, RotationSite, RotationStrength, ViewportMomentCache, ViewportRasterOptions}; -use nexrad_io::decode_volume_from_path; +use render2d::{ + base_tilt_cut, color_family_for_moment, detect_rotation_sites, smooth_moment_grid, + viewport_rgba_buffer_len, RotationSite, RotationStrength, ViewportMomentCache, + ViewportRasterOptions, +}; use serde::Serialize; const BG: Rgba = Rgba([10, 12, 18, 255]); @@ -66,7 +75,10 @@ fn main() { let state_polys = load_state_polys(); let site_coords = load_site_coords(); - let (radar_lat, radar_lon) = site_coords.get(&site.as_str()).copied().unwrap_or((35.333, -97.278)); + let (radar_lat, radar_lon) = site_coords + .get(&site.as_str()) + .copied() + .unwrap_or((35.333, -97.278)); // Fetch volumes: try realtime first, fall back to archive let cache_dir = Path::new(CACHE_DIR); @@ -76,17 +88,13 @@ fn main() { // Try realtime chunks feed first (most recent data) match latest_realtime_level2_volume(&site) { - Ok(rt_vol) => { - match download_realtime_volume(&rt_vol, cache_dir) { - Ok(downloaded) => { - match decode_volume_from_path(&downloaded.path) { - Ok(vol) => volumes.push(vol), - Err(e) => eprintln!("Warning: decode realtime: {e}"), - } - } - Err(e) => eprintln!("Warning: download realtime: {e}"), - } - } + Ok(rt_vol) => match download_realtime_volume(&rt_vol, cache_dir) { + Ok(downloaded) => match decode_volume_from_path(&downloaded.path) { + Ok(vol) => volumes.push(vol), + Err(e) => eprintln!("Warning: decode realtime: {e}"), + }, + Err(e) => eprintln!("Warning: download realtime: {e}"), + }, Err(e) => eprintln!("Warning: no realtime volume for {site}: {e}"), } @@ -98,14 +106,14 @@ fn main() { // Take oldest objects first (playback order) let take: Vec<_> = objects.iter().rev().take(needed + 2).collect(); for obj in &take { - if volumes.len() >= args.frames { break; } + if volumes.len() >= args.frames { + break; + } match download_object("unidata-nexrad-level2", (*obj).clone(), cache_dir) { - Ok(downloaded) => { - match decode_volume_from_path(&downloaded.path) { - Ok(vol) => volumes.push(vol), - Err(e) => eprintln!("Warning: decode archive: {e}"), - } - } + Ok(downloaded) => match decode_volume_from_path(&downloaded.path) { + Ok(vol) => volumes.push(vol), + Err(e) => eprintln!("Warning: decode archive: {e}"), + }, Err(e) => eprintln!("Warning: download archive: {e}"), } } @@ -161,19 +169,30 @@ fn main() { for volume in &volumes { let cache = match build_moment_cache(volume, is_ptds, &moment, &color_tables) { Some(c) => c, - None => { eprintln!(" Skipping volume: product unavailable"); continue; } + None => { + eprintln!(" Skipping volume: product unavailable"); + continue; + } }; let mut pixels = vec![0u8; viewport_rgba_buffer_len(viewport_options)]; let radar_img = match cache.render_moment_rgba_into(volume, viewport_options, &mut pixels) { Ok((rw, rh)) => match RgbaImage::from_raw(rw, rh, pixels) { Some(img) => img, - None => { eprintln!(" Skipping volume: buffer size mismatch"); continue; } + None => { + eprintln!(" Skipping volume: buffer size mismatch"); + continue; + } }, - Err(e) => { eprintln!(" Skipping volume: {e}"); continue; } + Err(e) => { + eprintln!(" Skipping volume: {e}"); + continue; + } }; let mut img = ImageBuffer::new(w, h); - for p in img.pixels_mut() { *p = BG; } + for p in img.pixels_mut() { + *p = BG; + } // Fill radar disk with land color (slightly inset from radius_px purely for // visual framing — geo/marker coordinate math below uses the un-inset radius_px @@ -192,15 +211,29 @@ fn main() { // State outlines for state in &state_polys { for ring in &state.rings { - let pts: Vec<(f32, f32)> = ring.iter().map(|&(lat, lon)| { - geo_to_pixel(lat, lon, cx, cy, radius_px, radar_lat, radar_lon, max_range_km) - }).collect(); + let pts: Vec<(f32, f32)> = ring + .iter() + .map(|&(lat, lon)| { + geo_to_pixel( + lat, + lon, + cx, + cy, + radius_px, + radar_lat, + radar_lon, + max_range_km, + ) + }) + .collect(); for i in 0..pts.len() { let (x1, y1) = pts[i]; let (x2, y2) = pts[(i + 1) % pts.len()]; let d1 = ((x1 - cx).powi(2) + (y1 - cy).powi(2)).sqrt(); let d2 = ((x2 - cx).powi(2) + (y2 - cy).powi(2)).sqrt(); - if d1 > radius_px && d2 > radius_px { continue; } + if d1 > radius_px && d2 > radius_px { + continue; + } if x1 >= 0.0 && y1 >= 0.0 && x2 >= 0.0 && y2 >= 0.0 { draw_line_segment_mut(&mut img, (x1, y1), (x2, y2), STATE_LINE); } @@ -209,11 +242,17 @@ fn main() { } // Range rings — step scales with zoom so ~4-6 rings are visible at any range - let ring_step = if max_range_km <= 30.0 { 5.0 } - else if max_range_km <= 60.0 { 10.0 } - else if max_range_km <= 150.0 { 25.0 } - else if max_range_km <= 300.0 { 50.0 } - else { 100.0 }; + let ring_step = if max_range_km <= 30.0 { + 5.0 + } else if max_range_km <= 60.0 { + 10.0 + } else if max_range_km <= 150.0 { + 25.0 + } else if max_range_km <= 300.0 { + 50.0 + } else { + 100.0 + }; let ring_intervals: Vec = { let mut v = Vec::new(); let mut km = ring_step; @@ -225,10 +264,20 @@ fn main() { }; for &km in &ring_intervals { let ring_r = (radius_px * km / max_range_km).round() as i32; - if ring_r < 5 || ring_r > radius_px as i32 + 5 { continue; } + if ring_r < 5 || ring_r > radius_px as i32 + 5 { + continue; + } draw_hollow_circle_mut(&mut img, (cx as i32, cy as i32), ring_r, RING); let label = format!("{km:.0}km"); - draw_text_mut(&mut img, RING_LABEL, (cx + ring_r as f32 - 16.0) as i32, (cy + 4.0) as i32, small_scale, &font, &label); + draw_text_mut( + &mut img, + RING_LABEL, + (cx + ring_r as f32 - 16.0) as i32, + (cy + 4.0) as i32, + small_scale, + &font, + &label, + ); } // Compass @@ -237,25 +286,57 @@ fn main() { let rad = angle * PI / 180.0; let x = cx + rad.cos() * compass_r; let y = cy + rad.sin() * compass_r; - draw_text_mut(&mut img, COMPASS, (x - 6.0) as i32, (y - 8.0) as i32, small_scale, &font, label); + draw_text_mut( + &mut img, + COMPASS, + (x - 6.0) as i32, + (y - 8.0) as i32, + small_scale, + &font, + label, + ); } // Cities for city in &cities { - let (px, py) = geo_to_pixel(city.lat, city.lon, cx, cy, radius_px, radar_lat, radar_lon, max_range_km); + let (px, py) = geo_to_pixel( + city.lat, + city.lon, + cx, + cy, + radius_px, + radar_lat, + radar_lon, + max_range_km, + ); if px >= 0.0 && px < w as f32 && py >= 0.0 && py < h as f32 { let d = ((px - cx).powi(2) + (py - cy).powi(2)).sqrt(); if d <= radius_px { - draw_filled_circle_mut(&mut img, (px as i32, py as i32), if city.major { 3 } else { 2 }, CITY_DOT); + draw_filled_circle_mut( + &mut img, + (px as i32, py as i32), + if city.major { 3 } else { 2 }, + CITY_DOT, + ); let scale = if city.major { label_scale } else { city_scale }; - draw_text_mut(&mut img, CITY_LABEL, (px + 4.0) as i32, (py - 5.0) as i32, scale, &font, &city.name); + draw_text_mut( + &mut img, + CITY_LABEL, + (px + 4.0) as i32, + (py - 5.0) as i32, + scale, + &font, + &city.name, + ); } } } // Overlay radar for (px, py, pixel) in radar_img.enumerate_pixels() { - if pixel[3] > 10 { img.put_pixel(px, py, *pixel); } + if pixel[3] > 10 { + img.put_pixel(px, py, *pixel); + } } // Rotation / mesocyclone-TVS markers. `detect_rotation_sites` can return many weak @@ -269,7 +350,9 @@ fn main() { ranked.sort_by(|a, b| b.vrot_mps.total_cmp(&a.vrot_mps)); for (i, site) in ranked.iter().enumerate() { let range_km = (site.ground_range_m / 1000.0) as f32; - if range_km > max_range_km { continue; } + if range_km > max_range_km { + continue; + } let rad = site.azimuth_deg.to_radians(); let frac = range_km / max_range_km; let px = cx + radius_px * frac * rad.sin(); @@ -282,19 +365,41 @@ fn main() { let label_x = (px + marker_r as f32 + 4.0) as i32; let label_y = (py - 6.0) as i32; let label_w = (label.len() as i32 * 7).max(24); - draw_filled_rect_mut(&mut img, Rect::at(label_x - 1, label_y - 1).of_size(label_w as u32, 15), LABEL_BG); - draw_text_mut(&mut img, color, label_x, label_y, small_scale, &font, &label); + draw_filled_rect_mut( + &mut img, + Rect::at(label_x - 1, label_y - 1).of_size(label_w as u32, 15), + LABEL_BG, + ); + draw_text_mut( + &mut img, + color, + label_x, + label_y, + small_scale, + &font, + &label, + ); } else { draw_filled_circle_mut(&mut img, (px as i32, py as i32), 2, color); } } // TDS colocation: sample the debris-signature score at the strongest // couplet's position so scan-by-scan confidence can be reported alongside it. - if let Some(strongest) = sites.iter().max_by(|a, b| a.vrot_mps.total_cmp(&b.vrot_mps)) { + if let Some(strongest) = sites + .iter() + .max_by(|a, b| a.vrot_mps.total_cmp(&b.vrot_mps)) + { if let Some((tds_cut_index, tds_grid)) = tds_score_grid(volume) { if let Some(tds_cut) = volume.cuts.get(tds_cut_index) { let range_km = (strongest.ground_range_m / 1000.0) as f32; - if let Some(score) = sample_grid_max_near(tds_cut, &tds_grid, strongest.azimuth_deg, range_km, 5.0, 2.0) { + if let Some(score) = sample_grid_max_near( + tds_cut, + &tds_grid, + strongest.azimuth_deg, + range_km, + 5.0, + 2.0, + ) { tds_timeline.push(TdsScanOut { time: volume.volume_time.to_rfc3339(), tds_score: score, @@ -309,7 +414,10 @@ fn main() { for site in &sites { all_detections.push((volume.volume_time, *site)); } - if latest_rotation.as_ref().map_or(true, |(t, _)| volume.volume_time > *t) { + if latest_rotation + .as_ref() + .is_none_or(|(t, _)| volume.volume_time > *t) + { latest_rotation = Some((volume.volume_time, sites)); } } @@ -319,13 +427,28 @@ fn main() { let time_label = format!("{}Z", volume.volume_time.format("%H:%M")); draw_text_mut(&mut img, LABEL, 14, 14, title_scale, &font, &time_label); draw_text_mut(&mut img, COMPASS, 14, 36, label_scale, &font, &site); - let product_label = if is_ptds { "PTDS".to_string() } else { args.product.clone() }; - draw_text_mut(&mut img, RING_LABEL, 14, 56, small_scale, &font, &product_label); + let product_label = if is_ptds { + "PTDS".to_string() + } else { + args.product.clone() + }; + draw_text_mut( + &mut img, + RING_LABEL, + 14, + 56, + small_scale, + &font, + &product_label, + ); frames.push(img); } - if frames.is_empty() { eprintln!("No frames could be rendered"); std::process::exit(1); } + if frames.is_empty() { + eprintln!("No frames could be rendered"); + std::process::exit(1); + } encode_gif(&frames, &args.output, args.delay); println!("Wrote {} frames to {}", frames.len(), args.output.display()); @@ -333,12 +456,20 @@ fn main() { if let Some((volume_time, sites)) = latest_rotation { let out: Vec = sites.iter().map(rotation_site_out).collect(); - let peak_vrot = all_detections.iter() + let peak_vrot = all_detections + .iter() .max_by(|a, b| a.1.vrot_mps.total_cmp(&b.1.vrot_mps)) - .map(|(t, s)| RotationPeakOut { time: t.to_rfc3339(), site: rotation_site_out(s) }); - let peak_dv = all_detections.iter() + .map(|(t, s)| RotationPeakOut { + time: t.to_rfc3339(), + site: rotation_site_out(s), + }); + let peak_dv = all_detections + .iter() .max_by(|a, b| a.1.gate_to_gate_dv_mps.total_cmp(&b.1.gate_to_gate_dv_mps)) - .map(|(t, s)| RotationPeakOut { time: t.to_rfc3339(), site: rotation_site_out(s) }); + .map(|(t, s)| RotationPeakOut { + time: t.to_rfc3339(), + site: rotation_site_out(s), + }); let payload = RotationPayload { volume_time: volume_time.to_rfc3339(), @@ -432,19 +563,36 @@ fn rotation_marker_style(strength: RotationStrength) -> (Rgba, i32) { /// crowd out genuinely distinct mid-level tilts, starving vertical-continuity /// checks of the diversity they need. Keep only the first cut per ~0.1deg /// elevation bucket before handing the volume to the detector. -fn dedup_repeated_tilts(volume: &radar_core::RadarVolume) -> std::borrow::Cow<'_, radar_core::RadarVolume> { +fn dedup_repeated_tilts( + volume: &radar_core::RadarVolume, +) -> std::borrow::Cow<'_, radar_core::RadarVolume> { let mut seen = std::collections::HashSet::new(); - let has_dupes = volume.cuts.iter().any(|c| !seen.insert((c.elevation_deg * 10.0).round() as i32)); + let has_dupes = volume + .cuts + .iter() + .any(|c| !seen.insert((c.elevation_deg * 10.0).round() as i32)); if !has_dupes { return std::borrow::Cow::Borrowed(volume); } let mut seen = std::collections::HashSet::new(); let mut deduped = volume.clone(); - deduped.cuts.retain(|c| seen.insert((c.elevation_deg * 10.0).round() as i32)); + deduped + .cuts + .retain(|c| seen.insert((c.elevation_deg * 10.0).round() as i32)); std::borrow::Cow::Owned(deduped) } -fn geo_to_pixel(lat: f32, lon: f32, cx: f32, cy: f32, radius_px: f32, radar_lat: f32, radar_lon: f32, max_range_km: f32) -> (f32, f32) { +#[allow(clippy::too_many_arguments)] +fn geo_to_pixel( + lat: f32, + lon: f32, + cx: f32, + cy: f32, + radius_px: f32, + radar_lat: f32, + radar_lon: f32, + max_range_km: f32, +) -> (f32, f32) { let dlat = (lat - radar_lat).to_radians(); let dlon = (lon - radar_lon).to_radians(); let lat1 = radar_lat.to_radians(); @@ -455,122 +603,477 @@ fn geo_to_pixel(lat: f32, lon: f32, cx: f32, cy: f32, radius_px: f32, radar_lat: let az = if dlon.abs() < 1e-8 && dlat.abs() < 1e-8 { 0.0 } else { - (dlon.sin() * lat2.cos()).atan2(lat1.cos() * lat2.sin() - lat1.sin() * lat2.cos() * dlon.cos()) + (dlon.sin() * lat2.cos()) + .atan2(lat1.cos() * lat2.sin() - lat1.sin() * lat2.cos() * dlon.cos()) }; let frac = dist_km / max_range_km; - (cx + radius_px * frac * az.sin(), cy - radius_px * frac * az.cos()) + ( + cx + radius_px * frac * az.sin(), + cy - radius_px * frac * az.cos(), + ) } -struct StatePoly { _name: String, rings: Vec> } +struct StatePoly { + _name: String, + rings: Vec>, +} fn load_site_coords() -> HashMap<&'static str, (f32, f32)> { let text = std::str::from_utf8(SITES_CSV).expect("valid UTF-8"); - text.lines().filter_map(|line| { - let parts: Vec<&str> = line.split(',').collect(); - if parts.len() < 3 { return None; } - Some((parts[0].trim(), (parts[1].trim().parse().ok()?, parts[2].trim().parse().ok()?))) - }).collect() + text.lines() + .filter_map(|line| { + let parts: Vec<&str> = line.split(',').collect(); + if parts.len() < 3 { + return None; + } + Some(( + parts[0].trim(), + (parts[1].trim().parse().ok()?, parts[2].trim().parse().ok()?), + )) + }) + .collect() } fn load_state_polys() -> Vec { let data: serde_json::Value = serde_json::from_slice(STATES_JSON).expect("parse state GeoJSON"); let features = data["features"].as_array().expect("features array"); - features.iter().filter_map(|feat| { - let name = feat["properties"]["name"].as_str()?.to_string(); - let geom = &feat["geometry"]; - let mut rings = Vec::new(); - match geom["type"].as_str()? { - "Polygon" => { - if let Some(coords) = geom["coordinates"][0].as_array() { - let ring: Vec<(f32, f32)> = coords.iter().filter_map(|c| Some((c[1].as_f64()? as f32, c[0].as_f64()? as f32))).collect(); - rings.push(ring); + features + .iter() + .filter_map(|feat| { + let name = feat["properties"]["name"].as_str()?.to_string(); + let geom = &feat["geometry"]; + let mut rings = Vec::new(); + match geom["type"].as_str()? { + "Polygon" => { + if let Some(coords) = geom["coordinates"][0].as_array() { + let ring: Vec<(f32, f32)> = coords + .iter() + .filter_map(|c| Some((c[1].as_f64()? as f32, c[0].as_f64()? as f32))) + .collect(); + rings.push(ring); + } } - } - "MultiPolygon" => { - if let Some(polys) = geom["coordinates"].as_array() { - for poly in polys { - if let Some(coords) = poly[0].as_array() { - let ring: Vec<(f32, f32)> = coords.iter().filter_map(|c| Some((c[1].as_f64()? as f32, c[0].as_f64()? as f32))).collect(); - rings.push(ring); + "MultiPolygon" => { + if let Some(polys) = geom["coordinates"].as_array() { + for poly in polys { + if let Some(coords) = poly[0].as_array() { + let ring: Vec<(f32, f32)> = coords + .iter() + .filter_map(|c| { + Some((c[1].as_f64()? as f32, c[0].as_f64()? as f32)) + }) + .collect(); + rings.push(ring); + } } } } + _ => {} } - _ => {} - } - Some(StatePoly { _name: name, rings }) - }).collect() + Some(StatePoly { _name: name, rings }) + }) + .collect() } -struct City { name: String, lat: f32, lon: f32, major: bool } +struct City { + name: String, + lat: f32, + lon: f32, + major: bool, +} fn get_major_cities() -> Vec { vec![ - City { name: "NYC".into(), lat: 40.713, lon: -74.006, major: true }, - City { name: "Los Angeles".into(), lat: 34.052, lon: -118.244, major: true }, - City { name: "Chicago".into(), lat: 41.878, lon: -87.630, major: true }, - City { name: "Houston".into(), lat: 29.760, lon: -95.370, major: true }, - City { name: "Phoenix".into(), lat: 33.448, lon: -112.074, major: true }, - City { name: "San Antonio".into(), lat: 29.424, lon: -98.494, major: true }, - City { name: "Dallas".into(), lat: 32.777, lon: -96.797, major: true }, - City { name: "San Diego".into(), lat: 32.716, lon: -117.161, major: true }, - City { name: "Austin".into(), lat: 30.267, lon: -97.743, major: true }, - City { name: "Denver".into(), lat: 39.739, lon: -104.990, major: true }, - City { name: "Ft Worth".into(), lat: 32.755, lon: -97.331, major: false }, - City { name: "Oklahoma City".into(), lat: 35.468, lon: -97.516, major: false }, - City { name: "Tulsa".into(), lat: 36.154, lon: -95.993, major: false }, - City { name: "Wichita".into(), lat: 37.687, lon: -97.337, major: false }, - City { name: "Kansas City".into(), lat: 39.100, lon: -94.580, major: false }, - City { name: "Amarillo".into(), lat: 35.222, lon: -101.831, major: false }, - City { name: "Albuquerque".into(), lat: 35.085, lon: -106.606, major: false }, - City { name: "Little Rock".into(), lat: 34.746, lon: -92.290, major: false }, - City { name: "Shreveport".into(), lat: 32.525, lon: -93.750, major: false }, - City { name: "Memphis".into(), lat: 35.149, lon: -90.049, major: false }, - City { name: "Nashville".into(), lat: 36.163, lon: -86.782, major: false }, - City { name: "Knoxville".into(), lat: 35.960, lon: -83.921, major: false }, - City { name: "Jackson MS".into(), lat: 32.299, lon: -90.185, major: false }, - City { name: "Baton Rouge".into(), lat: 30.421, lon: -91.153, major: false }, - City { name: "New Orleans".into(), lat: 29.949, lon: -90.071, major: false }, - City { name: "St Louis".into(), lat: 38.627, lon: -90.199, major: false }, - City { name: "Atlanta".into(), lat: 33.749, lon: -84.388, major: true }, - City { name: "Minneapolis".into(), lat: 44.978, lon: -93.265, major: true }, - City { name: "Omaha".into(), lat: 41.256, lon: -95.934, major: false }, - City { name: "Des Moines".into(), lat: 41.587, lon: -93.624, major: false }, - City { name: "Lincoln".into(), lat: 40.813, lon: -96.703, major: false }, - City { name: "Topeka".into(), lat: 39.048, lon: -95.678, major: false }, - City { name: "Salt Lake City".into(), lat: 40.760, lon: -111.888, major: false }, - City { name: "Boise".into(), lat: 43.617, lon: -116.200, major: false }, - City { name: "Seattle".into(), lat: 47.606, lon: -122.332, major: true }, - City { name: "Portland".into(), lat: 45.515, lon: -122.679, major: false }, - City { name: "Sacramento".into(), lat: 38.581, lon: -121.494, major: false }, - City { name: "San Francisco".into(), lat: 37.774, lon: -122.419, major: true }, - City { name: "Las Vegas".into(), lat: 36.115, lon: -115.173, major: true }, - City { name: "Tucson".into(), lat: 32.222, lon: -110.926, major: false }, - City { name: "El Paso".into(), lat: 31.761, lon: -106.485, major: false }, - City { name: "Corpus Christi".into(), lat: 27.784, lon: -97.510, major: false }, - City { name: "Miami".into(), lat: 25.761, lon: -80.192, major: true }, - City { name: "Tampa".into(), lat: 27.951, lon: -82.458, major: false }, - City { name: "Jacksonville".into(), lat: 30.332, lon: -81.656, major: false }, - City { name: "Charlotte".into(), lat: 35.227, lon: -80.843, major: false }, - City { name: "Raleigh".into(), lat: 35.780, lon: -78.639, major: false }, - City { name: "Norfolk".into(), lat: 36.851, lon: -76.285, major: false }, - City { name: "Washington DC".into(), lat: 38.907, lon: -77.037, major: true }, - City { name: "Baltimore".into(), lat: 39.290, lon: -76.612, major: false }, - City { name: "Philadelphia".into(), lat: 39.952, lon: -75.165, major: true }, - City { name: "New York".into(), lat: 40.713, lon: -74.006, major: true }, - City { name: "Boston".into(), lat: 42.360, lon: -71.059, major: true }, - City { name: "Pittsburgh".into(), lat: 40.441, lon: -79.996, major: false }, - City { name: "Cincinnati".into(), lat: 39.103, lon: -84.512, major: false }, - City { name: "Indianapolis".into(), lat: 39.768, lon: -86.158, major: false }, - City { name: "Detroit".into(), lat: 42.331, lon: -83.046, major: true }, - City { name: "Cleveland".into(), lat: 41.499, lon: -81.694, major: false }, - City { name: "Milwaukee".into(), lat: 43.039, lon: -87.906, major: false }, - City { name: "Louisville".into(), lat: 38.253, lon: -85.758, major: false }, - City { name: "Lexington".into(), lat: 38.041, lon: -84.458, major: false }, - City { name: "Bowling Green".into(), lat: 36.990, lon: -86.444, major: false }, - City { name: "Paducah".into(), lat: 37.083, lon: -88.600, major: false }, - City { name: "Owensboro".into(), lat: 37.771, lon: -87.110, major: false }, - City { name: "Richmond KY".into(), lat: 37.748, lon: -84.294, major: false }, + City { + name: "NYC".into(), + lat: 40.713, + lon: -74.006, + major: true, + }, + City { + name: "Los Angeles".into(), + lat: 34.052, + lon: -118.244, + major: true, + }, + City { + name: "Chicago".into(), + lat: 41.878, + lon: -87.630, + major: true, + }, + City { + name: "Houston".into(), + lat: 29.760, + lon: -95.370, + major: true, + }, + City { + name: "Phoenix".into(), + lat: 33.448, + lon: -112.074, + major: true, + }, + City { + name: "San Antonio".into(), + lat: 29.424, + lon: -98.494, + major: true, + }, + City { + name: "Dallas".into(), + lat: 32.777, + lon: -96.797, + major: true, + }, + City { + name: "San Diego".into(), + lat: 32.716, + lon: -117.161, + major: true, + }, + City { + name: "Austin".into(), + lat: 30.267, + lon: -97.743, + major: true, + }, + City { + name: "Denver".into(), + lat: 39.739, + lon: -104.990, + major: true, + }, + City { + name: "Ft Worth".into(), + lat: 32.755, + lon: -97.331, + major: false, + }, + City { + name: "Oklahoma City".into(), + lat: 35.468, + lon: -97.516, + major: false, + }, + City { + name: "Tulsa".into(), + lat: 36.154, + lon: -95.993, + major: false, + }, + City { + name: "Wichita".into(), + lat: 37.687, + lon: -97.337, + major: false, + }, + City { + name: "Kansas City".into(), + lat: 39.100, + lon: -94.580, + major: false, + }, + City { + name: "Amarillo".into(), + lat: 35.222, + lon: -101.831, + major: false, + }, + City { + name: "Albuquerque".into(), + lat: 35.085, + lon: -106.606, + major: false, + }, + City { + name: "Little Rock".into(), + lat: 34.746, + lon: -92.290, + major: false, + }, + City { + name: "Shreveport".into(), + lat: 32.525, + lon: -93.750, + major: false, + }, + City { + name: "Memphis".into(), + lat: 35.149, + lon: -90.049, + major: false, + }, + City { + name: "Nashville".into(), + lat: 36.163, + lon: -86.782, + major: false, + }, + City { + name: "Knoxville".into(), + lat: 35.960, + lon: -83.921, + major: false, + }, + City { + name: "Jackson MS".into(), + lat: 32.299, + lon: -90.185, + major: false, + }, + City { + name: "Baton Rouge".into(), + lat: 30.421, + lon: -91.153, + major: false, + }, + City { + name: "New Orleans".into(), + lat: 29.949, + lon: -90.071, + major: false, + }, + City { + name: "St Louis".into(), + lat: 38.627, + lon: -90.199, + major: false, + }, + City { + name: "Atlanta".into(), + lat: 33.749, + lon: -84.388, + major: true, + }, + City { + name: "Minneapolis".into(), + lat: 44.978, + lon: -93.265, + major: true, + }, + City { + name: "Omaha".into(), + lat: 41.256, + lon: -95.934, + major: false, + }, + City { + name: "Des Moines".into(), + lat: 41.587, + lon: -93.624, + major: false, + }, + City { + name: "Lincoln".into(), + lat: 40.813, + lon: -96.703, + major: false, + }, + City { + name: "Topeka".into(), + lat: 39.048, + lon: -95.678, + major: false, + }, + City { + name: "Salt Lake City".into(), + lat: 40.760, + lon: -111.888, + major: false, + }, + City { + name: "Boise".into(), + lat: 43.617, + lon: -116.200, + major: false, + }, + City { + name: "Seattle".into(), + lat: 47.606, + lon: -122.332, + major: true, + }, + City { + name: "Portland".into(), + lat: 45.515, + lon: -122.679, + major: false, + }, + City { + name: "Sacramento".into(), + lat: 38.581, + lon: -121.494, + major: false, + }, + City { + name: "San Francisco".into(), + lat: 37.774, + lon: -122.419, + major: true, + }, + City { + name: "Las Vegas".into(), + lat: 36.115, + lon: -115.173, + major: true, + }, + City { + name: "Tucson".into(), + lat: 32.222, + lon: -110.926, + major: false, + }, + City { + name: "El Paso".into(), + lat: 31.761, + lon: -106.485, + major: false, + }, + City { + name: "Corpus Christi".into(), + lat: 27.784, + lon: -97.510, + major: false, + }, + City { + name: "Miami".into(), + lat: 25.761, + lon: -80.192, + major: true, + }, + City { + name: "Tampa".into(), + lat: 27.951, + lon: -82.458, + major: false, + }, + City { + name: "Jacksonville".into(), + lat: 30.332, + lon: -81.656, + major: false, + }, + City { + name: "Charlotte".into(), + lat: 35.227, + lon: -80.843, + major: false, + }, + City { + name: "Raleigh".into(), + lat: 35.780, + lon: -78.639, + major: false, + }, + City { + name: "Norfolk".into(), + lat: 36.851, + lon: -76.285, + major: false, + }, + City { + name: "Washington DC".into(), + lat: 38.907, + lon: -77.037, + major: true, + }, + City { + name: "Baltimore".into(), + lat: 39.290, + lon: -76.612, + major: false, + }, + City { + name: "Philadelphia".into(), + lat: 39.952, + lon: -75.165, + major: true, + }, + City { + name: "New York".into(), + lat: 40.713, + lon: -74.006, + major: true, + }, + City { + name: "Boston".into(), + lat: 42.360, + lon: -71.059, + major: true, + }, + City { + name: "Pittsburgh".into(), + lat: 40.441, + lon: -79.996, + major: false, + }, + City { + name: "Cincinnati".into(), + lat: 39.103, + lon: -84.512, + major: false, + }, + City { + name: "Indianapolis".into(), + lat: 39.768, + lon: -86.158, + major: false, + }, + City { + name: "Detroit".into(), + lat: 42.331, + lon: -83.046, + major: true, + }, + City { + name: "Cleveland".into(), + lat: 41.499, + lon: -81.694, + major: false, + }, + City { + name: "Milwaukee".into(), + lat: 43.039, + lon: -87.906, + major: false, + }, + City { + name: "Louisville".into(), + lat: 38.253, + lon: -85.758, + major: false, + }, + City { + name: "Lexington".into(), + lat: 38.041, + lon: -84.458, + major: false, + }, + City { + name: "Bowling Green".into(), + lat: 36.990, + lon: -86.444, + major: false, + }, + City { + name: "Paducah".into(), + lat: 37.083, + lon: -88.600, + major: false, + }, + City { + name: "Owensboro".into(), + lat: 37.771, + lon: -87.110, + major: false, + }, + City { + name: "Richmond KY".into(), + lat: 37.748, + lon: -84.294, + major: false, + }, ] } @@ -586,7 +1089,10 @@ fn parse_moment(name: &str) -> MomentType { // PTDS isn't a native moment on the volume — build_moment_cache branches on // is_ptds_product and derives it separately, this is just an unused placeholder. "tds" | "ptds" => MomentType::Reflectivity, - _ => { eprintln!("Unknown product '{name}', using reflectivity"); MomentType::Reflectivity } + _ => { + eprintln!("Unknown product '{name}', using reflectivity"); + MomentType::Reflectivity + } } } @@ -603,8 +1109,14 @@ fn is_ptds_product(product: &str) -> bool { /// Doppler cut at the same elevation. TDS needs REF+CC(+ZDR) together on one cut, so /// pick the lowest-elevation cut that actually carries both. fn lowest_dual_pol_cut(volume: &RadarVolume) -> Option { - volume.cuts.iter().enumerate() - .filter(|(_, c)| c.moments.contains_key(&MomentType::Reflectivity) && c.moments.contains_key(&MomentType::CorrelationCoefficient)) + volume + .cuts + .iter() + .enumerate() + .filter(|(_, c)| { + c.moments.contains_key(&MomentType::Reflectivity) + && c.moments.contains_key(&MomentType::CorrelationCoefficient) + }) .min_by(|a, b| a.1.elevation_deg.total_cmp(&b.1.elevation_deg)) .map(|(i, _)| i) } @@ -612,20 +1124,28 @@ fn lowest_dual_pol_cut(volume: &RadarVolume) -> Option { fn tds_score_grid(volume: &RadarVolume) -> Option<(usize, MomentGrid)> { let cut_index = lowest_dual_pol_cut(volume)?; let cut = volume.cuts.get(cut_index)?; - let config = DerivationConfig::with_products(RadarBand::S, [DerivedSweepProduct::TdsConfidence]); + let config = + DerivationConfig::with_products(RadarBand::S, [DerivedSweepProduct::TdsConfidence]); let grid = derive_product(cut, DerivedSweepProduct::TdsConfidence, &config)?; Some((cut_index, grid)) } -fn build_moment_cache<'a>( +fn build_moment_cache( volume: &RadarVolume, is_ptds: bool, moment: &MomentType, - color_tables: &'a ColorTableSet, + color_tables: &ColorTableSet, ) -> Option { if is_ptds { let (cut_index, grid) = tds_score_grid(volume)?; - ViewportMomentCache::new_derived(volume, cut_index, grid, ColorTableFamily::Probability, color_tables).ok() + ViewportMomentCache::new_derived( + volume, + cut_index, + grid, + ColorTableFamily::Probability, + color_tables, + ) + .ok() } else { let cut_index = base_tilt_cut(volume, moment).unwrap_or(0); let cut = volume.cuts.get(cut_index)?; @@ -645,19 +1165,34 @@ fn angular_diff(a: f32, b: f32) -> f32 { /// Debris balls and the couplet's exact flagged gate rarely land on the same pixel — /// search a small azimuth/range window around the site and take the max, rather than /// sampling one nearest gate (which reliably undershoots true colocated TDS score). -fn sample_grid_max_near(cut: &ElevationCut, grid: &MomentGrid, azimuth_deg: f32, range_km: f32, az_window_deg: f32, range_window_km: f32) -> Option { +fn sample_grid_max_near( + cut: &ElevationCut, + grid: &MomentGrid, + azimuth_deg: f32, + range_km: f32, + az_window_deg: f32, + range_window_km: f32, +) -> Option { let target_range_m = range_km * 1000.0; let range_window_m = range_window_km * 1000.0; let gate_spacing = grid.gate_range.gate_spacing_m as f32; let first_gate = grid.gate_range.first_gate_m as f32; - let gate_lo = (((target_range_m - range_window_m - first_gate) / gate_spacing).floor().max(0.0)) as usize; - let gate_hi = (((target_range_m + range_window_m - first_gate) / gate_spacing).ceil().max(0.0)) as usize; + let gate_lo = (((target_range_m - range_window_m - first_gate) / gate_spacing) + .floor() + .max(0.0)) as usize; + let gate_hi = (((target_range_m + range_window_m - first_gate) / gate_spacing) + .ceil() + .max(0.0)) as usize; let gate_hi = gate_hi.min(grid.gate_range.gate_count.saturating_sub(1)); let mut best: Option = None; for (row, &radial_idx) in grid.radial_indices.iter().enumerate() { - let Some(radial) = cut.radials.get(radial_idx) else { continue }; - if angular_diff(radial.azimuth_deg, azimuth_deg) > az_window_deg { continue; } + let Some(radial) = cut.radials.get(radial_idx) else { + continue; + }; + if angular_diff(radial.azimuth_deg, azimuth_deg) > az_window_deg { + continue; + } for gate in gate_lo..=gate_hi { if let Some(v) = grid.scaled_value(row, gate) { if v.is_finite() { @@ -675,6 +1210,8 @@ fn encode_gif(frames: &[RgbaImage], path: &Path, delay_cs: u16) { encoder.set_repeat(Repeat::Infinite).expect("set repeat"); for img in frames { let delay = Delay::from_numer_denom_ms(delay_cs as u32 * 10, 1); - encoder.encode_frame(Frame::from_parts(img.clone(), 0, 0, delay)).expect("encode gif frame"); + encoder + .encode_frame(Frame::from_parts(img.clone(), 0, 0, delay)) + .expect("encode gif frame"); } } From 4719baf543f04bf6ca5e7a94607d9b2261b469bc Mon Sep 17 00:00:00 2001 From: full-bars <45684698+full-bars@users.noreply.github.com> Date: Tue, 21 Jul 2026 18:26:10 -0700 Subject: [PATCH 08/13] style: ruff format cogs/radar/__init__.py --- cogs/radar/__init__.py | 68 ++++++++++++++++++++++++++++++++++-------- 1 file changed, 56 insertions(+), 12 deletions(-) diff --git a/cogs/radar/__init__.py b/cogs/radar/__init__.py index 3a6e1032..213d54ec 100644 --- a/cogs/radar/__init__.py +++ b/cogs/radar/__init__.py @@ -465,13 +465,17 @@ async def radar_slash( color=discord.Color.blue(), ) if product_value in ("tds", "ptds"): - embed.set_footer(text="NEXRAD Level II Archive · ⚠️ PTDS is experimental — do not rely on it for safety decisions") + embed.set_footer( + text="NEXRAD Level II Archive · ⚠️ PTDS is experimental — do not rely on it for safety decisions" + ) else: embed.set_footer(text="NEXRAD Level II Archive") if show_rotation: rotation_field = _format_rotation_field(out_path.with_suffix(".rotation.json")) - embed.add_field(name="Rotation & Debris Signature (PTDS)", value=rotation_field, inline=False) + embed.add_field( + name="Rotation & Debris Signature (PTDS)", value=rotation_field, inline=False + ) file_size_mb = out_path.stat().st_size / (1024 * 1024) if file_size_mb > 25: @@ -494,8 +498,16 @@ async def radar_site_autocomplete(self, interaction: discord.Interaction, curren if not current: matches = list(all_sites.items())[:25] else: - starts_with = [(c, n) for c, n in all_sites.items() if c.lower().startswith(current) or n.lower().startswith(current)] - contains = [(c, n) for c, n in all_sites.items() if (current in c.lower() or current in n.lower()) and (c, n) not in starts_with] + starts_with = [ + (c, n) + for c, n in all_sites.items() + if c.lower().startswith(current) or n.lower().startswith(current) + ] + contains = [ + (c, n) + for c, n in all_sites.items() + if (current in c.lower() or current in n.lower()) and (c, n) not in starts_with + ] matches = (starts_with + contains)[:25] return [Choice(name="{} — {}".format(code, name), value=code) for code, name in matches] @@ -519,7 +531,12 @@ async def periodic_cleanup(self): async def _run_radar_cli( - site: str, product: str, frames: int, out_path: Path, range_km: float = 150.0, rotation: bool = False + site: str, + product: str, + frames: int, + out_path: Path, + range_km: float = 150.0, + rotation: bool = False, ): if RADAR_GIF_BIN is None: raise RuntimeError( @@ -562,10 +579,29 @@ async def _run_radar_cli( "moderate_circulation": ("🟠", "Moderate Circulation"), "weak_circulation": ("🟡", "Weak Circulation"), } -_ROTATION_RANK_ORDER = {"tvs": 0, "mesocyclone": 1, "moderate_circulation": 2, "weak_circulation": 3} +_ROTATION_RANK_ORDER = { + "tvs": 0, + "mesocyclone": 1, + "moderate_circulation": 2, + "weak_circulation": 3, +} _COMPASS_POINTS = [ - "N", "NNE", "NE", "ENE", "E", "ESE", "SE", "SSE", - "S", "SSW", "SW", "WSW", "W", "WNW", "NW", "NNW", + "N", + "NNE", + "NE", + "ENE", + "E", + "ESE", + "SE", + "SSE", + "S", + "SSW", + "SW", + "WSW", + "W", + "WNW", + "NW", + "NNW", ] @@ -606,7 +642,9 @@ def _format_rotation_field(sidecar_path: Path) -> str: lines = [] if sites: - lines.append("**Current ({}):**".format(_fmt_z(current_time)) if current_time else "**Current:**") + lines.append( + "**Current ({}):**".format(_fmt_z(current_time)) if current_time else "**Current:**" + ) for s in sorted(sites, key=lambda s: _ROTATION_RANK_ORDER.get(s["strength"], 9))[:5]: lines.append(_format_site_line(s)) else: @@ -623,7 +661,9 @@ def _format_rotation_field(sidecar_path: Path) -> str: ) if peak_dv and peak_dv.get("time") != peak_vrot.get("time"): lines.append( - "**Peak ΔV:** {:.0f} m/s gate-to-gate @ {}".format(peak_dv["gtg_dv_mps"], _fmt_z(peak_dv["time"])) + "**Peak ΔV:** {:.0f} m/s gate-to-gate @ {}".format( + peak_dv["gtg_dv_mps"], _fmt_z(peak_dv["time"]) + ) ) tds_lines = _format_tds_timeline(data.get("tds_timeline", [])) @@ -651,10 +691,14 @@ def _format_tds_timeline(scans: list) -> list: peak = max(scans, key=lambda s: s["tds_score"]) lines = ["**PTDS (debris signature) by scan:**"] lines.append( - "Peak: {} {:.0f}% @ {}".format(_tds_marker(peak["tds_score"]), peak["tds_score"], _fmt_z(peak["time"])) + "Peak: {} {:.0f}% @ {}".format( + _tds_marker(peak["tds_score"]), peak["tds_score"], _fmt_z(peak["time"]) + ) ) for s in scans[-8:]: - lines.append("{} {} — {:.0f}%".format(_tds_marker(s["tds_score"]), _fmt_z(s["time"]), s["tds_score"])) + lines.append( + "{} {} — {:.0f}%".format(_tds_marker(s["tds_score"]), _fmt_z(s["time"]), s["tds_score"]) + ) lines.append( "-# ⚠️ PTDS is experimental and unvalidated — a low score does NOT rule out a tornado. " "Use official NWS warnings for safety decisions, not this number." From fbdf77262512281c11433c3b0a54a84ee06f1867 Mon Sep 17 00:00:00 2001 From: full-bars <45684698+full-bars@users.noreply.github.com> Date: Tue, 21 Jul 2026 18:28:05 -0700 Subject: [PATCH 09/13] style: ruff format scripts/generate_radar_basemaps.py --- scripts/generate_radar_basemaps.py | 368 ++++++++++++++++++++--------- 1 file changed, 256 insertions(+), 112 deletions(-) diff --git a/scripts/generate_radar_basemaps.py b/scripts/generate_radar_basemaps.py index 94a18ccb..8f4728bd 100644 --- a/scripts/generate_radar_basemaps.py +++ b/scripts/generate_radar_basemaps.py @@ -3,11 +3,13 @@ Run once: python scripts/generate_radar_basemaps.py Output: cache/radar_basemaps/{SITE}.png """ + import os import cartopy.crs as ccrs import cartopy.feature as cfeature import matplotlib + matplotlib.use("Agg") import matplotlib.pyplot as plt import numpy as np @@ -18,114 +20,217 @@ OUT_DIR = "cache/radar_basemaps" SITES = { - "KABX": (35.1497, -106.8239), "KABR": (45.4558, -98.4130), - "KAKQ": (36.9839, -77.0075), "KAMA": (35.2333, -101.7093), - "KAMX": (25.6105, -80.4130), "KAPX": (44.9063, -84.7195), - "KARX": (43.8228, -91.1911), "KATX": (48.1946, -122.4957), - "KBBX": (39.4961, -121.6316), "KBGM": (42.1997, -75.9847), - "KBHX": (40.4983, -124.2922), "KBIS": (46.7708, -100.7603), - "KBLX": (45.8538, -108.6068), "KBMX": (33.1719, -86.7697), - "KBOX": (41.9558, -71.1369), "KBRO": (25.9155, -97.4186), - "KBUF": (42.9486, -78.7369), "KBYX": (24.5969, -81.7033), - "KCAE": (33.9486, -81.1186), "KCBW": (46.0392, -67.8064), - "KCBX": (43.4902, -116.2360), "KCCX": (40.9231, -78.0039), - "KCLE": (41.4130, -81.8600), "KCLX": (32.6555, -81.0422), - "KCRP": (27.7839, -97.5108), "KCXX": (44.5111, -73.1664), - "KCYS": (41.1519, -104.8061), "KDAX": (38.5011, -121.6778), - "KDDC": (37.7608, -99.9689), "KDFX": (29.2725, -100.2803), - "KDGX": (32.2800, -89.9844), "KDIX": (39.9469, -74.4107), - "KDLH": (46.8369, -92.2097), "KDMX": (41.7311, -93.7228), - "KDOX": (38.8255, -75.4400), "KDTX": (42.7000, -83.4717), - "KDVN": (41.6117, -90.5808), "KDYX": (32.5383, -99.2542), - "KEAX": (38.8102, -94.2645), "KEMX": (31.8936, -110.6303), - "KENX": (42.5866, -74.0641), "KEOX": (31.4606, -85.4594), - "KEPZ": (31.8730, -106.6980), "KESX": (35.7011, -114.8914), - "KEVX": (30.5650, -85.9217), "KEWX": (29.7040, -98.0286), - "KEYX": (35.0978, -117.5607), "KFCX": (37.0242, -80.2742), - "KFDR": (34.3622, -98.9767), "KFDX": (34.6342, -103.6189), - "KFFC": (33.3633, -84.5658), "KFSD": (43.5878, -96.7289), - "KFSX": (34.5743, -111.1984), "KFTG": (39.7866, -104.5458), - "KFWS": (32.5728, -97.3031), "KGGW": (48.2064, -106.6247), - "KGJX": (39.0622, -108.2138), "KGLD": (39.3669, -101.7003), - "KGRB": (44.4986, -88.1111), "KGRK": (30.7217, -97.3828), - "KGRR": (42.8939, -85.5449), "KGSP": (34.8833, -82.2198), - "KGWX": (33.8969, -88.3292), "KGYX": (43.8913, -70.2564), - "KHDC": (30.5196, -90.4074), "KHDX": (33.0770, -106.1200), - "KHGX": (29.4719, -95.0789), "KHNX": (36.3142, -119.6321), - "KHPX": (36.7367, -87.2850), "KHTX": (34.9305, -86.0836), - "KICT": (37.6544, -97.4430), "KICX": (37.5910, -112.8622), - "KILN": (39.4203, -83.8217), "KILX": (40.1505, -89.3368), - "KIND": (39.7075, -86.2803), "KINX": (36.1750, -95.5641), - "KIWA": (33.2892, -111.6700), "KIWX": (41.3586, -85.7000), - "KJAX": (30.4846, -81.7019), "KJGX": (32.6750, -83.3511), - "KJKL": (37.5908, -83.3131), "KLBB": (33.6541, -101.8142), - "KLCH": (30.1253, -93.2159), "KLGX": (47.1169, -124.1066), - "KLNX": (41.9579, -100.5762), "KLOT": (41.6044, -88.0844), - "KLRX": (40.7397, -116.8028), "KLSX": (38.6989, -90.6828), - "KLTX": (33.9892, -78.4292), "KLVX": (37.9753, -85.9439), - "KLWX": (38.9761, -77.4875), "KLZK": (34.8364, -92.2619), - "KMAF": (31.9435, -102.1892), "KMAX": (42.0811, -122.7173), - "KMBX": (48.3925, -100.8644), "KMHX": (34.7758, -76.8764), - "KMKX": (42.9678, -88.5506), "KMLB": (28.1131, -80.6544), - "KMOB": (30.6794, -88.2397), "KMPX": (44.8489, -93.5655), - "KMQT": (46.5311, -87.5483), "KMRX": (36.1683, -83.4019), - "KMSX": (47.0411, -113.9861), "KMTX": (41.2628, -112.4478), - "KMUX": (37.1552, -121.8984), "KMVX": (47.5281, -97.3250), - "KMXX": (32.5366, -85.7897), "KNKX": (32.9189, -117.0419), - "KNQA": (35.3447, -89.8733), "KOAX": (41.3203, -96.3668), - "KOHX": (36.2472, -86.5625), "KOKX": (40.8655, -72.8639), - "KOTX": (47.6805, -117.6258), "KPAH": (37.0683, -88.7719), - "KPBZ": (40.5317, -80.2179), "KPDT": (45.6906, -118.8529), - "KPOE": (31.1553, -92.9758), "KPUX": (38.4594, -104.1814), - "KRAX": (35.6653, -78.4900), "KRGX": (39.7540, -119.4620), - "KRIW": (43.0661, -108.4773), "KRLX": (38.3111, -81.7228), - "KRTX": (45.7150, -122.9650), "KSFX": (43.1056, -112.6861), - "KSGF": (37.2353, -93.4003), "KSHV": (32.4508, -93.8412), - "KSJT": (31.3711, -100.4922), "KSOX": (33.8177, -117.6360), - "KSRX": (35.2904, -94.3619), "KTBW": (27.7053, -82.4019), - "KTFX": (47.4597, -111.3853), "KTLH": (30.3975, -84.3289), - "KTLX": (35.3331, -97.2777), "KTWX": (38.9969, -96.2325), - "KTYX": (43.7558, -75.6800), "KUDX": (44.1247, -102.8300), - "KUEX": (40.3208, -98.4419), "KVAX": (30.8903, -83.0018), - "KVBX": (34.8385, -120.3979), "KVNX": (36.7408, -98.1275), - "KVTX": (34.4117, -119.1786), "KVWX": (38.2602, -87.7245), + "KABX": (35.1497, -106.8239), + "KABR": (45.4558, -98.4130), + "KAKQ": (36.9839, -77.0075), + "KAMA": (35.2333, -101.7093), + "KAMX": (25.6105, -80.4130), + "KAPX": (44.9063, -84.7195), + "KARX": (43.8228, -91.1911), + "KATX": (48.1946, -122.4957), + "KBBX": (39.4961, -121.6316), + "KBGM": (42.1997, -75.9847), + "KBHX": (40.4983, -124.2922), + "KBIS": (46.7708, -100.7603), + "KBLX": (45.8538, -108.6068), + "KBMX": (33.1719, -86.7697), + "KBOX": (41.9558, -71.1369), + "KBRO": (25.9155, -97.4186), + "KBUF": (42.9486, -78.7369), + "KBYX": (24.5969, -81.7033), + "KCAE": (33.9486, -81.1186), + "KCBW": (46.0392, -67.8064), + "KCBX": (43.4902, -116.2360), + "KCCX": (40.9231, -78.0039), + "KCLE": (41.4130, -81.8600), + "KCLX": (32.6555, -81.0422), + "KCRP": (27.7839, -97.5108), + "KCXX": (44.5111, -73.1664), + "KCYS": (41.1519, -104.8061), + "KDAX": (38.5011, -121.6778), + "KDDC": (37.7608, -99.9689), + "KDFX": (29.2725, -100.2803), + "KDGX": (32.2800, -89.9844), + "KDIX": (39.9469, -74.4107), + "KDLH": (46.8369, -92.2097), + "KDMX": (41.7311, -93.7228), + "KDOX": (38.8255, -75.4400), + "KDTX": (42.7000, -83.4717), + "KDVN": (41.6117, -90.5808), + "KDYX": (32.5383, -99.2542), + "KEAX": (38.8102, -94.2645), + "KEMX": (31.8936, -110.6303), + "KENX": (42.5866, -74.0641), + "KEOX": (31.4606, -85.4594), + "KEPZ": (31.8730, -106.6980), + "KESX": (35.7011, -114.8914), + "KEVX": (30.5650, -85.9217), + "KEWX": (29.7040, -98.0286), + "KEYX": (35.0978, -117.5607), + "KFCX": (37.0242, -80.2742), + "KFDR": (34.3622, -98.9767), + "KFDX": (34.6342, -103.6189), + "KFFC": (33.3633, -84.5658), + "KFSD": (43.5878, -96.7289), + "KFSX": (34.5743, -111.1984), + "KFTG": (39.7866, -104.5458), + "KFWS": (32.5728, -97.3031), + "KGGW": (48.2064, -106.6247), + "KGJX": (39.0622, -108.2138), + "KGLD": (39.3669, -101.7003), + "KGRB": (44.4986, -88.1111), + "KGRK": (30.7217, -97.3828), + "KGRR": (42.8939, -85.5449), + "KGSP": (34.8833, -82.2198), + "KGWX": (33.8969, -88.3292), + "KGYX": (43.8913, -70.2564), + "KHDC": (30.5196, -90.4074), + "KHDX": (33.0770, -106.1200), + "KHGX": (29.4719, -95.0789), + "KHNX": (36.3142, -119.6321), + "KHPX": (36.7367, -87.2850), + "KHTX": (34.9305, -86.0836), + "KICT": (37.6544, -97.4430), + "KICX": (37.5910, -112.8622), + "KILN": (39.4203, -83.8217), + "KILX": (40.1505, -89.3368), + "KIND": (39.7075, -86.2803), + "KINX": (36.1750, -95.5641), + "KIWA": (33.2892, -111.6700), + "KIWX": (41.3586, -85.7000), + "KJAX": (30.4846, -81.7019), + "KJGX": (32.6750, -83.3511), + "KJKL": (37.5908, -83.3131), + "KLBB": (33.6541, -101.8142), + "KLCH": (30.1253, -93.2159), + "KLGX": (47.1169, -124.1066), + "KLNX": (41.9579, -100.5762), + "KLOT": (41.6044, -88.0844), + "KLRX": (40.7397, -116.8028), + "KLSX": (38.6989, -90.6828), + "KLTX": (33.9892, -78.4292), + "KLVX": (37.9753, -85.9439), + "KLWX": (38.9761, -77.4875), + "KLZK": (34.8364, -92.2619), + "KMAF": (31.9435, -102.1892), + "KMAX": (42.0811, -122.7173), + "KMBX": (48.3925, -100.8644), + "KMHX": (34.7758, -76.8764), + "KMKX": (42.9678, -88.5506), + "KMLB": (28.1131, -80.6544), + "KMOB": (30.6794, -88.2397), + "KMPX": (44.8489, -93.5655), + "KMQT": (46.5311, -87.5483), + "KMRX": (36.1683, -83.4019), + "KMSX": (47.0411, -113.9861), + "KMTX": (41.2628, -112.4478), + "KMUX": (37.1552, -121.8984), + "KMVX": (47.5281, -97.3250), + "KMXX": (32.5366, -85.7897), + "KNKX": (32.9189, -117.0419), + "KNQA": (35.3447, -89.8733), + "KOAX": (41.3203, -96.3668), + "KOHX": (36.2472, -86.5625), + "KOKX": (40.8655, -72.8639), + "KOTX": (47.6805, -117.6258), + "KPAH": (37.0683, -88.7719), + "KPBZ": (40.5317, -80.2179), + "KPDT": (45.6906, -118.8529), + "KPOE": (31.1553, -92.9758), + "KPUX": (38.4594, -104.1814), + "KRAX": (35.6653, -78.4900), + "KRGX": (39.7540, -119.4620), + "KRIW": (43.0661, -108.4773), + "KRLX": (38.3111, -81.7228), + "KRTX": (45.7150, -122.9650), + "KSFX": (43.1056, -112.6861), + "KSGF": (37.2353, -93.4003), + "KSHV": (32.4508, -93.8412), + "KSJT": (31.3711, -100.4922), + "KSOX": (33.8177, -117.6360), + "KSRX": (35.2904, -94.3619), + "KTBW": (27.7053, -82.4019), + "KTFX": (47.4597, -111.3853), + "KTLH": (30.3975, -84.3289), + "KTLX": (35.3331, -97.2777), + "KTWX": (38.9969, -96.2325), + "KTYX": (43.7558, -75.6800), + "KUDX": (44.1247, -102.8300), + "KUEX": (40.3208, -98.4419), + "KVAX": (30.8903, -83.0018), + "KVBX": (34.8385, -120.3979), + "KVNX": (36.7408, -98.1275), + "KVTX": (34.4117, -119.1786), + "KVWX": (38.2602, -87.7245), "KYUX": (32.4953, -114.6567), } CITIES = [ # (lat, lon, name, pop_rank) - (40.7128, -74.0060, "NYC", 0), (34.0522, -118.2437, "Los Angeles", 0), - (41.8781, -87.6298, "Chicago", 0), (29.7604, -95.3698, "Houston", 0), - (33.4484, -112.0740, "Phoenix", 0), (39.7392, -104.9903, "Denver", 0), - (29.4241, -98.4936, "San Antonio", 0), (32.7157, -117.1611, "San Diego", 0), - (32.7767, -96.7970, "Dallas", 0), (37.3382, -121.8863, "San Jose", 0), - (30.2672, -97.7431, "Austin", 0), (30.3322, -81.6557, "Jacksonville", 0), - (32.7555, -97.3308, "Ft Worth", 0), (35.4676, -97.5164, "Oklahoma City", 0), - (39.9612, -82.9988, "Columbus", 0), (35.2271, -80.8431, "Charlotte", 0), - (35.1495, -90.0490, "Memphis", 1), (42.3601, -71.0589, "Boston", 1), - (38.9072, -77.0369, "Washington", 1), (36.1627, -86.7816, "Nashville", 1), - (36.0680, -95.9378, "Tulsa", 1), (37.6872, -97.3371, "Wichita", 1), - (35.2220, -101.8310, "Amarillo", 1), (34.6040, -98.3960, "Lawton", 1), - (36.3960, -97.8780, "Enid", 1), (34.7460, -92.2900, "Little Rock", 1), - (37.1000, -94.5800, "Kansas City", 1), (39.0480, -95.6780, "Topeka", 1), - (35.0850, -106.6060, "Albuquerque", 1), (32.5250, -93.7500, "Shreveport", 1), - (38.6270, -90.1990, "St Louis", 1), (33.7490, -84.3880, "Atlanta", 1), - (44.9780, -93.2650, "Minneapolis", 1), (41.2560, -95.9340, "Omaha", 1), - (36.1740, -86.5620, "Nashville", 1), (35.9600, -83.9200, "Knoxville", 1), - (32.2980, -90.1840, "Jackson", 1), (30.4210, -91.1530, "Baton Rouge", 1), - (29.9490, -90.0710, "New Orleans", 1), (33.4640, -112.0800, "Mesa", 1), - (36.7380, -97.1280, "Ponca City", 1), (35.5960, -97.3990, "Edmond", 1), - (34.5030, -98.4090, "Wichita Falls", 1), (32.4600, -98.7200, "Dallas Area", 1), - (41.7000, -93.5940, "Des Moines", 1), (40.8070, -96.7000, "Lincoln", 1), - (43.6100, -96.1690, "Sioux Falls", 1), (46.8770, -96.7890, "Fargo", 1), - (46.8270, -100.7790, "Bismarck", 1), (44.0830, -103.2310, "Rapid City", 1), - (41.5930, -102.0910, "Scottsbluff", 1), (41.1400, -104.8200, "Cheyenne", 1), - (40.5870, -105.0450, "Fort Collins", 1), (38.8340, -104.8210, "Colorado Springs", 1), - (35.6870, -105.9380, "Santa Fe", 1), (32.2220, -110.9260, "Tucson", 1), - (36.1140, -115.1730, "Las Vegas", 1), (40.7590, -111.8880, "Salt Lake City", 1), - (43.6200, -116.2140, "Boise", 1), (47.6060, -122.3320, "Seattle", 1), - (45.5150, -122.6790, "Portland", 1), (38.5810, -121.4940, "Sacramento", 1), - (37.7740, -122.4190, "San Francisco", 1), (36.8820, -76.2730, "Norfolk", 1), + (40.7128, -74.0060, "NYC", 0), + (34.0522, -118.2437, "Los Angeles", 0), + (41.8781, -87.6298, "Chicago", 0), + (29.7604, -95.3698, "Houston", 0), + (33.4484, -112.0740, "Phoenix", 0), + (39.7392, -104.9903, "Denver", 0), + (29.4241, -98.4936, "San Antonio", 0), + (32.7157, -117.1611, "San Diego", 0), + (32.7767, -96.7970, "Dallas", 0), + (37.3382, -121.8863, "San Jose", 0), + (30.2672, -97.7431, "Austin", 0), + (30.3322, -81.6557, "Jacksonville", 0), + (32.7555, -97.3308, "Ft Worth", 0), + (35.4676, -97.5164, "Oklahoma City", 0), + (39.9612, -82.9988, "Columbus", 0), + (35.2271, -80.8431, "Charlotte", 0), + (35.1495, -90.0490, "Memphis", 1), + (42.3601, -71.0589, "Boston", 1), + (38.9072, -77.0369, "Washington", 1), + (36.1627, -86.7816, "Nashville", 1), + (36.0680, -95.9378, "Tulsa", 1), + (37.6872, -97.3371, "Wichita", 1), + (35.2220, -101.8310, "Amarillo", 1), + (34.6040, -98.3960, "Lawton", 1), + (36.3960, -97.8780, "Enid", 1), + (34.7460, -92.2900, "Little Rock", 1), + (37.1000, -94.5800, "Kansas City", 1), + (39.0480, -95.6780, "Topeka", 1), + (35.0850, -106.6060, "Albuquerque", 1), + (32.5250, -93.7500, "Shreveport", 1), + (38.6270, -90.1990, "St Louis", 1), + (33.7490, -84.3880, "Atlanta", 1), + (44.9780, -93.2650, "Minneapolis", 1), + (41.2560, -95.9340, "Omaha", 1), + (36.1740, -86.5620, "Nashville", 1), + (35.9600, -83.9200, "Knoxville", 1), + (32.2980, -90.1840, "Jackson", 1), + (30.4210, -91.1530, "Baton Rouge", 1), + (29.9490, -90.0710, "New Orleans", 1), + (33.4640, -112.0800, "Mesa", 1), + (36.7380, -97.1280, "Ponca City", 1), + (35.5960, -97.3990, "Edmond", 1), + (34.5030, -98.4090, "Wichita Falls", 1), + (32.4600, -98.7200, "Dallas Area", 1), + (41.7000, -93.5940, "Des Moines", 1), + (40.8070, -96.7000, "Lincoln", 1), + (43.6100, -96.1690, "Sioux Falls", 1), + (46.8770, -96.7890, "Fargo", 1), + (46.8270, -100.7790, "Bismarck", 1), + (44.0830, -103.2310, "Rapid City", 1), + (41.5930, -102.0910, "Scottsbluff", 1), + (41.1400, -104.8200, "Cheyenne", 1), + (40.5870, -105.0450, "Fort Collins", 1), + (38.8340, -104.8210, "Colorado Springs", 1), + (35.6870, -105.9380, "Santa Fe", 1), + (32.2220, -110.9260, "Tucson", 1), + (36.1140, -115.1730, "Las Vegas", 1), + (40.7590, -111.8880, "Salt Lake City", 1), + (43.6200, -116.2140, "Boise", 1), + (47.6060, -122.3320, "Seattle", 1), + (45.5150, -122.6790, "Portland", 1), + (38.5810, -121.4940, "Sacramento", 1), + (37.7740, -122.4190, "San Francisco", 1), + (36.8820, -76.2730, "Norfolk", 1), (38.6270, -90.1990, "St Louis", 1), ] @@ -136,7 +241,9 @@ def generate(site: str, lat: float, lon: float): return fig = plt.figure(figsize=(SIZE / DPI, SIZE / DPI), dpi=DPI) - ax = fig.add_subplot(1, 1, 1, projection=ccrs.AzimuthalEquidistant(central_longitude=lon, central_latitude=lat)) + ax = fig.add_subplot( + 1, 1, 1, projection=ccrs.AzimuthalEquidistant(central_longitude=lon, central_latitude=lat) + ) half = RANGE_KM * 1000 ax.set_xlim(-half, half) @@ -147,14 +254,30 @@ def generate(site: str, lat: float, lon: float): scale = "50m" ax.add_feature(cfeature.LAND.with_scale(scale), color="#121620", zorder=0) ax.add_feature(cfeature.OCEAN.with_scale(scale), color="#0a0c12", zorder=0) - ax.add_feature(cfeature.LAKES.with_scale(scale), color="#0a0c12", edgecolor="#1a2a3e", linewidth=0.3, zorder=1) + ax.add_feature( + cfeature.LAKES.with_scale(scale), + color="#0a0c12", + edgecolor="#1a2a3e", + linewidth=0.3, + zorder=1, + ) ax.add_feature(cfeature.RIVERS.with_scale(scale), edgecolor="#1a2a3e", linewidth=0.25, zorder=1) ax.add_feature(cfeature.STATES.with_scale(scale), edgecolor="#2a3a4e", linewidth=0.6, zorder=2) - ax.add_feature(cfeature.COASTLINE.with_scale(scale), edgecolor="#3a4a6e", linewidth=0.8, zorder=2) + ax.add_feature( + cfeature.COASTLINE.with_scale(scale), edgecolor="#3a4a6e", linewidth=0.8, zorder=2 + ) # Range rings for km in [50, 100, 150, 200, 300, 400]: - c = plt.Circle((0, 0), radius=km * 1000, color="#3a4050", fill=False, linewidth=0.4, linestyle="-", transform=ccrs.AzimuthalEquidistant(central_longitude=lon, central_latitude=lat)) + c = plt.Circle( + (0, 0), + radius=km * 1000, + color="#3a4050", + fill=False, + linewidth=0.4, + linestyle="-", + transform=ccrs.AzimuthalEquidistant(central_longitude=lon, central_latitude=lat), + ) ax.add_patch(c) # Cities @@ -163,10 +286,24 @@ def generate(site: str, lat: float, lon: float): dy = (clat - lat) * 111320 d_km = np.sqrt(dx**2 + dy**2) / 1000 if d_km < RANGE_KM * 1.1: - ax.plot(clon, clat, "o", color="#c8d4e6", markersize=3 if rank == 0 else 2, - transform=ccrs.Geodetic(), zorder=3) - ax.text(clon, clat, name, fontsize=5.5 if rank == 0 else 4.5, - color="#96a4c3", transform=ccrs.Geodetic(), zorder=3) + ax.plot( + clon, + clat, + "o", + color="#c8d4e6", + markersize=3 if rank == 0 else 2, + transform=ccrs.Geodetic(), + zorder=3, + ) + ax.text( + clon, + clat, + name, + fontsize=5.5 if rank == 0 else 4.5, + color="#96a4c3", + transform=ccrs.Geodetic(), + zorder=3, + ) fig.savefig(path, dpi=DPI, bbox_inches="tight", pad_inches=0, facecolor="#0d1117") plt.close(fig) @@ -180,7 +317,14 @@ def main(): for i, (site, (lat, lon)) in enumerate(sites_list, 1): generate(site, lat, lon) print(f" [{i}/{total}] {site}", flush=True) - size_kb = sum(os.path.getsize(os.path.join(OUT_DIR, f)) for f in os.listdir(OUT_DIR) if f.endswith(".png")) / 1024 + size_kb = ( + sum( + os.path.getsize(os.path.join(OUT_DIR, f)) + for f in os.listdir(OUT_DIR) + if f.endswith(".png") + ) + / 1024 + ) print(f"Done. Total: {size_kb:.0f} KB across {total} sites.") From 163d5ea1c2ac2bea701833cac402eb9f4340642a Mon Sep 17 00:00:00 2001 From: full-bars <45684698+full-bars@users.noreply.github.com> Date: Tue, 21 Jul 2026 18:29:56 -0700 Subject: [PATCH 10/13] chore: remove unused Cartopy basemap generator script MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Dead code — superseded by the Rust imageproc-based state outline rendering in radar_gif, never used at runtime, and the Cartopy pre-render approach it implements was abandoned for being both too slow on the ARM server and low quality. --- scripts/generate_radar_basemaps.py | 332 ----------------------------- 1 file changed, 332 deletions(-) delete mode 100644 scripts/generate_radar_basemaps.py diff --git a/scripts/generate_radar_basemaps.py b/scripts/generate_radar_basemaps.py deleted file mode 100644 index 8f4728bd..00000000 --- a/scripts/generate_radar_basemaps.py +++ /dev/null @@ -1,332 +0,0 @@ -""" -Generate dark-themed circular radar basemaps for all NEXRAD sites. -Run once: python scripts/generate_radar_basemaps.py -Output: cache/radar_basemaps/{SITE}.png -""" - -import os - -import cartopy.crs as ccrs -import cartopy.feature as cfeature -import matplotlib - -matplotlib.use("Agg") -import matplotlib.pyplot as plt -import numpy as np - -RANGE_KM = 460 -SIZE = 800 -DPI = 100 -OUT_DIR = "cache/radar_basemaps" - -SITES = { - "KABX": (35.1497, -106.8239), - "KABR": (45.4558, -98.4130), - "KAKQ": (36.9839, -77.0075), - "KAMA": (35.2333, -101.7093), - "KAMX": (25.6105, -80.4130), - "KAPX": (44.9063, -84.7195), - "KARX": (43.8228, -91.1911), - "KATX": (48.1946, -122.4957), - "KBBX": (39.4961, -121.6316), - "KBGM": (42.1997, -75.9847), - "KBHX": (40.4983, -124.2922), - "KBIS": (46.7708, -100.7603), - "KBLX": (45.8538, -108.6068), - "KBMX": (33.1719, -86.7697), - "KBOX": (41.9558, -71.1369), - "KBRO": (25.9155, -97.4186), - "KBUF": (42.9486, -78.7369), - "KBYX": (24.5969, -81.7033), - "KCAE": (33.9486, -81.1186), - "KCBW": (46.0392, -67.8064), - "KCBX": (43.4902, -116.2360), - "KCCX": (40.9231, -78.0039), - "KCLE": (41.4130, -81.8600), - "KCLX": (32.6555, -81.0422), - "KCRP": (27.7839, -97.5108), - "KCXX": (44.5111, -73.1664), - "KCYS": (41.1519, -104.8061), - "KDAX": (38.5011, -121.6778), - "KDDC": (37.7608, -99.9689), - "KDFX": (29.2725, -100.2803), - "KDGX": (32.2800, -89.9844), - "KDIX": (39.9469, -74.4107), - "KDLH": (46.8369, -92.2097), - "KDMX": (41.7311, -93.7228), - "KDOX": (38.8255, -75.4400), - "KDTX": (42.7000, -83.4717), - "KDVN": (41.6117, -90.5808), - "KDYX": (32.5383, -99.2542), - "KEAX": (38.8102, -94.2645), - "KEMX": (31.8936, -110.6303), - "KENX": (42.5866, -74.0641), - "KEOX": (31.4606, -85.4594), - "KEPZ": (31.8730, -106.6980), - "KESX": (35.7011, -114.8914), - "KEVX": (30.5650, -85.9217), - "KEWX": (29.7040, -98.0286), - "KEYX": (35.0978, -117.5607), - "KFCX": (37.0242, -80.2742), - "KFDR": (34.3622, -98.9767), - "KFDX": (34.6342, -103.6189), - "KFFC": (33.3633, -84.5658), - "KFSD": (43.5878, -96.7289), - "KFSX": (34.5743, -111.1984), - "KFTG": (39.7866, -104.5458), - "KFWS": (32.5728, -97.3031), - "KGGW": (48.2064, -106.6247), - "KGJX": (39.0622, -108.2138), - "KGLD": (39.3669, -101.7003), - "KGRB": (44.4986, -88.1111), - "KGRK": (30.7217, -97.3828), - "KGRR": (42.8939, -85.5449), - "KGSP": (34.8833, -82.2198), - "KGWX": (33.8969, -88.3292), - "KGYX": (43.8913, -70.2564), - "KHDC": (30.5196, -90.4074), - "KHDX": (33.0770, -106.1200), - "KHGX": (29.4719, -95.0789), - "KHNX": (36.3142, -119.6321), - "KHPX": (36.7367, -87.2850), - "KHTX": (34.9305, -86.0836), - "KICT": (37.6544, -97.4430), - "KICX": (37.5910, -112.8622), - "KILN": (39.4203, -83.8217), - "KILX": (40.1505, -89.3368), - "KIND": (39.7075, -86.2803), - "KINX": (36.1750, -95.5641), - "KIWA": (33.2892, -111.6700), - "KIWX": (41.3586, -85.7000), - "KJAX": (30.4846, -81.7019), - "KJGX": (32.6750, -83.3511), - "KJKL": (37.5908, -83.3131), - "KLBB": (33.6541, -101.8142), - "KLCH": (30.1253, -93.2159), - "KLGX": (47.1169, -124.1066), - "KLNX": (41.9579, -100.5762), - "KLOT": (41.6044, -88.0844), - "KLRX": (40.7397, -116.8028), - "KLSX": (38.6989, -90.6828), - "KLTX": (33.9892, -78.4292), - "KLVX": (37.9753, -85.9439), - "KLWX": (38.9761, -77.4875), - "KLZK": (34.8364, -92.2619), - "KMAF": (31.9435, -102.1892), - "KMAX": (42.0811, -122.7173), - "KMBX": (48.3925, -100.8644), - "KMHX": (34.7758, -76.8764), - "KMKX": (42.9678, -88.5506), - "KMLB": (28.1131, -80.6544), - "KMOB": (30.6794, -88.2397), - "KMPX": (44.8489, -93.5655), - "KMQT": (46.5311, -87.5483), - "KMRX": (36.1683, -83.4019), - "KMSX": (47.0411, -113.9861), - "KMTX": (41.2628, -112.4478), - "KMUX": (37.1552, -121.8984), - "KMVX": (47.5281, -97.3250), - "KMXX": (32.5366, -85.7897), - "KNKX": (32.9189, -117.0419), - "KNQA": (35.3447, -89.8733), - "KOAX": (41.3203, -96.3668), - "KOHX": (36.2472, -86.5625), - "KOKX": (40.8655, -72.8639), - "KOTX": (47.6805, -117.6258), - "KPAH": (37.0683, -88.7719), - "KPBZ": (40.5317, -80.2179), - "KPDT": (45.6906, -118.8529), - "KPOE": (31.1553, -92.9758), - "KPUX": (38.4594, -104.1814), - "KRAX": (35.6653, -78.4900), - "KRGX": (39.7540, -119.4620), - "KRIW": (43.0661, -108.4773), - "KRLX": (38.3111, -81.7228), - "KRTX": (45.7150, -122.9650), - "KSFX": (43.1056, -112.6861), - "KSGF": (37.2353, -93.4003), - "KSHV": (32.4508, -93.8412), - "KSJT": (31.3711, -100.4922), - "KSOX": (33.8177, -117.6360), - "KSRX": (35.2904, -94.3619), - "KTBW": (27.7053, -82.4019), - "KTFX": (47.4597, -111.3853), - "KTLH": (30.3975, -84.3289), - "KTLX": (35.3331, -97.2777), - "KTWX": (38.9969, -96.2325), - "KTYX": (43.7558, -75.6800), - "KUDX": (44.1247, -102.8300), - "KUEX": (40.3208, -98.4419), - "KVAX": (30.8903, -83.0018), - "KVBX": (34.8385, -120.3979), - "KVNX": (36.7408, -98.1275), - "KVTX": (34.4117, -119.1786), - "KVWX": (38.2602, -87.7245), - "KYUX": (32.4953, -114.6567), -} - -CITIES = [ - # (lat, lon, name, pop_rank) - (40.7128, -74.0060, "NYC", 0), - (34.0522, -118.2437, "Los Angeles", 0), - (41.8781, -87.6298, "Chicago", 0), - (29.7604, -95.3698, "Houston", 0), - (33.4484, -112.0740, "Phoenix", 0), - (39.7392, -104.9903, "Denver", 0), - (29.4241, -98.4936, "San Antonio", 0), - (32.7157, -117.1611, "San Diego", 0), - (32.7767, -96.7970, "Dallas", 0), - (37.3382, -121.8863, "San Jose", 0), - (30.2672, -97.7431, "Austin", 0), - (30.3322, -81.6557, "Jacksonville", 0), - (32.7555, -97.3308, "Ft Worth", 0), - (35.4676, -97.5164, "Oklahoma City", 0), - (39.9612, -82.9988, "Columbus", 0), - (35.2271, -80.8431, "Charlotte", 0), - (35.1495, -90.0490, "Memphis", 1), - (42.3601, -71.0589, "Boston", 1), - (38.9072, -77.0369, "Washington", 1), - (36.1627, -86.7816, "Nashville", 1), - (36.0680, -95.9378, "Tulsa", 1), - (37.6872, -97.3371, "Wichita", 1), - (35.2220, -101.8310, "Amarillo", 1), - (34.6040, -98.3960, "Lawton", 1), - (36.3960, -97.8780, "Enid", 1), - (34.7460, -92.2900, "Little Rock", 1), - (37.1000, -94.5800, "Kansas City", 1), - (39.0480, -95.6780, "Topeka", 1), - (35.0850, -106.6060, "Albuquerque", 1), - (32.5250, -93.7500, "Shreveport", 1), - (38.6270, -90.1990, "St Louis", 1), - (33.7490, -84.3880, "Atlanta", 1), - (44.9780, -93.2650, "Minneapolis", 1), - (41.2560, -95.9340, "Omaha", 1), - (36.1740, -86.5620, "Nashville", 1), - (35.9600, -83.9200, "Knoxville", 1), - (32.2980, -90.1840, "Jackson", 1), - (30.4210, -91.1530, "Baton Rouge", 1), - (29.9490, -90.0710, "New Orleans", 1), - (33.4640, -112.0800, "Mesa", 1), - (36.7380, -97.1280, "Ponca City", 1), - (35.5960, -97.3990, "Edmond", 1), - (34.5030, -98.4090, "Wichita Falls", 1), - (32.4600, -98.7200, "Dallas Area", 1), - (41.7000, -93.5940, "Des Moines", 1), - (40.8070, -96.7000, "Lincoln", 1), - (43.6100, -96.1690, "Sioux Falls", 1), - (46.8770, -96.7890, "Fargo", 1), - (46.8270, -100.7790, "Bismarck", 1), - (44.0830, -103.2310, "Rapid City", 1), - (41.5930, -102.0910, "Scottsbluff", 1), - (41.1400, -104.8200, "Cheyenne", 1), - (40.5870, -105.0450, "Fort Collins", 1), - (38.8340, -104.8210, "Colorado Springs", 1), - (35.6870, -105.9380, "Santa Fe", 1), - (32.2220, -110.9260, "Tucson", 1), - (36.1140, -115.1730, "Las Vegas", 1), - (40.7590, -111.8880, "Salt Lake City", 1), - (43.6200, -116.2140, "Boise", 1), - (47.6060, -122.3320, "Seattle", 1), - (45.5150, -122.6790, "Portland", 1), - (38.5810, -121.4940, "Sacramento", 1), - (37.7740, -122.4190, "San Francisco", 1), - (36.8820, -76.2730, "Norfolk", 1), - (38.6270, -90.1990, "St Louis", 1), -] - - -def generate(site: str, lat: float, lon: float): - path = os.path.join(OUT_DIR, f"{site}.png") - if os.path.exists(path): - return - - fig = plt.figure(figsize=(SIZE / DPI, SIZE / DPI), dpi=DPI) - ax = fig.add_subplot( - 1, 1, 1, projection=ccrs.AzimuthalEquidistant(central_longitude=lon, central_latitude=lat) - ) - - half = RANGE_KM * 1000 - ax.set_xlim(-half, half) - ax.set_ylim(-half, half) - ax.axis("off") - ax.set_facecolor("#0d1117") - - scale = "50m" - ax.add_feature(cfeature.LAND.with_scale(scale), color="#121620", zorder=0) - ax.add_feature(cfeature.OCEAN.with_scale(scale), color="#0a0c12", zorder=0) - ax.add_feature( - cfeature.LAKES.with_scale(scale), - color="#0a0c12", - edgecolor="#1a2a3e", - linewidth=0.3, - zorder=1, - ) - ax.add_feature(cfeature.RIVERS.with_scale(scale), edgecolor="#1a2a3e", linewidth=0.25, zorder=1) - ax.add_feature(cfeature.STATES.with_scale(scale), edgecolor="#2a3a4e", linewidth=0.6, zorder=2) - ax.add_feature( - cfeature.COASTLINE.with_scale(scale), edgecolor="#3a4a6e", linewidth=0.8, zorder=2 - ) - - # Range rings - for km in [50, 100, 150, 200, 300, 400]: - c = plt.Circle( - (0, 0), - radius=km * 1000, - color="#3a4050", - fill=False, - linewidth=0.4, - linestyle="-", - transform=ccrs.AzimuthalEquidistant(central_longitude=lon, central_latitude=lat), - ) - ax.add_patch(c) - - # Cities - for clat, clon, name, rank in CITIES: - dx = (clon - lon) * 111320 * np.cos(np.radians((clat + lat) / 2)) - dy = (clat - lat) * 111320 - d_km = np.sqrt(dx**2 + dy**2) / 1000 - if d_km < RANGE_KM * 1.1: - ax.plot( - clon, - clat, - "o", - color="#c8d4e6", - markersize=3 if rank == 0 else 2, - transform=ccrs.Geodetic(), - zorder=3, - ) - ax.text( - clon, - clat, - name, - fontsize=5.5 if rank == 0 else 4.5, - color="#96a4c3", - transform=ccrs.Geodetic(), - zorder=3, - ) - - fig.savefig(path, dpi=DPI, bbox_inches="tight", pad_inches=0, facecolor="#0d1117") - plt.close(fig) - - -def main(): - os.makedirs(OUT_DIR, exist_ok=True) - sites_list = sorted(SITES.items()) - total = len(sites_list) - print(f"Generating {total} circular basemaps in {OUT_DIR}/ ...") - for i, (site, (lat, lon)) in enumerate(sites_list, 1): - generate(site, lat, lon) - print(f" [{i}/{total}] {site}", flush=True) - size_kb = ( - sum( - os.path.getsize(os.path.join(OUT_DIR, f)) - for f in os.listdir(OUT_DIR) - if f.endswith(".png") - ) - / 1024 - ) - print(f"Done. Total: {size_kb:.0f} KB across {total} sites.") - - -if __name__ == "__main__": - main() From 8f09583c8139463780b564ec241e97a36148629d Mon Sep 17 00:00:00 2001 From: full-bars <45684698+full-bars@users.noreply.github.com> Date: Tue, 21 Jul 2026 19:42:32 -0700 Subject: [PATCH 11/13] fix: address CodeRabbit findings on /radar (cache cleanup, race, reaping, dedup) - periodic_cleanup now also prunes RADAR_GIF_CACHE, which was never cleaned and grew unbounded (only /download's OUTPUT_DIR was covered). - Output paths are now unique per interaction. They were never actually reused as a cache (every call regenerates), so the shared filename was pure collision risk between concurrent requests, not a cache hit. - The renderer subprocess is now awaited after kill() on timeout/ cancellation instead of just signaled, avoiding leaked zombie processes on repeated timeouts. - Realtime and archive-fill volumes are deduplicated by timestamp before sorting, since the archive's most recent object can overlap the already-fetched realtime volume and produce a visually "stuck" duplicate frame. - An unrecognized site now logs a warning instead of silently substituting a default lat/lon (Python-side validation already blocks this in practice, but the CLI had no diagnostic of its own). - CHANGELOG's product list was missing spectrum width. --- CHANGELOG.md | 2 +- cogs/radar/__init__.py | 13 +++++++++++-- crates/radar_gif/src/main.rs | 11 +++++++---- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5fb8279..38486d57 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,7 +8,7 @@ All notable changes to this project will be documented in this file. - **Sounding AI Summary Threads**: Autoposted sounding AI summaries now create a dedicated discussion thread attached to the sounding plot message instead of posting as an inline reply (#612, #614). The thread is named `Sounding: {station} — {time}` and auto-archives after 24h. Falls back gracefully to inline reply when thread creation is unavailable. Applies to all RAOB and ACARS autopost paths (high-risk monitoring, special soundings, watch-triggered, and standard synoptic-time posts). - **MD AI Summary Threads**: Mesoscale Discussion AI summaries now create a thread named `MD #{num}` on the MD message instead of posting a standalone message in the channel (#613, #614). The AI Analysis button detects the thread and posts inside it with an ephemeral link to the user. Falls back to channel posting when thread creation fails. - **Thread Cache Fallback (`_resolve_message_thread`)**: Button handlers for outlook, sounding, and MD summaries now use a shared helper that checks `message.thread` (cached property) first, then falls back to `message.fetch_thread()` from the API (#614). This handles edge cases where Discord hasn't populated the thread cache, preventing spurious channel fallback. -- **NEXRAD Radar Loops (`/radar` command)**: New `radar_gif` Rust crate fetches NEXRAD Level II volumes from the public AWS S3 archive, decodes them using BowEcho's `nexrad_io` and `render2d` crates, and outputs animated GIFs. The `/radar` slash command accepts site ID (e.g. KTLX), product (reflectivity/velocity/ZDR/CC/KDP/PHIDP), frame count, and a zoom level. The render2d dependency renders publication-quality polar radar images with proper color tables and range-folding handling, including state/county outlines and city labels. +- **NEXRAD Radar Loops (`/radar` command)**: New `radar_gif` Rust crate fetches NEXRAD Level II volumes from the public AWS S3 archive, decodes them using BowEcho's `nexrad_io` and `render2d` crates, and outputs animated GIFs. The `/radar` slash command accepts site ID (e.g. KTLX), product (reflectivity/velocity/spectrum width/ZDR/CC/KDP/PHIDP), frame count, and a zoom level. The render2d dependency renders publication-quality polar radar images with proper color tables and range-folding handling, including state/county outlines and city labels. - **Radar Zoom Control**: The `/radar` command now exposes a `zoom` option — Storm-Scale (~75km), Regional (~150km, default), Wide (~300km), or Full Range (~460km) — using `render2d`'s viewport rendering API to display any of those ranges at full resolution instead of a fixed full-range disk. Storm-scale zoom makes mesocyclone couplets and tornadic debris signatures actually resolvable. - **Mesocyclone/TVS Rotation Detection**: `/radar` now runs BowEcho's operational rotation-detection algorithm (Stumpf/Mitchell) on every frame by default, overlaying color-coded markers (weak circulation through TVS) with Vrot labels, and reporting the loop's peak Vrot/ΔV (with timestamp) in the embed even when the strongest rotation occurred on an earlier frame than the most recent one. - **PTDS (Probability of Tornadic Debris Signature)**: New `/radar` product choice combining reflectivity, correlation coefficient, and differential reflectivity into a single 0–100% debris-signature confidence score, rendered with a dedicated probability color scale. Score is also sampled at each scan's strongest detected couplet and reported scan-by-scan in the embed. PTDS is explicitly experimental — the embed carries a visible disclaimer and a low score should not be read as ruling out a tornado. diff --git a/cogs/radar/__init__.py b/cogs/radar/__init__.py index 213d54ec..09454080 100644 --- a/cogs/radar/__init__.py +++ b/cogs/radar/__init__.py @@ -437,8 +437,11 @@ async def radar_slash( self.RADAR_GIF_CACHE.mkdir(parents=True, exist_ok=True) rot_suffix = "_rot" if show_rotation else "" - out_path = self.RADAR_GIF_CACHE / "{}_{}_{}_{:.0f}km{}.gif".format( - site, product_value, frames, range_km, rot_suffix + # Unique per invocation (interaction.id) — out_path is never reused as a cache (every + # call regenerates), so a shared filename only creates a collision risk between + # concurrent requests, not a cache hit. + out_path = self.RADAR_GIF_CACHE / "{}_{}_{}_{:.0f}km{}_{}.gif".format( + site, product_value, frames, range_km, rot_suffix, interaction.id ) try: @@ -514,6 +517,7 @@ async def radar_site_autocomplete(self, interaction: discord.Interaction, curren @tasks.loop(hours=1) async def periodic_cleanup(self): await cleanup_old_files(OUTPUT_DIR, CLEANUP_AGE_THRESHOLD) + await cleanup_old_files(self.RADAR_GIF_CACHE, CLEANUP_AGE_THRESHOLD) RADAR_GIF_BIN = next( @@ -566,7 +570,12 @@ async def _run_radar_cli( stdout, stderr = await asyncio.wait_for(proc.communicate(), timeout=180) except asyncio.TimeoutError: proc.kill() + await proc.wait() raise RuntimeError("Radar generation timed out after 180s") + except asyncio.CancelledError: + proc.kill() + await proc.wait() + raise if proc.returncode != 0: stderr_text = stderr.decode() if stderr else "unknown error" logger.warning("[RADAR] CLI failed (exit {}): {}".format(proc.returncode, stderr_text)) diff --git a/crates/radar_gif/src/main.rs b/crates/radar_gif/src/main.rs index 68cdeb70..da608c19 100644 --- a/crates/radar_gif/src/main.rs +++ b/crates/radar_gif/src/main.rs @@ -75,10 +75,10 @@ fn main() { let state_polys = load_state_polys(); let site_coords = load_site_coords(); - let (radar_lat, radar_lon) = site_coords - .get(&site.as_str()) - .copied() - .unwrap_or((35.333, -97.278)); + let (radar_lat, radar_lon) = site_coords.get(&site.as_str()).copied().unwrap_or_else(|| { + eprintln!("Warning: unknown site '{site}', geography will be misaligned"); + (35.333, -97.278) + }); // Fetch volumes: try realtime first, fall back to archive let cache_dir = Path::new(CACHE_DIR); @@ -129,7 +129,10 @@ fn main() { // Realtime is fetched first (newest) and archive fill-in appended after, // so the vec isn't chronological — sort oldest-to-newest for correct GIF playback order. + // The realtime chunk and the archive's most recent object can both reference the same + // underlying volume, so dedup by timestamp too or the GIF gets a visually "stuck" frame. volumes.sort_by_key(|v| v.volume_time); + volumes.dedup_by_key(|v| v.volume_time); let w = args.width.max(64); let h = args.height.max(64); From 33ba683c23f49c6b091e786f12dd6af2e2929f5a Mon Sep 17 00:00:00 2001 From: full-bars <45684698+full-bars@users.noreply.github.com> Date: Tue, 21 Jul 2026 19:47:57 -0700 Subject: [PATCH 12/13] chore: remove orphaned .wiki gitlink Broken pointer left over from an unfinished attempt to embed the wiki as a submodule -- no .gitmodules entry existed to resolve it, so it was just dead weight in the tree. Doesn't touch the actual GitHub wiki. Also gitignored .wiki/ so a local wiki checkout doesn't reintroduce this. --- .gitignore | 1 + .wiki | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) delete mode 160000 .wiki diff --git a/.gitignore b/.gitignore index 8c4b08e9..8ead72d8 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,7 @@ CLAUDE.md .pytest_cache/ .coverage progress.md +.wiki/ target/ bot_state.db dist/*.whl diff --git a/.wiki b/.wiki deleted file mode 160000 index 869e0f95..00000000 --- a/.wiki +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 869e0f950b9d4f8d6caf7f1ef2edd3e6c0de2431 From ecd995635b6b2315e1ab514eccb3c5ff1447dacb Mon Sep 17 00:00:00 2001 From: full-bars <45684698+full-bars@users.noreply.github.com> Date: Tue, 21 Jul 2026 21:30:47 -0700 Subject: [PATCH 13/13] fix: pin beautifulsoup4 as explicit dependency for sounderpy sounderpy's acars_data module imports bs4 directly but never declares it, relying on it being pulled in transitively. A CI image rebuild stopped bringing it in, breaking every sounding-related test. --- CHANGELOG.md | 3 +++ requirements.txt | 1 + 2 files changed, 4 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 38486d57..69e71270 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,9 @@ All notable changes to this project will be documented in this file. - **Mesocyclone/TVS Rotation Detection**: `/radar` now runs BowEcho's operational rotation-detection algorithm (Stumpf/Mitchell) on every frame by default, overlaying color-coded markers (weak circulation through TVS) with Vrot labels, and reporting the loop's peak Vrot/ΔV (with timestamp) in the embed even when the strongest rotation occurred on an earlier frame than the most recent one. - **PTDS (Probability of Tornadic Debris Signature)**: New `/radar` product choice combining reflectivity, correlation coefficient, and differential reflectivity into a single 0–100% debris-signature confidence score, rendered with a dedicated probability color scale. Score is also sampled at each scan's strongest detected couplet and reported scan-by-scan in the embed. PTDS is explicitly experimental — the embed carries a visible disclaimer and a low score should not be read as ruling out a tornado. +### Fixed +- **Missing `beautifulsoup4` Dependency**: `sounderpy`'s ACARS data module imports `bs4` directly but never declares it as a dependency, and the package was only ever present transitively. Pinned `beautifulsoup4` explicitly in `requirements.txt` so a fresh install (e.g. a rebuilt CI image) doesn't break every sounding-related test with `ModuleNotFoundError`. + ## [5.41.0] - 2026-07-19 ### Added diff --git a/requirements.txt b/requirements.txt index 4d82e90e..db04c849 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,6 +7,7 @@ numpy>=2.2.6,<3.0 matplotlib>=3.10.9,<4.0 requests>=2.34.2,<3.0 sounderpy>=3.1.0,<4.0 +beautifulsoup4>=4.12.0,<5.0 metpy>=1.7.1,<2.0 Cartopy>=0.25.0,<0.26.0 scipy>=1.17.1,<2.0