import json # Загрузка данных о регионах из внешнего JSON def load_region_data(data_file="regions_data.json"): try: with open(data_file, "r", encoding="utf-8") as f: return json.load(f).get("regions", []) except FileNotFoundError: print(f"Файл {data_file} не найден.") return [] # Функция для добавления городов в GeoJSON def add_cities_to_geojson(input_geojson="russia_2.geojson", output_geojson="updated_russia_2.geojson"): # Загрузка исходного GeoJSON файла with open(input_geojson, "r", encoding="utf-8") as f: geo_data = json.load(f) # Загрузка данных о регионах region_data = load_region_data() region_map = {region["id"]: region for region in region_data} for feature in geo_data.get("features", []): # Обработка данных региона region_id = feature["properties"].get("id") region_info = region_map.get(region_id, {}) # Добавление информации о главном городе major_city = region_info.get("major_cities", None) if major_city: # Примерные координаты (замените на реальные для каждого города, если они известны) city_coords = [[-100.0, 60.0]] # Заглушка, замените на реальные координаты для каждого города city_feature = { "type": "Feature", "geometry": { "type": "Point", "coordinates": city_coords }, "properties": { "name": major_city, "region_id": region_id } } # Добавляем город в список фич geo_data["features"].append(city_feature) # Запись обновленного GeoJSON файла with open(output_geojson, "w", encoding="utf-8") as f: json.dump(geo_data, f, ensure_ascii=False, indent=4) print(f"Файл обновлен и сохранен как {output_geojson}") # Запуск функции add_cities_to_geojson()