diff --git a/.idea/.gitignore b/.idea/.gitignore deleted file mode 100644 index ab1f416..0000000 --- a/.idea/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Ignored default folder with query files -/queries/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml -# Editor-based HTTP Client requests -/httpRequests/ diff --git a/.idea/SatForecast.iml b/.idea/SatForecast.iml deleted file mode 100644 index eab9ae5..0000000 --- a/.idea/SatForecast.iml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/inspectionProfiles/profiles_settings.xml b/.idea/inspectionProfiles/profiles_settings.xml deleted file mode 100644 index 105ce2d..0000000 --- a/.idea/inspectionProfiles/profiles_settings.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - \ No newline at end of file diff --git a/.idea/misc.xml b/.idea/misc.xml deleted file mode 100644 index b9bf2ff..0000000 --- a/.idea/misc.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml deleted file mode 100644 index 262f5a0..0000000 --- a/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml deleted file mode 100644 index 35eb1dd..0000000 --- a/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/main.py b/main.py deleted file mode 100644 index adfd90f..0000000 --- a/main.py +++ /dev/null @@ -1,507 +0,0 @@ -import tkinter as tk -from tkinter import ttk, messagebox -from PIL import Image, ImageTk -import requests -from io import BytesIO -import math -import time -from datetime import datetime -import threading -from pathlib import Path -import random - - -class RateLimiter: - def __init__(self, max_per_second=1): - self.min_interval = 1.0 / max_per_second - self.last_request = 0 - - def wait(self): - elapsed = time.time() - self.last_request - if elapsed < self.min_interval: - time.sleep(self.min_interval - elapsed) - self.last_request = time.time() - - -class WeatherMapApp: - def __init__(self, root): - self.root = root - self.root.title("SatForecast") - self.root.geometry("1200x800") - - # API ключи - self.owm_api_key = "cc437a23f6a217cd5859bd2d4dc9b6f8" - - # Rate limiter - self.rate_limiter = RateLimiter(max_per_second=2) - - # Настройки карты - self.lon = 37.6173 - self.lat = 55.7558 - self.zoom = 8 - self.dragging = False - self.drag_start_x = 0 - self.drag_start_y = 0 - - # Кэш тайлов - self.cache_dir = Path("tile_cache") - self.cache_dir.mkdir(exist_ok=True) - - # Маркеры - self.markers = [ - {"name": "Москва", "lat": 55.7558, "lon": 37.6173}, - {"name": "СПб", "lat": 59.9343, "lon": 30.3351}, - ] - - # Настройка интерфейса - self.setup_ui() - - # Загрузка данных - self.load_map() - self.load_forecast() - - def setup_ui(self): - # Основной контейнер - main_frame = ttk.Frame(self.root) - main_frame.pack(fill='both', expand=True) - - # Левая панель управления - control_panel = ttk.Frame(main_frame, width=300) - control_panel.pack(side='left', fill='y', padx=5, pady=5) - control_panel.pack_propagate(False) - - # Поиск города - ttk.Label(control_panel, text="Поиск города:").pack(pady=5) - search_frame = ttk.Frame(control_panel) - search_frame.pack(fill='x', padx=5) - - self.city_entry = ttk.Entry(search_frame) - self.city_entry.pack(side='left', fill='x', expand=True) - self.city_entry.bind('', lambda e: self.search_city()) - - ttk.Button(search_frame, text="🔍", width=3, - command=self.search_city).pack(side='left') - - # Список городов - ttk.Label(control_panel, text="Избранные города:").pack(pady=5) - self.city_listbox = tk.Listbox(control_panel, height=8) - self.city_listbox.pack(fill='x', padx=5) - self.city_listbox.bind('<>', self.on_city_select) - - for marker in self.markers: - self.city_listbox.insert(tk.END, marker['name']) - - # Управление маркерами - marker_frame = ttk.Frame(control_panel) - marker_frame.pack(fill='x', padx=5, pady=5) - - ttk.Button(marker_frame, text="Добавить маркер", - command=self.add_current_location).pack(fill='x') - ttk.Button(marker_frame, text="Удалить маркер", - command=self.remove_marker).pack(fill='x') - - # Слои карты - ttk.Label(control_panel, text="Слой карты:").pack(pady=5) - - layers = [ - ("Спутник (ESRI)", "esri_sat"), - ("Спутник (Google)", "google_sat"), - ("OpenStreetMap", "osm"), - ("CartoDB", "cartodb"), - ("Температура", "temp"), - ("Облачность", "clouds"), - ("Осадки", "precipitation") - ] - - self.layer_var = tk.StringVar(value="esri_sat") - for text, value in layers: - ttk.Radiobutton(control_panel, text=text, variable=self.layer_var, - value=value, command=self.load_map).pack(anchor='w', padx=20) - - # Прогноз погоды - ttk.Label(control_panel, text="Прогноз погоды:").pack(pady=10) - self.forecast_text = tk.Text(control_panel, height=12, width=35) - self.forecast_text.pack(fill='both', expand=True, padx=5) - - # Карта - map_frame = ttk.Frame(main_frame) - map_frame.pack(side='right', fill='both', expand=True) - - self.canvas = tk.Canvas(map_frame, bg='#1a1a2e') - self.canvas.pack(fill='both', expand=True) - - # Привязка событий - self.canvas.bind('', self.start_drag) - self.canvas.bind('', self.drag_map) - self.canvas.bind('', self.end_drag) - self.canvas.bind('', self.mouse_zoom) - - # Кнопки масштаба - zoom_frame = ttk.Frame(map_frame) - zoom_frame.place(relx=1.0, rely=0.5, anchor='e', x=-10) - - ttk.Button(zoom_frame, text="+", width=3, - command=lambda: self.change_zoom(1)).pack() - ttk.Button(zoom_frame, text="-", width=3, - command=lambda: self.change_zoom(-1)).pack() - - # Статус бар - self.status_label = ttk.Label(self.root, text="Готово") - self.status_label.pack(side='bottom', fill='x') - - def get_cache_path(self, layer, x, y, zoom): - cache_subdir = self.cache_dir / layer / str(zoom) / str(x) - cache_subdir.mkdir(parents=True, exist_ok=True) - return cache_subdir / f"{y}.png" - - def download_tile_cached(self, url, layer, x, y, zoom): - cache_path = self.get_cache_path(layer, x, y, zoom) - - # Проверяем кэш - if cache_path.exists(): - max_age = 3 * 3600 if "sat" in layer else 24 * 3600 - if datetime.now().timestamp() - cache_path.stat().st_mtime < max_age: - try: - return Image.open(cache_path) - except: - pass - - try: - headers = { - 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36', - 'Accept': 'image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8', - 'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7', - 'Referer': 'https://www.openstreetmap.org/', - 'Sec-Fetch-Dest': 'image', - 'Sec-Fetch-Mode': 'no-cors', - 'Sec-Fetch-Site': 'cross-site', - } - - self.rate_limiter.wait() - - response = requests.get(url, headers=headers, timeout=15) - - if response.status_code == 200: - content_type = response.headers.get('content-type', '') - if 'image' in content_type or len(response.content) > 1000: - img = Image.open(BytesIO(response.content)) - img.save(cache_path) - print(f"✓ {layer}: {x},{y} zoom={zoom}") - return img - else: - print(f"✗ Не изображение: {url[:80]}") - else: - print(f"✗ {response.status_code}: {url[:80]}") - - except Exception as e: - print(f"✗ Ошибка: {e}") - - # Возвращаем из кэша - if cache_path.exists(): - try: - return Image.open(cache_path) - except: - pass - - return None - - def get_tile_url(self, x, y, zoom): - """Рабочие бесплатные URL для тайлов""" - layer = self.layer_var.get() - - if layer == "esri_sat": - # ESRI спутниковые снимки (бесплатно, без ключа) - return f"https://server.arcgisonline.com/ArcGIS/rest/services/World_Imagery/MapServer/tile/{zoom}/{y}/{x}" - - elif layer == "google_sat": - # Google Maps спутник (бесплатно для некоммерческого использования) - # Используем разные поддомены для распределения нагрузки - subdomain = random.choice(['0', '1', '2', '3']) - return f"https://mt{subdomain}.google.com/vt/lyrs=s&x={x}&y={y}&z={zoom}" - - elif layer == "osm": - # OpenStreetMap - subdomain = random.choice(['a', 'b', 'c']) - return f"https://{subdomain}.tile.openstreetmap.org/{zoom}/{x}/{y}.png" - - elif layer == "cartodb": - # CartoDB Light (красивый стиль) - return f"https://a.basemaps.cartocdn.com/light_all/{zoom}/{x}/{y}.png" - - elif layer == "temp": - return f"https://tile.openweathermap.org/map/temp_new/{zoom}/{x}/{y}.png?appid={self.owm_api_key}" - - elif layer == "clouds": - return f"https://tile.openweathermap.org/map/clouds_new/{zoom}/{x}/{y}.png?appid={self.owm_api_key}" - - elif layer == "precipitation": - return f"https://tile.openweathermap.org/map/precipitation_new/{zoom}/{x}/{y}.png?appid={self.owm_api_key}" - - return None - - def lat_lon_to_tile(self, lat, lon, zoom): - lat_rad = math.radians(lat) - n = 2.0 ** zoom - xtile = (lon + 180.0) / 360.0 * n - ytile = (1.0 - math.asinh(math.tan(lat_rad)) / math.pi) / 2.0 * n - return xtile, ytile - - def load_map(self): - threading.Thread(target=self._load_map_thread, daemon=True).start() - - def _load_map_thread(self): - self.root.after(0, lambda: self.status_label.config(text="Загрузка карты...")) - - self.canvas.delete("tile") - - center_x, center_y = self.lat_lon_to_tile(self.lat, self.lon, self.zoom) - center_x_int = int(center_x) - center_y_int = int(center_y) - - tiles = {} - for dx in range(-1, 2): - for dy in range(-1, 2): - x = center_x_int + dx - y = center_y_int + dy - - url = self.get_tile_url(x, y, self.zoom) - if url: - layer = self.layer_var.get() - img = self.download_tile_cached(url, layer, x, y, self.zoom) - - if img: - tiles[(dx, dy)] = ImageTk.PhotoImage(img) - - self.root.after(0, self._display_tiles, tiles, center_x, center_y) - self.root.after(0, lambda: self.status_label.config( - text=f"Загружено тайлов: {len(tiles)}/9")) - - def _display_tiles(self, tiles, center_x, center_y): - canvas_width = self.canvas.winfo_width() - canvas_height = self.canvas.winfo_height() - - if canvas_width < 100: - canvas_width = 800 - canvas_height = 600 - - tile_size = 256 - - for (dx, dy), photo in tiles.items(): - x_offset = (center_x - int(center_x)) * tile_size - y_offset = (center_y - int(center_y)) * tile_size - - px = canvas_width / 2 + dx * tile_size - x_offset - py = canvas_height / 2 + dy * tile_size - y_offset - - self.canvas.create_image(px, py, image=photo, anchor='nw', tags="tile") - - self.draw_markers() - self.canvas.tile_images = tiles - - def draw_markers(self): - self.canvas.delete("marker") - - canvas_width = self.canvas.winfo_width() - canvas_height = self.canvas.winfo_height() - - for marker in self.markers: - marker_x, marker_y = self.lat_lon_to_tile( - marker['lat'], marker['lon'], self.zoom) - - center_x, center_y = self.lat_lon_to_tile(self.lat, self.lon, self.zoom) - - tile_size = 256 - px = canvas_width / 2 + (marker_x - center_x) * tile_size - py = canvas_height / 2 + (marker_y - center_y) * tile_size - - # Красивый маркер - self.canvas.create_oval(px - 10, py - 10, px + 10, py + 10, - fill='#ff4444', outline='white', width=2, tags="marker") - self.canvas.create_oval(px - 3, py - 3, px + 3, py + 3, - fill='white', tags="marker") - self.canvas.create_text(px, py - 20, text=marker['name'], - fill='white', font=('Arial', 10, 'bold'), - tags="marker") - - def start_drag(self, event): - self.dragging = True - self.drag_start_x = event.x - self.drag_start_y = event.y - - def drag_map(self, event): - if not self.dragging: - return - - dx = event.x - self.drag_start_x - dy = event.y - self.drag_start_y - - self.canvas.move("tile", dx, dy) - self.canvas.move("marker", dx, dy) - - tile_size = 256 - n = 2.0 ** self.zoom - - self.lon -= dx / tile_size * 360.0 / n - self.lat += dy / tile_size * 180.0 / n - - self.drag_start_x = event.x - self.drag_start_y = event.y - - if abs(dx) > tile_size / 2 or abs(dy) > tile_size / 2: - self.load_map() - - def end_drag(self, event): - self.dragging = False - self.load_map() - - def mouse_zoom(self, event): - if event.delta > 0: - self.change_zoom(1) - else: - self.change_zoom(-1) - - def change_zoom(self, delta): - new_zoom = self.zoom + delta - if 2 <= new_zoom <= 18: - self.zoom = new_zoom - self.load_map() - - def search_city(self): - city = self.city_entry.get().strip() - if not city: - return - threading.Thread(target=self._search_city_thread, args=(city,), daemon=True).start() - - def _search_city_thread(self, city): - try: - url = "https://nominatim.openstreetmap.org/search" - params = { - "q": city, - "format": "json", - "limit": 1 - } - headers = { - "User-Agent": "SatForecast/1.0" - } - - response = requests.get(url, params=params, headers=headers) - data = response.json() - - if data: - lat = float(data[0]['lat']) - lon = float(data[0]['lon']) - self.root.after(0, lambda: self.set_location(lat, lon, city)) - else: - self.root.after(0, lambda: messagebox.showinfo("Поиск", "Город не найден")) - except Exception as e: - self.root.after(0, lambda: messagebox.showerror("Ошибка", str(e))) - - def set_location(self, lat, lon, name): - self.lat = lat - self.lon = lon - - if not any(m['name'] == name for m in self.markers): - self.markers.append({"name": name, "lat": lat, "lon": lon}) - self.city_listbox.insert(tk.END, name) - - self.load_map() - self.load_forecast() - - def on_city_select(self, event): - selection = self.city_listbox.curselection() - if selection: - index = selection[0] - if index < len(self.markers): - marker = self.markers[index] - self.set_location(marker['lat'], marker['lon'], marker['name']) - - def add_current_location(self): - name = f"Точка {len(self.markers) + 1}" - self.markers.append({"name": name, "lat": self.lat, "lon": self.lon}) - self.city_listbox.insert(tk.END, name) - self.draw_markers() - - def remove_marker(self): - selection = self.city_listbox.curselection() - if selection: - index = selection[0] - if index < len(self.markers): - del self.markers[index] - self.city_listbox.delete(index) - self.load_map() - - def load_forecast(self): - threading.Thread(target=self._load_forecast_thread, daemon=True).start() - - def _load_forecast_thread(self): - try: - # Open-Meteo (бесплатно, без ключа) - url = "https://api.open-meteo.com/v1/forecast" - params = { - "latitude": self.lat, - "longitude": self.lon, - "hourly": "temperature_2m,precipitation,wind_speed_10m,cloud_cover", - "daily": "temperature_2m_max,temperature_2m_min,precipitation_sum", - "timezone": "auto", - "forecast_days": 3 - } - - response = requests.get(url, params=params) - data = response.json() - - forecast_text = f"📍 Прогноз для координат:\n{self.lat:.2f}, {self.lon:.2f}\n\n" - - if 'daily' in data: - forecast_text += "📅 По дням:\n" - for i in range(3): - date = data['daily']['time'][i] - temp_max = data['daily']['temperature_2m_max'][i] - temp_min = data['daily']['temperature_2m_min'][i] - precip = data['daily']['precipitation_sum'][i] - - weather_emoji = "☀️" if precip == 0 else "🌧️" - if temp_max > 30: - weather_emoji = "🔥" - elif temp_max < 0: - weather_emoji = "❄️" - - forecast_text += f"{date}: {weather_emoji} {temp_min}°C...{temp_max}°C, 💧{precip}мм\n" - - if 'hourly' in data: - forecast_text += "\n🕐 Ближайшие часы:\n" - current_hour = datetime.now().hour - for i in range(current_hour, min(current_hour + 8, len(data['hourly']['time']))): - time = data['hourly']['time'][i].split('T')[1] - temp = data['hourly']['temperature_2m'][i] - wind = data['hourly']['wind_speed_10m'][i] - clouds = data['hourly']['cloud_cover'][i] - - cloud_emoji = "☁️" if clouds > 50 else "🌤️" if clouds > 20 else "☀️" - forecast_text += f"{time}: {cloud_emoji} {temp}°C, 💨{wind}м/с\n" - - self.root.after(0, self._update_forecast_display, forecast_text) - except Exception as e: - self.root.after(0, lambda: self.status_label.config(text=f"Ошибка прогноза: {e}")) - - def _update_forecast_display(self, text): - self.forecast_text.delete(1.0, tk.END) - self.forecast_text.insert(1.0, text) - - -def main(): - root = tk.Tk() - app = WeatherMapApp(root) - - style = ttk.Style() - style.theme_use('clam') - - def on_closing(): - if messagebox.askokcancel("Выход", "Закрыть приложение?"): - root.destroy() - - root.protocol("WM_DELETE_WINDOW", on_closing) - root.mainloop() - - -if __name__ == "__main__": - main() \ No newline at end of file diff --git a/tile_cache/cartodb/9/311/178.png b/tile_cache/cartodb/9/311/178.png deleted file mode 100644 index 4bbf1c0..0000000 Binary files a/tile_cache/cartodb/9/311/178.png and /dev/null differ diff --git a/tile_cache/cartodb/9/311/179.png b/tile_cache/cartodb/9/311/179.png deleted file mode 100644 index dd4abb4..0000000 Binary files a/tile_cache/cartodb/9/311/179.png and /dev/null differ diff --git a/tile_cache/cartodb/9/311/180.png b/tile_cache/cartodb/9/311/180.png deleted file mode 100644 index cd599b1..0000000 Binary files a/tile_cache/cartodb/9/311/180.png and /dev/null differ diff --git a/tile_cache/cartodb/9/312/178.png b/tile_cache/cartodb/9/312/178.png deleted file mode 100644 index b644b88..0000000 Binary files a/tile_cache/cartodb/9/312/178.png and /dev/null differ diff --git a/tile_cache/cartodb/9/312/179.png b/tile_cache/cartodb/9/312/179.png deleted file mode 100644 index 5c3c9b0..0000000 Binary files a/tile_cache/cartodb/9/312/179.png and /dev/null differ diff --git a/tile_cache/cartodb/9/312/180.png b/tile_cache/cartodb/9/312/180.png deleted file mode 100644 index 8961896..0000000 Binary files a/tile_cache/cartodb/9/312/180.png and /dev/null differ diff --git a/tile_cache/cartodb/9/313/178.png b/tile_cache/cartodb/9/313/178.png deleted file mode 100644 index 5245d77..0000000 Binary files a/tile_cache/cartodb/9/313/178.png and /dev/null differ diff --git a/tile_cache/cartodb/9/313/179.png b/tile_cache/cartodb/9/313/179.png deleted file mode 100644 index cf26698..0000000 Binary files a/tile_cache/cartodb/9/313/179.png and /dev/null differ diff --git a/tile_cache/cartodb/9/313/180.png b/tile_cache/cartodb/9/313/180.png deleted file mode 100644 index 38832d9..0000000 Binary files a/tile_cache/cartodb/9/313/180.png and /dev/null differ diff --git a/tile_cache/clouds/8/155/88.png b/tile_cache/clouds/8/155/88.png deleted file mode 100644 index d28a1d0..0000000 Binary files a/tile_cache/clouds/8/155/88.png and /dev/null differ diff --git a/tile_cache/clouds/8/155/89.png b/tile_cache/clouds/8/155/89.png deleted file mode 100644 index f0a74f8..0000000 Binary files a/tile_cache/clouds/8/155/89.png and /dev/null differ diff --git a/tile_cache/clouds/8/155/90.png b/tile_cache/clouds/8/155/90.png deleted file mode 100644 index ea1e8a9..0000000 Binary files a/tile_cache/clouds/8/155/90.png and /dev/null differ diff --git a/tile_cache/clouds/8/156/88.png b/tile_cache/clouds/8/156/88.png deleted file mode 100644 index b252e3c..0000000 Binary files a/tile_cache/clouds/8/156/88.png and /dev/null differ diff --git a/tile_cache/clouds/8/156/89.png b/tile_cache/clouds/8/156/89.png deleted file mode 100644 index 65f07b2..0000000 Binary files a/tile_cache/clouds/8/156/89.png and /dev/null differ diff --git a/tile_cache/clouds/8/156/90.png b/tile_cache/clouds/8/156/90.png deleted file mode 100644 index 779e90c..0000000 Binary files a/tile_cache/clouds/8/156/90.png and /dev/null differ diff --git a/tile_cache/clouds/8/157/88.png b/tile_cache/clouds/8/157/88.png deleted file mode 100644 index c21aa8e..0000000 Binary files a/tile_cache/clouds/8/157/88.png and /dev/null differ diff --git a/tile_cache/clouds/8/157/89.png b/tile_cache/clouds/8/157/89.png deleted file mode 100644 index fd30248..0000000 Binary files a/tile_cache/clouds/8/157/89.png and /dev/null differ diff --git a/tile_cache/clouds/8/157/90.png b/tile_cache/clouds/8/157/90.png deleted file mode 100644 index 6ba4c1a..0000000 Binary files a/tile_cache/clouds/8/157/90.png and /dev/null differ diff --git a/tile_cache/esri_sat/10/623/358.png b/tile_cache/esri_sat/10/623/358.png deleted file mode 100644 index 70eb126..0000000 Binary files a/tile_cache/esri_sat/10/623/358.png and /dev/null differ diff --git a/tile_cache/esri_sat/10/623/359.png b/tile_cache/esri_sat/10/623/359.png deleted file mode 100644 index bafcc2c..0000000 Binary files a/tile_cache/esri_sat/10/623/359.png and /dev/null differ diff --git a/tile_cache/esri_sat/10/623/360.png b/tile_cache/esri_sat/10/623/360.png deleted file mode 100644 index 5d71261..0000000 Binary files a/tile_cache/esri_sat/10/623/360.png and /dev/null differ diff --git a/tile_cache/esri_sat/10/624/358.png b/tile_cache/esri_sat/10/624/358.png deleted file mode 100644 index 3d69d59..0000000 Binary files a/tile_cache/esri_sat/10/624/358.png and /dev/null differ diff --git a/tile_cache/esri_sat/10/624/359.png b/tile_cache/esri_sat/10/624/359.png deleted file mode 100644 index 2cafd20..0000000 Binary files a/tile_cache/esri_sat/10/624/359.png and /dev/null differ diff --git a/tile_cache/esri_sat/10/624/360.png b/tile_cache/esri_sat/10/624/360.png deleted file mode 100644 index 88374ab..0000000 Binary files a/tile_cache/esri_sat/10/624/360.png and /dev/null differ diff --git a/tile_cache/esri_sat/10/625/358.png b/tile_cache/esri_sat/10/625/358.png deleted file mode 100644 index a025cab..0000000 Binary files a/tile_cache/esri_sat/10/625/358.png and /dev/null differ diff --git a/tile_cache/esri_sat/10/625/359.png b/tile_cache/esri_sat/10/625/359.png deleted file mode 100644 index 7c8c8c8..0000000 Binary files a/tile_cache/esri_sat/10/625/359.png and /dev/null differ diff --git a/tile_cache/esri_sat/10/625/360.png b/tile_cache/esri_sat/10/625/360.png deleted file mode 100644 index d588ce0..0000000 Binary files a/tile_cache/esri_sat/10/625/360.png and /dev/null differ diff --git a/tile_cache/esri_sat/11/1248/717.png b/tile_cache/esri_sat/11/1248/717.png deleted file mode 100644 index e07b9bc..0000000 Binary files a/tile_cache/esri_sat/11/1248/717.png and /dev/null differ diff --git a/tile_cache/esri_sat/11/1248/718.png b/tile_cache/esri_sat/11/1248/718.png deleted file mode 100644 index 328463a..0000000 Binary files a/tile_cache/esri_sat/11/1248/718.png and /dev/null differ diff --git a/tile_cache/esri_sat/11/1248/719.png b/tile_cache/esri_sat/11/1248/719.png deleted file mode 100644 index ab44416..0000000 Binary files a/tile_cache/esri_sat/11/1248/719.png and /dev/null differ diff --git a/tile_cache/esri_sat/11/1249/717.png b/tile_cache/esri_sat/11/1249/717.png deleted file mode 100644 index d09a797..0000000 Binary files a/tile_cache/esri_sat/11/1249/717.png and /dev/null differ diff --git a/tile_cache/esri_sat/12/1249/718.png b/tile_cache/esri_sat/12/1249/718.png deleted file mode 100644 index a7b54f0..0000000 Binary files a/tile_cache/esri_sat/12/1249/718.png and /dev/null differ diff --git a/tile_cache/esri_sat/12/2498/1435.png b/tile_cache/esri_sat/12/2498/1435.png deleted file mode 100644 index f2d3e71..0000000 Binary files a/tile_cache/esri_sat/12/2498/1435.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/1249/719.png b/tile_cache/esri_sat/13/1249/719.png deleted file mode 100644 index a7b54f0..0000000 Binary files a/tile_cache/esri_sat/13/1249/719.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/1250/717.png b/tile_cache/esri_sat/13/1250/717.png deleted file mode 100644 index a7b54f0..0000000 Binary files a/tile_cache/esri_sat/13/1250/717.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/1250/718.png b/tile_cache/esri_sat/13/1250/718.png deleted file mode 100644 index a7b54f0..0000000 Binary files a/tile_cache/esri_sat/13/1250/718.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/1250/719.png b/tile_cache/esri_sat/13/1250/719.png deleted file mode 100644 index a7b54f0..0000000 Binary files a/tile_cache/esri_sat/13/1250/719.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/2498/1436.png b/tile_cache/esri_sat/13/2498/1436.png deleted file mode 100644 index a7b54f0..0000000 Binary files a/tile_cache/esri_sat/13/2498/1436.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/2498/1437.png b/tile_cache/esri_sat/13/2498/1437.png deleted file mode 100644 index a7b54f0..0000000 Binary files a/tile_cache/esri_sat/13/2498/1437.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/2499/1435.png b/tile_cache/esri_sat/13/2499/1435.png deleted file mode 100644 index a7b54f0..0000000 Binary files a/tile_cache/esri_sat/13/2499/1435.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/2499/1436.png b/tile_cache/esri_sat/13/2499/1436.png deleted file mode 100644 index a7b54f0..0000000 Binary files a/tile_cache/esri_sat/13/2499/1436.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/2499/1437.png b/tile_cache/esri_sat/13/2499/1437.png deleted file mode 100644 index a7b54f0..0000000 Binary files a/tile_cache/esri_sat/13/2499/1437.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/2500/1435.png b/tile_cache/esri_sat/13/2500/1435.png deleted file mode 100644 index a7b54f0..0000000 Binary files a/tile_cache/esri_sat/13/2500/1435.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/2500/1436.png b/tile_cache/esri_sat/13/2500/1436.png deleted file mode 100644 index a7b54f0..0000000 Binary files a/tile_cache/esri_sat/13/2500/1436.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/2500/1437.png b/tile_cache/esri_sat/13/2500/1437.png deleted file mode 100644 index a7b54f0..0000000 Binary files a/tile_cache/esri_sat/13/2500/1437.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4995/2871.png b/tile_cache/esri_sat/13/4995/2871.png deleted file mode 100644 index 90b13b3..0000000 Binary files a/tile_cache/esri_sat/13/4995/2871.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4995/2872.png b/tile_cache/esri_sat/13/4995/2872.png deleted file mode 100644 index 8c94db2..0000000 Binary files a/tile_cache/esri_sat/13/4995/2872.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4995/2873.png b/tile_cache/esri_sat/13/4995/2873.png deleted file mode 100644 index 4a09086..0000000 Binary files a/tile_cache/esri_sat/13/4995/2873.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4996/2871.png b/tile_cache/esri_sat/13/4996/2871.png deleted file mode 100644 index d016ae6..0000000 Binary files a/tile_cache/esri_sat/13/4996/2871.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4996/2872.png b/tile_cache/esri_sat/13/4996/2872.png deleted file mode 100644 index 469e17c..0000000 Binary files a/tile_cache/esri_sat/13/4996/2872.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4997/2871.png b/tile_cache/esri_sat/13/4997/2871.png deleted file mode 100644 index 4eea614..0000000 Binary files a/tile_cache/esri_sat/13/4997/2871.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4997/2872.png b/tile_cache/esri_sat/13/4997/2872.png deleted file mode 100644 index 208404c..0000000 Binary files a/tile_cache/esri_sat/13/4997/2872.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4997/2873.png b/tile_cache/esri_sat/13/4997/2873.png deleted file mode 100644 index c647269..0000000 Binary files a/tile_cache/esri_sat/13/4997/2873.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4997/2874.png b/tile_cache/esri_sat/13/4997/2874.png deleted file mode 100644 index 9168a32..0000000 Binary files a/tile_cache/esri_sat/13/4997/2874.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4998/2871.png b/tile_cache/esri_sat/13/4998/2871.png deleted file mode 100644 index 54c99a8..0000000 Binary files a/tile_cache/esri_sat/13/4998/2871.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4998/2872.png b/tile_cache/esri_sat/13/4998/2872.png deleted file mode 100644 index abf7b81..0000000 Binary files a/tile_cache/esri_sat/13/4998/2872.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4998/2873.png b/tile_cache/esri_sat/13/4998/2873.png deleted file mode 100644 index c697c31..0000000 Binary files a/tile_cache/esri_sat/13/4998/2873.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4998/2874.png b/tile_cache/esri_sat/13/4998/2874.png deleted file mode 100644 index 87897de..0000000 Binary files a/tile_cache/esri_sat/13/4998/2874.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4999/2871.png b/tile_cache/esri_sat/13/4999/2871.png deleted file mode 100644 index 2d0a312..0000000 Binary files a/tile_cache/esri_sat/13/4999/2871.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4999/2872.png b/tile_cache/esri_sat/13/4999/2872.png deleted file mode 100644 index 93ae6e4..0000000 Binary files a/tile_cache/esri_sat/13/4999/2872.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4999/2873.png b/tile_cache/esri_sat/13/4999/2873.png deleted file mode 100644 index 6d93355..0000000 Binary files a/tile_cache/esri_sat/13/4999/2873.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/4999/2874.png b/tile_cache/esri_sat/13/4999/2874.png deleted file mode 100644 index 51eb861..0000000 Binary files a/tile_cache/esri_sat/13/4999/2874.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/5000/2872.png b/tile_cache/esri_sat/13/5000/2872.png deleted file mode 100644 index 4a9b252..0000000 Binary files a/tile_cache/esri_sat/13/5000/2872.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/5000/2873.png b/tile_cache/esri_sat/13/5000/2873.png deleted file mode 100644 index 90e5e45..0000000 Binary files a/tile_cache/esri_sat/13/5000/2873.png and /dev/null differ diff --git a/tile_cache/esri_sat/13/5000/2874.png b/tile_cache/esri_sat/13/5000/2874.png deleted file mode 100644 index 1141135..0000000 Binary files a/tile_cache/esri_sat/13/5000/2874.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/19988/11491.png b/tile_cache/esri_sat/14/19988/11491.png deleted file mode 100644 index 2cb95b2..0000000 Binary files a/tile_cache/esri_sat/14/19988/11491.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9991/5743.png b/tile_cache/esri_sat/14/9991/5743.png deleted file mode 100644 index 59ae5e5..0000000 Binary files a/tile_cache/esri_sat/14/9991/5743.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9991/5744.png b/tile_cache/esri_sat/14/9991/5744.png deleted file mode 100644 index a382e0a..0000000 Binary files a/tile_cache/esri_sat/14/9991/5744.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9991/5745.png b/tile_cache/esri_sat/14/9991/5745.png deleted file mode 100644 index 33f567c..0000000 Binary files a/tile_cache/esri_sat/14/9991/5745.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9992/5742.png b/tile_cache/esri_sat/14/9992/5742.png deleted file mode 100644 index 985fdb9..0000000 Binary files a/tile_cache/esri_sat/14/9992/5742.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9992/5743.png b/tile_cache/esri_sat/14/9992/5743.png deleted file mode 100644 index fcd9fa7..0000000 Binary files a/tile_cache/esri_sat/14/9992/5743.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9992/5744.png b/tile_cache/esri_sat/14/9992/5744.png deleted file mode 100644 index 6257f2b..0000000 Binary files a/tile_cache/esri_sat/14/9992/5744.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9992/5745.png b/tile_cache/esri_sat/14/9992/5745.png deleted file mode 100644 index fe313a7..0000000 Binary files a/tile_cache/esri_sat/14/9992/5745.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9992/5746.png b/tile_cache/esri_sat/14/9992/5746.png deleted file mode 100644 index 5f43beb..0000000 Binary files a/tile_cache/esri_sat/14/9992/5746.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9993/5742.png b/tile_cache/esri_sat/14/9993/5742.png deleted file mode 100644 index c48a30c..0000000 Binary files a/tile_cache/esri_sat/14/9993/5742.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9993/5743.png b/tile_cache/esri_sat/14/9993/5743.png deleted file mode 100644 index 100dffb..0000000 Binary files a/tile_cache/esri_sat/14/9993/5743.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9993/5744.png b/tile_cache/esri_sat/14/9993/5744.png deleted file mode 100644 index 1358ac3..0000000 Binary files a/tile_cache/esri_sat/14/9993/5744.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9993/5745.png b/tile_cache/esri_sat/14/9993/5745.png deleted file mode 100644 index 70a8993..0000000 Binary files a/tile_cache/esri_sat/14/9993/5745.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9993/5746.png b/tile_cache/esri_sat/14/9993/5746.png deleted file mode 100644 index f27f895..0000000 Binary files a/tile_cache/esri_sat/14/9993/5746.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9994/5742.png b/tile_cache/esri_sat/14/9994/5742.png deleted file mode 100644 index c2b1fec..0000000 Binary files a/tile_cache/esri_sat/14/9994/5742.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9994/5743.png b/tile_cache/esri_sat/14/9994/5743.png deleted file mode 100644 index 23e5b8c..0000000 Binary files a/tile_cache/esri_sat/14/9994/5743.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9994/5744.png b/tile_cache/esri_sat/14/9994/5744.png deleted file mode 100644 index b8330ea..0000000 Binary files a/tile_cache/esri_sat/14/9994/5744.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9994/5745.png b/tile_cache/esri_sat/14/9994/5745.png deleted file mode 100644 index eee9fb2..0000000 Binary files a/tile_cache/esri_sat/14/9994/5745.png and /dev/null differ diff --git a/tile_cache/esri_sat/14/9994/5746.png b/tile_cache/esri_sat/14/9994/5746.png deleted file mode 100644 index 8ad2b81..0000000 Binary files a/tile_cache/esri_sat/14/9994/5746.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/19986/11489.png b/tile_cache/esri_sat/15/19986/11489.png deleted file mode 100644 index 3aee4bf..0000000 Binary files a/tile_cache/esri_sat/15/19986/11489.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/19986/11490.png b/tile_cache/esri_sat/15/19986/11490.png deleted file mode 100644 index 4740a55..0000000 Binary files a/tile_cache/esri_sat/15/19986/11490.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/19986/11491.png b/tile_cache/esri_sat/15/19986/11491.png deleted file mode 100644 index 2724592..0000000 Binary files a/tile_cache/esri_sat/15/19986/11491.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/19987/11489.png b/tile_cache/esri_sat/15/19987/11489.png deleted file mode 100644 index 7134729..0000000 Binary files a/tile_cache/esri_sat/15/19987/11489.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/19987/11490.png b/tile_cache/esri_sat/15/19987/11490.png deleted file mode 100644 index 96f2adb..0000000 Binary files a/tile_cache/esri_sat/15/19987/11490.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/19987/11491.png b/tile_cache/esri_sat/15/19987/11491.png deleted file mode 100644 index 30a4b27..0000000 Binary files a/tile_cache/esri_sat/15/19987/11491.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/19988/11489.png b/tile_cache/esri_sat/15/19988/11489.png deleted file mode 100644 index 3c4ec1a..0000000 Binary files a/tile_cache/esri_sat/15/19988/11489.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/19988/11490.png b/tile_cache/esri_sat/15/19988/11490.png deleted file mode 100644 index c21a5f2..0000000 Binary files a/tile_cache/esri_sat/15/19988/11490.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/4996/2873.png b/tile_cache/esri_sat/15/4996/2873.png deleted file mode 100644 index 2cb95b2..0000000 Binary files a/tile_cache/esri_sat/15/4996/2873.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/4997/2871.png b/tile_cache/esri_sat/15/4997/2871.png deleted file mode 100644 index 2cb95b2..0000000 Binary files a/tile_cache/esri_sat/15/4997/2871.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/4997/2872.png b/tile_cache/esri_sat/15/4997/2872.png deleted file mode 100644 index 2cb95b2..0000000 Binary files a/tile_cache/esri_sat/15/4997/2872.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/4997/2873.png b/tile_cache/esri_sat/15/4997/2873.png deleted file mode 100644 index 2cb95b2..0000000 Binary files a/tile_cache/esri_sat/15/4997/2873.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/9992/5745.png b/tile_cache/esri_sat/15/9992/5745.png deleted file mode 100644 index 2cb95b2..0000000 Binary files a/tile_cache/esri_sat/15/9992/5745.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/9992/5746.png b/tile_cache/esri_sat/15/9992/5746.png deleted file mode 100644 index 2cb95b2..0000000 Binary files a/tile_cache/esri_sat/15/9992/5746.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/9993/5744.png b/tile_cache/esri_sat/15/9993/5744.png deleted file mode 100644 index 2cb95b2..0000000 Binary files a/tile_cache/esri_sat/15/9993/5744.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/9993/5745.png b/tile_cache/esri_sat/15/9993/5745.png deleted file mode 100644 index 2cb95b2..0000000 Binary files a/tile_cache/esri_sat/15/9993/5745.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/9993/5746.png b/tile_cache/esri_sat/15/9993/5746.png deleted file mode 100644 index 2cb95b2..0000000 Binary files a/tile_cache/esri_sat/15/9993/5746.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/9994/5744.png b/tile_cache/esri_sat/15/9994/5744.png deleted file mode 100644 index 2cb95b2..0000000 Binary files a/tile_cache/esri_sat/15/9994/5744.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/9994/5745.png b/tile_cache/esri_sat/15/9994/5745.png deleted file mode 100644 index 2cb95b2..0000000 Binary files a/tile_cache/esri_sat/15/9994/5745.png and /dev/null differ diff --git a/tile_cache/esri_sat/15/9994/5746.png b/tile_cache/esri_sat/15/9994/5746.png deleted file mode 100644 index 2cb95b2..0000000 Binary files a/tile_cache/esri_sat/15/9994/5746.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/152/79.png b/tile_cache/esri_sat/8/152/79.png deleted file mode 100644 index c42d322..0000000 Binary files a/tile_cache/esri_sat/8/152/79.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/152/80.png b/tile_cache/esri_sat/8/152/80.png deleted file mode 100644 index a60bcf7..0000000 Binary files a/tile_cache/esri_sat/8/152/80.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/152/81.png b/tile_cache/esri_sat/8/152/81.png deleted file mode 100644 index 057c4ff..0000000 Binary files a/tile_cache/esri_sat/8/152/81.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/152/82.png b/tile_cache/esri_sat/8/152/82.png deleted file mode 100644 index 4c84ffd..0000000 Binary files a/tile_cache/esri_sat/8/152/82.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/153/78.png b/tile_cache/esri_sat/8/153/78.png deleted file mode 100644 index 8156473..0000000 Binary files a/tile_cache/esri_sat/8/153/78.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/153/79.png b/tile_cache/esri_sat/8/153/79.png deleted file mode 100644 index f5ce264..0000000 Binary files a/tile_cache/esri_sat/8/153/79.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/153/80.png b/tile_cache/esri_sat/8/153/80.png deleted file mode 100644 index 047e450..0000000 Binary files a/tile_cache/esri_sat/8/153/80.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/153/81.png b/tile_cache/esri_sat/8/153/81.png deleted file mode 100644 index c6df333..0000000 Binary files a/tile_cache/esri_sat/8/153/81.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/153/82.png b/tile_cache/esri_sat/8/153/82.png deleted file mode 100644 index 2bf07c6..0000000 Binary files a/tile_cache/esri_sat/8/153/82.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/154/78.png b/tile_cache/esri_sat/8/154/78.png deleted file mode 100644 index 3c445f3..0000000 Binary files a/tile_cache/esri_sat/8/154/78.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/154/79.png b/tile_cache/esri_sat/8/154/79.png deleted file mode 100644 index eb4b357..0000000 Binary files a/tile_cache/esri_sat/8/154/79.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/154/80.png b/tile_cache/esri_sat/8/154/80.png deleted file mode 100644 index 4478864..0000000 Binary files a/tile_cache/esri_sat/8/154/80.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/154/81.png b/tile_cache/esri_sat/8/154/81.png deleted file mode 100644 index c6bc7e5..0000000 Binary files a/tile_cache/esri_sat/8/154/81.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/154/82.png b/tile_cache/esri_sat/8/154/82.png deleted file mode 100644 index 0b87106..0000000 Binary files a/tile_cache/esri_sat/8/154/82.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/155/78.png b/tile_cache/esri_sat/8/155/78.png deleted file mode 100644 index 6db9404..0000000 Binary files a/tile_cache/esri_sat/8/155/78.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/155/79.png b/tile_cache/esri_sat/8/155/79.png deleted file mode 100644 index ed0c2fb..0000000 Binary files a/tile_cache/esri_sat/8/155/79.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/155/80.png b/tile_cache/esri_sat/8/155/80.png deleted file mode 100644 index 0eac3a3..0000000 Binary files a/tile_cache/esri_sat/8/155/80.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/155/81.png b/tile_cache/esri_sat/8/155/81.png deleted file mode 100644 index 6d6aa88..0000000 Binary files a/tile_cache/esri_sat/8/155/81.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/155/88.png b/tile_cache/esri_sat/8/155/88.png deleted file mode 100644 index f9a086d..0000000 Binary files a/tile_cache/esri_sat/8/155/88.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/155/89.png b/tile_cache/esri_sat/8/155/89.png deleted file mode 100644 index 4889f8a..0000000 Binary files a/tile_cache/esri_sat/8/155/89.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/155/90.png b/tile_cache/esri_sat/8/155/90.png deleted file mode 100644 index 38b06b7..0000000 Binary files a/tile_cache/esri_sat/8/155/90.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/156/88.png b/tile_cache/esri_sat/8/156/88.png deleted file mode 100644 index 8752d6c..0000000 Binary files a/tile_cache/esri_sat/8/156/88.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/156/89.png b/tile_cache/esri_sat/8/156/89.png deleted file mode 100644 index e76c1c9..0000000 Binary files a/tile_cache/esri_sat/8/156/89.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/156/90.png b/tile_cache/esri_sat/8/156/90.png deleted file mode 100644 index aa09553..0000000 Binary files a/tile_cache/esri_sat/8/156/90.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/157/88.png b/tile_cache/esri_sat/8/157/88.png deleted file mode 100644 index 1bf3e17..0000000 Binary files a/tile_cache/esri_sat/8/157/88.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/157/89.png b/tile_cache/esri_sat/8/157/89.png deleted file mode 100644 index 0f4ddb2..0000000 Binary files a/tile_cache/esri_sat/8/157/89.png and /dev/null differ diff --git a/tile_cache/esri_sat/8/157/90.png b/tile_cache/esri_sat/8/157/90.png deleted file mode 100644 index 31585b6..0000000 Binary files a/tile_cache/esri_sat/8/157/90.png and /dev/null differ diff --git a/tile_cache/esri_sat/9/311/178.png b/tile_cache/esri_sat/9/311/178.png deleted file mode 100644 index be96b63..0000000 Binary files a/tile_cache/esri_sat/9/311/178.png and /dev/null differ diff --git a/tile_cache/esri_sat/9/311/179.png b/tile_cache/esri_sat/9/311/179.png deleted file mode 100644 index 43dcc71..0000000 Binary files a/tile_cache/esri_sat/9/311/179.png and /dev/null differ diff --git a/tile_cache/esri_sat/9/311/180.png b/tile_cache/esri_sat/9/311/180.png deleted file mode 100644 index 7fe9f27..0000000 Binary files a/tile_cache/esri_sat/9/311/180.png and /dev/null differ diff --git a/tile_cache/esri_sat/9/312/178.png b/tile_cache/esri_sat/9/312/178.png deleted file mode 100644 index ac997dc..0000000 Binary files a/tile_cache/esri_sat/9/312/178.png and /dev/null differ diff --git a/tile_cache/esri_sat/9/312/179.png b/tile_cache/esri_sat/9/312/179.png deleted file mode 100644 index 59148c1..0000000 Binary files a/tile_cache/esri_sat/9/312/179.png and /dev/null differ diff --git a/tile_cache/esri_sat/9/312/180.png b/tile_cache/esri_sat/9/312/180.png deleted file mode 100644 index 7b0ed31..0000000 Binary files a/tile_cache/esri_sat/9/312/180.png and /dev/null differ diff --git a/tile_cache/esri_sat/9/313/178.png b/tile_cache/esri_sat/9/313/178.png deleted file mode 100644 index 4398a83..0000000 Binary files a/tile_cache/esri_sat/9/313/178.png and /dev/null differ diff --git a/tile_cache/esri_sat/9/313/179.png b/tile_cache/esri_sat/9/313/179.png deleted file mode 100644 index 0da4264..0000000 Binary files a/tile_cache/esri_sat/9/313/179.png and /dev/null differ diff --git a/tile_cache/esri_sat/9/313/180.png b/tile_cache/esri_sat/9/313/180.png deleted file mode 100644 index b09e863..0000000 Binary files a/tile_cache/esri_sat/9/313/180.png and /dev/null differ diff --git a/tile_cache/google_sat/9/311/178.png b/tile_cache/google_sat/9/311/178.png deleted file mode 100644 index 54dd412..0000000 Binary files a/tile_cache/google_sat/9/311/178.png and /dev/null differ diff --git a/tile_cache/google_sat/9/311/179.png b/tile_cache/google_sat/9/311/179.png deleted file mode 100644 index 4c6c9f5..0000000 Binary files a/tile_cache/google_sat/9/311/179.png and /dev/null differ diff --git a/tile_cache/google_sat/9/311/180.png b/tile_cache/google_sat/9/311/180.png deleted file mode 100644 index 71d8fc6..0000000 Binary files a/tile_cache/google_sat/9/311/180.png and /dev/null differ diff --git a/tile_cache/google_sat/9/312/178.png b/tile_cache/google_sat/9/312/178.png deleted file mode 100644 index e09aa3e..0000000 Binary files a/tile_cache/google_sat/9/312/178.png and /dev/null differ diff --git a/tile_cache/google_sat/9/312/179.png b/tile_cache/google_sat/9/312/179.png deleted file mode 100644 index 6df1581..0000000 Binary files a/tile_cache/google_sat/9/312/179.png and /dev/null differ diff --git a/tile_cache/google_sat/9/312/180.png b/tile_cache/google_sat/9/312/180.png deleted file mode 100644 index af59923..0000000 Binary files a/tile_cache/google_sat/9/312/180.png and /dev/null differ diff --git a/tile_cache/google_sat/9/313/178.png b/tile_cache/google_sat/9/313/178.png deleted file mode 100644 index c9cf36f..0000000 Binary files a/tile_cache/google_sat/9/313/178.png and /dev/null differ diff --git a/tile_cache/google_sat/9/313/179.png b/tile_cache/google_sat/9/313/179.png deleted file mode 100644 index 588faad..0000000 Binary files a/tile_cache/google_sat/9/313/179.png and /dev/null differ diff --git a/tile_cache/google_sat/9/313/180.png b/tile_cache/google_sat/9/313/180.png deleted file mode 100644 index f5e24c9..0000000 Binary files a/tile_cache/google_sat/9/313/180.png and /dev/null differ diff --git a/tile_cache/osm/8/153/79.png b/tile_cache/osm/8/153/79.png deleted file mode 100644 index 91754d9..0000000 Binary files a/tile_cache/osm/8/153/79.png and /dev/null differ diff --git a/tile_cache/osm/8/153/80.png b/tile_cache/osm/8/153/80.png deleted file mode 100644 index 91754d9..0000000 Binary files a/tile_cache/osm/8/153/80.png and /dev/null differ diff --git a/tile_cache/osm/8/153/81.png b/tile_cache/osm/8/153/81.png deleted file mode 100644 index 91754d9..0000000 Binary files a/tile_cache/osm/8/153/81.png and /dev/null differ diff --git a/tile_cache/osm/8/154/79.png b/tile_cache/osm/8/154/79.png deleted file mode 100644 index 91754d9..0000000 Binary files a/tile_cache/osm/8/154/79.png and /dev/null differ diff --git a/tile_cache/osm/8/154/80.png b/tile_cache/osm/8/154/80.png deleted file mode 100644 index 91754d9..0000000 Binary files a/tile_cache/osm/8/154/80.png and /dev/null differ diff --git a/tile_cache/osm/8/154/81.png b/tile_cache/osm/8/154/81.png deleted file mode 100644 index 91754d9..0000000 Binary files a/tile_cache/osm/8/154/81.png and /dev/null differ diff --git a/tile_cache/osm/8/155/79.png b/tile_cache/osm/8/155/79.png deleted file mode 100644 index 91754d9..0000000 Binary files a/tile_cache/osm/8/155/79.png and /dev/null differ diff --git a/tile_cache/osm/8/155/80.png b/tile_cache/osm/8/155/80.png deleted file mode 100644 index 91754d9..0000000 Binary files a/tile_cache/osm/8/155/80.png and /dev/null differ diff --git a/tile_cache/osm/8/155/81.png b/tile_cache/osm/8/155/81.png deleted file mode 100644 index 91754d9..0000000 Binary files a/tile_cache/osm/8/155/81.png and /dev/null differ diff --git a/tile_cache/osm/9/311/178.png b/tile_cache/osm/9/311/178.png deleted file mode 100644 index 039d9bd..0000000 Binary files a/tile_cache/osm/9/311/178.png and /dev/null differ diff --git a/tile_cache/osm/9/311/179.png b/tile_cache/osm/9/311/179.png deleted file mode 100644 index 039d9bd..0000000 Binary files a/tile_cache/osm/9/311/179.png and /dev/null differ diff --git a/tile_cache/osm/9/311/180.png b/tile_cache/osm/9/311/180.png deleted file mode 100644 index 039d9bd..0000000 Binary files a/tile_cache/osm/9/311/180.png and /dev/null differ diff --git a/tile_cache/osm/9/312/178.png b/tile_cache/osm/9/312/178.png deleted file mode 100644 index 039d9bd..0000000 Binary files a/tile_cache/osm/9/312/178.png and /dev/null differ diff --git a/tile_cache/osm/9/312/179.png b/tile_cache/osm/9/312/179.png deleted file mode 100644 index 039d9bd..0000000 Binary files a/tile_cache/osm/9/312/179.png and /dev/null differ diff --git a/tile_cache/osm/9/312/180.png b/tile_cache/osm/9/312/180.png deleted file mode 100644 index 039d9bd..0000000 Binary files a/tile_cache/osm/9/312/180.png and /dev/null differ diff --git a/tile_cache/osm/9/313/178.png b/tile_cache/osm/9/313/178.png deleted file mode 100644 index 039d9bd..0000000 Binary files a/tile_cache/osm/9/313/178.png and /dev/null differ diff --git a/tile_cache/osm/9/313/179.png b/tile_cache/osm/9/313/179.png deleted file mode 100644 index 039d9bd..0000000 Binary files a/tile_cache/osm/9/313/179.png and /dev/null differ diff --git a/tile_cache/osm/9/313/180.png b/tile_cache/osm/9/313/180.png deleted file mode 100644 index 039d9bd..0000000 Binary files a/tile_cache/osm/9/313/180.png and /dev/null differ diff --git a/tile_cache/precipitation/8/148/73.png b/tile_cache/precipitation/8/148/73.png deleted file mode 100644 index 711b7fd..0000000 Binary files a/tile_cache/precipitation/8/148/73.png and /dev/null differ diff --git a/tile_cache/precipitation/8/148/74.png b/tile_cache/precipitation/8/148/74.png deleted file mode 100644 index 23cc57c..0000000 Binary files a/tile_cache/precipitation/8/148/74.png and /dev/null differ diff --git a/tile_cache/precipitation/8/148/75.png b/tile_cache/precipitation/8/148/75.png deleted file mode 100644 index f615941..0000000 Binary files a/tile_cache/precipitation/8/148/75.png and /dev/null differ diff --git a/tile_cache/precipitation/8/149/73.png b/tile_cache/precipitation/8/149/73.png deleted file mode 100644 index 8d026a8..0000000 Binary files a/tile_cache/precipitation/8/149/73.png and /dev/null differ diff --git a/tile_cache/precipitation/8/149/74.png b/tile_cache/precipitation/8/149/74.png deleted file mode 100644 index ac28437..0000000 Binary files a/tile_cache/precipitation/8/149/74.png and /dev/null differ diff --git a/tile_cache/precipitation/8/149/75.png b/tile_cache/precipitation/8/149/75.png deleted file mode 100644 index e69d17f..0000000 Binary files a/tile_cache/precipitation/8/149/75.png and /dev/null differ diff --git a/tile_cache/precipitation/8/150/73.png b/tile_cache/precipitation/8/150/73.png deleted file mode 100644 index 2924386..0000000 Binary files a/tile_cache/precipitation/8/150/73.png and /dev/null differ diff --git a/tile_cache/precipitation/8/150/74.png b/tile_cache/precipitation/8/150/74.png deleted file mode 100644 index 5b03ce0..0000000 Binary files a/tile_cache/precipitation/8/150/74.png and /dev/null differ diff --git a/tile_cache/precipitation/8/150/75.png b/tile_cache/precipitation/8/150/75.png deleted file mode 100644 index e066882..0000000 Binary files a/tile_cache/precipitation/8/150/75.png and /dev/null differ diff --git a/tile_cache/precipitation/8/153/79.png b/tile_cache/precipitation/8/153/79.png deleted file mode 100644 index 559670f..0000000 Binary files a/tile_cache/precipitation/8/153/79.png and /dev/null differ diff --git a/tile_cache/precipitation/8/153/80.png b/tile_cache/precipitation/8/153/80.png deleted file mode 100644 index 3cc512e..0000000 Binary files a/tile_cache/precipitation/8/153/80.png and /dev/null differ diff --git a/tile_cache/precipitation/8/153/81.png b/tile_cache/precipitation/8/153/81.png deleted file mode 100644 index 7609557..0000000 Binary files a/tile_cache/precipitation/8/153/81.png and /dev/null differ diff --git a/tile_cache/precipitation/8/154/79.png b/tile_cache/precipitation/8/154/79.png deleted file mode 100644 index d7962c6..0000000 Binary files a/tile_cache/precipitation/8/154/79.png and /dev/null differ diff --git a/tile_cache/precipitation/8/154/80.png b/tile_cache/precipitation/8/154/80.png deleted file mode 100644 index 709d3bc..0000000 Binary files a/tile_cache/precipitation/8/154/80.png and /dev/null differ diff --git a/tile_cache/precipitation/8/154/81.png b/tile_cache/precipitation/8/154/81.png deleted file mode 100644 index c8931de..0000000 Binary files a/tile_cache/precipitation/8/154/81.png and /dev/null differ diff --git a/tile_cache/precipitation/8/155/79.png b/tile_cache/precipitation/8/155/79.png deleted file mode 100644 index d5d990b..0000000 Binary files a/tile_cache/precipitation/8/155/79.png and /dev/null differ diff --git a/tile_cache/precipitation/8/155/80.png b/tile_cache/precipitation/8/155/80.png deleted file mode 100644 index 54e8972..0000000 Binary files a/tile_cache/precipitation/8/155/80.png and /dev/null differ diff --git a/tile_cache/precipitation/8/155/81.png b/tile_cache/precipitation/8/155/81.png deleted file mode 100644 index d5316e9..0000000 Binary files a/tile_cache/precipitation/8/155/81.png and /dev/null differ diff --git a/tile_cache/precipitation/8/155/88.png b/tile_cache/precipitation/8/155/88.png deleted file mode 100644 index a618ca0..0000000 Binary files a/tile_cache/precipitation/8/155/88.png and /dev/null differ diff --git a/tile_cache/precipitation/8/155/89.png b/tile_cache/precipitation/8/155/89.png deleted file mode 100644 index a4997cd..0000000 Binary files a/tile_cache/precipitation/8/155/89.png and /dev/null differ diff --git a/tile_cache/precipitation/8/155/90.png b/tile_cache/precipitation/8/155/90.png deleted file mode 100644 index 6645e00..0000000 Binary files a/tile_cache/precipitation/8/155/90.png and /dev/null differ diff --git a/tile_cache/precipitation/8/156/88.png b/tile_cache/precipitation/8/156/88.png deleted file mode 100644 index c61ab46..0000000 Binary files a/tile_cache/precipitation/8/156/88.png and /dev/null differ diff --git a/tile_cache/precipitation/8/156/89.png b/tile_cache/precipitation/8/156/89.png deleted file mode 100644 index 496ab1b..0000000 Binary files a/tile_cache/precipitation/8/156/89.png and /dev/null differ diff --git a/tile_cache/precipitation/8/156/90.png b/tile_cache/precipitation/8/156/90.png deleted file mode 100644 index 0415148..0000000 Binary files a/tile_cache/precipitation/8/156/90.png and /dev/null differ diff --git a/tile_cache/precipitation/8/157/88.png b/tile_cache/precipitation/8/157/88.png deleted file mode 100644 index 616c912..0000000 Binary files a/tile_cache/precipitation/8/157/88.png and /dev/null differ diff --git a/tile_cache/precipitation/8/157/89.png b/tile_cache/precipitation/8/157/89.png deleted file mode 100644 index a8eb5c6..0000000 Binary files a/tile_cache/precipitation/8/157/89.png and /dev/null differ diff --git a/tile_cache/precipitation/8/157/90.png b/tile_cache/precipitation/8/157/90.png deleted file mode 100644 index 03b9e73..0000000 Binary files a/tile_cache/precipitation/8/157/90.png and /dev/null differ diff --git a/tile_cache/temp/8/155/88.png b/tile_cache/temp/8/155/88.png deleted file mode 100644 index 68654ee..0000000 Binary files a/tile_cache/temp/8/155/88.png and /dev/null differ diff --git a/tile_cache/temp/8/155/89.png b/tile_cache/temp/8/155/89.png deleted file mode 100644 index 97babb7..0000000 Binary files a/tile_cache/temp/8/155/89.png and /dev/null differ diff --git a/tile_cache/temp/8/155/90.png b/tile_cache/temp/8/155/90.png deleted file mode 100644 index 6f2a4b0..0000000 Binary files a/tile_cache/temp/8/155/90.png and /dev/null differ diff --git a/tile_cache/temp/8/156/88.png b/tile_cache/temp/8/156/88.png deleted file mode 100644 index 62ce63d..0000000 Binary files a/tile_cache/temp/8/156/88.png and /dev/null differ diff --git a/tile_cache/temp/8/156/89.png b/tile_cache/temp/8/156/89.png deleted file mode 100644 index d1a9879..0000000 Binary files a/tile_cache/temp/8/156/89.png and /dev/null differ diff --git a/tile_cache/temp/9/311/178.png b/tile_cache/temp/9/311/178.png deleted file mode 100644 index 1342763..0000000 Binary files a/tile_cache/temp/9/311/178.png and /dev/null differ diff --git a/tile_cache/temp/9/311/179.png b/tile_cache/temp/9/311/179.png deleted file mode 100644 index 107446c..0000000 Binary files a/tile_cache/temp/9/311/179.png and /dev/null differ diff --git a/tile_cache/temp/9/311/180.png b/tile_cache/temp/9/311/180.png deleted file mode 100644 index 1bf3c53..0000000 Binary files a/tile_cache/temp/9/311/180.png and /dev/null differ diff --git a/tile_cache/temp/9/312/178.png b/tile_cache/temp/9/312/178.png deleted file mode 100644 index 5aa0a23..0000000 Binary files a/tile_cache/temp/9/312/178.png and /dev/null differ diff --git a/tile_cache/temp/9/312/179.png b/tile_cache/temp/9/312/179.png deleted file mode 100644 index f6c6bf3..0000000 Binary files a/tile_cache/temp/9/312/179.png and /dev/null differ diff --git a/tile_cache/temp/9/312/180.png b/tile_cache/temp/9/312/180.png deleted file mode 100644 index 9515c81..0000000 Binary files a/tile_cache/temp/9/312/180.png and /dev/null differ diff --git a/tile_cache/temp/9/313/178.png b/tile_cache/temp/9/313/178.png deleted file mode 100644 index 0c615db..0000000 Binary files a/tile_cache/temp/9/313/178.png and /dev/null differ diff --git a/tile_cache/temp/9/313/179.png b/tile_cache/temp/9/313/179.png deleted file mode 100644 index fcb8c84..0000000 Binary files a/tile_cache/temp/9/313/179.png and /dev/null differ diff --git a/tile_cache/temp/9/313/180.png b/tile_cache/temp/9/313/180.png deleted file mode 100644 index 47caf7e..0000000 Binary files a/tile_cache/temp/9/313/180.png and /dev/null differ diff --git a/ui/__init__.py b/ui/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/ui/dialogs/__init__.py b/ui/dialogs/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/ui/main_window.py b/ui/main_window.py deleted file mode 100644 index e69de29..0000000