diff --git a/Makefile b/Makefile index ec7003daa..139f1dc71 100644 --- a/Makefile +++ b/Makefile @@ -3,7 +3,7 @@ GODOT := $(shell command -v godot4 2>/dev/null || command -v godot 2>/dev/null) .PHONY: help setup build check-protocol client server game stop test lint lint-python setup-venv ci ci-client ci-server clean \ decisions-sync decisions-coverage decisions-active decisions-orphan \ db-backup db-install validate-content check-fact-ids setup-hooks \ - audit atlas-verify economy-db \ + audit atlas-verify economy-db atlas-generate \ pre-pr pre-pr-lint pre-pr-build pre-pr-test pre-pr-validate pre-pr-fixtures \ pre-pr-server pre-pr-client pre-pr-content \ fixtures-client fixtures-gauntlet golden-diff golden-update \ @@ -56,6 +56,7 @@ help: @echo " make star-map-data Regenerate client/data/star_map_data.json from systems.db + wiki" @echo " make check-star-map Assert star_map_data.json is up to date (part of pre-pr-client)" @echo " make economy-db Import economics data into systems.db (TOML/JSON → SQLite)" + @echo " make atlas-generate Generate atlas city/road/rail markers for all inhabited bodies" @echo " make fixtures-client Generate GDScript->Rust cross-encoder fixtures (#475)" @echo " make golden-diff Show diff if golden file output has changed" @echo " make golden-update Regenerate golden file and stage for commit" @@ -329,6 +330,20 @@ db-install: economy-db: ## Import economics data (commodities, chains, gate links) into systems.db @python3 tooling/economy-db/import_economics.py +atlas-generate: ## Generate atlas markers (cities, roads, rail) for all inhabited bodies (#832) + @# Loud guard: generate_atlas.py reads bodies with a non-NULL terrain_reference. + @# If populate_terrain_reference.py has not run on a fresh DB, the generator + @# silently processes zero bodies and exits 0 — fail fast instead. + @count=$$(python3 -c "import sqlite3; c = sqlite3.connect('server/data/systems.db'); print(c.execute('SELECT COUNT(*) FROM bodies WHERE terrain_reference IS NOT NULL').fetchone()[0])"); \ + if [ "$$count" = "0" ]; then \ + echo "ERROR: no bodies have terrain_reference populated yet."; \ + echo "Run: python3 tooling/planet-gen/populate_terrain_reference.py"; \ + echo "(This is a prerequisite for atlas-generate — see D-191 §9 pipeline order.)"; \ + exit 1; \ + fi; \ + echo " [guard] $$count bodies with terrain_reference — proceeding." + @python3 tooling/planet-gen/generate_atlas.py --seed 42 + econ-sim: ## Build the economics simulation binary (Layer 1+2: Leontief + tâtonnement trade) @cargo build --manifest-path tooling/econ-sim/Cargo.toml --release @echo "Built: tooling/econ-sim/target/release/econ-sim" diff --git a/decisions/architecture.md b/decisions/architecture.md index d74707fdf..8540c7a06 100644 --- a/decisions/architecture.md +++ b/decisions/architecture.md @@ -710,7 +710,21 @@ Technical foundation decisions that constrain implementation: engine, client-ser - Maps to D-181 signal visibility ladder **8. Settlement Data Model** - - markers.json schema per body: `cities` (name, lat/lon, population_tier, primary_function, gate_terminal, continent_id), `roads` (path polylines, connects), `railroads` (path polylines, connects), `pois` (name, kind, position), plus existing rivers/oceans/mountains with names filled + - **Amendment (2026-04-15):** The original §8 (below) described marker positions as lat/lon objects and city records keyed by `population_tier`/`primary_function`/`gate_terminal`/`continent_id`. That shape was aspirational — neither the generator nor the hand-authored templates ever emitted it. Both ended up writing pixel-space row/col arrays against a `512 × 256` storage grid, and PR #129 canonizes that shape so the code and the decision stop drifting. The original prose is preserved immediately below; the current shape follows. + - **Original (2026-04-10, superseded):** markers.json schema per body: `cities` (name, lat/lon, population_tier, primary_function, gate_terminal, continent_id), `roads` (path polylines, connects), `railroads` (path polylines, connects), `pois` (name, kind, position), plus existing rivers/oceans/mountains with names filled. Population tier → city count: `floor(log10(pop/1M))`, modified by `settlement_pattern`. Gate terminal POI at largest population center, sometimes scattered to a smaller one. Moons: same depth as planets, scale with population. + - **Current canonical format:** markers.json is stored in heightmap pixel space. Every marker file declares a `grid: { w, h }` header — the generator, the 6 hand-authored templates (Lendel, Edict, Vuurkloof, Røros, Cairnside, Estrade), and all 2394 procedural seed files ship `{"w": 512, "h": 256}`. Every position is a two-element **array** `[row, col]` of integer pixels into that grid, where `row ∈ [0, h)` and `col ∈ [0, w)` (row is the first axis to match NumPy convention and the flood-fill / A* / cost-grid code that `tooling/planet-gen/` already runs in). Polyline geometry (`roads[*].path`, `railroads[*].path`, `rivers[*].path`) is `[[row, col], [row, col], ...]`. + - **markers.json top-level schema:** + - `grid`: `{"w": 512, "h": 256}` + - `cities[]`: `{id, name, kind, center: [row, col], population}` — `kind` is `capital` or `city`; `name` is empty when awaiting gemma_naming.py (#833). + - `roads[]`: `{id, name, kind, path: [[row, col], …]}` — `kind` is `commercial` by default for generated roads; hand-authored roads use `highway`, `rural`, etc. + - `railroads[]`: same shape as `roads[]`; generated default `kind` is `passenger_freight`. + - `pois[]`: `{id, name, kind, center: [row, col]}` — generated POIs are `kind: "transit"`; hand-authored POIs use `institutional`, `cultural`, `corporate`, etc. + - `rivers[]`: `{id, name, path: [[row, col], …]}` + - `oceans[]`: `{id, name, kind, center: [row, col], area_fraction}` where `kind` is `lake` | `sea` | `ocean`. + - `mountain_ranges[]`: `{id, name, center: [row, col], peak: [row, col], area_cells}` + - Pixel space is what the heightmap analysis (flood-fill, A* cost grid, city placement) natively operates on; it is deterministic and avoids double-conversion through a projection. + - Lat/lon strings are a **display-time derivation**, not a storage format. The atlas UI converts `[row, col]` + `grid: {w, h}` into an equirectangular `lat°N/S, lon°E/W` string for the city data panel and hover tooltips, using the body's radius for any great-circle distances it needs. This keeps the immersive surface without paying conversion cost in the generator, the DB, or the diff churn on hand-authored files. + - Atlas DB index (`atlas_cities`, `atlas_roads`, `atlas_railroads`, `atlas_pois`, `atlas_rivers`, `atlas_oceans`, `atlas_mountain_ranges`, `atlas_body_grids`) mirrors these scalar fields row-by-row for implant-app and development queries; polyline geometry stays in the JSON files next to the heightmaps. - Population tier → city count: `floor(log10(pop/1M))`, modified by `settlement_pattern` - Gate terminal POI: at largest population center, sometimes scattered to a smaller one - Moons: same depth as planets, scale with population @@ -737,4 +751,4 @@ Technical foundation decisions that constrain implementation: engine, client-ser --- -*53 decisions. Last updated: 2026-04-10 (D-191 Atlas of the Reach — Phase 3 scope and pipeline)* +*53 decisions. Last updated: 2026-04-15 (D-191 §8 amendment — markers.json canonical format is pixel space `[row, col]` arrays against a `512 × 256` grid, following the D-094 amendment pattern; lat/lon is a display-time derivation)* diff --git a/server/data/systems-schema.sql b/server/data/systems-schema.sql index 4e45a8d3b..796b7933c 100644 --- a/server/data/systems-schema.sql +++ b/server/data/systems-schema.sql @@ -167,7 +167,16 @@ CREATE TABLE IF NOT EXISTS bodies ( industrial_corridor TEXT, -- MVG, Gate_Corp, DSMC, Prometheus, Agricultural_Syndic -- Rendering - terrain_reference TEXT, -- heightmap path when authored, NULL otherwise + -- terrain_reference: repo-root-relative path to the body's heightmap PNG. + -- Convention (enforced by populate_terrain_reference.py and assumed by + -- generate_atlas.py and the Godot client's atlas scene loader): + -- wiki/star-systems//bodies//heightmap.png + -- where = system_id with spaces replaced by hyphens + -- (e.g. "GJ 244A" → "GJ-244A"). NULL means no heightmap has been + -- generated for this body yet. The three downstream pipelines + -- (populate, atlas generator, client loader) all assume this format — + -- changing it requires updating all three sites together. + terrain_reference TEXT, screenshot_path TEXT, -- planetary shader screenshot path updated_at TEXT DEFAULT (datetime('now')) @@ -276,6 +285,169 @@ CREATE TABLE IF NOT EXISTS corp_presence ( PRIMARY KEY (corp_id, location_id) ); +-- Brand layer (D-189) — administered-price layer above commodity tâtonnement. +-- Brands consume commodities as demand nodes; they are NOT commodities (D-185). + +CREATE TABLE IF NOT EXISTS brand_products ( + brand_product_id TEXT PRIMARY KEY, + corp_id TEXT NOT NULL REFERENCES corporations(corp_id), + product_name TEXT NOT NULL, + brand_category TEXT NOT NULL, -- terroir|heritage_craft|tech_premium|cultural|service_premium|commodity_branded|design_heritage|platform_catalogue + value_trajectory TEXT NOT NULL, -- appreciating|depreciating|timeless + scarcity_class TEXT NOT NULL, -- capped|constrained|scalable|unlimited + product_subcategory TEXT, + base_premium_multiplier REAL NOT NULL DEFAULT 1.0, + premium_floor REAL NOT NULL DEFAULT 0.0, + origin_system TEXT REFERENCES star_systems(system_id), + terroir_locked INTEGER NOT NULL DEFAULT 0, -- boolean: production bound to origin_system + currency_denomination TEXT NOT NULL DEFAULT 'tractus', -- tractus|mark|mixed|sol_adjacent + shadow_viable INTEGER NOT NULL DEFAULT 0, -- boolean: circulates in shadow economy + brand_tier TEXT NOT NULL, -- halo|volume + halo_brand_id TEXT REFERENCES brand_products(brand_product_id), -- NULL for halo tier + updated_at TEXT DEFAULT (datetime('now')) +); + +CREATE TABLE IF NOT EXISTS brand_inputs ( + brand_product_id TEXT NOT NULL REFERENCES brand_products(brand_product_id), + commodity_id TEXT NOT NULL REFERENCES commodities(commodity_id), + quantity REAL NOT NULL, + PRIMARY KEY (brand_product_id, commodity_id) +); + +-- Fiscal parameters per star system (D-189 section 5 + section 6) +CREATE TABLE IF NOT EXISTS system_fiscal ( + system_id TEXT PRIMARY KEY REFERENCES star_systems(system_id), + corp_tax_rate REAL NOT NULL DEFAULT 0.22, -- 0.0–1.0 + collection_efficiency REAL NOT NULL DEFAULT 1.0, -- derived: 1.0 - shadow_intensity × 0.6 + updated_at TEXT DEFAULT (datetime('now')) +); + +-- Phase 2: passive corp health tracking (D-189 section 8) +CREATE TABLE IF NOT EXISTS corp_financial_state ( + corp_id TEXT PRIMARY KEY REFERENCES corporations(corp_id), + health_metric REAL NOT NULL DEFAULT 1.0, -- 0.0 (distressed) to 1.0 (healthy) + updated_at TEXT DEFAULT (datetime('now')) +); + +-- Phase 3 lifecycle state machine stub (D-189 section 8) — schema correct, not driven yet +CREATE TABLE IF NOT EXISTS corp_lifecycle_events ( + event_id INTEGER PRIMARY KEY AUTOINCREMENT, + corp_id TEXT NOT NULL REFERENCES corporations(corp_id), + event_type TEXT NOT NULL, -- Founded|Growing|Active|Distressed|Acquired|Dissolved + event_tick INTEGER NOT NULL DEFAULT 0, + event_data TEXT, -- JSON blob for future lifecycle detail + created_at TEXT DEFAULT (datetime('now')) +); + +-- BEGIN ATLAS INDEX (D-191 §8, #832) -- DO NOT EDIT THE MARKER COMMENTS +-- Atlas index — scalar metadata mirror of markers.json files. +-- Source of truth is wiki/star-systems/.../markers.json (next to the heightmap); +-- these tables exist so the atlas implant app and development queries don't +-- have to scan hundreds of JSON files. Polyline geometry stays in the files — +-- the DB only stores scalar/filterable fields + `point_count` as a rough length +-- proxy. Populated and refreshed by tooling/planet-gen/generate_atlas.py, which +-- extracts this entire block (between BEGIN/END ATLAS INDEX markers) from this +-- file at runtime so the DDL lives in exactly one place. + +-- Per-body grid dimensions (one row per body that has a markers.json). +-- Lets any query interpret the pixel coordinates below without touching disk. +CREATE TABLE IF NOT EXISTS atlas_body_grids ( + body_id TEXT PRIMARY KEY REFERENCES bodies(body_id) ON DELETE CASCADE, + grid_w INTEGER NOT NULL, + grid_h INTEGER NOT NULL, + updated_at TEXT DEFAULT (datetime('now')) +); + +CREATE TABLE IF NOT EXISTS atlas_cities ( + city_id TEXT PRIMARY KEY, -- "/" e.g. "GJ380c/city_0" + body_id TEXT NOT NULL REFERENCES bodies(body_id) ON DELETE CASCADE, + local_id TEXT NOT NULL, -- "city_0", "city_1" — matches markers.json id + name TEXT NOT NULL DEFAULT '', + kind TEXT NOT NULL, -- capital|city + center_row INTEGER NOT NULL, + center_col INTEGER NOT NULL, + population INTEGER NOT NULL DEFAULT 0, + updated_at TEXT DEFAULT (datetime('now')) +); + +CREATE TABLE IF NOT EXISTS atlas_roads ( + road_id TEXT PRIMARY KEY, -- "/" + body_id TEXT NOT NULL REFERENCES bodies(body_id) ON DELETE CASCADE, + local_id TEXT NOT NULL, + name TEXT NOT NULL DEFAULT '', + kind TEXT NOT NULL, -- commercial|highway|rural|... + point_count INTEGER NOT NULL, -- path length proxy (full geometry in markers.json) + updated_at TEXT DEFAULT (datetime('now')) +); + +CREATE TABLE IF NOT EXISTS atlas_railroads ( + railroad_id TEXT PRIMARY KEY, -- "/" + body_id TEXT NOT NULL REFERENCES bodies(body_id) ON DELETE CASCADE, + local_id TEXT NOT NULL, + name TEXT NOT NULL DEFAULT '', + kind TEXT NOT NULL, -- passenger_freight|freight|maglev|... + point_count INTEGER NOT NULL, + updated_at TEXT DEFAULT (datetime('now')) +); + +CREATE TABLE IF NOT EXISTS atlas_pois ( + poi_id TEXT PRIMARY KEY, -- "/" + body_id TEXT NOT NULL REFERENCES bodies(body_id) ON DELETE CASCADE, + local_id TEXT NOT NULL, + name TEXT NOT NULL DEFAULT '', + kind TEXT NOT NULL, -- transit|institutional|cultural|... + center_row INTEGER NOT NULL, + center_col INTEGER NOT NULL, + updated_at TEXT DEFAULT (datetime('now')) +); + +CREATE TABLE IF NOT EXISTS atlas_rivers ( + river_id TEXT PRIMARY KEY, -- "/" + body_id TEXT NOT NULL REFERENCES bodies(body_id) ON DELETE CASCADE, + local_id TEXT NOT NULL, + name TEXT NOT NULL DEFAULT '', -- empty for untitled procedural rivers + point_count INTEGER NOT NULL, + updated_at TEXT DEFAULT (datetime('now')) +); + +CREATE TABLE IF NOT EXISTS atlas_oceans ( + water_id TEXT PRIMARY KEY, -- "/" + body_id TEXT NOT NULL REFERENCES bodies(body_id) ON DELETE CASCADE, + local_id TEXT NOT NULL, + name TEXT NOT NULL DEFAULT '', + kind TEXT NOT NULL, -- lake|sea|ocean + center_row INTEGER NOT NULL, + center_col INTEGER NOT NULL, + area_fraction REAL NOT NULL DEFAULT 0.0, -- fraction of heightmap area covered + updated_at TEXT DEFAULT (datetime('now')) +); + +CREATE TABLE IF NOT EXISTS atlas_mountain_ranges ( + range_id TEXT PRIMARY KEY, -- "/" + body_id TEXT NOT NULL REFERENCES bodies(body_id) ON DELETE CASCADE, + local_id TEXT NOT NULL, + name TEXT NOT NULL DEFAULT '', + center_row INTEGER NOT NULL, + center_col INTEGER NOT NULL, + peak_row INTEGER NOT NULL, + peak_col INTEGER NOT NULL, + area_cells INTEGER NOT NULL DEFAULT 0, + updated_at TEXT DEFAULT (datetime('now')) +); + +CREATE INDEX IF NOT EXISTS idx_atlas_cities_body ON atlas_cities(body_id); +CREATE INDEX IF NOT EXISTS idx_atlas_cities_kind ON atlas_cities(kind); +CREATE INDEX IF NOT EXISTS idx_atlas_cities_population ON atlas_cities(population); +CREATE INDEX IF NOT EXISTS idx_atlas_cities_name ON atlas_cities(name); +CREATE INDEX IF NOT EXISTS idx_atlas_roads_body ON atlas_roads(body_id); +CREATE INDEX IF NOT EXISTS idx_atlas_railroads_body ON atlas_railroads(body_id); +CREATE INDEX IF NOT EXISTS idx_atlas_pois_body ON atlas_pois(body_id); +CREATE INDEX IF NOT EXISTS idx_atlas_pois_kind ON atlas_pois(kind); +CREATE INDEX IF NOT EXISTS idx_atlas_rivers_body ON atlas_rivers(body_id); +CREATE INDEX IF NOT EXISTS idx_atlas_oceans_body ON atlas_oceans(body_id); +CREATE INDEX IF NOT EXISTS idx_atlas_mountain_ranges_body ON atlas_mountain_ranges(body_id); +-- END ATLAS INDEX (D-191 §8, #832) + -- Indexes -- astronomical_id removed: system_id IS the GJ catalog number CREATE INDEX IF NOT EXISTS idx_star_systems_sector ON star_systems(geographic_sector); @@ -304,3 +476,10 @@ CREATE INDEX IF NOT EXISTS idx_production_chains_output ON production_chains(out CREATE INDEX IF NOT EXISTS idx_chain_inputs_commodity ON chain_inputs(input_commodity_id); CREATE INDEX IF NOT EXISTS idx_corp_presence_corp ON corp_presence(corp_id); CREATE INDEX IF NOT EXISTS idx_corp_presence_location ON corp_presence(location_id); +-- Brand layer indexes (D-189 section 5 — composite for UI queries) +CREATE INDEX IF NOT EXISTS idx_brand_products_corp_category ON brand_products(corp_id, brand_category); +CREATE INDEX IF NOT EXISTS idx_brand_products_origin ON brand_products(origin_system); +CREATE INDEX IF NOT EXISTS idx_brand_products_tier ON brand_products(brand_tier); +CREATE INDEX IF NOT EXISTS idx_brand_inputs_commodity ON brand_inputs(commodity_id); +CREATE INDEX IF NOT EXISTS idx_corp_lifecycle_events_corp ON corp_lifecycle_events(corp_id); +-- Atlas index (D-191 §8, #832) — see BEGIN/END ATLAS INDEX block above. diff --git a/server/data/systems.db b/server/data/systems.db index 178080bf0..34ce951c9 100644 Binary files a/server/data/systems.db and b/server/data/systems.db differ diff --git a/server/src/main.rs b/server/src/main.rs index 3a4574b45..c386848b6 100644 --- a/server/src/main.rs +++ b/server/src/main.rs @@ -147,7 +147,7 @@ fn main() { let mut app = App::new(); settled_reach_server::tick_phases::TickPhase::configure(&mut app); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed }); app.add_plugins(BridgePlugin); app.add_plugins(settled_reach_server::knowledge::KnowledgePlugin); app.add_plugins(settled_reach_server::npc::NpcPlugin); @@ -176,7 +176,18 @@ fn main() { app.insert_resource(BridgeResource::new(bridge)); app.insert_resource(HandshakeState::Complete); - // Override SimRng with the chosen seed (SimulationPlugin defaults to seed 0) + // SimulationPlugin { seed } already inserts SimRng with the correct seed + // during plugin build. We re-insert here as a defensive override for one + // specific ordering risk: any future plugin that registers *before* + // SimulationPlugin in `App::add_plugins` order (e.g. a pre-simulation + // observability plugin) and consumes SimRng at plugin build time would + // see a stale resource that was never seeded from StartupMessage. This + // `insert_resource` call happens AFTER all plugins have built, so it + // always overwrites whatever SimRng is currently in the world with the + // authoritative value from the StartupMessage. If you remove this line, + // also audit every `app.add_plugins(...)` call in this file and in + // `SimulationPlugin::build` for plugins that touch SimRng, and verify + // none of them run before SimulationPlugin's seeding logic. #826 thread. app.insert_resource(settled_reach_server::simulation::rng::SimRng::new(seed)); // Initialize empty line pool index (populated by generator pipeline in v0.2). @@ -359,7 +370,7 @@ fn dump_schedule_graph() { let mut app = App::new(); settled_reach_server::tick_phases::TickPhase::configure(&mut app); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed: 0 }); app.add_plugins(BridgePlugin); app.add_plugins(settled_reach_server::knowledge::KnowledgePlugin); app.add_plugins(settled_reach_server::npc::NpcPlugin); diff --git a/server/src/simulation/economy.rs b/server/src/simulation/economy.rs index 5cdad056a..928bf0134 100644 --- a/server/src/simulation/economy.rs +++ b/server/src/simulation/economy.rs @@ -358,9 +358,10 @@ pub fn try_load_economy(run_seed: u64) -> Option<(EconSimResource, EconStateReso match Simulation::load_auto(run_seed) { Ok(sim) => { tracing::info!( + econ_seed = run_seed, commodities = sim.economy().commodities.len(), active_nodes = sim.nodes.len(), - "Economy simulation loaded" + "Economy simulation loaded with seed" ); Some((EconSimResource::new(sim), EconStateResource::default())) } diff --git a/server/src/simulation/economy_plugin.rs b/server/src/simulation/economy_plugin.rs index 9076e864f..23ab02f5f 100644 --- a/server/src/simulation/economy_plugin.rs +++ b/server/src/simulation/economy_plugin.rs @@ -8,13 +8,17 @@ use bevy_ecs::schedule::IntoScheduleConfigs; use crate::tick_phases::TickPhase; -pub struct EconomyPlugin; +pub struct EconomyPlugin { + /// World seed from `StartupMessage` (#826). Passed to `try_load_economy` so the + /// tâtonnement simulation is seeded deterministically from the client's world seed. + pub seed: u64, +} impl Plugin for EconomyPlugin { fn build(&self, app: &mut App) { // Economy simulation (#821, D-031) — loaded once at startup, no-op when DB absent. - // Uses seed 0 for now; will be threaded through StartupMessage world seed (#826). - if let Some((econ_sim, econ_state)) = super::economy::try_load_economy(0) { + // Seed comes from StartupMessage.world_seed, threaded via SimulationPlugin (#826). + if let Some((econ_sim, econ_state)) = super::economy::try_load_economy(self.seed) { app.insert_resource(econ_sim).insert_resource(econ_state); } // EconQueryBuffer: always registered so EconStateQuery PlayerActions are accepted diff --git a/server/src/simulation/mod.rs b/server/src/simulation/mod.rs index 0956ccd74..944e65e78 100644 --- a/server/src/simulation/mod.rs +++ b/server/src/simulation/mod.rs @@ -50,7 +50,12 @@ pub mod zone; /// Each sub-plugin owns its domain's systems, resources, and phase assignment. /// No system registration happens here — only sub-plugin composition and /// shared resources needed by multiple sub-plugins. -pub struct SimulationPlugin; +/// +/// `seed` is threaded through to [`economy_plugin::EconomyPlugin`] so the +/// economy simulation uses the world seed from `StartupMessage` (#826). +pub struct SimulationPlugin { + pub seed: u64, +} impl Plugin for SimulationPlugin { fn build(&self, app: &mut App) { @@ -59,7 +64,7 @@ impl Plugin for SimulationPlugin { // Shared resources needed by multiple sub-plugins. // Each sub-plugin inits its own domain-specific resources. - app.insert_resource(rng::SimRng::new(0)) + app.insert_resource(rng::SimRng::new(self.seed)) .init_resource::() .init_resource::() // Triangle escalation event queue (#250) — consumed by storyteller + npc plugins @@ -81,7 +86,7 @@ impl Plugin for SimulationPlugin { app.add_plugins(input_plugin::InputPlugin); app.add_plugins(movement_plugin::MovementPlugin); app.add_plugins(social_plugin::SocialPlugin); - app.add_plugins(economy_plugin::EconomyPlugin); + app.add_plugins(economy_plugin::EconomyPlugin { seed: self.seed }); // Background worker tick integration (#843 Part C) app.add_systems( diff --git a/server/src/test_world/mod.rs b/server/src/test_world/mod.rs index 9916aae9a..b70705d0a 100644 --- a/server/src/test_world/mod.rs +++ b/server/src/test_world/mod.rs @@ -695,7 +695,7 @@ mod tests { #[test] fn gauntlet_setup_creates_expected_entities() { let mut app = App::new(); - app.add_plugins(crate::simulation::SimulationPlugin); + app.add_plugins(crate::simulation::SimulationPlugin { seed: 0 }); app.add_plugins(crate::knowledge::KnowledgePlugin); app.add_plugins(crate::npc::NpcPlugin); @@ -718,7 +718,7 @@ mod tests { #[test] fn hub_center_is_walkable() { let mut app = App::new(); - app.add_plugins(crate::simulation::SimulationPlugin); + app.add_plugins(crate::simulation::SimulationPlugin { seed: 0 }); app.add_plugins(crate::knowledge::KnowledgePlugin); app.add_plugins(crate::npc::NpcPlugin); @@ -735,7 +735,7 @@ mod tests { #[test] fn occlusion_north_wall_blocks() { let mut app = App::new(); - app.add_plugins(crate::simulation::SimulationPlugin); + app.add_plugins(crate::simulation::SimulationPlugin { seed: 0 }); app.add_plugins(crate::knowledge::KnowledgePlugin); app.add_plugins(crate::npc::NpcPlugin); @@ -754,7 +754,7 @@ mod tests { #[test] fn corridor_connects_hub_to_occlusion() { let mut app = App::new(); - app.add_plugins(crate::simulation::SimulationPlugin); + app.add_plugins(crate::simulation::SimulationPlugin { seed: 0 }); app.add_plugins(crate::knowledge::KnowledgePlugin); app.add_plugins(crate::npc::NpcPlugin); @@ -771,7 +771,7 @@ mod tests { #[test] fn stable_id_ranges_match_spec() { let mut app = App::new(); - app.add_plugins(crate::simulation::SimulationPlugin); + app.add_plugins(crate::simulation::SimulationPlugin { seed: 0 }); app.add_plugins(crate::knowledge::KnowledgePlugin); app.add_plugins(crate::npc::NpcPlugin); diff --git a/server/tests/archetype_monologue.rs b/server/tests/archetype_monologue.rs index b5b1e6fe2..b1fb8669a 100644 --- a/server/tests/archetype_monologue.rs +++ b/server/tests/archetype_monologue.rs @@ -78,7 +78,7 @@ mod gauntlet_integration { /// Build a minimal Gauntlet app with the given archetype and run one tick. fn boot_gauntlet(archetype: CharacterArchetype) -> App { let mut app = App::new(); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed: 0 }); test_world::setup_gauntlet(&mut app, archetype); app.update(); app diff --git a/server/tests/cross_room_transitions.rs b/server/tests/cross_room_transitions.rs index c4b086a40..92cdd1f95 100644 --- a/server/tests/cross_room_transitions.rs +++ b/server/tests/cross_room_transitions.rs @@ -221,7 +221,7 @@ fn t3_pause_mid_corridor_discards_movement_and_resumes() { use settled_reach_server::simulation::SimulationPlugin; let mut app = App::new(); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed: 0 }); // 200×200 walkability map covers the full gauntlet coordinate space. app.insert_resource(WalkabilityMap::new(200, 200, 1)); diff --git a/server/tests/determinism.rs b/server/tests/determinism.rs index 78320afb3..b8ad0285e 100644 --- a/server/tests/determinism.rs +++ b/server/tests/determinism.rs @@ -38,7 +38,7 @@ use settled_reach_server::simulation::SimulationPlugin; /// Snapshots are written to SnapshotBuffer for direct inspection. fn build_deterministic_app(seed: u64) -> App { let mut app = App::new(); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed }); app.add_plugins(BridgePlugin); app.add_plugins(KnowledgePlugin); app.add_plugins(NpcPlugin); diff --git a/server/tests/error_handling.rs b/server/tests/error_handling.rs index 96ebbecc2..7db6a3a55 100644 --- a/server/tests/error_handling.rs +++ b/server/tests/error_handling.rs @@ -46,7 +46,7 @@ fn malformed_input_produces_sim_error_and_server_continues() { let bridge = TcpBridge::accept_on(listener).expect("accept connection"); let mut app = App::new(); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed: 0 }); app.add_plugins(BridgePlugin); app.add_plugins(KnowledgePlugin); app.init_resource::(); @@ -177,7 +177,7 @@ fn state_hash_populated_in_snapshot() { let bridge = TcpBridge::accept_on(listener).expect("accept connection"); let mut app = App::new(); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed: 0 }); app.add_plugins(BridgePlugin); app.add_plugins(KnowledgePlugin); app.init_resource::(); diff --git a/server/tests/game_loop.rs b/server/tests/game_loop.rs index 8e10fcf81..61e903de2 100644 --- a/server/tests/game_loop.rs +++ b/server/tests/game_loop.rs @@ -28,7 +28,7 @@ fn player_moves_north_through_full_pipeline() { // Build app let mut app = App::new(); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed: 0 }); app.add_plugins(BridgePlugin); app.add_plugins(KnowledgePlugin); app.init_resource::(); diff --git a/server/tests/gen_gauntlet_fixtures.rs b/server/tests/gen_gauntlet_fixtures.rs index beb59243f..aa6cb05d1 100644 --- a/server/tests/gen_gauntlet_fixtures.rs +++ b/server/tests/gen_gauntlet_fixtures.rs @@ -39,7 +39,7 @@ const FIXTURE_DIR: &str = "../tests/fixtures/gauntlet"; /// Identical to what the server runs in --test-mode. fn build_gauntlet(seed: u64) -> App { let mut app = App::new(); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed: 0 }); app.add_plugins(BridgePlugin); app.add_plugins(KnowledgePlugin); app.add_plugins(NpcPlugin); diff --git a/server/tests/golden_suite.rs b/server/tests/golden_suite.rs index ea4afba00..9b025f575 100644 --- a/server/tests/golden_suite.rs +++ b/server/tests/golden_suite.rs @@ -46,7 +46,7 @@ const NUM_TICKS: usize = 10; /// Mirrors the setup in determinism.rs / main.rs. fn build_app(seed: u64) -> App { let mut app = App::new(); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed: 0 }); app.add_plugins(BridgePlugin); app.add_plugins(KnowledgePlugin); app.add_plugins(NpcPlugin); diff --git a/server/tests/movement.rs b/server/tests/movement.rs index 27c11fe57..f6b0766d1 100644 --- a/server/tests/movement.rs +++ b/server/tests/movement.rs @@ -6,7 +6,7 @@ use settled_reach_server::simulation::SimulationPlugin; #[test] fn movement_validated_within_app() { let mut app = App::new(); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed: 0 }); // Insert a walkability map with one blocked tile let mut map = WalkabilityMap::new(10, 10, 1); @@ -56,7 +56,7 @@ fn movement_validated_within_app() { #[test] fn entity_collision_blocks_movement() { let mut app = App::new(); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed: 0 }); app.insert_resource(WalkabilityMap::new(10, 10, 1)); // Stationary entity at (5,4) diff --git a/server/tests/perf_bench.rs b/server/tests/perf_bench.rs index b0e440035..6cdfd0247 100644 --- a/server/tests/perf_bench.rs +++ b/server/tests/perf_bench.rs @@ -66,7 +66,7 @@ fn perf_tick_timing() { let bridge = TcpBridge::accept_on(listener).expect("accept connection"); let mut app = App::new(); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed: 0 }); app.add_plugins(BridgePlugin); app.add_plugins(settled_reach_server::knowledge::KnowledgePlugin); app.add_plugins(settled_reach_server::npc::NpcPlugin); diff --git a/server/tests/smoke.rs b/server/tests/smoke.rs index 9420d4216..96d32cbd6 100644 --- a/server/tests/smoke.rs +++ b/server/tests/smoke.rs @@ -7,7 +7,7 @@ use settled_reach_server::simulation::SimulationPlugin; #[test] fn world_boots_and_ticks() { let mut app = App::new(); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed: 0 }); // Verify initial state let time = app.world().resource::(); diff --git a/server/tests/tell_escalation.rs b/server/tests/tell_escalation.rs index 1f41b93f6..a30f75555 100644 --- a/server/tests/tell_escalation.rs +++ b/server/tests/tell_escalation.rs @@ -112,7 +112,7 @@ fn build_storyteller_app() -> App { bridge::types::CharacterArchetype, simulation::SimulationPlugin, test_world, }; let mut app = App::new(); - app.add_plugins(SimulationPlugin); + app.add_plugins(SimulationPlugin { seed: 0 }); test_world::setup_gauntlet(&mut app, CharacterArchetype::default()); app } diff --git a/tooling/economy-db/import_economics.py b/tooling/economy-db/import_economics.py index 5b318a707..67d4d58a7 100755 --- a/tooling/economy-db/import_economics.py +++ b/tooling/economy-db/import_economics.py @@ -39,6 +39,13 @@ COMMODITIES_TOML = REPO_ROOT / "wiki" / "economics" / "commodities.toml" CHAINS_TOML = REPO_ROOT / "wiki" / "economics" / "production_chains.toml" SCHEMA_SQL = REPO_ROOT / "server" / "data" / "systems-schema.sql" CORPORATIONS_DIR = REPO_ROOT / "wiki" / "corporations" +BRANDS_TOML = REPO_ROOT / "wiki" / "economics" / "corporations" / "brands.toml" + + +class _ImportAborted(Exception): + """Raised internally by main() when a validation step wants a clean + rollback + exit 1. Caught only by main(); error messages are printed + before raising so the user sees them.""" # --------------------------------------------------------------------------- @@ -48,6 +55,61 @@ CORPORATIONS_DIR = REPO_ROOT / "wiki" / "corporations" MIGRATION_SQL = """ -- Economics tables (idempotent — safe to re-run) +-- Brand layer tables (D-189, #827) +CREATE TABLE IF NOT EXISTS brand_products ( + brand_product_id TEXT PRIMARY KEY, + corp_id TEXT NOT NULL REFERENCES corporations(corp_id), + product_name TEXT NOT NULL, + brand_category TEXT NOT NULL, + value_trajectory TEXT NOT NULL, + scarcity_class TEXT NOT NULL, + product_subcategory TEXT, + base_premium_multiplier REAL NOT NULL DEFAULT 1.0, + premium_floor REAL NOT NULL DEFAULT 0.0, + origin_system TEXT REFERENCES star_systems(system_id), + terroir_locked INTEGER NOT NULL DEFAULT 0, + currency_denomination TEXT NOT NULL DEFAULT 'tractus', + shadow_viable INTEGER NOT NULL DEFAULT 0, + brand_tier TEXT NOT NULL, + halo_brand_id TEXT REFERENCES brand_products(brand_product_id), + updated_at TEXT DEFAULT (datetime('now')) +); + +CREATE TABLE IF NOT EXISTS brand_inputs ( + brand_product_id TEXT NOT NULL REFERENCES brand_products(brand_product_id), + commodity_id TEXT NOT NULL REFERENCES commodities(commodity_id), + quantity REAL NOT NULL, + PRIMARY KEY (brand_product_id, commodity_id) +); + +CREATE TABLE IF NOT EXISTS system_fiscal ( + system_id TEXT PRIMARY KEY REFERENCES star_systems(system_id), + corp_tax_rate REAL NOT NULL DEFAULT 0.22, + collection_efficiency REAL NOT NULL DEFAULT 1.0, + updated_at TEXT DEFAULT (datetime('now')) +); + +CREATE TABLE IF NOT EXISTS corp_financial_state ( + corp_id TEXT PRIMARY KEY REFERENCES corporations(corp_id), + health_metric REAL NOT NULL DEFAULT 1.0, + updated_at TEXT DEFAULT (datetime('now')) +); + +CREATE TABLE IF NOT EXISTS corp_lifecycle_events ( + event_id INTEGER PRIMARY KEY AUTOINCREMENT, + corp_id TEXT NOT NULL REFERENCES corporations(corp_id), + event_type TEXT NOT NULL, + event_tick INTEGER NOT NULL DEFAULT 0, + event_data TEXT, + created_at TEXT DEFAULT (datetime('now')) +); + +CREATE INDEX IF NOT EXISTS idx_brand_products_corp_category ON brand_products(corp_id, brand_category); +CREATE INDEX IF NOT EXISTS idx_brand_products_origin ON brand_products(origin_system); +CREATE INDEX IF NOT EXISTS idx_brand_products_tier ON brand_products(brand_tier); +CREATE INDEX IF NOT EXISTS idx_brand_inputs_commodity ON brand_inputs(commodity_id); +CREATE INDEX IF NOT EXISTS idx_corp_lifecycle_events_corp ON corp_lifecycle_events(corp_id); + CREATE TABLE IF NOT EXISTS gate_links ( from_system_id TEXT NOT NULL REFERENCES star_systems(system_id), to_system_id TEXT NOT NULL REFERENCES star_systems(system_id), @@ -669,6 +731,237 @@ def _validate_system_coverage( ] +# --------------------------------------------------------------------------- +# Brand layer import (D-189, #827) +# --------------------------------------------------------------------------- + +VALID_BRAND_CATEGORIES = { + "terroir", "heritage_craft", "tech_premium", "cultural", + "service_premium", "commodity_branded", "design_heritage", "platform_catalogue", +} +VALID_VALUE_TRAJECTORIES = {"appreciating", "depreciating", "timeless"} +VALID_SCARCITY_CLASSES = {"capped", "constrained", "scalable", "unlimited"} +VALID_BRAND_TIERS = {"halo", "volume"} +VALID_CURRENCY_DENOMINATIONS = {"tractus", "mark", "mixed", "sol_adjacent"} + + +def import_brands( + conn: sqlite3.Connection, dry_run: bool +) -> tuple[int, int]: + """Import brand_products and brand_inputs from wiki/economics/corporations/brands.toml. + + Returns (n_products, n_inputs). + """ + if not BRANDS_TOML.exists(): + print(" warning: brands.toml not found — brand layer skipped") + return 0, 0 + + with open(BRANDS_TOML, "rb") as f: + data = tomllib.load(f) + + products = data.get("brand_products", []) + inputs = data.get("brand_inputs", []) + + product_rows = [] + for p in products: + product_rows.append(( + p["brand_product_id"], + p["corp_id"], + p["product_name"], + p["brand_category"], + p["value_trajectory"], + p["scarcity_class"], + p.get("product_subcategory"), + p.get("base_premium_multiplier", 1.0), + p.get("premium_floor", 0.0), + p.get("origin_system"), + int(p.get("terroir_locked", False)), + p.get("currency_denomination", "tractus"), + int(p.get("shadow_viable", False)), + p["brand_tier"], + p.get("halo_brand_id"), + )) + + input_rows = [] + for inp in inputs: + input_rows.append(( + inp["brand_product_id"], + inp["commodity_id"], + inp["quantity"], + )) + + if not dry_run: + conn.executemany( + """INSERT OR REPLACE INTO brand_products ( + brand_product_id, corp_id, product_name, brand_category, + value_trajectory, scarcity_class, product_subcategory, + base_premium_multiplier, premium_floor, origin_system, + terroir_locked, currency_denomination, shadow_viable, + brand_tier, halo_brand_id + ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)""", + product_rows, + ) + conn.executemany( + """INSERT OR REPLACE INTO brand_inputs + (brand_product_id, commodity_id, quantity) VALUES (?, ?, ?)""", + input_rows, + ) + + return len(product_rows), len(input_rows) + + +def import_system_fiscal(conn: sqlite3.Connection, dry_run: bool) -> int: + """Populate system_fiscal with hardcoded Phase 2 values. + + Phase 2 values (NOT derived from D-189 §6 yet): + - corp_tax_rate = 0.22 (flat default) + - collection_efficiency = 0.85 (mid-reach average placeholder) + + The D-189 §6 formula `collection_efficiency = 1.0 - shadow_economy_intensity × 0.6` + is deliberately NOT implemented here — `shadow_economy_intensity` is not + yet per-system in the DB (pending the shadow_economy.toml pipeline). When + that pipeline lands, replace the hardcoded 0.85 with the derivation and + wire `shadow_economy_intensity` through the SELECT. Tracked as a Phase 3 + follow-up. + """ + inhabited = conn.execute(""" + SELECT ss.system_id, COALESCE(se.population, 0) + FROM star_systems ss + LEFT JOIN system_economy se ON ss.system_id = se.system_id + WHERE ss.inhabited_planet_count > 0 OR se.population > 0 + ORDER BY ss.system_id + """).fetchall() + + PHASE2_CORP_TAX_RATE = 0.22 + PHASE2_COLLECTION_EFFICIENCY = 0.85 + + rows = [ + (system_id, PHASE2_CORP_TAX_RATE, PHASE2_COLLECTION_EFFICIENCY) + for system_id, _pop in inhabited + ] + + if not dry_run: + conn.executemany( + """INSERT OR IGNORE INTO system_fiscal + (system_id, corp_tax_rate, collection_efficiency) VALUES (?, ?, ?)""", + rows, + ) + + return len(rows) + + +def validate_brands(conn: sqlite3.Connection) -> list[str]: + """Brand layer structural validation rules V-B01 through V-B06. + + V-B01: Every brand_products row has a valid corp_id (FK to corporations). + V-B02: Every brand_inputs row has valid brand_product_id and commodity_id FKs. + V-B03: Every halo brand has at least one brand_inputs entry (demand stub must consume). + V-B04: Every volume tier must reference an existing halo brand_product_id. + V-B05: No brand_product_id is used as halo_brand_id by a non-volume-tier product. + V-B06: Every enum column (brand_category, value_trajectory, scarcity_class, + brand_tier, currency_denomination) is a member of its VALID_* set. + """ + errors: list[str] = [] + + # V-B01: brand_products → corporations FK + orphan_corps = conn.execute(""" + SELECT bp.brand_product_id, bp.corp_id + FROM brand_products bp + LEFT JOIN corporations c ON bp.corp_id = c.corp_id + WHERE c.corp_id IS NULL + """).fetchall() + for pid, corp_id in orphan_corps: + errors.append( + f"V-B01: brand_product '{pid}' references unknown corp_id '{corp_id}'" + ) + + # V-B02: brand_inputs → brand_products and brand_inputs → commodities FKs + orphan_inputs_bp = conn.execute(""" + SELECT bi.brand_product_id, bi.commodity_id + FROM brand_inputs bi + LEFT JOIN brand_products bp ON bi.brand_product_id = bp.brand_product_id + WHERE bp.brand_product_id IS NULL + """).fetchall() + for pid, cid in orphan_inputs_bp: + errors.append( + f"V-B02: brand_inputs row ({pid}, {cid}) references unknown brand_product_id" + ) + + orphan_inputs_comm = conn.execute(""" + SELECT bi.brand_product_id, bi.commodity_id + FROM brand_inputs bi + LEFT JOIN commodities c ON bi.commodity_id = c.commodity_id + WHERE c.commodity_id IS NULL + """).fetchall() + for pid, cid in orphan_inputs_comm: + errors.append( + f"V-B02: brand_inputs row ({pid}, {cid}) references unknown commodity_id '{cid}'" + ) + + # V-B03: every halo brand has at least one brand_inputs entry + halo_no_inputs = conn.execute(""" + SELECT bp.brand_product_id + FROM brand_products bp + WHERE bp.brand_tier = 'halo' + AND bp.brand_product_id NOT IN (SELECT brand_product_id FROM brand_inputs) + """).fetchall() + for (pid,) in halo_no_inputs: + errors.append( + f"V-B03: halo brand '{pid}' has no brand_inputs entries " + f"(must consume at least one commodity as a demand node)" + ) + + # V-B04: volume tiers reference valid halo_brand_id + volume_bad_halo = conn.execute(""" + SELECT bp.brand_product_id, bp.halo_brand_id + FROM brand_products bp + WHERE bp.brand_tier = 'volume' + AND (bp.halo_brand_id IS NULL + OR bp.halo_brand_id NOT IN (SELECT brand_product_id FROM brand_products)) + """).fetchall() + for pid, halo_id in volume_bad_halo: + errors.append( + f"V-B04: volume brand '{pid}' has invalid halo_brand_id '{halo_id}'" + ) + + # V-B05: halo_brand_id must only point to halo-tier products + halo_points_to_non_halo = conn.execute(""" + SELECT child.brand_product_id, child.halo_brand_id, parent.brand_tier + FROM brand_products child + JOIN brand_products parent ON child.halo_brand_id = parent.brand_product_id + WHERE child.brand_tier = 'volume' + AND parent.brand_tier != 'halo' + """).fetchall() + for child_id, halo_id, parent_tier in halo_points_to_non_halo: + errors.append( + f"V-B05: volume brand '{child_id}' points to '{halo_id}' " + f"which has brand_tier='{parent_tier}', not 'halo'" + ) + + # V-B06: every enum column is in its VALID_* set. The SQL columns are + # plain TEXT without CHECK constraints, so a typo like `terrior` would + # otherwise silently import. + enum_checks = [ + ("brand_category", VALID_BRAND_CATEGORIES), + ("value_trajectory", VALID_VALUE_TRAJECTORIES), + ("scarcity_class", VALID_SCARCITY_CLASSES), + ("brand_tier", VALID_BRAND_TIERS), + ("currency_denomination", VALID_CURRENCY_DENOMINATIONS), + ] + for column, valid_set in enum_checks: + bad = conn.execute( + f"SELECT brand_product_id, {column} FROM brand_products" + ).fetchall() + for pid, value in bad: + if value not in valid_set: + errors.append( + f"V-B06: brand_product '{pid}' has {column}='{value}' — " + f"must be one of {sorted(valid_set)}" + ) + + return errors + + # --------------------------------------------------------------------------- # Main # --------------------------------------------------------------------------- @@ -698,91 +991,128 @@ def main(): conn = sqlite3.connect(str(db_path)) conn.execute("PRAGMA foreign_keys=ON") - # 1. Migrate schema - print(" [1/8] Schema migration...") - for table, col, col_type in COLUMN_MIGRATIONS: - _add_column(conn, table, col, col_type) - conn.executescript(MIGRATION_SQL) - print(" tables and columns ready") + # The clear-then-reimport cycle below runs as a single explicit + # transaction. Any crash, validation error, or KeyboardInterrupt + # between the first DELETE and the final commit rolls everything + # back — the DB never ends up half-cleared with stale rows in some + # tables and empty rows in others. On success we commit exactly + # once, immediately after structural validation passes. + conn.execute("BEGIN") + try: + # 1. Migrate schema (idempotent, inside the tx so a crash here + # leaves no half-applied ALTER TABLE.) + print(" [1/10] Schema migration...") + for table, col, col_type in COLUMN_MIGRATIONS: + _add_column(conn, table, col, col_type) + conn.executescript(MIGRATION_SQL) + print(" tables and columns ready") - # Clear economics tables in FK-safe order (children before parents) - # corp_presence cleared here; corporations table is append-only (never cleared) - if not args.dry_run: - conn.execute("DELETE FROM corp_presence") - conn.execute("DELETE FROM chain_inputs") - conn.execute("DELETE FROM production_chains") - conn.execute("DELETE FROM commodities") - conn.execute("DELETE FROM gate_links") + # Clear economics tables in FK-safe order (children before parents) + # corp_presence cleared here; corporations table is append-only + # (never cleared). + if not args.dry_run: + conn.execute("DELETE FROM corp_presence") + conn.execute("DELETE FROM brand_inputs") + conn.execute("DELETE FROM brand_products") + conn.execute("DELETE FROM system_fiscal") + conn.execute("DELETE FROM corp_financial_state") + conn.execute("DELETE FROM corp_lifecycle_events") + conn.execute("DELETE FROM chain_inputs") + conn.execute("DELETE FROM production_chains") + conn.execute("DELETE FROM commodities") + conn.execute("DELETE FROM gate_links") - # 2. Gate links - print(" [2/8] Importing gate links...") - n_links = import_gate_links(conn, args.dry_run) - print(f" {n_links} rows (bidirectional)") + # 2. Gate links + print(" [2/10] Importing gate links...") + n_links = import_gate_links(conn, args.dry_run) + print(f" {n_links} rows (bidirectional)") - # 3. Commodities - print(" [3/8] Importing commodities...") - n_commodities = import_commodities(conn, args.dry_run) - print(f" {n_commodities} commodities") + # 3. Commodities + print(" [3/10] Importing commodities...") + n_commodities = import_commodities(conn, args.dry_run) + print(f" {n_commodities} commodities") - # 4. Production chains - print(" [4/8] Importing production chains...") - n_chains, n_inputs = import_chains(conn, args.dry_run) - print(f" {n_chains} chains, {n_inputs} inputs") + # 4. Production chains + print(" [4/10] Importing production chains...") + n_chains, n_inputs = import_chains(conn, args.dry_run) + print(f" {n_chains} chains, {n_inputs} inputs") - # 5. Currency zones - print(" [5/8] Setting currency zones...") - zones = set_currency_zones(conn, args.dry_run) - for zone, count in sorted(zones.items()): - print(f" {zone}: {count}") + # 5. Currency zones + print(" [5/10] Setting currency zones...") + zones = set_currency_zones(conn, args.dry_run) + for zone, count in sorted(zones.items()): + print(f" {zone}: {count}") - # 6. Gate energy connectivity (D-186) — must run after currency zones - print(" [6/8] Setting gate energy connectivity...") - energy = set_gate_energy(conn, args.dry_run) - for label, count in sorted(energy.items()): - print(f" {label}: {count}") + # 6. Gate energy connectivity (D-186) — must run after currency zones + print(" [6/10] Setting gate energy connectivity...") + energy = set_gate_energy(conn, args.dry_run) + for label, count in sorted(energy.items()): + print(f" {label}: {count}") - # 7. Sync corporations from wiki (D-182: hard error on name divergence) - print(" [7/8] Syncing corporations...") - corp_errors = sync_corporations(conn, wiki_corps, args.dry_run) - if corp_errors: - print(f" ERRORS ({len(corp_errors)}) — name divergence detected (D-182):") - for e in corp_errors: - print(f" - {e}") - print(" Fix: update wiki title or DB proper_name to match, then re-run.") + # 7. Sync corporations from wiki (D-182: hard error on name divergence) + print(" [7/10] Syncing corporations...") + corp_errors = sync_corporations(conn, wiki_corps, args.dry_run) + if corp_errors: + print(f" ERRORS ({len(corp_errors)}) — name divergence detected (D-182):") + for e in corp_errors: + print(f" - {e}") + print(" Fix: update wiki title or DB proper_name to match, then re-run.") + raise _ImportAborted() + n_db_corps = conn.execute("SELECT COUNT(*) FROM corporations").fetchone()[0] + print(f" {n_db_corps} corporations in DB ({len(wiki_corps)} from wiki)") + + # 8. Corp presence from wiki headquarters data + print(" [8/10] Importing corp presence...") + commodity_ids = { + r[0] for r in conn.execute("SELECT commodity_id FROM commodities").fetchall() + } + n_presence = import_corp_presence(conn, wiki_corps, commodity_ids, args.dry_run) + print(f" {n_presence} corp_presence rows") + + # 9. Brand products and inputs (D-189, #827) + print(" [9/10] Importing brand products and inputs...") + n_brands, n_brand_inputs = import_brands(conn, args.dry_run) + print(f" {n_brands} brand_products, {n_brand_inputs} brand_inputs") + + # 10. System fiscal parameters (D-189 section 6) + print(" [10/10] Populating system_fiscal...") + n_fiscal = import_system_fiscal(conn, args.dry_run) + print(f" {n_fiscal} system_fiscal rows") + + # Validate structural integrity (FK, chain refs, chain completeness). + # These errors indicate broken imported data — do NOT commit. + print("\n Validating structural integrity...") + struct_errors = validate(conn) + struct_errors.extend(validate_brands(conn)) + if struct_errors: + print(f" STRUCTURAL ERRORS ({len(struct_errors)}) — rolling back:") + for e in struct_errors: + print(f" - {e}") + raise _ImportAborted() + print(" FK integrity, chain completeness, and brand layer (V-B01–V-B06) OK") + + # Commit all imported data (corps, presence, etc.) before coverage check. + # Coverage validation is a Phase 2 gate (D-175) — data should be persisted + # so tools can query it and report gaps clearly. + if not args.dry_run: + conn.commit() + print(" Data committed.") + else: + # Dry-run: leave the transaction open so the coverage check below + # can still SELECT against the in-memory imported data. The + # transaction is discarded when conn.close() runs on exit. + print(" Dry run — no changes written.") + except _ImportAborted: + conn.rollback() conn.close() sys.exit(1) - n_db_corps = conn.execute("SELECT COUNT(*) FROM corporations").fetchone()[0] - print(f" {n_db_corps} corporations in DB ({len(wiki_corps)} from wiki)") - - # 8. Corp presence from wiki headquarters data - print(" [8/8] Importing corp presence...") - commodity_ids = { - r[0] for r in conn.execute("SELECT commodity_id FROM commodities").fetchall() - } - n_presence = import_corp_presence(conn, wiki_corps, commodity_ids, args.dry_run) - print(f" {n_presence} corp_presence rows") - - # Validate structural integrity (FK, chain refs, chain completeness). - # These errors indicate broken imported data — do NOT commit. - print("\n Validating structural integrity...") - struct_errors = validate(conn) - if struct_errors: - print(f" STRUCTURAL ERRORS ({len(struct_errors)}) — rolling back:") - for e in struct_errors: - print(f" - {e}") + except BaseException: + # Any other exception (KeyboardInterrupt, MemoryError, DB error, + # programmer error) triggers a rollback so the DB is never left in + # a half-imported state. Re-raise so the user sees the traceback. + conn.rollback() conn.close() - sys.exit(1) - else: - print(" FK integrity and chain completeness OK") - - # Commit all imported data (corps, presence, etc.) before coverage check. - # Coverage validation is a Phase 2 gate (D-175) — data should be persisted - # so tools can query it and report gaps clearly. - if not args.dry_run: - conn.commit() - print(" Data committed.") - else: - print(" Dry run — no changes written.") + raise # Validate coverage (hard errors per D-175, but after commit so data is usable). print("\n Validating coverage (D-175 Phase 2 gate)...") @@ -809,7 +1139,9 @@ def main(): conn.close() print(f"\n Done: {n_links} gate_links, {n_commodities} commodities, " - f"{n_chains} chains, {n_inputs} inputs, {n_presence} corp_presence\n") + f"{n_chains} chains, {n_inputs} inputs, {n_presence} corp_presence, " + f"{n_brands} brand_products, {n_brand_inputs} brand_inputs, " + f"{n_fiscal} system_fiscal\n") if __name__ == "__main__": diff --git a/tooling/planet-gen/generate_atlas.py b/tooling/planet-gen/generate_atlas.py new file mode 100644 index 000000000..a4a643660 --- /dev/null +++ b/tooling/planet-gen/generate_atlas.py @@ -0,0 +1,1364 @@ +#!/usr/bin/env python3 +""" +generate_atlas.py — Terrain-aware sequential city placement and infrastructure +generation for The Settled Reach Atlas (Phase 3, D-191 §3, §8, §9, #832). + +Pipeline per body: + 1. Load body definition from body index.md frontmatter + 2. Simulate terrain via planet_simulation.simulate() + 3. Analyse terrain: continents, habitability, river mouths, cost grid + 4. Place cities sequentially (capital first, corridor growth, quadrant spread) + 5. Generate infrastructure: A* roads + rail MST connecting all cities + 6. Place gate terminal POI at largest population centre (occasionally scatter) + 7. Write updated markers.json (preserves existing rivers/oceans/mountains) + +City names are left as empty strings; gemma_naming.py (#833) fills them. + +Usage: + python3 tooling/planet-gen/generate_atlas.py + python3 tooling/planet-gen/generate_atlas.py --body GJ380c + python3 tooling/planet-gen/generate_atlas.py --force + python3 tooling/planet-gen/generate_atlas.py --dry-run + python3 tooling/planet-gen/generate_atlas.py --seed 12345 + +Decisions: D-191 (atlas pipeline), D-188 (planet_class field name) +""" + +import argparse +import hashlib +import heapq +import json +import math +import os +import sys +import time +from pathlib import Path + +# --------------------------------------------------------------------------- +# Venv bootstrap +# --------------------------------------------------------------------------- +TOOLING_DIR = Path(__file__).resolve().parent +REPO_ROOT = (TOOLING_DIR / ".." / "..").resolve() +_venv_python = REPO_ROOT / ".venv" / "bin" / "python" +if _venv_python.exists() and Path(sys.executable).resolve() != _venv_python.resolve(): + os.execv(str(_venv_python), [str(_venv_python)] + sys.argv) + +import numpy as np +import sqlite3 +import yaml + +from planet_simulation import simulate + +# --------------------------------------------------------------------------- +# Constants +# --------------------------------------------------------------------------- + +GRID_W = 512 +GRID_H = 256 + +# Terrain cost grid (D-191 §3: A* on terrain cost grid) +COST_WATER = 1e9 # impassable +COST_MOUNTAIN = 10.0 # expensive +COST_RIVER = 0.5 # cheap corridor +COST_FLAT = 1.0 # baseline land + +# City placement +MOUNTAIN_ELEV_THRESHOLD = 0.55 # normalised elevation above sea_level → mountain + +SETTLEMENT_PATTERN_MODIFIERS = { + "urban_concentrated": -1, + "dispersed_rural": +1, + "orbital_only": None, # no surface cities + "domed": None, # special: forced to 1 + "cave": None, # special: forced to 1 +} + +# Quadrant distribution (D-191 §3: after 2 cities in same quadrant, prefer others) +QUADRANT_SATURATION = 2 + +DB_PATH = REPO_ROOT / "server" / "data" / "systems.db" +WIKI_SYSTEMS = REPO_ROOT / "wiki" / "star-systems" +SYSTEMS_SCHEMA_PATH = REPO_ROOT / "server" / "data" / "systems-schema.sql" + +# Delimiters for the single canonical atlas_* DDL block in +# server/data/systems-schema.sql. `_load_atlas_schema()` extracts everything +# between these markers at runtime so this file does not have to duplicate +# the schema (and drift from it). +_ATLAS_SCHEMA_BEGIN_MARKER = "-- BEGIN ATLAS INDEX" +_ATLAS_SCHEMA_END_MARKER = "-- END ATLAS INDEX" + + +def _load_atlas_schema() -> str: + """Return the atlas_* DDL block from systems-schema.sql. + + systems-schema.sql is the single source of truth for the atlas index + tables (see the BEGIN ATLAS INDEX / END ATLAS INDEX markers). We extract + just that block and run it through `executescript` so the generator + works against any DB state (fresh or partially-migrated) without + requiring a prior `wiki_sync.ensure_schema()` call and without + maintaining a second copy of the DDL here. + """ + if not SYSTEMS_SCHEMA_PATH.exists(): + raise RuntimeError( + f"systems-schema.sql not found at {SYSTEMS_SCHEMA_PATH} — " + "atlas generator cannot proceed without the canonical schema." + ) + text = SYSTEMS_SCHEMA_PATH.read_text() + try: + start = text.index(_ATLAS_SCHEMA_BEGIN_MARKER) + end = text.index(_ATLAS_SCHEMA_END_MARKER, start) + except ValueError as e: + raise RuntimeError( + f"systems-schema.sql is missing the {_ATLAS_SCHEMA_BEGIN_MARKER}/" + f"{_ATLAS_SCHEMA_END_MARKER} block — has the schema been " + "restructured?" + ) from e + return text[start:end] + + +def ensure_atlas_schema(conn: sqlite3.Connection) -> None: + """Apply the canonical atlas_* DDL from systems-schema.sql. + + Idempotent: all statements inside the block use CREATE TABLE / INDEX + IF NOT EXISTS, so running this on an already-migrated DB is a no-op. + """ + conn.executescript(_load_atlas_schema()) + + +def _first_int(values, default: int = 0) -> int: + """Coerce the first numeric element of an iterable (e.g. [r, c]) to int.""" + try: + return int(values[0]) + except (TypeError, ValueError, IndexError): + return default + + +def sync_markers_to_db( + conn: sqlite3.Connection, + body_id: str, + markers: dict, +) -> dict: + """Refresh atlas_* rows for a single body from its markers.json contents. + + Deletes any existing rows for the body (cascading across all seven atlas + tables) and re-inserts from the markers dict. Returns a count dict for + reporting. + """ + # Wipe existing rows for this body — fully deterministic rebuild. + for table in ( + "atlas_cities", + "atlas_roads", + "atlas_railroads", + "atlas_pois", + "atlas_rivers", + "atlas_oceans", + "atlas_mountain_ranges", + ): + conn.execute(f"DELETE FROM {table} WHERE body_id = ?", (body_id,)) + + grid = markers.get("grid") or {} + grid_w = int(grid.get("w", GRID_W)) + grid_h = int(grid.get("h", GRID_H)) + conn.execute( + """INSERT INTO atlas_body_grids (body_id, grid_w, grid_h, updated_at) + VALUES (?, ?, ?, datetime('now')) + ON CONFLICT(body_id) DO UPDATE SET + grid_w = excluded.grid_w, + grid_h = excluded.grid_h, + updated_at = excluded.updated_at""", + (body_id, grid_w, grid_h), + ) + + counts = { + "cities": 0, "roads": 0, "railroads": 0, "pois": 0, + "rivers": 0, "oceans": 0, "mountain_ranges": 0, + } + + for city in markers.get("cities") or []: + local = city.get("id") + if not local: + continue + center = city.get("center") or [0, 0] + conn.execute( + """INSERT INTO atlas_cities + (city_id, body_id, local_id, name, kind, center_row, center_col, population) + VALUES (?, ?, ?, ?, ?, ?, ?, ?)""", + ( + f"{body_id}/{local}", + body_id, + local, + city.get("name") or "", + city.get("kind") or "city", + _first_int(center, 0), + _first_int(center[1:] if len(center) > 1 else [0], 0), + int(city.get("population") or 0), + ), + ) + counts["cities"] += 1 + + for road in markers.get("roads") or []: + local = road.get("id") + if not local: + continue + path = road.get("path") or [] + conn.execute( + """INSERT INTO atlas_roads + (road_id, body_id, local_id, name, kind, point_count) + VALUES (?, ?, ?, ?, ?, ?)""", + ( + f"{body_id}/{local}", + body_id, + local, + road.get("name") or "", + road.get("kind") or "commercial", + len(path), + ), + ) + counts["roads"] += 1 + + for rail in markers.get("railroads") or []: + local = rail.get("id") + if not local: + continue + path = rail.get("path") or [] + conn.execute( + """INSERT INTO atlas_railroads + (railroad_id, body_id, local_id, name, kind, point_count) + VALUES (?, ?, ?, ?, ?, ?)""", + ( + f"{body_id}/{local}", + body_id, + local, + rail.get("name") or "", + rail.get("kind") or "passenger_freight", + len(path), + ), + ) + counts["railroads"] += 1 + + for poi in markers.get("pois") or []: + local = poi.get("id") + if not local: + continue + center = poi.get("center") or [0, 0] + conn.execute( + """INSERT INTO atlas_pois + (poi_id, body_id, local_id, name, kind, center_row, center_col) + VALUES (?, ?, ?, ?, ?, ?, ?)""", + ( + f"{body_id}/{local}", + body_id, + local, + poi.get("name") or "", + poi.get("kind") or "transit", + _first_int(center, 0), + _first_int(center[1:] if len(center) > 1 else [0], 0), + ), + ) + counts["pois"] += 1 + + for river in markers.get("rivers") or []: + local = river.get("id") + if not local: + continue + path = river.get("path") or [] + conn.execute( + """INSERT INTO atlas_rivers + (river_id, body_id, local_id, name, point_count) + VALUES (?, ?, ?, ?, ?)""", + ( + f"{body_id}/{local}", + body_id, + local, + river.get("name") or "", + len(path), + ), + ) + counts["rivers"] += 1 + + for water in markers.get("oceans") or []: + local = water.get("id") + if not local: + continue + center = water.get("center") or [0, 0] + conn.execute( + """INSERT INTO atlas_oceans + (water_id, body_id, local_id, name, kind, center_row, center_col, area_fraction) + VALUES (?, ?, ?, ?, ?, ?, ?, ?)""", + ( + f"{body_id}/{local}", + body_id, + local, + water.get("name") or "", + water.get("kind") or "ocean", + _first_int(center, 0), + _first_int(center[1:] if len(center) > 1 else [0], 0), + float(water.get("area_fraction") or 0.0), + ), + ) + counts["oceans"] += 1 + + for rng_feat in markers.get("mountain_ranges") or []: + local = rng_feat.get("id") + if not local: + continue + center = rng_feat.get("center") or [0, 0] + peak = rng_feat.get("peak") or center + conn.execute( + """INSERT INTO atlas_mountain_ranges + (range_id, body_id, local_id, name, center_row, center_col, + peak_row, peak_col, area_cells) + VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)""", + ( + f"{body_id}/{local}", + body_id, + local, + rng_feat.get("name") or "", + _first_int(center, 0), + _first_int(center[1:] if len(center) > 1 else [0], 0), + _first_int(peak, 0), + _first_int(peak[1:] if len(peak) > 1 else [0], 0), + int(rng_feat.get("area_cells") or 0), + ), + ) + counts["mountain_ranges"] += 1 + + return counts + + +# --------------------------------------------------------------------------- +# Grid helpers +# --------------------------------------------------------------------------- + +# markers.json is stored in pixel space per D-191 §8 — the canonical format is +# `center: [row, col]` and `path: [[row, col], ...]`. Lat/lon is a display-time +# derivation in the atlas UI, not a storage format. + + +def quadrant(row: int, col: int) -> int: + """Return quadrant index 0-3: NW=0, NE=1, SW=2, SE=3.""" + h = 0 if row < GRID_H // 2 else 1 + w = 0 if col < GRID_W // 2 else 1 + return h * 2 + w + + +def body_id_salt(body_id: str) -> int: + """Deterministic per-body salt from body_id.""" + return int(hashlib.sha256(body_id.encode()).hexdigest()[:8], 16) + + +# --------------------------------------------------------------------------- +# Body definition loading +# --------------------------------------------------------------------------- + +def load_body_def(body_dir: Path) -> dict | None: + """Load body definition from body index.md frontmatter.""" + index_md = body_dir / "index.md" + if not index_md.exists(): + return None + content = index_md.read_text() + if not content.startswith("---"): + return None + try: + end = content.index("---", 3) + bd = yaml.safe_load(content[3:end]) + except (ValueError, yaml.YAMLError): + return None + if not bd or "id" not in bd or "planet_class" not in bd: + return None + return bd + + +# --------------------------------------------------------------------------- +# Terrain analysis +# --------------------------------------------------------------------------- + +def _analyse_terrain(terrain: dict) -> dict: + """Analyse terrain for atlas city placement. + + Deterministic and RNG-free: continent flood-fill, habitability scoring, + river-mouth detection, and the terrain cost grid are all pure functions + of the terrain dict. Per-body variation comes from the RNG used later + in `_score_capital_sites` and `place_cities`, not from this function. + + Returns: + continents: list of continent dicts {cells, area, id} + habitability: float32 (H, W) — 0=uninhabitable, 1=ideal + river_mouths: list of (row, col) — land cells where rivers meet water + cost_grid: float32 (H, W) — A* traversal cost per cell + continent_map: int32 (H, W) — continent label per land cell (-1=water) + land_mask: bool (H, W) + """ + from scipy.ndimage import label + + elevation = terrain["elevation"] + temperature = terrain["temperature"] + moisture = terrain["moisture"] + surface_water = terrain["surface_water"] + river_grid = terrain.get("river_grid", np.zeros((GRID_H, GRID_W), bool)) + sea_level = terrain["sea_level"] + + land = ~surface_water + + # Normalised elevation above sea level + elev_norm = np.where(land, + (elevation - sea_level) / (1.0 - sea_level + 1e-9), + 0.0) + mountains = land & (elev_norm > MOUNTAIN_ELEV_THRESHOLD) + + # --- Continent detection (flood-fill connected land) --- + continent_labels, n_continents = label(land) + continents = [] + for lbl in range(1, n_continents + 1): + mask = continent_labels == lbl + area = int(mask.sum()) + if area < 50: + continue # ignore tiny rock outcroppings + ys, xs = np.where(mask) + continents.append({ + "id": lbl, + "area": area, + "cells": list(zip(ys.tolist(), xs.tolist())), + "_center": (int(ys.mean()), int(xs.mean())), + }) + continents.sort(key=lambda c: c["area"], reverse=True) + + continent_map = np.where(land, continent_labels, -1).astype(np.int32) + + # --- Habitability scoring --- + # temperature: 0.3–0.7 is ideal (mid-range) + temp_score = 1.0 - np.abs(temperature - 0.5) * 2.0 + temp_score = np.clip(temp_score, 0.0, 1.0) + + # moisture: 0.3–0.6 is ideal + moist_score = np.where( + moisture < 0.3, moisture / 0.3, + np.where(moisture < 0.6, 1.0, 1.0 - (moisture - 0.6) / 0.4) + ) + moist_score = np.clip(moist_score, 0.0, 1.0) + + # slope: low slope = ideal (flat land) + dy = np.gradient(elevation, axis=0) + dx = np.gradient(elevation, axis=1) + slope = np.sqrt(dy**2 + dx**2) + slope_max = float(slope[land].max()) if land.any() else 1.0 + slope_score = 1.0 - np.clip(slope / (slope_max + 1e-9), 0.0, 1.0) + + habitability = (temp_score * 0.4 + moist_score * 0.3 + slope_score * 0.3) + habitability = np.where(land, habitability, 0.0).astype(np.float32) + + # Coastal access bonus: land cells adjacent to water + water_f = surface_water.astype(np.float32) + from scipy.ndimage import uniform_filter + water_proximity = uniform_filter(water_f, size=7) + coastal_bonus = np.clip(water_proximity * 2.0, 0.0, 0.3) + habitability = np.where(land, habitability + coastal_bonus.astype(np.float32), 0.0) + habitability = np.clip(habitability, 0.0, 1.0).astype(np.float32) + + # --- River mouth detection --- + # A river mouth is a river-grid cell that is land but adjacent to water + river_mouths = [] + if river_grid.any() and surface_water.any(): + # Dilate surface_water by 1 cell + from scipy.ndimage import binary_dilation + water_dilated = binary_dilation(surface_water) + # River cells on land that touch water + mouth_mask = river_grid & land & water_dilated + rys, rxs = np.where(mouth_mask) + # Deduplicate by proximity (cluster to strongest mouth) + if len(rys) > 0: + used = np.zeros(len(rys), bool) + for i in range(len(rys)): + if used[i]: + continue + used[i] = True + r, c = int(rys[i]), int(rxs[i]) + # Suppress nearby duplicates within radius 10 + dist = np.sqrt((rys - r)**2 + (rxs - c)**2) + used[dist < 10] = True + river_mouths.append((r, c)) + + # --- Terrain cost grid (D-191 §3) --- + cost_grid = np.full((GRID_H, GRID_W), COST_FLAT, dtype=np.float32) + cost_grid[surface_water] = COST_WATER + cost_grid[mountains] = COST_MOUNTAIN + cost_grid[river_grid & land] = COST_RIVER + + return { + "continents": continents, + "habitability": habitability, + "river_mouths": river_mouths, + "cost_grid": cost_grid, + "continent_map": continent_map, + "land_mask": land, + } + + +# --------------------------------------------------------------------------- +# City count computation (D-191 §8) +# --------------------------------------------------------------------------- + +def distribute_population(total_population: int, n_cities: int) -> list[int]: + """Split a body's population across n_cities using a simple geometric decay. + + Capital gets ~50%, each subsequent city gets half of what the previous one + did, and the remaining tail is absorbed by the capital so totals still match. + Returns a list of int populations (rounded to the nearest 10,000 for realism). + """ + if n_cities <= 0 or total_population <= 0: + return [] + if n_cities == 1: + return [int(total_population)] + + weights = [0.5 ** i for i in range(n_cities)] + weight_sum = sum(weights) + shares = [w / weight_sum for w in weights] + + populations = [] + remaining = total_population + for i, share in enumerate(shares): + if i == len(shares) - 1: + pop = remaining + else: + pop = int(round(total_population * share / 10_000) * 10_000) + pop = min(pop, remaining - (len(shares) - i - 1) * 10_000) + pop = max(pop, 10_000) + populations.append(pop) + remaining -= pop + return populations + + +def compute_city_count(population: int, settlement_pattern: str | None) -> int: + """Compute number of cities for a body. + + Base count: floor(log10(pop / 1_000_000)), minimum 1 if inhabited. + Settlement pattern modifiers from D-191 §8. + """ + if population <= 0: + return 0 + + if settlement_pattern in ("orbital_only",): + return 0 + + if settlement_pattern in ("domed", "cave"): + return 1 + + base = int(math.floor(math.log10(max(population, 1_000_001) / 1_000_000))) + base = max(1, base) # at least 1 city if inhabited + + mod = SETTLEMENT_PATTERN_MODIFIERS.get(settlement_pattern, 0) or 0 + result = max(1, base + mod) + return min(result, 12) # cap at 12 to avoid overcrowding small maps + + +# --------------------------------------------------------------------------- +# City placement (D-191 §3) +# --------------------------------------------------------------------------- + +def _score_capital_sites( + analysis: dict, + rng: np.random.Generator, + noise_factor: float = 0.25, +) -> np.ndarray: + """Score all land cells for capital placement. + + Capital scoring factors: + - Habitability score (temperature, moisture, slope) + - River mouth bonus (~50% of capitals at river mouths per D-191 §3) + - ±25% noise variation per seed + """ + habitability = analysis["habitability"] + land = analysis["land_mask"] + river_mouths = analysis["river_mouths"] + + # Base score + score = habitability.copy() + + # River mouth bonus (makes ~50% of capital choices go there). + # Build a single sparse accumulator with all mouth points set, then + # run gaussian_filter once — O(1) filter calls rather than O(n_mouths). + if river_mouths: + from scipy.ndimage import gaussian_filter + mouth_field = np.zeros((GRID_H, GRID_W), dtype=np.float32) + for r, c in river_mouths: + mouth_field[r, c] = 1.0 + river_bonus = gaussian_filter(mouth_field, sigma=8.0) + river_bonus = river_bonus / (river_bonus.max() + 1e-9) + score = score * 0.5 + river_bonus * 0.5 + + # ±25% noise for seed variation (D-191 §3) + noise = rng.uniform(1.0 - noise_factor, 1.0 + noise_factor, + size=(GRID_H, GRID_W)).astype(np.float32) + score = score * noise + score = np.where(land, score, 0.0) + + return score + + +def _quadrant_counts(placed: list[tuple[int, int]]) -> np.ndarray: + """Return count of placed cities per quadrant (4 quadrants).""" + counts = np.zeros(4, dtype=int) + for r, c in placed: + counts[quadrant(r, c)] += 1 + return counts + + +def _dijkstra_from_sources( + cost_grid: np.ndarray, + sources: list[tuple[int, int]], +) -> np.ndarray: + """Multi-source Dijkstra on cost_grid from all source cells. + + Returns distance array (H, W). Uses 8-connectivity. + """ + dist = np.full((GRID_H, GRID_W), np.inf, dtype=np.float64) + heap = [] + for r, c in sources: + if cost_grid[r, c] < 1e8: + dist[r, c] = 0.0 + heapq.heappush(heap, (0.0, r, c)) + + while heap: + d, r, c = heapq.heappop(heap) + if d > dist[r, c]: + continue + for dr in (-1, 0, 1): + for dc in (-1, 0, 1): + if dr == 0 and dc == 0: + continue + nr, nc = r + dr, c + dc + if nr < 0 or nr >= GRID_H or nc < 0 or nc >= GRID_W: + continue + edge = cost_grid[nr, nc] + if edge >= 1e8: + continue + step = math.sqrt(2) if dr != 0 and dc != 0 else 1.0 + nd = d + edge * step + if nd < dist[nr, nc]: + dist[nr, nc] = nd + heapq.heappush(heap, (nd, nr, nc)) + + return dist + + +def place_cities( + analysis: dict, + n_cities: int, + rng: np.random.Generator, + noise_factor: float = 0.25, + body_population: int = 0, +) -> list[dict]: + """Place cities sequentially per D-191 §3. + + Returns a list of city dicts in the canonical markers.json schema + (D-191 §8 — pixel space): + {id, name, kind, center: [row, col], population} + with internal `_row`, `_col`, `_continent_id` fields used by downstream + infrastructure generation. The underscore-prefixed fields are stripped + before writing to disk. + """ + if n_cities <= 0: + return [] + + continents = analysis["continents"] + habitability = analysis["habitability"] + cost_grid = analysis["cost_grid"] + continent_map = analysis["continent_map"] + land = analysis["land_mask"] + + if not continents: + return [] + + placed_coords: list[tuple[int, int]] = [] + placed_continents: set[int] = set() + cities = [] + + # ── 1. Capital ────────────────────────────────────────────────────────── + capital_score = _score_capital_sites(analysis, rng, noise_factor) + + # Suppress edge pixels (poles tend to be degenerate) + capital_score[:5, :] = 0 + capital_score[-5:, :] = 0 + + best = int(np.argmax(capital_score)) + cap_r, cap_c = divmod(best, GRID_W) + + continent_id = int(continent_map[cap_r, cap_c]) if continent_map[cap_r, cap_c] > 0 else 1 + placed_coords.append((cap_r, cap_c)) + placed_continents.add(continent_id) + + cities.append({ + "id": "city_0", + "name": "", + "kind": "capital", + "center": [cap_r, cap_c], + "population": 0, # filled after all cities are placed + "_row": cap_r, + "_col": cap_c, + "_continent_id": continent_id, + }) + + if n_cities == 1: + _assign_populations(cities, body_population) + return cities + + # Minimum exclusion radius: varies by city count (more cities → tighter spacing) + excl_radius = max(20, GRID_H // (n_cities + 1)) + + # ── 2. Subsequent cities (corridor growth + quadrant spread) ──────────── + for i in range(1, n_cities): + q_counts = _quadrant_counts(placed_coords) + + # Multi-source Dijkstra from all placed cities along cost grid + corridor_dist = _dijkstra_from_sources(cost_grid, placed_coords) + + # Score for new city: habitability weighted by corridor distance + # Prefer connected but not too-close (distance 50–300 from existing cities) + ideal_min = excl_radius + ideal_max = min(300, excl_radius * 6) + dist_score = np.where( + (corridor_dist >= ideal_min) & (corridor_dist < ideal_max), + 1.0 - (corridor_dist - ideal_min) / (ideal_max - ideal_min + 1e-9), + np.where(corridor_dist < ideal_min, 0.0, 0.1), + ).astype(np.float32) + + site_score = habitability * 0.6 + dist_score * 0.4 + + # Quadrant penalty: if a quadrant is already at QUADRANT_SATURATION, + # reduce its score so subsequent cities prefer emptier quadrants. + q_penalty = np.ones((GRID_H, GRID_W), np.float32) + for qr in (0, 1): + for qc in (0, 1): + q_idx = qr * 2 + qc + if q_counts[q_idx] >= QUADRANT_SATURATION: + rlo, rhi = (0, GRID_H // 2) if qr == 0 else (GRID_H // 2, GRID_H) + clo, chi = (0, GRID_W // 2) if qc == 0 else (GRID_W // 2, GRID_W) + q_penalty[rlo:rhi, clo:chi] = 0.3 + + site_score = site_score * q_penalty + + # New-continent bonus at cities 3-4 (D-191 §3: port on new continent) + if i in (2, 3) and len(continents) > 1: + unexplored_conts = [ + c for c in continents + if c["id"] not in placed_continents and c["area"] > 200 + ] + if unexplored_conts: + cont = unexplored_conts[0] + # Find coastline cells on that continent + coast_bonus = np.zeros((GRID_H, GRID_W), np.float32) + cont_mask = continent_map == cont["id"] + # Coastal cells: continent land cells adjacent to water + from scipy.ndimage import binary_dilation + water_dilated = binary_dilation(~analysis["land_mask"]) + coast_mask = cont_mask & water_dilated + coast_bonus[coast_mask] = 0.4 + site_score = site_score + coast_bonus + + # ±25% noise + noise = rng.uniform(1.0 - noise_factor, 1.0 + noise_factor, + size=(GRID_H, GRID_W)).astype(np.float32) + site_score = site_score * noise + site_score = np.where(land, site_score, 0.0) + + # Suppress already-placed city zones + for pr, pc in placed_coords: + rlo = max(0, pr - excl_radius) + rhi = min(GRID_H, pr + excl_radius) + clo = max(0, pc - excl_radius) + chi = min(GRID_W, pc + excl_radius) + site_score[rlo:rhi, clo:chi] = 0.0 + + if site_score.max() < 1e-6: + break # no more habitable land + + best = int(np.argmax(site_score)) + r, c = divmod(best, GRID_W) + cont_id = int(continent_map[r, c]) if continent_map[r, c] > 0 else continent_id + placed_coords.append((r, c)) + placed_continents.add(cont_id) + + cities.append({ + "id": f"city_{i}", + "name": "", + "kind": "city", + "center": [r, c], + "population": 0, + "_row": r, + "_col": c, + "_continent_id": cont_id, + }) + + _enforce_unique_city_coords(cities, analysis["land_mask"]) + _assign_populations(cities, body_population) + return cities + + +def _assign_populations(cities: list[dict], body_population: int) -> None: + """Fill the `population` field on each city from the body's total.""" + pops = distribute_population(body_population, len(cities)) + for city, pop in zip(cities, pops): + city["population"] = int(pop) + + +def _enforce_unique_city_coords(cities: list[dict], land: np.ndarray) -> None: + """Guarantee no two cities share the same (row, col). + + Rare on real heightmaps but possible when grids are small and the + quadrant-saturation penalty pushes candidates into tight corners. If + two cities land on identical pixels the MST treats them as zero- + distance nodes and A* produces an empty path, silently skipping the + edge. We deterministically perturb duplicates by walking outward in + a fixed spiral until a free, walkable land cell is found; the search + order is fully determined by `city_index` so the operation stays + byte-equivalent across runs. + """ + if len(cities) <= 1: + return + + # Fixed spiral offsets — small radius first, then widen. + spiral: list[tuple[int, int]] = [] + for radius in range(1, 12): + for dr in range(-radius, radius + 1): + for dc in range(-radius, radius + 1): + if abs(dr) == radius or abs(dc) == radius: + spiral.append((dr, dc)) + + occupied: set[tuple[int, int]] = set() + for idx, city in enumerate(cities): + center = (city["_row"], city["_col"]) + if center not in occupied: + occupied.add(center) + continue + # Duplicate — walk the spiral for the first free land cell. + for dr, dc in spiral: + nr, nc = center[0] + dr, center[1] + dc + if 0 <= nr < GRID_H and 0 <= nc < GRID_W and land[nr, nc] and (nr, nc) not in occupied: + print( + f" warning: city {idx} at {center} collided with an " + f"earlier placement — deterministically perturbed to ({nr}, {nc})" + ) + city["_row"] = nr + city["_col"] = nc + city["center"] = [nr, nc] + occupied.add((nr, nc)) + break + else: + # Fallback: land is saturated — just keep the duplicate; the + # MST edge will collapse but the body is a degenerate case. + print( + f" warning: city {idx} at {center} has no free neighbor " + f"— duplicate allowed (degenerate body)" + ) + occupied.add(center) + + +# --------------------------------------------------------------------------- +# Infrastructure generation (D-191 §3) +# --------------------------------------------------------------------------- + +def _astar_path( + cost_grid: np.ndarray, + start: tuple[int, int], + goal: tuple[int, int], +) -> list[tuple[int, int]]: + """A* pathfinding on cost_grid (8-connectivity). Returns path or [].""" + sr, sc = start + gr, gc = goal + + def h(r, c): + return math.sqrt((r - gr)**2 + (c - gc)**2) + + dist = {(sr, sc): 0.0} + prev = {} + heap = [(h(sr, sc), 0.0, sr, sc)] + + while heap: + _, d, r, c = heapq.heappop(heap) + if r == gr and c == gc: + # Reconstruct path + path = [] + cur = (gr, gc) + while cur in prev: + path.append(cur) + cur = prev[cur] + path.append((sr, sc)) + path.reverse() + return path + if d > dist.get((r, c), float("inf")) + 1e-9: + continue + for dr in (-1, 0, 1): + for dc in (-1, 0, 1): + if dr == 0 and dc == 0: + continue + nr, nc = r + dr, c + dc + if nr < 0 or nr >= GRID_H or nc < 0 or nc >= GRID_W: + continue + edge = cost_grid[nr, nc] + if edge >= 1e8: + continue + step = math.sqrt(2) if dr != 0 and dc != 0 else 1.0 + nd = d + edge * step + if nd < dist.get((nr, nc), float("inf")): + dist[(nr, nc)] = nd + prev[(nr, nc)] = (r, c) + heapq.heappush(heap, (nd + h(nr, nc), nd, nr, nc)) + + return [] + + +def _mst_edges(n_cities: int, city_coords: list[tuple[int, int]]) -> list[tuple[int, int]]: + """Prim's MST on Euclidean distances between cities. Returns list of (i, j) edges.""" + if n_cities <= 1: + return [] + + in_tree = {0} + edges = [] + + while len(in_tree) < n_cities: + best_cost = float("inf") + best_edge = None + for i in in_tree: + for j in range(n_cities): + if j in in_tree: + continue + r1, c1 = city_coords[i] + r2, c2 = city_coords[j] + cost = math.sqrt((r1 - r2)**2 + (c1 - c2)**2) + if cost < best_cost: + best_cost = cost + best_edge = (i, j) + if best_edge is None: + break + edges.append(best_edge) + in_tree.add(best_edge[1]) + + return edges + + +def _subsample_path(path: list[tuple[int, int]], max_points: int = 64) -> list[list[int]]: + """Subsample a path to at most max_points for compact JSON storage.""" + if len(path) <= max_points: + return [[r, c] for r, c in path] + step = len(path) / max_points + result = [] + for i in range(max_points): + idx = int(i * step) + r, c = path[idx] + result.append([r, c]) + # Always include endpoint + r, c = path[-1] + if result[-1] != [r, c]: + result.append([r, c]) + return result + + +def generate_infrastructure( + analysis: dict, + cities: list[dict], +) -> tuple[list[dict], list[dict]]: + """Generate roads and railroads connecting cities. + + Roads: A* paths on terrain cost grid connecting each MST edge. + Railroads: same MST edges but via a cost grid favouring corridors. + + Returns (roads, railroads) — each is a list of path dicts. + """ + if len(cities) < 2: + return [], [] + + cost_grid = analysis["cost_grid"] + city_coords = [((c["_row"], c["_col"])) for c in cities] + n = len(city_coords) + + mst = _mst_edges(n, city_coords) + + roads = [] + railroads = [] + road_cost = cost_grid.copy() + # Rail cost: slightly prefer following roads (lower cost after first pass) + rail_cost = cost_grid.copy() + + for edge_idx, (i, j) in enumerate(mst): + start = city_coords[i] + goal = city_coords[j] + + road_path = _astar_path(road_cost, start, goal) + if road_path: + roads.append({ + "id": f"road_{edge_idx}", + "name": "", + "kind": "commercial", + "path": _subsample_path(road_path), + }) + # After placing a road, reduce cost along it for rail (rail follows roads) + for r, c in road_path: + if rail_cost[r, c] < 1e8: + rail_cost[r, c] = max(0.3, rail_cost[r, c] * 0.5) + + rail_path = _astar_path(rail_cost, start, goal) + if rail_path: + railroads.append({ + "id": f"railroad_{edge_idx}", + "name": "", + "kind": "passenger_freight", + "path": _subsample_path(rail_path), + }) + + return roads, railroads + + +# --------------------------------------------------------------------------- +# Gate terminal POI placement (D-191 §8) +# --------------------------------------------------------------------------- + +def place_gate_terminal( + cities: list[dict], + rng: np.random.Generator, +) -> list[dict]: + """Place a gate terminal POI at the largest population centre (sometimes scatter). + + Primary placement: city 0 (capital, largest population center). + Occasional scatter: 15% chance to a secondary city (per D-191 §8). + + Returns a list with a single POI dict in the canonical template schema: + `{id, name, kind: "transit", center: [row, col]}`. The name is left empty + for gemma_naming.py (#833) to fill. + """ + if not cities: + return [] + + scatter_prob = 0.15 + gate_city = cities[0] + if len(cities) > 1 and rng.random() < scatter_prob: + gate_city = cities[int(rng.integers(1, len(cities)))] + + return [{ + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [gate_city["_row"], gate_city["_col"]], + }] + + +# --------------------------------------------------------------------------- +# Markers.json update +# --------------------------------------------------------------------------- + +class AtlasGridMismatch(Exception): + """Raised when a markers.json grid header does not match generator constants. + + If a hand-authored template ships with, say, `{"w": 1024, "h": 512}` + and the generator overlays new cities computed against the 512 × 256 + cost grid, every coordinate is half-scale and every marker is broken. + Fail loud here rather than silently produce corrupt output. + """ + + +def load_markers(body_dir: Path) -> dict: + """Load existing markers.json, return empty structure if missing. + + Validates the grid header against the generator constants so the + caller can trust that overlaid city/road/poi coordinates are in + the same pixel space as the loaded geographic features. A mismatch + raises `AtlasGridMismatch` — regenerating a markers.json against + a different grid would corrupt every coordinate in it. + """ + markers_path = body_dir / "markers.json" + if markers_path.exists(): + with open(markers_path) as f: + markers = json.load(f) + grid = markers.get("grid") or {} + g_w = grid.get("w") + g_h = grid.get("h") + if g_w != GRID_W or g_h != GRID_H: + raise AtlasGridMismatch( + f"{markers_path} has grid {{w: {g_w}, h: {g_h}}} but the " + f"atlas generator runs against {{w: {GRID_W}, h: {GRID_H}}}. " + "Either regenerate the heightmap pipeline at the generator " + "resolution, or update GRID_W / GRID_H to match the source." + ) + return markers + return { + "grid": {"w": GRID_W, "h": GRID_H}, + "rivers": [], + "oceans": [], + "mountain_ranges": [], + "roads": [], + "cities": [], + "railroads": [], + "pois": [], + } + + +# --------------------------------------------------------------------------- +# DB queries +# --------------------------------------------------------------------------- + +def query_inhabited_bodies(conn: sqlite3.Connection) -> list[dict]: + """Query systems.db for all inhabited bodies with terrain_reference set.""" + rows = conn.execute(""" + SELECT + b.body_id, + b.system_id, + b.terrain_reference, + b.population, + b.settlement_pattern, + b.planet_class, + b.economic_role, + COALESCE(b.cultural_corridor, s.cultural_corridor) AS cultural_corridor + FROM bodies b + JOIN star_systems s ON b.system_id = s.system_id + WHERE b.inhabited = 1 + AND b.terrain_reference IS NOT NULL + AND b.population > 0 + ORDER BY b.system_id, b.body_id + """).fetchall() + + return [ + { + "body_id": row[0], + "system_id": row[1], + "terrain_reference": row[2], + "population": row[3] or 0, + "settlement_pattern": row[4], + "planet_class": row[5], + "economic_role": row[6], + "cultural_corridor": row[7], + } + for row in rows + ] + + +# --------------------------------------------------------------------------- +# Main pipeline +# --------------------------------------------------------------------------- + +def process_body( + body_info: dict, + seed: int, + noise_factor: float, + dry_run: bool, + force: bool, + verbose: bool, +) -> dict: + """Process one body. + + Returns a dict with: + status: 'generated' | 'already_populated' | 'gas_giant' | 'error' + message: human-readable detail (on error) + markers: the markers.json dict if one was produced or loaded (for DB sync) + """ + body_id = body_info["body_id"] + terrain_ref = body_info["terrain_reference"] + population = body_info["population"] + settlement_pattern = body_info["settlement_pattern"] + + # Locate body directory from terrain_reference (repo-root relative). + body_dir = REPO_ROOT / Path(terrain_ref).parent + + if not body_dir.exists(): + return {"status": "error", "message": f"body_dir not found: {body_dir}"} + + # Incremental check: if the markers file already has cities, we keep it as + # the source of truth and return it for DB sync instead of regenerating. + # `load_markers` validates the grid header; a mismatch on a hand-authored + # template is reported as an error so downstream DB sync doesn't silently + # index a file that disagrees with the generator's pixel space. + if not force: + markers_path = body_dir / "markers.json" + if markers_path.exists(): + try: + existing = load_markers(body_dir) + except AtlasGridMismatch as e: + return {"status": "error", "message": str(e)} + except json.JSONDecodeError: + existing = None # corrupted markers.json → regenerate below + if existing and existing.get("cities"): + return { + "status": "already_populated", + "markers": existing, + } + + bd = load_body_def(body_dir) + if not bd: + return {"status": "error", "message": f"no body definition for {body_id}"} + + # Seeded RNG: deterministic per (world_seed, body_id) + body_salt = body_id_salt(body_id) + rng = np.random.default_rng(seed ^ body_salt) + + try: + terrain = simulate(bd) + except Exception as e: + return {"status": "error", "message": f"simulate failed: {e}"} + + if not terrain: + return {"status": "gas_giant"} + + analysis = _analyse_terrain(terrain) + + n_cities = compute_city_count(population, settlement_pattern) + + if verbose: + print(f" {body_id}: pop={population:,} pattern={settlement_pattern} " + f"→ {n_cities} cities, {len(analysis['river_mouths'])} river mouths, " + f"{len(analysis['continents'])} continents") + + cities = place_cities( + analysis, n_cities, rng, noise_factor, body_population=population + ) + roads, railroads = generate_infrastructure(analysis, cities) + pois = place_gate_terminal(cities, rng) + + # Load existing markers (preserves rivers/oceans/mountain_ranges) and + # overlay the new generator output. `load_markers` asserts the loaded + # grid header matches the generator constants — a mismatch would + # silently corrupt every coordinate in the file. + try: + markers = load_markers(body_dir) + except AtlasGridMismatch as e: + return {"status": "error", "message": str(e)} + + output_cities = [ + {k: v for k, v in city.items() if not k.startswith("_")} + for city in cities + ] + markers["cities"] = output_cities + markers["roads"] = roads + markers["railroads"] = railroads + markers["pois"] = pois + + if not dry_run: + with open(body_dir / "markers.json", "w") as f: + json.dump(markers, f, indent=2) + + return {"status": "generated", "markers": markers} + + +def main(): + parser = argparse.ArgumentParser( + description="Atlas generation — terrain-aware city placement and infrastructure (#832)" + ) + parser.add_argument("--db", default=str(DB_PATH), help="Path to systems.db") + parser.add_argument("--body", help="Process only this body_id") + parser.add_argument("--force", action="store_true", + help="Regenerate even if cities already populated") + parser.add_argument("--dry-run", action="store_true", + help="Run analysis but do not write markers.json") + parser.add_argument("--seed", type=int, default=42, + help="World seed for deterministic placement (default: 42)") + parser.add_argument("--noise", type=float, default=0.25, + help="City placement noise factor ±N (default: 0.25 = ±25%%)") + parser.add_argument("--verbose", action="store_true", + help="Print per-body detail") + args = parser.parse_args() + + db_path = Path(args.db) + if not db_path.exists(): + print(f"error: {db_path} not found", file=sys.stderr) + sys.exit(1) + + print(f"\n Atlas Generation Pipeline (#832)") + print(f" DB: {db_path}") + print(f" Seed: {args.seed}") + if args.dry_run: + print(f" Mode: DRY RUN (no markers.json written, no DB sync)") + if args.force: + print(f" Force: enabled (will overwrite existing city placements)") + print() + + conn = sqlite3.connect(str(db_path)) + conn.execute("PRAGMA foreign_keys=ON") + ensure_atlas_schema(conn) + + bodies = query_inhabited_bodies(conn) + if args.body: + bodies = [b for b in bodies if b["body_id"] == args.body] + if not bodies: + print(f"error: body '{args.body}' not found or has no terrain_reference", + file=sys.stderr) + conn.close() + sys.exit(1) + + print(f" {len(bodies)} inhabited bodies with terrain_reference\n") + + t_total = time.time() + n_generated = 0 + n_already = 0 + n_gas = 0 + n_errors = 0 + total_counts = { + "cities": 0, "roads": 0, "railroads": 0, "pois": 0, + "rivers": 0, "oceans": 0, "mountain_ranges": 0, + } + + for i, body_info in enumerate(bodies): + body_id = body_info["body_id"] + t0 = time.time() + + result = process_body( + body_info, + seed=args.seed, + noise_factor=args.noise, + dry_run=args.dry_run, + force=args.force, + verbose=args.verbose, + ) + + elapsed = time.time() - t0 + status = result["status"] + + if status == "generated": + n_generated += 1 + if not args.dry_run: + counts = sync_markers_to_db(conn, body_id, result["markers"]) + for k, v in counts.items(): + total_counts[k] += v + print(f" [{i+1}/{len(bodies)}] {body_id:20s} generated ({elapsed:.1f}s)") + elif status == "already_populated": + n_already += 1 + if not args.dry_run: + counts = sync_markers_to_db(conn, body_id, result["markers"]) + for k, v in counts.items(): + total_counts[k] += v + if args.verbose: + print(f" [{i+1}/{len(bodies)}] {body_id:20s} already populated — DB sync only") + elif status == "gas_giant": + n_gas += 1 + if args.verbose: + print(f" [{i+1}/{len(bodies)}] {body_id:20s} gas giant — no surface") + elif status == "error": + n_errors += 1 + print(f" [{i+1}/{len(bodies)}] {body_id:20s} ERROR: {result.get('message', '')}") + + if not args.dry_run: + conn.commit() + conn.close() + + elapsed_total = time.time() - t_total + + print(f"\n Done: {elapsed_total:.0f}s") + print(f" generated: {n_generated}") + print(f" already populated: {n_already}") + print(f" gas giants: {n_gas}") + print(f" errors: {n_errors}") + + if args.dry_run: + print(f"\n Dry run — no markers.json files were written and no DB rows were touched.") + else: + print(f"\n Atlas index refreshed:") + for k in ("cities", "roads", "railroads", "pois", "rivers", "oceans", "mountain_ranges"): + print(f" atlas_{k:16s} {total_counts[k]:6d} rows") + if n_generated > 0: + print(f"\n {n_generated} markers.json files updated with cities, roads, railroads, pois.") + print(f" Run gemma_naming.py (#833) to fill city and feature names.") + + print() + + if n_errors > 0: + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/tooling/planet-gen/populate_terrain_reference.py b/tooling/planet-gen/populate_terrain_reference.py new file mode 100644 index 000000000..9b2a28bf2 --- /dev/null +++ b/tooling/planet-gen/populate_terrain_reference.py @@ -0,0 +1,139 @@ +#!/usr/bin/env python3 +""" +Batch populate terrain_reference column in systems.db bodies table. + +For each inhabited body with NULL terrain_reference: + 1. Construct expected wiki heightmap path: + wiki/star-systems/{system_slug}/bodies/{body_id}/heightmap.png + where system_slug = system_id with spaces replaced by hyphens. + 2. Verify the file exists. + 3. Update terrain_reference to the relative path. + +Bodies with missing heightmaps are logged to stdout for remediation. +This is the prerequisite for generate_atlas.py (#832). + +Usage: + python3 tooling/planet-gen/populate_terrain_reference.py + python3 tooling/planet-gen/populate_terrain_reference.py --dry-run + python3 tooling/planet-gen/populate_terrain_reference.py --db path/to/systems.db + +Decisions: D-191 (atlas pipeline prerequisites) +""" + +import argparse +import sqlite3 +from pathlib import Path + +SCRIPT_DIR = Path(__file__).resolve().parent +REPO_ROOT = (SCRIPT_DIR / ".." / "..").resolve() +DB_PATH = REPO_ROOT / "server" / "data" / "systems.db" +WIKI_DIR = REPO_ROOT / "wiki" / "star-systems" + + +def system_slug(system_id: str) -> str: + """Convert a system_id to its wiki directory slug. + + 'GJ 71' → 'GJ-71' + 'GJ 244A' → 'GJ-244A' + 'GJ 559B' → 'GJ-559B' + """ + return system_id.replace(" ", "-") + + +def expected_heightmap_path(system_id: str, body_id: str) -> Path: + """Return the expected absolute heightmap path for a body.""" + return WIKI_DIR / system_slug(system_id) / "bodies" / body_id / "heightmap.png" + + +def relative_terrain_reference(system_id: str, body_id: str) -> str: + """Return the terrain_reference value to store in the DB. + + Stored as a repo-root-relative path so it is portable across checkouts. + """ + return f"wiki/star-systems/{system_slug(system_id)}/bodies/{body_id}/heightmap.png" + + +def main(): + parser = argparse.ArgumentParser( + description="Populate terrain_reference column in systems.db bodies table" + ) + parser.add_argument("--db", default=str(DB_PATH), help="Path to systems.db") + parser.add_argument( + "--dry-run", + action="store_true", + help="Report without writing changes", + ) + args = parser.parse_args() + + db_path = Path(args.db) + if not db_path.exists(): + print(f"error: {db_path} not found") + raise SystemExit(1) + + conn = sqlite3.connect(str(db_path)) + conn.execute("PRAGMA foreign_keys=ON") + + # Fetch all inhabited bodies with NULL terrain_reference. + rows = conn.execute(""" + SELECT b.body_id, b.system_id + FROM bodies b + WHERE b.terrain_reference IS NULL + ORDER BY b.system_id, b.body_id + """).fetchall() + + print(f"\n terrain_reference population pass") + print(f" DB: {db_path}") + if args.dry_run: + print(f" Mode: DRY RUN") + print(f"\n {len(rows)} bodies with NULL terrain_reference\n") + + found = [] + missing = [] + + for body_id, system_id in rows: + path = expected_heightmap_path(system_id, body_id) + if path.exists(): + found.append((body_id, system_id)) + else: + missing.append((body_id, system_id, str(path))) + + # Report missing heightmaps before writing — helps flag gaps early. + if missing: + print(f" MISSING heightmaps ({len(missing)} bodies — no update for these):") + for body_id, system_id, path in missing: + print(f" {body_id} ({system_id}) → {path}") + print() + + if found: + print(f" Updating {len(found)} bodies with terrain_reference:") + for body_id, system_id in found: + ref = relative_terrain_reference(system_id, body_id) + print(f" {body_id} ({system_id}) → {ref}") + if not args.dry_run: + conn.execute( + "UPDATE bodies SET terrain_reference = ? WHERE body_id = ?", + (ref, body_id), + ) + + if not args.dry_run: + conn.commit() + print(f"\n Committed {len(found)} terrain_reference updates.") + else: + print(f"\n Dry run — no changes written.") + + conn.close() + + # Summary + print(f"\n Summary:") + print(f" Updated: {len(found)}") + print(f" Missing: {len(missing)}") + print(f" Total: {len(rows)}\n") + + if missing: + print(f" Action required: generate heightmaps for {len(missing)} bodies " + f"before running generate_atlas.py (#832).") + print(f" Use: make generate-terrain (or run generate.py per body)\n") + + +if __name__ == "__main__": + main() diff --git a/wiki/economics/corporations/brands.toml b/wiki/economics/corporations/brands.toml new file mode 100644 index 000000000..ef357024e --- /dev/null +++ b/wiki/economics/corporations/brands.toml @@ -0,0 +1,283 @@ +# ========================================================================== +# Settled Reach — Brand Product Records (Phase 2 Demand Stubs) +# Source of truth for brand_products and brand_inputs tables. +# Compiled to systems.db via `make economy-db`. +# +# These 4 canonical brand corps register as commodity demand nodes in the +# tâtonnement simulation (D-185: brands consume commodities, not the reverse). +# Pricing model and cultural premium curves are Phase 3+ deliverables (D-189). +# +# Phase 2 boundary: only the 4 anchor brands from D-189 §5 are authored here +# (Calloway, VGV, thrds, Bífröst Marmor). The additional ~23 brand corps +# listed in D-189 §11 are deliberately deferred to Phase 3 — Phase 2 only +# needs the demand-node plumbing + V-B01..V-B06 validation to be exercised +# end-to-end. Add new brands to this file; the importer and validators pick +# them up without schema changes. +# +# Fields per [[brand_products]] entry: +# brand_product_id Unique slug (corp_id + product slug) +# corp_id Must match a slug in wiki/corporations/ +# product_name Display name +# brand_category terroir|heritage_craft|tech_premium|cultural| +# service_premium|commodity_branded|design_heritage|platform_catalogue +# value_trajectory appreciating|depreciating|timeless +# scarcity_class capped|constrained|scalable|unlimited +# product_subcategory Readable product type descriptor +# base_premium_multiplier Multiplier over raw commodity input cost (Phase 3 pricing) +# premium_floor Minimum administered price floor (Phase 3 pricing) +# origin_system GJ catalog ID — must match star_systems.system_id +# terroir_locked true: production cannot move from origin_system +# currency_denomination tractus|mark|mixed|sol_adjacent +# shadow_viable true: circulates in shadow economy +# brand_tier halo|volume +# halo_brand_id For volume tiers: brand_product_id of parent halo product +# +# Fields per [[brand_inputs]] entry: +# brand_product_id References a brand_products entry above +# commodity_id Must match commodities.toml +# quantity Demand coefficient (annual units consumed per production run) +# +# Decisions: D-185 (brands as demand nodes), D-189 (brand layer architecture), +# D-190 (volume calibration), D-182 (TOML pipeline) +# ========================================================================== + + +# ========================================================================== +# CALLOWAY DISTILLERY (north_reach — terroir, appreciating) +# Eleven distilleries, 400 years of production. GJ 3325. +# Inputs: grain (agricultural_produce) + water for single malt whisky. +# ========================================================================== + +[[brand_products]] +brand_product_id = "calloway-single-malt-halo" +corp_id = "calloway-distillery" +product_name = "Calloway Single Malt 25yr" +brand_category = "terroir" +value_trajectory = "appreciating" +scarcity_class = "capped" +product_subcategory = "aged_spirits" +base_premium_multiplier = 18.0 +premium_floor = 0.85 +origin_system = "GJ 3325" +terroir_locked = true +currency_denomination = "tractus" +shadow_viable = true +brand_tier = "halo" + +[[brand_inputs]] +brand_product_id = "calloway-single-malt-halo" +commodity_id = "agricultural_produce" +quantity = 0.12 # grain — ~12% of annual produce demand per distillery output unit + +[[brand_inputs]] +brand_product_id = "calloway-single-malt-halo" +commodity_id = "water" +quantity = 0.08 # distillation water + +[[brand_products]] +brand_product_id = "calloway-reserve-volume" +corp_id = "calloway-distillery" +product_name = "Calloway Reserve" +brand_category = "terroir" +value_trajectory = "appreciating" +scarcity_class = "constrained" +product_subcategory = "aged_spirits" +base_premium_multiplier = 4.5 +premium_floor = 0.30 +origin_system = "GJ 3325" +terroir_locked = true +currency_denomination = "tractus" +shadow_viable = true +brand_tier = "volume" +halo_brand_id = "calloway-single-malt-halo" + +[[brand_inputs]] +brand_product_id = "calloway-reserve-volume" +commodity_id = "agricultural_produce" +quantity = 0.55 # larger grain demand — volume tier drives commodity draw + +[[brand_inputs]] +brand_product_id = "calloway-reserve-volume" +commodity_id = "water" +quantity = 0.35 + + +# ========================================================================== +# VINS DE GRAND VIDE (west_reach — terroir, appreciating / timeless) +# Négociant cooperative, GJ 395. Wine production from châteaux network. +# Inputs: agricultural_produce (grapes) + water. +# ========================================================================== + +[[brand_products]] +brand_product_id = "vgv-premier-cru-halo" +corp_id = "vins-de-grand-vide" +product_name = "Grand Vide Premier Cru" +brand_category = "terroir" +value_trajectory = "appreciating" +scarcity_class = "capped" +product_subcategory = "fine_wine" +base_premium_multiplier = 12.0 +premium_floor = 0.70 +origin_system = "GJ 395" +terroir_locked = true +currency_denomination = "tractus" +shadow_viable = true +brand_tier = "halo" + +[[brand_inputs]] +brand_product_id = "vgv-premier-cru-halo" +commodity_id = "agricultural_produce" +quantity = 0.18 # estate grapes — limited châteaux harvest + +[[brand_inputs]] +brand_product_id = "vgv-premier-cru-halo" +commodity_id = "water" +quantity = 0.04 + +[[brand_products]] +brand_product_id = "vgv-standard-volume" +corp_id = "vins-de-grand-vide" +product_name = "Grand Vide Standard" +brand_category = "terroir" +value_trajectory = "timeless" +scarcity_class = "scalable" +product_subcategory = "wine" +base_premium_multiplier = 2.2 +premium_floor = 0.15 +origin_system = "GJ 395" +terroir_locked = false +currency_denomination = "tractus" +shadow_viable = false +brand_tier = "volume" +halo_brand_id = "vgv-premier-cru-halo" + +[[brand_inputs]] +brand_product_id = "vgv-standard-volume" +commodity_id = "agricultural_produce" +quantity = 0.80 # négociant aggregation — largest agricultural demand node + +[[brand_inputs]] +brand_product_id = "vgv-standard-volume" +commodity_id = "water" +quantity = 0.20 + + +# ========================================================================== +# THRDS (north_reach — heritage_craft, timeless) +# Cold-weather technical clothing cooperative, GJ 475. +# Inputs: textiles (brach fiber) + organic_compounds (dye, finish). +# ========================================================================== + +[[brand_products]] +brand_product_id = "thrds-origin-halo" +corp_id = "thrds" +product_name = "thrds Origin" +brand_category = "heritage_craft" +value_trajectory = "timeless" +scarcity_class = "constrained" +product_subcategory = "technical_clothing" +base_premium_multiplier = 6.0 +premium_floor = 0.50 +origin_system = "GJ 475" +terroir_locked = true +currency_denomination = "tractus" +shadow_viable = false +brand_tier = "halo" + +[[brand_inputs]] +brand_product_id = "thrds-origin-halo" +commodity_id = "textiles" +quantity = 0.30 # brach fiber — origin-specific weave + +[[brand_inputs]] +brand_product_id = "thrds-origin-halo" +commodity_id = "organic_compounds" +quantity = 0.08 # plant-derived dyes and finishing compounds + +[[brand_products]] +brand_product_id = "thrds-standard-volume" +corp_id = "thrds" +product_name = "thrds Standard" +brand_category = "heritage_craft" +value_trajectory = "timeless" +scarcity_class = "scalable" +product_subcategory = "technical_clothing" +base_premium_multiplier = 2.8 +premium_floor = 0.20 +origin_system = "GJ 475" +terroir_locked = false +currency_denomination = "tractus" +shadow_viable = false +brand_tier = "volume" +halo_brand_id = "thrds-origin-halo" + +[[brand_inputs]] +brand_product_id = "thrds-standard-volume" +commodity_id = "textiles" +quantity = 1.20 # primary textile demand driver (volume tier production) + +[[brand_inputs]] +brand_product_id = "thrds-standard-volume" +commodity_id = "organic_compounds" +quantity = 0.25 + + +# ========================================================================== +# BÍFRÖST MARMOR (Compact / north_reach — terroir, appreciating) +# Kvitfjell moon marble quarry, Nyrheim (GJ 3737). Nyrheim Cooperative subsidiary. +# Inputs: stone (raw marble) + chemicals (polishing, finishing agents). +# Shadow viable: Compact-adjacent, some Sol trade on interior luxury markets. +# ========================================================================== + +[[brand_products]] +brand_product_id = "bifrost-grade-a-halo" +corp_id = "bifrost-marmor" +product_name = "Kvitfjell Grade A" +brand_category = "terroir" +value_trajectory = "appreciating" +scarcity_class = "capped" +product_subcategory = "architectural_stone" +base_premium_multiplier = 22.0 +premium_floor = 1.20 +origin_system = "GJ 3737" +terroir_locked = true +currency_denomination = "mark" +shadow_viable = true +brand_tier = "halo" + +[[brand_inputs]] +brand_product_id = "bifrost-grade-a-halo" +commodity_id = "stone" +quantity = 0.40 # high-purity calcite marble extraction — geological scarcity + +[[brand_inputs]] +brand_product_id = "bifrost-grade-a-halo" +commodity_id = "chemicals" +quantity = 0.10 # precision polishing compounds + +[[brand_products]] +brand_product_id = "bifrost-commercial-volume" +corp_id = "bifrost-marmor" +product_name = "Kvitfjell Commercial" +brand_category = "terroir" +value_trajectory = "appreciating" +scarcity_class = "constrained" +product_subcategory = "architectural_stone" +base_premium_multiplier = 5.5 +premium_floor = 0.40 +origin_system = "GJ 3737" +terroir_locked = true +currency_denomination = "mixed" +shadow_viable = true +brand_tier = "volume" +halo_brand_id = "bifrost-grade-a-halo" + +[[brand_inputs]] +brand_product_id = "bifrost-commercial-volume" +commodity_id = "stone" +quantity = 1.50 # commercial-grade quarrying — volume demand node + +[[brand_inputs]] +brand_product_id = "bifrost-commercial-volume" +commodity_id = "chemicals" +quantity = 0.30 diff --git a/wiki/star-systems/GJ-1/bodies/GJ1c/markers.json b/wiki/star-systems/GJ-1/bodies/GJ1c/markers.json index d2dfafec6..9a854cd4c 100644 --- a/wiki/star-systems/GJ-1/bodies/GJ1c/markers.json +++ b/wiki/star-systems/GJ-1/bodies/GJ1c/markers.json @@ -804,7 +804,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 97, + 207 + ], + "population": 12000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 97, + 207 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1/bodies/GJ1e-m1/markers.json b/wiki/star-systems/GJ-1/bodies/GJ1e-m1/markers.json index cb1dc063b..7f2bea44c 100644 --- a/wiki/star-systems/GJ-1/bodies/GJ1e-m1/markers.json +++ b/wiki/star-systems/GJ-1/bodies/GJ1e-m1/markers.json @@ -1134,7 +1134,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 5, + 240 + ], + "population": 1200 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 5, + 240 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1002/bodies/GJ1002b/markers.json b/wiki/star-systems/GJ-1002/bodies/GJ1002b/markers.json index 5fe9ffd82..4d3b8d147 100644 --- a/wiki/star-systems/GJ-1002/bodies/GJ1002b/markers.json +++ b/wiki/star-systems/GJ-1002/bodies/GJ1002b/markers.json @@ -454,7 +454,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 159, + 509 + ], + "population": 35000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 159, + 509 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1005A/bodies/GJ1005Ac/markers.json b/wiki/star-systems/GJ-1005A/bodies/GJ1005Ac/markers.json index 0006e4dd6..dad04a633 100644 --- a/wiki/star-systems/GJ-1005A/bodies/GJ1005Ac/markers.json +++ b/wiki/star-systems/GJ-1005A/bodies/GJ1005Ac/markers.json @@ -493,7 +493,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 167, + 467 + ], + "population": 320000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 167, + 467 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-103/bodies/GJ103c/markers.json b/wiki/star-systems/GJ-103/bodies/GJ103c/markers.json index 9818f59e3..9b360356e 100644 --- a/wiki/star-systems/GJ-103/bodies/GJ103c/markers.json +++ b/wiki/star-systems/GJ-103/bodies/GJ103c/markers.json @@ -336,7 +336,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 237, + 3 + ], + "population": 4200 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 237, + 3 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-105A/bodies/GJ105Ac/markers.json b/wiki/star-systems/GJ-105A/bodies/GJ105Ac/markers.json index 37c36d62c..00b039cc2 100644 --- a/wiki/star-systems/GJ-105A/bodies/GJ105Ac/markers.json +++ b/wiki/star-systems/GJ-105A/bodies/GJ105Ac/markers.json @@ -782,7 +782,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 113, + 0 + ], + "population": 2000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 113, + 0 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1073/bodies/GJ1073c/markers.json b/wiki/star-systems/GJ-1073/bodies/GJ1073c/markers.json index af2bdb0bc..5c0d7fcfa 100644 --- a/wiki/star-systems/GJ-1073/bodies/GJ1073c/markers.json +++ b/wiki/star-systems/GJ-1073/bodies/GJ1073c/markers.json @@ -512,7 +512,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 115, + 462 + ], + "population": 32000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 115, + 462 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1075/bodies/GJ1075c/markers.json b/wiki/star-systems/GJ-1075/bodies/GJ1075c/markers.json index eaebe9822..950071a35 100644 --- a/wiki/star-systems/GJ-1075/bodies/GJ1075c/markers.json +++ b/wiki/star-systems/GJ-1075/bodies/GJ1075c/markers.json @@ -457,7 +457,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 179, + 427 + ], + "population": 74000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 179, + 427 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-107A/bodies/GJ107Ae/markers.json b/wiki/star-systems/GJ-107A/bodies/GJ107Ae/markers.json index bd7d88912..25f823adb 100644 --- a/wiki/star-systems/GJ-107A/bodies/GJ107Ae/markers.json +++ b/wiki/star-systems/GJ-107A/bodies/GJ107Ae/markers.json @@ -496,7 +496,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 154, + 155 + ], + "population": 180000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 154, + 155 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-111/bodies/GJ111d/markers.json b/wiki/star-systems/GJ-111/bodies/GJ111d/markers.json index 009bf382a..b12e7c058 100644 --- a/wiki/star-systems/GJ-111/bodies/GJ111d/markers.json +++ b/wiki/star-systems/GJ-111/bodies/GJ111d/markers.json @@ -501,7 +501,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 83, + 1 + ], + "population": 1200 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 83, + 1 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1111/bodies/GJ1111b/markers.json b/wiki/star-systems/GJ-1111/bodies/GJ1111b/markers.json index 5c50b35fd..8a1711e9b 100644 --- a/wiki/star-systems/GJ-1111/bodies/GJ1111b/markers.json +++ b/wiki/star-systems/GJ-1111/bodies/GJ1111b/markers.json @@ -1097,7 +1097,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 211, + 352 + ], + "population": 380000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 211, + 352 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1116A/bodies/GJ1116Ac/markers.json b/wiki/star-systems/GJ-1116A/bodies/GJ1116Ac/markers.json index 8727fce55..d1d542e94 100644 --- a/wiki/star-systems/GJ-1116A/bodies/GJ1116Ac/markers.json +++ b/wiki/star-systems/GJ-1116A/bodies/GJ1116Ac/markers.json @@ -294,8 +294,575 @@ "area_cells": 634 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 41, + 423 + ], + [ + 42, + 424 + ], + [ + 43, + 425 + ], + [ + 45, + 427 + ], + [ + 46, + 428 + ], + [ + 48, + 430 + ], + [ + 49, + 431 + ], + [ + 50, + 432 + ], + [ + 52, + 434 + ], + [ + 53, + 435 + ], + [ + 55, + 437 + ], + [ + 56, + 438 + ], + [ + 58, + 440 + ], + [ + 59, + 441 + ], + [ + 60, + 442 + ], + [ + 62, + 444 + ], + [ + 63, + 445 + ], + [ + 65, + 446 + ], + [ + 66, + 446 + ], + [ + 68, + 446 + ], + [ + 69, + 446 + ], + [ + 70, + 446 + ], + [ + 72, + 446 + ], + [ + 73, + 446 + ], + [ + 75, + 446 + ], + [ + 76, + 446 + ], + [ + 77, + 446 + ], + [ + 79, + 446 + ], + [ + 80, + 446 + ], + [ + 82, + 446 + ], + [ + 83, + 446 + ], + [ + 85, + 446 + ], + [ + 86, + 446 + ], + [ + 87, + 446 + ], + [ + 89, + 446 + ], + [ + 90, + 446 + ], + [ + 92, + 446 + ], + [ + 93, + 446 + ], + [ + 95, + 446 + ], + [ + 96, + 446 + ], + [ + 97, + 446 + ], + [ + 99, + 446 + ], + [ + 100, + 446 + ], + [ + 102, + 446 + ], + [ + 103, + 446 + ], + [ + 104, + 447 + ], + [ + 106, + 448 + ], + [ + 107, + 448 + ], + [ + 109, + 449 + ], + [ + 110, + 449 + ], + [ + 112, + 450 + ], + [ + 113, + 451 + ], + [ + 114, + 451 + ], + [ + 116, + 452 + ], + [ + 117, + 453 + ], + [ + 119, + 454 + ], + [ + 120, + 454 + ], + [ + 122, + 455 + ], + [ + 123, + 455 + ], + [ + 124, + 456 + ], + [ + 126, + 457 + ], + [ + 127, + 457 + ], + [ + 129, + 458 + ], + [ + 130, + 458 + ], + [ + 131, + 459 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 41, + 423 + ], + "population": 466670000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 131, + 459 + ], + "population": 233330000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 41, + 423 + ], + [ + 42, + 424 + ], + [ + 43, + 425 + ], + [ + 45, + 427 + ], + [ + 46, + 428 + ], + [ + 48, + 430 + ], + [ + 49, + 431 + ], + [ + 50, + 432 + ], + [ + 52, + 434 + ], + [ + 53, + 435 + ], + [ + 55, + 437 + ], + [ + 56, + 438 + ], + [ + 58, + 440 + ], + [ + 59, + 441 + ], + [ + 60, + 442 + ], + [ + 62, + 444 + ], + [ + 63, + 445 + ], + [ + 65, + 446 + ], + [ + 66, + 446 + ], + [ + 68, + 446 + ], + [ + 69, + 446 + ], + [ + 70, + 446 + ], + [ + 72, + 446 + ], + [ + 73, + 446 + ], + [ + 75, + 446 + ], + [ + 76, + 446 + ], + [ + 77, + 446 + ], + [ + 79, + 446 + ], + [ + 80, + 446 + ], + [ + 82, + 446 + ], + [ + 83, + 446 + ], + [ + 85, + 446 + ], + [ + 86, + 446 + ], + [ + 87, + 446 + ], + [ + 89, + 446 + ], + [ + 90, + 446 + ], + [ + 92, + 446 + ], + [ + 93, + 446 + ], + [ + 95, + 446 + ], + [ + 96, + 446 + ], + [ + 97, + 446 + ], + [ + 99, + 446 + ], + [ + 100, + 446 + ], + [ + 102, + 446 + ], + [ + 103, + 446 + ], + [ + 104, + 447 + ], + [ + 106, + 448 + ], + [ + 107, + 448 + ], + [ + 109, + 449 + ], + [ + 110, + 449 + ], + [ + 112, + 450 + ], + [ + 113, + 451 + ], + [ + 114, + 451 + ], + [ + 116, + 452 + ], + [ + 117, + 453 + ], + [ + 119, + 454 + ], + [ + 120, + 454 + ], + [ + 122, + 455 + ], + [ + 123, + 455 + ], + [ + 124, + 456 + ], + [ + 126, + 457 + ], + [ + 127, + 457 + ], + [ + 129, + 458 + ], + [ + 130, + 458 + ], + [ + 131, + 459 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 41, + 423 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1116B/bodies/GJ1116Bc/markers.json b/wiki/star-systems/GJ-1116B/bodies/GJ1116Bc/markers.json index 3eb3ab0d9..b12cafd03 100644 --- a/wiki/star-systems/GJ-1116B/bodies/GJ1116Bc/markers.json +++ b/wiki/star-systems/GJ-1116B/bodies/GJ1116Bc/markers.json @@ -539,7 +539,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 94, + 143 + ], + "population": 22000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 94, + 143 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1125/bodies/GJ1125c/markers.json b/wiki/star-systems/GJ-1125/bodies/GJ1125c/markers.json index 11698135c..d66c04f9f 100644 --- a/wiki/star-systems/GJ-1125/bodies/GJ1125c/markers.json +++ b/wiki/star-systems/GJ-1125/bodies/GJ1125c/markers.json @@ -534,7 +534,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 250, + 508 + ], + "population": 140000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 250, + 508 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1156/bodies/GJ1156d/markers.json b/wiki/star-systems/GJ-1156/bodies/GJ1156d/markers.json index 9dad3e23e..74c5ce482 100644 --- a/wiki/star-systems/GJ-1156/bodies/GJ1156d/markers.json +++ b/wiki/star-systems/GJ-1156/bodies/GJ1156d/markers.json @@ -357,8 +357,575 @@ "area_cells": 57 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 78, + 508 + ], + [ + 79, + 507 + ], + [ + 80, + 507 + ], + [ + 82, + 507 + ], + [ + 83, + 507 + ], + [ + 85, + 507 + ], + [ + 86, + 507 + ], + [ + 88, + 507 + ], + [ + 89, + 507 + ], + [ + 91, + 507 + ], + [ + 92, + 507 + ], + [ + 94, + 506 + ], + [ + 95, + 506 + ], + [ + 97, + 506 + ], + [ + 98, + 505 + ], + [ + 100, + 503 + ], + [ + 101, + 502 + ], + [ + 103, + 500 + ], + [ + 104, + 499 + ], + [ + 106, + 497 + ], + [ + 107, + 497 + ], + [ + 109, + 497 + ], + [ + 110, + 497 + ], + [ + 112, + 497 + ], + [ + 113, + 497 + ], + [ + 115, + 497 + ], + [ + 116, + 497 + ], + [ + 118, + 497 + ], + [ + 119, + 497 + ], + [ + 121, + 497 + ], + [ + 122, + 497 + ], + [ + 124, + 497 + ], + [ + 125, + 497 + ], + [ + 126, + 497 + ], + [ + 128, + 497 + ], + [ + 129, + 497 + ], + [ + 131, + 495 + ], + [ + 132, + 495 + ], + [ + 134, + 495 + ], + [ + 135, + 495 + ], + [ + 137, + 496 + ], + [ + 138, + 497 + ], + [ + 140, + 499 + ], + [ + 141, + 500 + ], + [ + 143, + 500 + ], + [ + 144, + 500 + ], + [ + 146, + 500 + ], + [ + 147, + 499 + ], + [ + 149, + 498 + ], + [ + 150, + 498 + ], + [ + 152, + 497 + ], + [ + 153, + 497 + ], + [ + 155, + 496 + ], + [ + 156, + 495 + ], + [ + 158, + 494 + ], + [ + 159, + 494 + ], + [ + 161, + 493 + ], + [ + 162, + 493 + ], + [ + 164, + 492 + ], + [ + 165, + 491 + ], + [ + 167, + 490 + ], + [ + 168, + 490 + ], + [ + 170, + 489 + ], + [ + 171, + 489 + ], + [ + 172, + 488 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 78, + 508 + ], + "population": 800000000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 172, + 488 + ], + "population": 400000000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 78, + 508 + ], + [ + 79, + 507 + ], + [ + 80, + 507 + ], + [ + 82, + 507 + ], + [ + 83, + 507 + ], + [ + 85, + 507 + ], + [ + 86, + 507 + ], + [ + 88, + 507 + ], + [ + 89, + 507 + ], + [ + 91, + 507 + ], + [ + 92, + 507 + ], + [ + 94, + 506 + ], + [ + 95, + 506 + ], + [ + 97, + 506 + ], + [ + 98, + 505 + ], + [ + 100, + 503 + ], + [ + 101, + 502 + ], + [ + 103, + 500 + ], + [ + 104, + 499 + ], + [ + 106, + 497 + ], + [ + 107, + 497 + ], + [ + 109, + 497 + ], + [ + 110, + 497 + ], + [ + 112, + 497 + ], + [ + 113, + 497 + ], + [ + 115, + 497 + ], + [ + 116, + 497 + ], + [ + 118, + 497 + ], + [ + 119, + 497 + ], + [ + 121, + 497 + ], + [ + 122, + 497 + ], + [ + 124, + 497 + ], + [ + 125, + 497 + ], + [ + 126, + 497 + ], + [ + 128, + 497 + ], + [ + 129, + 497 + ], + [ + 131, + 495 + ], + [ + 132, + 495 + ], + [ + 134, + 495 + ], + [ + 135, + 495 + ], + [ + 137, + 496 + ], + [ + 138, + 497 + ], + [ + 140, + 499 + ], + [ + 141, + 500 + ], + [ + 143, + 500 + ], + [ + 144, + 500 + ], + [ + 146, + 500 + ], + [ + 147, + 499 + ], + [ + 149, + 498 + ], + [ + 150, + 498 + ], + [ + 152, + 497 + ], + [ + 153, + 497 + ], + [ + 155, + 496 + ], + [ + 156, + 495 + ], + [ + 158, + 494 + ], + [ + 159, + 494 + ], + [ + 161, + 493 + ], + [ + 162, + 493 + ], + [ + 164, + 492 + ], + [ + 165, + 491 + ], + [ + 167, + 490 + ], + [ + 168, + 490 + ], + [ + 170, + 489 + ], + [ + 171, + 489 + ], + [ + 172, + 488 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 172, + 488 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1230A/bodies/GJ1230Ad/markers.json b/wiki/star-systems/GJ-1230A/bodies/GJ1230Ad/markers.json index 3f164596e..da15e0457 100644 --- a/wiki/star-systems/GJ-1230A/bodies/GJ1230Ad/markers.json +++ b/wiki/star-systems/GJ-1230A/bodies/GJ1230Ad/markers.json @@ -1099,7 +1099,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 219, + 0 + ], + "population": 8000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 219, + 0 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1232/bodies/GJ1232c/markers.json b/wiki/star-systems/GJ-1232/bodies/GJ1232c/markers.json index bbdeaaf4c..43c90cbb2 100644 --- a/wiki/star-systems/GJ-1232/bodies/GJ1232c/markers.json +++ b/wiki/star-systems/GJ-1232/bodies/GJ1232c/markers.json @@ -642,7 +642,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 169, + 144 + ], + "population": 52000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 169, + 144 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1232/bodies/GJ1232e-m1/markers.json b/wiki/star-systems/GJ-1232/bodies/GJ1232e-m1/markers.json index 475af692b..4c32d6c63 100644 --- a/wiki/star-systems/GJ-1232/bodies/GJ1232e-m1/markers.json +++ b/wiki/star-systems/GJ-1232/bodies/GJ1232e-m1/markers.json @@ -172,7 +172,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 206, + 422 + ], + "population": 420 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 206, + 422 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1235/bodies/GJ1235c/markers.json b/wiki/star-systems/GJ-1235/bodies/GJ1235c/markers.json index eb11a6725..26837619b 100644 --- a/wiki/star-systems/GJ-1235/bodies/GJ1235c/markers.json +++ b/wiki/star-systems/GJ-1235/bodies/GJ1235c/markers.json @@ -533,7 +533,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 61, + 1 + ], + "population": 28000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 61, + 1 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-124/bodies/GJ124d/markers.json b/wiki/star-systems/GJ-124/bodies/GJ124d/markers.json index 54038e1b6..81c5ec79b 100644 --- a/wiki/star-systems/GJ-124/bodies/GJ124d/markers.json +++ b/wiki/star-systems/GJ-124/bodies/GJ124d/markers.json @@ -686,7 +686,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 239, + 1 + ], + "population": 380000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 239, + 1 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1245A/bodies/GJ1245Af-1/markers.json b/wiki/star-systems/GJ-1245A/bodies/GJ1245Af-1/markers.json index eabcfebbe..e0223b791 100644 --- a/wiki/star-systems/GJ-1245A/bodies/GJ1245Af-1/markers.json +++ b/wiki/star-systems/GJ-1245A/bodies/GJ1245Af-1/markers.json @@ -319,7 +319,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 64, + 0 + ], + "population": 600 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 64, + 0 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1245B/bodies/GJ1245Bb/markers.json b/wiki/star-systems/GJ-1245B/bodies/GJ1245Bb/markers.json index 2da6ec7bf..3a6f3fc28 100644 --- a/wiki/star-systems/GJ-1245B/bodies/GJ1245Bb/markers.json +++ b/wiki/star-systems/GJ-1245B/bodies/GJ1245Bb/markers.json @@ -221,7 +221,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 60, + 373 + ], + "population": 4200 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 60, + 373 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1248/bodies/GJ1248c/markers.json b/wiki/star-systems/GJ-1248/bodies/GJ1248c/markers.json index 378629fbf..6797ab3a6 100644 --- a/wiki/star-systems/GJ-1248/bodies/GJ1248c/markers.json +++ b/wiki/star-systems/GJ-1248/bodies/GJ1248c/markers.json @@ -617,7 +617,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 7, + 507 + ], + "population": 32000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 7, + 507 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1267/bodies/GJ1267c/markers.json b/wiki/star-systems/GJ-1267/bodies/GJ1267c/markers.json index cb7e9c64b..2a06a79c8 100644 --- a/wiki/star-systems/GJ-1267/bodies/GJ1267c/markers.json +++ b/wiki/star-systems/GJ-1267/bodies/GJ1267c/markers.json @@ -577,7 +577,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 207, + 394 + ], + "population": 10000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 207, + 394 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-127A/bodies/GJ127Ad/markers.json b/wiki/star-systems/GJ-127A/bodies/GJ127Ad/markers.json index 3a677f835..b45c41877 100644 --- a/wiki/star-systems/GJ-127A/bodies/GJ127Ad/markers.json +++ b/wiki/star-systems/GJ-127A/bodies/GJ127Ad/markers.json @@ -379,7 +379,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 189, + 154 + ], + "population": 500 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 189, + 154 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-127B/bodies/GJ127Bc/markers.json b/wiki/star-systems/GJ-127B/bodies/GJ127Bc/markers.json index 6def2cb75..5b25a7700 100644 --- a/wiki/star-systems/GJ-127B/bodies/GJ127Bc/markers.json +++ b/wiki/star-systems/GJ-127B/bodies/GJ127Bc/markers.json @@ -978,7 +978,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 101, + 380 + ], + "population": 85000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 101, + 380 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1286/bodies/GJ1286d/markers.json b/wiki/star-systems/GJ-1286/bodies/GJ1286d/markers.json index 53cad1fa5..db5efd4db 100644 --- a/wiki/star-systems/GJ-1286/bodies/GJ1286d/markers.json +++ b/wiki/star-systems/GJ-1286/bodies/GJ1286d/markers.json @@ -474,7 +474,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 90, + 448 + ], + "population": 500000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 90, + 448 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1286/bodies/GJ1286e/markers.json b/wiki/star-systems/GJ-1286/bodies/GJ1286e/markers.json index b1ac77698..179fb6d90 100644 --- a/wiki/star-systems/GJ-1286/bodies/GJ1286e/markers.json +++ b/wiki/star-systems/GJ-1286/bodies/GJ1286e/markers.json @@ -1186,8 +1186,575 @@ "area_cells": 151 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 57, + 450 + ], + [ + 59, + 450 + ], + [ + 61, + 450 + ], + [ + 63, + 449 + ], + [ + 65, + 449 + ], + [ + 67, + 447 + ], + [ + 69, + 447 + ], + [ + 71, + 447 + ], + [ + 73, + 447 + ], + [ + 75, + 447 + ], + [ + 77, + 447 + ], + [ + 79, + 447 + ], + [ + 81, + 447 + ], + [ + 83, + 447 + ], + [ + 85, + 447 + ], + [ + 87, + 446 + ], + [ + 89, + 444 + ], + [ + 91, + 442 + ], + [ + 92, + 440 + ], + [ + 93, + 438 + ], + [ + 94, + 436 + ], + [ + 95, + 434 + ], + [ + 97, + 432 + ], + [ + 99, + 430 + ], + [ + 101, + 428 + ], + [ + 101, + 426 + ], + [ + 102, + 424 + ], + [ + 102, + 422 + ], + [ + 103, + 420 + ], + [ + 103, + 418 + ], + [ + 103, + 416 + ], + [ + 103, + 414 + ], + [ + 105, + 412 + ], + [ + 107, + 410 + ], + [ + 109, + 408 + ], + [ + 111, + 406 + ], + [ + 113, + 404 + ], + [ + 114, + 402 + ], + [ + 115, + 400 + ], + [ + 115, + 398 + ], + [ + 115, + 396 + ], + [ + 115, + 394 + ], + [ + 114, + 392 + ], + [ + 114, + 390 + ], + [ + 113, + 388 + ], + [ + 113, + 386 + ], + [ + 113, + 384 + ], + [ + 112, + 382 + ], + [ + 112, + 380 + ], + [ + 111, + 378 + ], + [ + 110, + 376 + ], + [ + 109, + 374 + ], + [ + 108, + 372 + ], + [ + 106, + 370 + ], + [ + 106, + 368 + ], + [ + 104, + 367 + ], + [ + 102, + 366 + ], + [ + 100, + 365 + ], + [ + 98, + 364 + ], + [ + 96, + 364 + ], + [ + 94, + 364 + ], + [ + 92, + 364 + ], + [ + 90, + 364 + ], + [ + 88, + 364 + ], + [ + 87, + 364 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 57, + 450 + ], + "population": 53330000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 87, + 364 + ], + "population": 26670000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 57, + 450 + ], + [ + 59, + 450 + ], + [ + 61, + 450 + ], + [ + 63, + 449 + ], + [ + 65, + 449 + ], + [ + 67, + 447 + ], + [ + 69, + 447 + ], + [ + 71, + 447 + ], + [ + 73, + 447 + ], + [ + 75, + 447 + ], + [ + 77, + 447 + ], + [ + 79, + 447 + ], + [ + 81, + 447 + ], + [ + 83, + 447 + ], + [ + 85, + 447 + ], + [ + 87, + 446 + ], + [ + 89, + 444 + ], + [ + 91, + 442 + ], + [ + 92, + 440 + ], + [ + 93, + 438 + ], + [ + 94, + 436 + ], + [ + 95, + 434 + ], + [ + 97, + 432 + ], + [ + 99, + 430 + ], + [ + 101, + 428 + ], + [ + 101, + 426 + ], + [ + 102, + 424 + ], + [ + 102, + 422 + ], + [ + 103, + 420 + ], + [ + 103, + 418 + ], + [ + 103, + 416 + ], + [ + 103, + 414 + ], + [ + 105, + 412 + ], + [ + 107, + 410 + ], + [ + 109, + 408 + ], + [ + 111, + 406 + ], + [ + 113, + 404 + ], + [ + 114, + 402 + ], + [ + 115, + 400 + ], + [ + 115, + 398 + ], + [ + 115, + 396 + ], + [ + 115, + 394 + ], + [ + 114, + 392 + ], + [ + 114, + 390 + ], + [ + 113, + 388 + ], + [ + 113, + 386 + ], + [ + 113, + 384 + ], + [ + 112, + 382 + ], + [ + 112, + 380 + ], + [ + 111, + 378 + ], + [ + 110, + 376 + ], + [ + 109, + 374 + ], + [ + 108, + 372 + ], + [ + 106, + 370 + ], + [ + 106, + 368 + ], + [ + 104, + 367 + ], + [ + 102, + 366 + ], + [ + 100, + 365 + ], + [ + 98, + 364 + ], + [ + 96, + 364 + ], + [ + 94, + 364 + ], + [ + 92, + 364 + ], + [ + 90, + 364 + ], + [ + 88, + 364 + ], + [ + 87, + 364 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 57, + 450 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1289/bodies/GJ1289c/markers.json b/wiki/star-systems/GJ-1289/bodies/GJ1289c/markers.json index 3249c0f07..43bc03fb0 100644 --- a/wiki/star-systems/GJ-1289/bodies/GJ1289c/markers.json +++ b/wiki/star-systems/GJ-1289/bodies/GJ1289c/markers.json @@ -801,8 +801,575 @@ "area_cells": 55 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 163, + 404 + ], + [ + 163, + 405 + ], + [ + 163, + 406 + ], + [ + 163, + 408 + ], + [ + 162, + 409 + ], + [ + 162, + 410 + ], + [ + 162, + 412 + ], + [ + 162, + 413 + ], + [ + 162, + 414 + ], + [ + 162, + 416 + ], + [ + 161, + 417 + ], + [ + 161, + 418 + ], + [ + 161, + 420 + ], + [ + 161, + 421 + ], + [ + 161, + 422 + ], + [ + 161, + 424 + ], + [ + 161, + 425 + ], + [ + 161, + 426 + ], + [ + 161, + 428 + ], + [ + 161, + 429 + ], + [ + 161, + 430 + ], + [ + 161, + 432 + ], + [ + 161, + 433 + ], + [ + 162, + 434 + ], + [ + 162, + 436 + ], + [ + 162, + 437 + ], + [ + 162, + 438 + ], + [ + 162, + 440 + ], + [ + 162, + 441 + ], + [ + 162, + 442 + ], + [ + 162, + 444 + ], + [ + 162, + 445 + ], + [ + 162, + 447 + ], + [ + 162, + 448 + ], + [ + 162, + 449 + ], + [ + 162, + 451 + ], + [ + 162, + 452 + ], + [ + 162, + 453 + ], + [ + 162, + 455 + ], + [ + 162, + 456 + ], + [ + 162, + 457 + ], + [ + 162, + 459 + ], + [ + 162, + 460 + ], + [ + 162, + 461 + ], + [ + 163, + 463 + ], + [ + 164, + 464 + ], + [ + 164, + 465 + ], + [ + 165, + 467 + ], + [ + 165, + 468 + ], + [ + 166, + 469 + ], + [ + 167, + 471 + ], + [ + 167, + 472 + ], + [ + 168, + 473 + ], + [ + 169, + 475 + ], + [ + 169, + 476 + ], + [ + 170, + 477 + ], + [ + 170, + 479 + ], + [ + 171, + 480 + ], + [ + 171, + 481 + ], + [ + 172, + 483 + ], + [ + 173, + 484 + ], + [ + 173, + 485 + ], + [ + 174, + 487 + ], + [ + 174, + 488 + ], + [ + 175, + 489 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 163, + 404 + ], + "population": 133330000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 175, + 489 + ], + "population": 66670000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 163, + 404 + ], + [ + 163, + 405 + ], + [ + 163, + 406 + ], + [ + 163, + 408 + ], + [ + 162, + 409 + ], + [ + 162, + 410 + ], + [ + 162, + 412 + ], + [ + 162, + 413 + ], + [ + 162, + 414 + ], + [ + 162, + 416 + ], + [ + 161, + 417 + ], + [ + 161, + 418 + ], + [ + 161, + 420 + ], + [ + 161, + 421 + ], + [ + 161, + 422 + ], + [ + 161, + 424 + ], + [ + 161, + 425 + ], + [ + 161, + 426 + ], + [ + 161, + 428 + ], + [ + 161, + 429 + ], + [ + 161, + 430 + ], + [ + 161, + 432 + ], + [ + 161, + 433 + ], + [ + 162, + 434 + ], + [ + 162, + 436 + ], + [ + 162, + 437 + ], + [ + 162, + 438 + ], + [ + 162, + 440 + ], + [ + 162, + 441 + ], + [ + 162, + 442 + ], + [ + 162, + 444 + ], + [ + 162, + 445 + ], + [ + 162, + 447 + ], + [ + 162, + 448 + ], + [ + 162, + 449 + ], + [ + 162, + 451 + ], + [ + 162, + 452 + ], + [ + 162, + 453 + ], + [ + 162, + 455 + ], + [ + 162, + 456 + ], + [ + 162, + 457 + ], + [ + 162, + 459 + ], + [ + 162, + 460 + ], + [ + 162, + 461 + ], + [ + 163, + 463 + ], + [ + 164, + 464 + ], + [ + 164, + 465 + ], + [ + 165, + 467 + ], + [ + 165, + 468 + ], + [ + 166, + 469 + ], + [ + 167, + 471 + ], + [ + 167, + 472 + ], + [ + 168, + 473 + ], + [ + 169, + 475 + ], + [ + 169, + 476 + ], + [ + 170, + 477 + ], + [ + 170, + 479 + ], + [ + 171, + 480 + ], + [ + 171, + 481 + ], + [ + 172, + 483 + ], + [ + 173, + 484 + ], + [ + 173, + 485 + ], + [ + 174, + 487 + ], + [ + 174, + 488 + ], + [ + 175, + 489 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 175, + 489 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-1292/bodies/GJ1292d/markers.json b/wiki/star-systems/GJ-1292/bodies/GJ1292d/markers.json index 754fde8ef..3d8a0bd9e 100644 --- a/wiki/star-systems/GJ-1292/bodies/GJ1292d/markers.json +++ b/wiki/star-systems/GJ-1292/bodies/GJ1292d/markers.json @@ -582,7 +582,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 212, + 412 + ], + "population": 50000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 212, + 412 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-136/bodies/GJ136d/markers.json b/wiki/star-systems/GJ-136/bodies/GJ136d/markers.json index ee970a9f9..89675f9ee 100644 --- a/wiki/star-systems/GJ-136/bodies/GJ136d/markers.json +++ b/wiki/star-systems/GJ-136/bodies/GJ136d/markers.json @@ -586,7 +586,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 117, + 3 + ], + "population": 280000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 117, + 3 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-137/bodies/GJ137d/markers.json b/wiki/star-systems/GJ-137/bodies/GJ137d/markers.json index a0ef68339..9d38edbd2 100644 --- a/wiki/star-systems/GJ-137/bodies/GJ137d/markers.json +++ b/wiki/star-systems/GJ-137/bodies/GJ137d/markers.json @@ -355,7 +355,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 32, + 452 + ], + "population": 860000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 32, + 452 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-138/bodies/GJ138c/markers.json b/wiki/star-systems/GJ-138/bodies/GJ138c/markers.json index 9ee40eb9a..6bcbfd8ca 100644 --- a/wiki/star-systems/GJ-138/bodies/GJ138c/markers.json +++ b/wiki/star-systems/GJ-138/bodies/GJ138c/markers.json @@ -1070,7 +1070,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 250, + 23 + ], + "population": 12000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 250, + 23 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-139/bodies/GJ139d/markers.json b/wiki/star-systems/GJ-139/bodies/GJ139d/markers.json index 76c616afe..544ffa073 100644 --- a/wiki/star-systems/GJ-139/bodies/GJ139d/markers.json +++ b/wiki/star-systems/GJ-139/bodies/GJ139d/markers.json @@ -286,7 +286,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 162, + 505 + ], + "population": 350000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 162, + 505 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-142/bodies/GJ142c/markers.json b/wiki/star-systems/GJ-142/bodies/GJ142c/markers.json index 2ebec69fe..5c2fe44c2 100644 --- a/wiki/star-systems/GJ-142/bodies/GJ142c/markers.json +++ b/wiki/star-systems/GJ-142/bodies/GJ142c/markers.json @@ -961,7 +961,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 100, + 321 + ], + "population": 3000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 100, + 321 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-144/bodies/GJ144d/markers.json b/wiki/star-systems/GJ-144/bodies/GJ144d/markers.json index 8273ba7b5..be3b2b7e3 100644 --- a/wiki/star-systems/GJ-144/bodies/GJ144d/markers.json +++ b/wiki/star-systems/GJ-144/bodies/GJ144d/markers.json @@ -588,8 +588,575 @@ "area_cells": 154 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 250, + 311 + ], + [ + 251, + 310 + ], + [ + 252, + 309 + ], + [ + 254, + 307 + ], + [ + 254, + 306 + ], + [ + 254, + 304 + ], + [ + 254, + 303 + ], + [ + 254, + 301 + ], + [ + 254, + 300 + ], + [ + 254, + 299 + ], + [ + 254, + 297 + ], + [ + 253, + 296 + ], + [ + 253, + 294 + ], + [ + 253, + 293 + ], + [ + 253, + 291 + ], + [ + 253, + 290 + ], + [ + 253, + 288 + ], + [ + 253, + 287 + ], + [ + 252, + 286 + ], + [ + 250, + 284 + ], + [ + 249, + 283 + ], + [ + 247, + 281 + ], + [ + 247, + 280 + ], + [ + 247, + 278 + ], + [ + 247, + 277 + ], + [ + 247, + 276 + ], + [ + 247, + 274 + ], + [ + 247, + 273 + ], + [ + 247, + 271 + ], + [ + 247, + 270 + ], + [ + 247, + 268 + ], + [ + 247, + 267 + ], + [ + 247, + 265 + ], + [ + 247, + 264 + ], + [ + 247, + 263 + ], + [ + 247, + 261 + ], + [ + 247, + 260 + ], + [ + 247, + 258 + ], + [ + 247, + 257 + ], + [ + 247, + 255 + ], + [ + 247, + 254 + ], + [ + 247, + 253 + ], + [ + 247, + 251 + ], + [ + 246, + 250 + ], + [ + 246, + 248 + ], + [ + 246, + 247 + ], + [ + 246, + 245 + ], + [ + 246, + 244 + ], + [ + 246, + 242 + ], + [ + 246, + 241 + ], + [ + 246, + 240 + ], + [ + 246, + 238 + ], + [ + 246, + 237 + ], + [ + 246, + 235 + ], + [ + 246, + 234 + ], + [ + 246, + 232 + ], + [ + 246, + 231 + ], + [ + 246, + 230 + ], + [ + 246, + 228 + ], + [ + 246, + 227 + ], + [ + 246, + 225 + ], + [ + 246, + 224 + ], + [ + 246, + 222 + ], + [ + 246, + 221 + ], + [ + 246, + 220 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 250, + 311 + ], + "population": 1333330000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 246, + 220 + ], + "population": 666670000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 250, + 311 + ], + [ + 251, + 310 + ], + [ + 252, + 309 + ], + [ + 254, + 307 + ], + [ + 254, + 306 + ], + [ + 254, + 304 + ], + [ + 254, + 303 + ], + [ + 254, + 301 + ], + [ + 254, + 300 + ], + [ + 254, + 299 + ], + [ + 254, + 297 + ], + [ + 253, + 296 + ], + [ + 253, + 294 + ], + [ + 253, + 293 + ], + [ + 253, + 291 + ], + [ + 253, + 290 + ], + [ + 253, + 288 + ], + [ + 253, + 287 + ], + [ + 252, + 286 + ], + [ + 250, + 284 + ], + [ + 249, + 283 + ], + [ + 247, + 281 + ], + [ + 247, + 280 + ], + [ + 247, + 278 + ], + [ + 247, + 277 + ], + [ + 247, + 276 + ], + [ + 247, + 274 + ], + [ + 247, + 273 + ], + [ + 247, + 271 + ], + [ + 247, + 270 + ], + [ + 247, + 268 + ], + [ + 247, + 267 + ], + [ + 247, + 265 + ], + [ + 247, + 264 + ], + [ + 247, + 263 + ], + [ + 247, + 261 + ], + [ + 247, + 260 + ], + [ + 247, + 258 + ], + [ + 247, + 257 + ], + [ + 247, + 255 + ], + [ + 247, + 254 + ], + [ + 247, + 253 + ], + [ + 247, + 251 + ], + [ + 246, + 250 + ], + [ + 246, + 248 + ], + [ + 246, + 247 + ], + [ + 246, + 245 + ], + [ + 246, + 244 + ], + [ + 246, + 242 + ], + [ + 246, + 241 + ], + [ + 246, + 240 + ], + [ + 246, + 238 + ], + [ + 246, + 237 + ], + [ + 246, + 235 + ], + [ + 246, + 234 + ], + [ + 246, + 232 + ], + [ + 246, + 231 + ], + [ + 246, + 230 + ], + [ + 246, + 228 + ], + [ + 246, + 227 + ], + [ + 246, + 225 + ], + [ + 246, + 224 + ], + [ + 246, + 222 + ], + [ + 246, + 221 + ], + [ + 246, + 220 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 250, + 311 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-144/bodies/GJ144e/markers.json b/wiki/star-systems/GJ-144/bodies/GJ144e/markers.json index 7e7ac6199..f61240390 100644 --- a/wiki/star-systems/GJ-144/bodies/GJ144e/markers.json +++ b/wiki/star-systems/GJ-144/bodies/GJ144e/markers.json @@ -775,8 +775,531 @@ "area_cells": 52 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 212, + 426 + ], + [ + 212, + 425 + ], + [ + 212, + 424 + ], + [ + 212, + 423 + ], + [ + 212, + 422 + ], + [ + 212, + 421 + ], + [ + 212, + 420 + ], + [ + 212, + 419 + ], + [ + 212, + 418 + ], + [ + 212, + 417 + ], + [ + 212, + 416 + ], + [ + 212, + 415 + ], + [ + 212, + 414 + ], + [ + 212, + 413 + ], + [ + 212, + 412 + ], + [ + 212, + 411 + ], + [ + 212, + 410 + ], + [ + 212, + 409 + ], + [ + 212, + 408 + ], + [ + 212, + 407 + ], + [ + 212, + 406 + ], + [ + 212, + 405 + ], + [ + 212, + 404 + ], + [ + 212, + 403 + ], + [ + 212, + 402 + ], + [ + 212, + 401 + ], + [ + 212, + 400 + ], + [ + 212, + 399 + ], + [ + 213, + 398 + ], + [ + 214, + 397 + ], + [ + 215, + 396 + ], + [ + 215, + 395 + ], + [ + 215, + 394 + ], + [ + 215, + 393 + ], + [ + 215, + 392 + ], + [ + 215, + 391 + ], + [ + 215, + 390 + ], + [ + 215, + 389 + ], + [ + 215, + 388 + ], + [ + 215, + 387 + ], + [ + 215, + 386 + ], + [ + 215, + 385 + ], + [ + 215, + 384 + ], + [ + 215, + 383 + ], + [ + 216, + 382 + ], + [ + 216, + 381 + ], + [ + 216, + 380 + ], + [ + 217, + 379 + ], + [ + 217, + 378 + ], + [ + 218, + 377 + ], + [ + 218, + 376 + ], + [ + 219, + 375 + ], + [ + 219, + 374 + ], + [ + 220, + 373 + ], + [ + 220, + 372 + ], + [ + 220, + 371 + ], + [ + 221, + 370 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 212, + 426 + ], + "population": 640000000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 221, + 370 + ], + "population": 320000000 + }, + { + "id": "city_2", + "name": "", + "kind": "city", + "center": [ + 7, + 353 + ], + "population": 160000000 + }, + { + "id": "city_3", + "name": "", + "kind": "city", + "center": [ + 46, + 156 + ], + "population": 80000000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 212, + 426 + ], + [ + 212, + 425 + ], + [ + 212, + 424 + ], + [ + 212, + 423 + ], + [ + 212, + 422 + ], + [ + 212, + 421 + ], + [ + 212, + 420 + ], + [ + 212, + 419 + ], + [ + 212, + 418 + ], + [ + 212, + 417 + ], + [ + 212, + 416 + ], + [ + 212, + 415 + ], + [ + 212, + 414 + ], + [ + 212, + 413 + ], + [ + 212, + 412 + ], + [ + 212, + 411 + ], + [ + 212, + 410 + ], + [ + 212, + 409 + ], + [ + 212, + 408 + ], + [ + 212, + 407 + ], + [ + 212, + 406 + ], + [ + 212, + 405 + ], + [ + 212, + 404 + ], + [ + 212, + 403 + ], + [ + 212, + 402 + ], + [ + 212, + 401 + ], + [ + 212, + 400 + ], + [ + 212, + 399 + ], + [ + 213, + 398 + ], + [ + 214, + 397 + ], + [ + 215, + 396 + ], + [ + 215, + 395 + ], + [ + 215, + 394 + ], + [ + 215, + 393 + ], + [ + 215, + 392 + ], + [ + 215, + 391 + ], + [ + 215, + 390 + ], + [ + 215, + 389 + ], + [ + 215, + 388 + ], + [ + 215, + 387 + ], + [ + 215, + 386 + ], + [ + 215, + 385 + ], + [ + 215, + 384 + ], + [ + 215, + 383 + ], + [ + 216, + 382 + ], + [ + 216, + 381 + ], + [ + 216, + 380 + ], + [ + 217, + 379 + ], + [ + 217, + 378 + ], + [ + 218, + 377 + ], + [ + 218, + 376 + ], + [ + 219, + 375 + ], + [ + 219, + 374 + ], + [ + 220, + 373 + ], + [ + 220, + 372 + ], + [ + 220, + 371 + ], + [ + 221, + 370 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 221, + 370 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-147/bodies/GJ147c/markers.json b/wiki/star-systems/GJ-147/bodies/GJ147c/markers.json index 968ca3830..72f6f1d89 100644 --- a/wiki/star-systems/GJ-147/bodies/GJ147c/markers.json +++ b/wiki/star-systems/GJ-147/bodies/GJ147c/markers.json @@ -694,7 +694,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 217, + 394 + ], + "population": 700 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 217, + 394 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-150/bodies/GJ150d/markers.json b/wiki/star-systems/GJ-150/bodies/GJ150d/markers.json index e6a2bba0e..ef02e5b9f 100644 --- a/wiki/star-systems/GJ-150/bodies/GJ150d/markers.json +++ b/wiki/star-systems/GJ-150/bodies/GJ150d/markers.json @@ -906,7 +906,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 38, + 135 + ], + "population": 120000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 38, + 135 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-15A/bodies/GJ15Ac/markers.json b/wiki/star-systems/GJ-15A/bodies/GJ15Ac/markers.json index 45046d69d..9cd49bc25 100644 --- a/wiki/star-systems/GJ-15A/bodies/GJ15Ac/markers.json +++ b/wiki/star-systems/GJ-15A/bodies/GJ15Ac/markers.json @@ -910,8 +910,575 @@ "area_cells": 39 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 123, + 509 + ], + [ + 123, + 508 + ], + [ + 123, + 506 + ], + [ + 123, + 504 + ], + [ + 125, + 503 + ], + [ + 126, + 502 + ], + [ + 128, + 500 + ], + [ + 130, + 498 + ], + [ + 132, + 498 + ], + [ + 134, + 497 + ], + [ + 135, + 496 + ], + [ + 137, + 496 + ], + [ + 139, + 495 + ], + [ + 141, + 494 + ], + [ + 142, + 493 + ], + [ + 144, + 491 + ], + [ + 146, + 490 + ], + [ + 148, + 490 + ], + [ + 150, + 490 + ], + [ + 151, + 490 + ], + [ + 153, + 490 + ], + [ + 155, + 490 + ], + [ + 157, + 490 + ], + [ + 158, + 490 + ], + [ + 160, + 490 + ], + [ + 162, + 490 + ], + [ + 164, + 490 + ], + [ + 166, + 490 + ], + [ + 167, + 490 + ], + [ + 169, + 490 + ], + [ + 171, + 490 + ], + [ + 173, + 490 + ], + [ + 175, + 490 + ], + [ + 176, + 490 + ], + [ + 178, + 490 + ], + [ + 180, + 490 + ], + [ + 182, + 490 + ], + [ + 183, + 490 + ], + [ + 185, + 490 + ], + [ + 187, + 491 + ], + [ + 189, + 493 + ], + [ + 191, + 492 + ], + [ + 192, + 491 + ], + [ + 194, + 489 + ], + [ + 196, + 487 + ], + [ + 198, + 485 + ], + [ + 199, + 484 + ], + [ + 201, + 482 + ], + [ + 203, + 480 + ], + [ + 205, + 478 + ], + [ + 207, + 476 + ], + [ + 208, + 475 + ], + [ + 210, + 473 + ], + [ + 212, + 471 + ], + [ + 214, + 469 + ], + [ + 215, + 468 + ], + [ + 217, + 466 + ], + [ + 219, + 464 + ], + [ + 221, + 462 + ], + [ + 222, + 460 + ], + [ + 223, + 459 + ], + [ + 224, + 457 + ], + [ + 224, + 455 + ], + [ + 225, + 453 + ], + [ + 226, + 452 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 123, + 509 + ], + "population": 1866670000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 226, + 452 + ], + "population": 933330000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 123, + 509 + ], + [ + 123, + 508 + ], + [ + 123, + 506 + ], + [ + 123, + 504 + ], + [ + 125, + 503 + ], + [ + 126, + 502 + ], + [ + 128, + 500 + ], + [ + 130, + 498 + ], + [ + 132, + 498 + ], + [ + 134, + 497 + ], + [ + 135, + 496 + ], + [ + 137, + 496 + ], + [ + 139, + 495 + ], + [ + 141, + 494 + ], + [ + 142, + 493 + ], + [ + 144, + 491 + ], + [ + 146, + 490 + ], + [ + 148, + 490 + ], + [ + 150, + 490 + ], + [ + 151, + 490 + ], + [ + 153, + 490 + ], + [ + 155, + 490 + ], + [ + 157, + 490 + ], + [ + 158, + 490 + ], + [ + 160, + 490 + ], + [ + 162, + 490 + ], + [ + 164, + 490 + ], + [ + 166, + 490 + ], + [ + 167, + 490 + ], + [ + 169, + 490 + ], + [ + 171, + 490 + ], + [ + 173, + 490 + ], + [ + 175, + 490 + ], + [ + 176, + 490 + ], + [ + 178, + 490 + ], + [ + 180, + 490 + ], + [ + 182, + 490 + ], + [ + 183, + 490 + ], + [ + 185, + 490 + ], + [ + 187, + 491 + ], + [ + 189, + 493 + ], + [ + 191, + 492 + ], + [ + 192, + 491 + ], + [ + 194, + 489 + ], + [ + 196, + 487 + ], + [ + 198, + 485 + ], + [ + 199, + 484 + ], + [ + 201, + 482 + ], + [ + 203, + 480 + ], + [ + 205, + 478 + ], + [ + 207, + 476 + ], + [ + 208, + 475 + ], + [ + 210, + 473 + ], + [ + 212, + 471 + ], + [ + 214, + 469 + ], + [ + 215, + 468 + ], + [ + 217, + 466 + ], + [ + 219, + 464 + ], + [ + 221, + 462 + ], + [ + 222, + 460 + ], + [ + 223, + 459 + ], + [ + 224, + 457 + ], + [ + 224, + 455 + ], + [ + 225, + 453 + ], + [ + 226, + 452 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 123, + 509 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-166A/bodies/GJ166Ac/markers.json b/wiki/star-systems/GJ-166A/bodies/GJ166Ac/markers.json index 0b00077aa..45475d5f4 100644 --- a/wiki/star-systems/GJ-166A/bodies/GJ166Ac/markers.json +++ b/wiki/star-systems/GJ-166A/bodies/GJ166Ac/markers.json @@ -558,8 +558,575 @@ "area_cells": 26 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 128, + 198 + ], + [ + 127, + 199 + ], + [ + 125, + 201 + ], + [ + 124, + 202 + ], + [ + 122, + 204 + ], + [ + 121, + 205 + ], + [ + 120, + 207 + ], + [ + 120, + 208 + ], + [ + 120, + 210 + ], + [ + 120, + 212 + ], + [ + 120, + 213 + ], + [ + 120, + 215 + ], + [ + 120, + 216 + ], + [ + 120, + 218 + ], + [ + 120, + 219 + ], + [ + 120, + 221 + ], + [ + 120, + 223 + ], + [ + 120, + 224 + ], + [ + 120, + 226 + ], + [ + 120, + 227 + ], + [ + 120, + 229 + ], + [ + 120, + 230 + ], + [ + 118, + 232 + ], + [ + 118, + 233 + ], + [ + 118, + 235 + ], + [ + 118, + 237 + ], + [ + 118, + 238 + ], + [ + 118, + 240 + ], + [ + 118, + 241 + ], + [ + 118, + 243 + ], + [ + 118, + 244 + ], + [ + 118, + 246 + ], + [ + 118, + 248 + ], + [ + 118, + 249 + ], + [ + 118, + 251 + ], + [ + 118, + 252 + ], + [ + 118, + 254 + ], + [ + 118, + 255 + ], + [ + 118, + 257 + ], + [ + 118, + 258 + ], + [ + 118, + 260 + ], + [ + 118, + 262 + ], + [ + 118, + 263 + ], + [ + 118, + 265 + ], + [ + 118, + 266 + ], + [ + 118, + 268 + ], + [ + 118, + 269 + ], + [ + 118, + 271 + ], + [ + 118, + 273 + ], + [ + 118, + 274 + ], + [ + 118, + 276 + ], + [ + 118, + 277 + ], + [ + 118, + 279 + ], + [ + 118, + 280 + ], + [ + 118, + 282 + ], + [ + 118, + 283 + ], + [ + 118, + 285 + ], + [ + 118, + 287 + ], + [ + 119, + 288 + ], + [ + 120, + 290 + ], + [ + 120, + 291 + ], + [ + 121, + 293 + ], + [ + 122, + 294 + ], + [ + 122, + 296 + ], + [ + 123, + 297 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 128, + 198 + ], + "population": 16670000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 123, + 297 + ], + "population": 8330000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 128, + 198 + ], + [ + 127, + 199 + ], + [ + 125, + 201 + ], + [ + 124, + 202 + ], + [ + 122, + 204 + ], + [ + 121, + 205 + ], + [ + 120, + 207 + ], + [ + 120, + 208 + ], + [ + 120, + 210 + ], + [ + 120, + 212 + ], + [ + 120, + 213 + ], + [ + 120, + 215 + ], + [ + 120, + 216 + ], + [ + 120, + 218 + ], + [ + 120, + 219 + ], + [ + 120, + 221 + ], + [ + 120, + 223 + ], + [ + 120, + 224 + ], + [ + 120, + 226 + ], + [ + 120, + 227 + ], + [ + 120, + 229 + ], + [ + 120, + 230 + ], + [ + 118, + 232 + ], + [ + 118, + 233 + ], + [ + 118, + 235 + ], + [ + 118, + 237 + ], + [ + 118, + 238 + ], + [ + 118, + 240 + ], + [ + 118, + 241 + ], + [ + 118, + 243 + ], + [ + 118, + 244 + ], + [ + 118, + 246 + ], + [ + 118, + 248 + ], + [ + 118, + 249 + ], + [ + 118, + 251 + ], + [ + 118, + 252 + ], + [ + 118, + 254 + ], + [ + 118, + 255 + ], + [ + 118, + 257 + ], + [ + 118, + 258 + ], + [ + 118, + 260 + ], + [ + 118, + 262 + ], + [ + 118, + 263 + ], + [ + 118, + 265 + ], + [ + 118, + 266 + ], + [ + 118, + 268 + ], + [ + 118, + 269 + ], + [ + 118, + 271 + ], + [ + 118, + 273 + ], + [ + 118, + 274 + ], + [ + 118, + 276 + ], + [ + 118, + 277 + ], + [ + 118, + 279 + ], + [ + 118, + 280 + ], + [ + 118, + 282 + ], + [ + 118, + 283 + ], + [ + 118, + 285 + ], + [ + 118, + 287 + ], + [ + 119, + 288 + ], + [ + 120, + 290 + ], + [ + 120, + 291 + ], + [ + 121, + 293 + ], + [ + 122, + 294 + ], + [ + 122, + 296 + ], + [ + 123, + 297 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 128, + 198 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-169/bodies/GJ169c/markers.json b/wiki/star-systems/GJ-169/bodies/GJ169c/markers.json index 5f24cf379..ee28b55be 100644 --- a/wiki/star-systems/GJ-169/bodies/GJ169c/markers.json +++ b/wiki/star-systems/GJ-169/bodies/GJ169c/markers.json @@ -655,7 +655,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 250, + 311 + ], + "population": 6000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 250, + 311 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-17/bodies/GJ17d/markers.json b/wiki/star-systems/GJ-17/bodies/GJ17d/markers.json index f012e95fa..70329c31d 100644 --- a/wiki/star-systems/GJ-17/bodies/GJ17d/markers.json +++ b/wiki/star-systems/GJ-17/bodies/GJ17d/markers.json @@ -524,7 +524,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 95, + 97 + ], + "population": 520000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 95, + 97 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-172/bodies/GJ172c/markers.json b/wiki/star-systems/GJ-172/bodies/GJ172c/markers.json index 0bd45928c..4dcdfbd7c 100644 --- a/wiki/star-systems/GJ-172/bodies/GJ172c/markers.json +++ b/wiki/star-systems/GJ-172/bodies/GJ172c/markers.json @@ -591,7 +591,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 88, + 131 + ], + "population": 420000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 88, + 131 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-174/bodies/GJ174c/markers.json b/wiki/star-systems/GJ-174/bodies/GJ174c/markers.json index 6a2b6c273..148a67c43 100644 --- a/wiki/star-systems/GJ-174/bodies/GJ174c/markers.json +++ b/wiki/star-systems/GJ-174/bodies/GJ174c/markers.json @@ -486,7 +486,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 250, + 506 + ], + "population": 20000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 250, + 506 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-178/bodies/GJ178e/markers.json b/wiki/star-systems/GJ-178/bodies/GJ178e/markers.json index e9438533b..40b453814 100644 --- a/wiki/star-systems/GJ-178/bodies/GJ178e/markers.json +++ b/wiki/star-systems/GJ-178/bodies/GJ178e/markers.json @@ -1096,7 +1096,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 79, + 386 + ], + "population": 80000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 79, + 386 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-183/bodies/GJ183c/markers.json b/wiki/star-systems/GJ-183/bodies/GJ183c/markers.json index 7353dd8e6..a2273ceed 100644 --- a/wiki/star-systems/GJ-183/bodies/GJ183c/markers.json +++ b/wiki/star-systems/GJ-183/bodies/GJ183c/markers.json @@ -836,7 +836,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 156, + 141 + ], + "population": 18000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 156, + 141 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-189/bodies/GJ189c/markers.json b/wiki/star-systems/GJ-189/bodies/GJ189c/markers.json index 2eeedacbb..afc9e08f1 100644 --- a/wiki/star-systems/GJ-189/bodies/GJ189c/markers.json +++ b/wiki/star-systems/GJ-189/bodies/GJ189c/markers.json @@ -691,7 +691,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 5, + 179 + ], + "population": 30000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 5, + 179 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-19/bodies/GJ19d/markers.json b/wiki/star-systems/GJ-19/bodies/GJ19d/markers.json index f762bca3a..ebba9320c 100644 --- a/wiki/star-systems/GJ-19/bodies/GJ19d/markers.json +++ b/wiki/star-systems/GJ-19/bodies/GJ19d/markers.json @@ -668,7 +668,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 59, + 453 + ], + "population": 85000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 59, + 453 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-191/bodies/GJ191c/markers.json b/wiki/star-systems/GJ-191/bodies/GJ191c/markers.json index caaed198b..84d174df2 100644 --- a/wiki/star-systems/GJ-191/bodies/GJ191c/markers.json +++ b/wiki/star-systems/GJ-191/bodies/GJ191c/markers.json @@ -547,7 +547,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 98, + 94 + ], + "population": 8000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 98, + 94 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-194B/bodies/GJ194Bd/markers.json b/wiki/star-systems/GJ-194B/bodies/GJ194Bd/markers.json index d9dc1d73f..68f759376 100644 --- a/wiki/star-systems/GJ-194B/bodies/GJ194Bd/markers.json +++ b/wiki/star-systems/GJ-194B/bodies/GJ194Bd/markers.json @@ -1301,7 +1301,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 73, + 498 + ], + "population": 25000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 73, + 498 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-197/bodies/GJ197d/markers.json b/wiki/star-systems/GJ-197/bodies/GJ197d/markers.json index 7719a006a..bb28d0a84 100644 --- a/wiki/star-systems/GJ-197/bodies/GJ197d/markers.json +++ b/wiki/star-systems/GJ-197/bodies/GJ197d/markers.json @@ -891,7 +891,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 5, + 55 + ], + "population": 58000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 5, + 55 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-204/bodies/GJ204c/markers.json b/wiki/star-systems/GJ-204/bodies/GJ204c/markers.json index 7184fbb93..e7cdc29e4 100644 --- a/wiki/star-systems/GJ-204/bodies/GJ204c/markers.json +++ b/wiki/star-systems/GJ-204/bodies/GJ204c/markers.json @@ -768,7 +768,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 5, + 430 + ], + "population": 15000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 5, + 430 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-205/bodies/GJ205c/markers.json b/wiki/star-systems/GJ-205/bodies/GJ205c/markers.json index 3b283a0e5..f620854c5 100644 --- a/wiki/star-systems/GJ-205/bodies/GJ205c/markers.json +++ b/wiki/star-systems/GJ-205/bodies/GJ205c/markers.json @@ -1050,7 +1050,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 208, + 127 + ], + "population": 420000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 208, + 127 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-208/bodies/GJ208c/markers.json b/wiki/star-systems/GJ-208/bodies/GJ208c/markers.json index b970b5b7d..92c59ebb4 100644 --- a/wiki/star-systems/GJ-208/bodies/GJ208c/markers.json +++ b/wiki/star-systems/GJ-208/bodies/GJ208c/markers.json @@ -697,7 +697,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 244, + 91 + ], + "population": 800 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 244, + 91 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-2097/bodies/GJ2097c/markers.json b/wiki/star-systems/GJ-2097/bodies/GJ2097c/markers.json index 8a15b7948..07fe6e894 100644 --- a/wiki/star-systems/GJ-2097/bodies/GJ2097c/markers.json +++ b/wiki/star-systems/GJ-2097/bodies/GJ2097c/markers.json @@ -632,7 +632,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 22, + 8 + ], + "population": 40000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 22, + 8 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-211/bodies/GJ211c/markers.json b/wiki/star-systems/GJ-211/bodies/GJ211c/markers.json index f2abe86d8..64635cbe9 100644 --- a/wiki/star-systems/GJ-211/bodies/GJ211c/markers.json +++ b/wiki/star-systems/GJ-211/bodies/GJ211c/markers.json @@ -923,7 +923,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 218, + 504 + ], + "population": 10000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 218, + 504 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-213/bodies/GJ213c/markers.json b/wiki/star-systems/GJ-213/bodies/GJ213c/markers.json index f7ccf1f7d..371f68483 100644 --- a/wiki/star-systems/GJ-213/bodies/GJ213c/markers.json +++ b/wiki/star-systems/GJ-213/bodies/GJ213c/markers.json @@ -234,7 +234,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 88, + 141 + ], + "population": 35000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 88, + 141 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-216A/bodies/GJ216Ae/markers.json b/wiki/star-systems/GJ-216A/bodies/GJ216Ae/markers.json index bfb433bd5..d9876db76 100644 --- a/wiki/star-systems/GJ-216A/bodies/GJ216Ae/markers.json +++ b/wiki/star-systems/GJ-216A/bodies/GJ216Ae/markers.json @@ -1909,7 +1909,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 54, + 241 + ], + "population": 8000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 54, + 241 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-216B/bodies/GJ216Bd/markers.json b/wiki/star-systems/GJ-216B/bodies/GJ216Bd/markers.json index 337b8967e..62696beb3 100644 --- a/wiki/star-systems/GJ-216B/bodies/GJ216Bd/markers.json +++ b/wiki/star-systems/GJ-216B/bodies/GJ216Bd/markers.json @@ -1328,7 +1328,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 65, + 372 + ], + "population": 40000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 65, + 372 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-229/bodies/GJ229c/markers.json b/wiki/star-systems/GJ-229/bodies/GJ229c/markers.json index 40abd1cc0..b393720d1 100644 --- a/wiki/star-systems/GJ-229/bodies/GJ229c/markers.json +++ b/wiki/star-systems/GJ-229/bodies/GJ229c/markers.json @@ -890,7 +890,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 208, + 46 + ], + "population": 3800000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 208, + 46 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-231/bodies/GJ231d/markers.json b/wiki/star-systems/GJ-231/bodies/GJ231d/markers.json index b49484cce..cc7d72ad3 100644 --- a/wiki/star-systems/GJ-231/bodies/GJ231d/markers.json +++ b/wiki/star-systems/GJ-231/bodies/GJ231d/markers.json @@ -988,7 +988,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 142, + 287 + ], + "population": 35000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 142, + 287 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-234A/bodies/GJ234Ac/markers.json b/wiki/star-systems/GJ-234A/bodies/GJ234Ac/markers.json index 4ee55e0a1..b306ae1d7 100644 --- a/wiki/star-systems/GJ-234A/bodies/GJ234Ac/markers.json +++ b/wiki/star-systems/GJ-234A/bodies/GJ234Ac/markers.json @@ -781,7 +781,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 45, + 128 + ], + "population": 12000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 45, + 128 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-250A/bodies/GJ250Ad/markers.json b/wiki/star-systems/GJ-250A/bodies/GJ250Ad/markers.json index 836a57e28..d3dd14d35 100644 --- a/wiki/star-systems/GJ-250A/bodies/GJ250Ad/markers.json +++ b/wiki/star-systems/GJ-250A/bodies/GJ250Ad/markers.json @@ -905,7 +905,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 130, + 67 + ], + "population": 60000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 130, + 67 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-251/bodies/GJ251c/markers.json b/wiki/star-systems/GJ-251/bodies/GJ251c/markers.json index 31ff175bf..e6e29570e 100644 --- a/wiki/star-systems/GJ-251/bodies/GJ251c/markers.json +++ b/wiki/star-systems/GJ-251/bodies/GJ251c/markers.json @@ -482,8 +482,575 @@ "area_cells": 46 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 123, + 369 + ], + [ + 123, + 368 + ], + [ + 123, + 367 + ], + [ + 124, + 365 + ], + [ + 124, + 364 + ], + [ + 124, + 363 + ], + [ + 125, + 361 + ], + [ + 125, + 360 + ], + [ + 125, + 358 + ], + [ + 125, + 357 + ], + [ + 125, + 356 + ], + [ + 125, + 354 + ], + [ + 125, + 353 + ], + [ + 125, + 351 + ], + [ + 125, + 350 + ], + [ + 125, + 349 + ], + [ + 125, + 347 + ], + [ + 125, + 346 + ], + [ + 124, + 344 + ], + [ + 123, + 343 + ], + [ + 122, + 342 + ], + [ + 120, + 340 + ], + [ + 120, + 339 + ], + [ + 120, + 338 + ], + [ + 120, + 336 + ], + [ + 120, + 335 + ], + [ + 120, + 333 + ], + [ + 120, + 332 + ], + [ + 120, + 331 + ], + [ + 120, + 329 + ], + [ + 120, + 328 + ], + [ + 120, + 326 + ], + [ + 120, + 325 + ], + [ + 120, + 324 + ], + [ + 120, + 322 + ], + [ + 120, + 321 + ], + [ + 120, + 319 + ], + [ + 120, + 318 + ], + [ + 120, + 317 + ], + [ + 120, + 315 + ], + [ + 120, + 314 + ], + [ + 119, + 312 + ], + [ + 119, + 311 + ], + [ + 118, + 310 + ], + [ + 117, + 308 + ], + [ + 117, + 307 + ], + [ + 116, + 306 + ], + [ + 115, + 304 + ], + [ + 115, + 303 + ], + [ + 114, + 301 + ], + [ + 114, + 300 + ], + [ + 113, + 299 + ], + [ + 112, + 297 + ], + [ + 112, + 296 + ], + [ + 111, + 294 + ], + [ + 110, + 293 + ], + [ + 110, + 292 + ], + [ + 109, + 290 + ], + [ + 109, + 289 + ], + [ + 108, + 287 + ], + [ + 107, + 286 + ], + [ + 107, + 285 + ], + [ + 106, + 283 + ], + [ + 106, + 282 + ], + [ + 105, + 281 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 123, + 369 + ], + "population": 3333330000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 105, + 281 + ], + "population": 1666670000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 123, + 369 + ], + [ + 123, + 368 + ], + [ + 123, + 367 + ], + [ + 124, + 365 + ], + [ + 124, + 364 + ], + [ + 124, + 363 + ], + [ + 125, + 361 + ], + [ + 125, + 360 + ], + [ + 125, + 358 + ], + [ + 125, + 357 + ], + [ + 125, + 356 + ], + [ + 125, + 354 + ], + [ + 125, + 353 + ], + [ + 125, + 351 + ], + [ + 125, + 350 + ], + [ + 125, + 349 + ], + [ + 125, + 347 + ], + [ + 125, + 346 + ], + [ + 124, + 344 + ], + [ + 123, + 343 + ], + [ + 122, + 342 + ], + [ + 120, + 340 + ], + [ + 120, + 339 + ], + [ + 120, + 338 + ], + [ + 120, + 336 + ], + [ + 120, + 335 + ], + [ + 120, + 333 + ], + [ + 120, + 332 + ], + [ + 120, + 331 + ], + [ + 120, + 329 + ], + [ + 120, + 328 + ], + [ + 120, + 326 + ], + [ + 120, + 325 + ], + [ + 120, + 324 + ], + [ + 120, + 322 + ], + [ + 120, + 321 + ], + [ + 120, + 319 + ], + [ + 120, + 318 + ], + [ + 120, + 317 + ], + [ + 120, + 315 + ], + [ + 120, + 314 + ], + [ + 119, + 312 + ], + [ + 119, + 311 + ], + [ + 118, + 310 + ], + [ + 117, + 308 + ], + [ + 117, + 307 + ], + [ + 116, + 306 + ], + [ + 115, + 304 + ], + [ + 115, + 303 + ], + [ + 114, + 301 + ], + [ + 114, + 300 + ], + [ + 113, + 299 + ], + [ + 112, + 297 + ], + [ + 112, + 296 + ], + [ + 111, + 294 + ], + [ + 110, + 293 + ], + [ + 110, + 292 + ], + [ + 109, + 290 + ], + [ + 109, + 289 + ], + [ + 108, + 287 + ], + [ + 107, + 286 + ], + [ + 107, + 285 + ], + [ + 106, + 283 + ], + [ + 106, + 282 + ], + [ + 105, + 281 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 123, + 369 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-27/bodies/GJ27d/markers.json b/wiki/star-systems/GJ-27/bodies/GJ27d/markers.json index 698bd006b..d4b199431 100644 --- a/wiki/star-systems/GJ-27/bodies/GJ27d/markers.json +++ b/wiki/star-systems/GJ-27/bodies/GJ27d/markers.json @@ -688,7 +688,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 103, + 237 + ], + "population": 290000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 103, + 237 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-273/bodies/GJ273c/markers.json b/wiki/star-systems/GJ-273/bodies/GJ273c/markers.json index 0d29415e3..08f954e0b 100644 --- a/wiki/star-systems/GJ-273/bodies/GJ273c/markers.json +++ b/wiki/star-systems/GJ-273/bodies/GJ273c/markers.json @@ -1057,8 +1057,575 @@ "area_cells": 139 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 249, + 386 + ], + [ + 248, + 386 + ], + [ + 246, + 386 + ], + [ + 245, + 386 + ], + [ + 243, + 386 + ], + [ + 241, + 386 + ], + [ + 240, + 386 + ], + [ + 238, + 386 + ], + [ + 237, + 386 + ], + [ + 235, + 386 + ], + [ + 233, + 386 + ], + [ + 232, + 386 + ], + [ + 230, + 386 + ], + [ + 229, + 385 + ], + [ + 227, + 383 + ], + [ + 225, + 381 + ], + [ + 224, + 380 + ], + [ + 222, + 378 + ], + [ + 221, + 377 + ], + [ + 219, + 376 + ], + [ + 217, + 376 + ], + [ + 216, + 376 + ], + [ + 214, + 376 + ], + [ + 212, + 376 + ], + [ + 211, + 376 + ], + [ + 209, + 376 + ], + [ + 208, + 376 + ], + [ + 206, + 376 + ], + [ + 204, + 376 + ], + [ + 203, + 376 + ], + [ + 201, + 376 + ], + [ + 200, + 376 + ], + [ + 198, + 376 + ], + [ + 196, + 376 + ], + [ + 195, + 376 + ], + [ + 193, + 376 + ], + [ + 192, + 376 + ], + [ + 190, + 376 + ], + [ + 188, + 375 + ], + [ + 187, + 375 + ], + [ + 185, + 375 + ], + [ + 184, + 375 + ], + [ + 182, + 375 + ], + [ + 180, + 375 + ], + [ + 179, + 375 + ], + [ + 177, + 375 + ], + [ + 175, + 375 + ], + [ + 174, + 375 + ], + [ + 172, + 375 + ], + [ + 171, + 375 + ], + [ + 169, + 375 + ], + [ + 167, + 375 + ], + [ + 166, + 375 + ], + [ + 164, + 375 + ], + [ + 163, + 375 + ], + [ + 161, + 375 + ], + [ + 159, + 375 + ], + [ + 158, + 375 + ], + [ + 156, + 375 + ], + [ + 155, + 375 + ], + [ + 153, + 375 + ], + [ + 151, + 375 + ], + [ + 150, + 375 + ], + [ + 148, + 375 + ], + [ + 147, + 374 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 249, + 386 + ], + "population": 533330000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 147, + 374 + ], + "population": 266670000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 249, + 386 + ], + [ + 248, + 386 + ], + [ + 246, + 386 + ], + [ + 245, + 386 + ], + [ + 243, + 386 + ], + [ + 241, + 386 + ], + [ + 240, + 386 + ], + [ + 238, + 386 + ], + [ + 237, + 386 + ], + [ + 235, + 386 + ], + [ + 233, + 386 + ], + [ + 232, + 386 + ], + [ + 230, + 386 + ], + [ + 229, + 385 + ], + [ + 227, + 383 + ], + [ + 225, + 381 + ], + [ + 224, + 380 + ], + [ + 222, + 378 + ], + [ + 221, + 377 + ], + [ + 219, + 376 + ], + [ + 217, + 376 + ], + [ + 216, + 376 + ], + [ + 214, + 376 + ], + [ + 212, + 376 + ], + [ + 211, + 376 + ], + [ + 209, + 376 + ], + [ + 208, + 376 + ], + [ + 206, + 376 + ], + [ + 204, + 376 + ], + [ + 203, + 376 + ], + [ + 201, + 376 + ], + [ + 200, + 376 + ], + [ + 198, + 376 + ], + [ + 196, + 376 + ], + [ + 195, + 376 + ], + [ + 193, + 376 + ], + [ + 192, + 376 + ], + [ + 190, + 376 + ], + [ + 188, + 375 + ], + [ + 187, + 375 + ], + [ + 185, + 375 + ], + [ + 184, + 375 + ], + [ + 182, + 375 + ], + [ + 180, + 375 + ], + [ + 179, + 375 + ], + [ + 177, + 375 + ], + [ + 175, + 375 + ], + [ + 174, + 375 + ], + [ + 172, + 375 + ], + [ + 171, + 375 + ], + [ + 169, + 375 + ], + [ + 167, + 375 + ], + [ + 166, + 375 + ], + [ + 164, + 375 + ], + [ + 163, + 375 + ], + [ + 161, + 375 + ], + [ + 159, + 375 + ], + [ + 158, + 375 + ], + [ + 156, + 375 + ], + [ + 155, + 375 + ], + [ + 153, + 375 + ], + [ + 151, + 375 + ], + [ + 150, + 375 + ], + [ + 148, + 375 + ], + [ + 147, + 374 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 147, + 374 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-282A/bodies/GJ282Ac/markers.json b/wiki/star-systems/GJ-282A/bodies/GJ282Ac/markers.json index b8981a1d1..92aedc497 100644 --- a/wiki/star-systems/GJ-282A/bodies/GJ282Ac/markers.json +++ b/wiki/star-systems/GJ-282A/bodies/GJ282Ac/markers.json @@ -1027,7 +1027,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 27, + 246 + ], + "population": 120000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 27, + 246 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-282B/bodies/GJ282Bc/markers.json b/wiki/star-systems/GJ-282B/bodies/GJ282Bc/markers.json index f83a948a2..d481fa738 100644 --- a/wiki/star-systems/GJ-282B/bodies/GJ282Bc/markers.json +++ b/wiki/star-systems/GJ-282B/bodies/GJ282Bc/markers.json @@ -562,7 +562,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 206, + 103 + ], + "population": 800 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 206, + 103 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-285/bodies/GJ285c/markers.json b/wiki/star-systems/GJ-285/bodies/GJ285c/markers.json index ff2422d11..9880001c3 100644 --- a/wiki/star-systems/GJ-285/bodies/GJ285c/markers.json +++ b/wiki/star-systems/GJ-285/bodies/GJ285c/markers.json @@ -309,7 +309,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 88, + 54 + ], + "population": 1200 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 88, + 54 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-286/bodies/GJ286c/markers.json b/wiki/star-systems/GJ-286/bodies/GJ286c/markers.json index 49b968d5d..8608e0a52 100644 --- a/wiki/star-systems/GJ-286/bodies/GJ286c/markers.json +++ b/wiki/star-systems/GJ-286/bodies/GJ286c/markers.json @@ -661,7 +661,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 114, + 276 + ], + "population": 15000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 114, + 276 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-299/bodies/GJ299c/markers.json b/wiki/star-systems/GJ-299/bodies/GJ299c/markers.json index 63a7b5b67..d1b39641e 100644 --- a/wiki/star-systems/GJ-299/bodies/GJ299c/markers.json +++ b/wiki/star-systems/GJ-299/bodies/GJ299c/markers.json @@ -539,7 +539,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 115, + 374 + ], + "population": 3200000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 115, + 374 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-300/bodies/GJ300c/markers.json b/wiki/star-systems/GJ-300/bodies/GJ300c/markers.json index 991048bbf..472dc20a2 100644 --- a/wiki/star-systems/GJ-300/bodies/GJ300c/markers.json +++ b/wiki/star-systems/GJ-300/bodies/GJ300c/markers.json @@ -453,7 +453,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 95, + 124 + ], + "population": 3000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 95, + 124 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-302/bodies/GJ302c/markers.json b/wiki/star-systems/GJ-302/bodies/GJ302c/markers.json index 15d38b135..a1cf880f5 100644 --- a/wiki/star-systems/GJ-302/bodies/GJ302c/markers.json +++ b/wiki/star-systems/GJ-302/bodies/GJ302c/markers.json @@ -456,7 +456,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 250, + 92 + ], + "population": 42000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 250, + 92 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-309/bodies/GJ309c/markers.json b/wiki/star-systems/GJ-309/bodies/GJ309c/markers.json index 9ff13b26f..20adb927c 100644 --- a/wiki/star-systems/GJ-309/bodies/GJ309c/markers.json +++ b/wiki/star-systems/GJ-309/bodies/GJ309c/markers.json @@ -603,7 +603,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 247, + 68 + ], + "population": 2000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 247, + 68 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3135/bodies/GJ3135c/markers.json b/wiki/star-systems/GJ-3135/bodies/GJ3135c/markers.json index 4a036d4bf..aeab0eb1c 100644 --- a/wiki/star-systems/GJ-3135/bodies/GJ3135c/markers.json +++ b/wiki/star-systems/GJ-3135/bodies/GJ3135c/markers.json @@ -555,7 +555,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 150, + 509 + ], + "population": 72000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 150, + 509 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-320/bodies/GJ320c/markers.json b/wiki/star-systems/GJ-320/bodies/GJ320c/markers.json index 107b94b89..0f52e5f03 100644 --- a/wiki/star-systems/GJ-320/bodies/GJ320c/markers.json +++ b/wiki/star-systems/GJ-320/bodies/GJ320c/markers.json @@ -457,7 +457,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 85, + 356 + ], + "population": 65000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 85, + 356 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3250/bodies/GJ3250c/markers.json b/wiki/star-systems/GJ-3250/bodies/GJ3250c/markers.json index b7f3c867c..a6c3860ff 100644 --- a/wiki/star-systems/GJ-3250/bodies/GJ3250c/markers.json +++ b/wiki/star-systems/GJ-3250/bodies/GJ3250c/markers.json @@ -543,7 +543,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 99, + 457 + ], + "population": 32000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 99, + 457 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-325A/bodies/GJ325Ac/markers.json b/wiki/star-systems/GJ-325A/bodies/GJ325Ac/markers.json index 6f46df516..ada14b4ea 100644 --- a/wiki/star-systems/GJ-325A/bodies/GJ325Ac/markers.json +++ b/wiki/star-systems/GJ-325A/bodies/GJ325Ac/markers.json @@ -817,7 +817,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 250, + 64 + ], + "population": 95000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 250, + 64 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3323/bodies/GJ3323c/markers.json b/wiki/star-systems/GJ-3323/bodies/GJ3323c/markers.json index 0086f3293..81824212d 100644 --- a/wiki/star-systems/GJ-3323/bodies/GJ3323c/markers.json +++ b/wiki/star-systems/GJ-3323/bodies/GJ3323c/markers.json @@ -646,7 +646,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 162, + 101 + ], + "population": 12000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 162, + 101 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3325/bodies/GJ3325d/markers.json b/wiki/star-systems/GJ-3325/bodies/GJ3325d/markers.json index 302699d06..16aef504b 100644 --- a/wiki/star-systems/GJ-3325/bodies/GJ3325d/markers.json +++ b/wiki/star-systems/GJ-3325/bodies/GJ3325d/markers.json @@ -1001,8 +1001,575 @@ "area_cells": 6238 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 84, + 217 + ], + [ + 84, + 218 + ], + [ + 84, + 219 + ], + [ + 84, + 221 + ], + [ + 84, + 222 + ], + [ + 84, + 223 + ], + [ + 84, + 225 + ], + [ + 84, + 226 + ], + [ + 84, + 227 + ], + [ + 84, + 229 + ], + [ + 84, + 230 + ], + [ + 83, + 231 + ], + [ + 81, + 233 + ], + [ + 80, + 234 + ], + [ + 79, + 235 + ], + [ + 77, + 237 + ], + [ + 76, + 238 + ], + [ + 75, + 239 + ], + [ + 73, + 241 + ], + [ + 72, + 242 + ], + [ + 71, + 243 + ], + [ + 70, + 245 + ], + [ + 70, + 246 + ], + [ + 70, + 247 + ], + [ + 70, + 249 + ], + [ + 70, + 250 + ], + [ + 69, + 251 + ], + [ + 69, + 253 + ], + [ + 69, + 254 + ], + [ + 69, + 255 + ], + [ + 69, + 257 + ], + [ + 68, + 258 + ], + [ + 68, + 260 + ], + [ + 68, + 261 + ], + [ + 68, + 262 + ], + [ + 68, + 264 + ], + [ + 68, + 265 + ], + [ + 68, + 266 + ], + [ + 68, + 268 + ], + [ + 68, + 269 + ], + [ + 67, + 270 + ], + [ + 67, + 272 + ], + [ + 67, + 273 + ], + [ + 67, + 274 + ], + [ + 67, + 276 + ], + [ + 67, + 277 + ], + [ + 67, + 278 + ], + [ + 67, + 280 + ], + [ + 67, + 281 + ], + [ + 67, + 282 + ], + [ + 67, + 284 + ], + [ + 67, + 285 + ], + [ + 67, + 286 + ], + [ + 67, + 288 + ], + [ + 67, + 289 + ], + [ + 67, + 290 + ], + [ + 67, + 292 + ], + [ + 67, + 293 + ], + [ + 67, + 294 + ], + [ + 67, + 296 + ], + [ + 66, + 297 + ], + [ + 66, + 298 + ], + [ + 65, + 300 + ], + [ + 65, + 301 + ], + [ + 64, + 302 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 84, + 217 + ], + "population": 133330000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 64, + 302 + ], + "population": 66670000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 84, + 217 + ], + [ + 84, + 218 + ], + [ + 84, + 219 + ], + [ + 84, + 221 + ], + [ + 84, + 222 + ], + [ + 84, + 223 + ], + [ + 84, + 225 + ], + [ + 84, + 226 + ], + [ + 84, + 227 + ], + [ + 84, + 229 + ], + [ + 84, + 230 + ], + [ + 83, + 231 + ], + [ + 81, + 233 + ], + [ + 80, + 234 + ], + [ + 79, + 235 + ], + [ + 77, + 237 + ], + [ + 76, + 238 + ], + [ + 75, + 239 + ], + [ + 73, + 241 + ], + [ + 72, + 242 + ], + [ + 71, + 243 + ], + [ + 70, + 245 + ], + [ + 70, + 246 + ], + [ + 70, + 247 + ], + [ + 70, + 249 + ], + [ + 70, + 250 + ], + [ + 69, + 251 + ], + [ + 69, + 253 + ], + [ + 69, + 254 + ], + [ + 69, + 255 + ], + [ + 69, + 257 + ], + [ + 68, + 258 + ], + [ + 68, + 260 + ], + [ + 68, + 261 + ], + [ + 68, + 262 + ], + [ + 68, + 264 + ], + [ + 68, + 265 + ], + [ + 68, + 266 + ], + [ + 68, + 268 + ], + [ + 68, + 269 + ], + [ + 67, + 270 + ], + [ + 67, + 272 + ], + [ + 67, + 273 + ], + [ + 67, + 274 + ], + [ + 67, + 276 + ], + [ + 67, + 277 + ], + [ + 67, + 278 + ], + [ + 67, + 280 + ], + [ + 67, + 281 + ], + [ + 67, + 282 + ], + [ + 67, + 284 + ], + [ + 67, + 285 + ], + [ + 67, + 286 + ], + [ + 67, + 288 + ], + [ + 67, + 289 + ], + [ + 67, + 290 + ], + [ + 67, + 292 + ], + [ + 67, + 293 + ], + [ + 67, + 294 + ], + [ + 67, + 296 + ], + [ + 66, + 297 + ], + [ + 66, + 298 + ], + [ + 65, + 300 + ], + [ + 65, + 301 + ], + [ + 64, + 302 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 84, + 217 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3333/bodies/GJ3333c/markers.json b/wiki/star-systems/GJ-3333/bodies/GJ3333c/markers.json index 0c3c11f0e..930f50c31 100644 --- a/wiki/star-systems/GJ-3333/bodies/GJ3333c/markers.json +++ b/wiki/star-systems/GJ-3333/bodies/GJ3333c/markers.json @@ -1337,7 +1337,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 162, + 3 + ], + "population": 45000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 162, + 3 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3379/bodies/GJ3379e-m1/markers.json b/wiki/star-systems/GJ-3379/bodies/GJ3379e-m1/markers.json index a71eea5dc..52aa9bcb5 100644 --- a/wiki/star-systems/GJ-3379/bodies/GJ3379e-m1/markers.json +++ b/wiki/star-systems/GJ-3379/bodies/GJ3379e-m1/markers.json @@ -107,7 +107,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 196, + 260 + ], + "population": 18000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 196, + 260 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-338B/bodies/GJ338Bd/markers.json b/wiki/star-systems/GJ-338B/bodies/GJ338Bd/markers.json index 4cbb79052..9389dfda3 100644 --- a/wiki/star-systems/GJ-338B/bodies/GJ338Bd/markers.json +++ b/wiki/star-systems/GJ-338B/bodies/GJ338Bd/markers.json @@ -487,7 +487,48 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 53, + 202 + ], + "population": 342860000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 220, + 422 + ], + "population": 171430000 + }, + { + "id": "city_2", + "name": "", + "kind": "city", + "center": [ + 97, + 404 + ], + "population": 85710000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 53, + 202 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3442/bodies/GJ3442c/markers.json b/wiki/star-systems/GJ-3442/bodies/GJ3442c/markers.json index 7d848ace5..cb123c6c9 100644 --- a/wiki/star-systems/GJ-3442/bodies/GJ3442c/markers.json +++ b/wiki/star-systems/GJ-3442/bodies/GJ3442c/markers.json @@ -491,7 +491,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 5, + 204 + ], + "population": 5000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 5, + 204 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-349/bodies/GJ349c/markers.json b/wiki/star-systems/GJ-349/bodies/GJ349c/markers.json index baca2eb15..3420528b4 100644 --- a/wiki/star-systems/GJ-349/bodies/GJ349c/markers.json +++ b/wiki/star-systems/GJ-349/bodies/GJ349c/markers.json @@ -612,7 +612,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 130, + 185 + ], + "population": 1500 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 130, + 185 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-34A/bodies/GJ34Ad/markers.json b/wiki/star-systems/GJ-34A/bodies/GJ34Ad/markers.json index 04e763688..9623303f5 100644 --- a/wiki/star-systems/GJ-34A/bodies/GJ34Ad/markers.json +++ b/wiki/star-systems/GJ-34A/bodies/GJ34Ad/markers.json @@ -439,8 +439,575 @@ "area_cells": 1110 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 93, + 135 + ], + [ + 94, + 136 + ], + [ + 95, + 135 + ], + [ + 97, + 133 + ], + [ + 98, + 132 + ], + [ + 100, + 131 + ], + [ + 101, + 131 + ], + [ + 103, + 130 + ], + [ + 104, + 129 + ], + [ + 106, + 127 + ], + [ + 107, + 126 + ], + [ + 109, + 125 + ], + [ + 110, + 124 + ], + [ + 112, + 122 + ], + [ + 112, + 121 + ], + [ + 112, + 119 + ], + [ + 112, + 118 + ], + [ + 112, + 116 + ], + [ + 112, + 115 + ], + [ + 112, + 113 + ], + [ + 112, + 112 + ], + [ + 112, + 110 + ], + [ + 112, + 109 + ], + [ + 112, + 107 + ], + [ + 112, + 106 + ], + [ + 112, + 104 + ], + [ + 112, + 103 + ], + [ + 112, + 101 + ], + [ + 112, + 100 + ], + [ + 112, + 98 + ], + [ + 112, + 97 + ], + [ + 112, + 95 + ], + [ + 112, + 94 + ], + [ + 112, + 93 + ], + [ + 112, + 91 + ], + [ + 112, + 90 + ], + [ + 112, + 88 + ], + [ + 112, + 87 + ], + [ + 112, + 85 + ], + [ + 112, + 84 + ], + [ + 112, + 82 + ], + [ + 112, + 81 + ], + [ + 112, + 79 + ], + [ + 112, + 78 + ], + [ + 112, + 76 + ], + [ + 112, + 75 + ], + [ + 112, + 73 + ], + [ + 112, + 72 + ], + [ + 112, + 70 + ], + [ + 112, + 69 + ], + [ + 112, + 67 + ], + [ + 112, + 66 + ], + [ + 112, + 64 + ], + [ + 112, + 63 + ], + [ + 112, + 61 + ], + [ + 112, + 60 + ], + [ + 112, + 58 + ], + [ + 112, + 57 + ], + [ + 112, + 55 + ], + [ + 112, + 54 + ], + [ + 112, + 52 + ], + [ + 112, + 51 + ], + [ + 113, + 49 + ], + [ + 113, + 48 + ], + [ + 114, + 47 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 93, + 135 + ], + "population": 1200000000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 114, + 47 + ], + "population": 600000000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 93, + 135 + ], + [ + 94, + 135 + ], + [ + 95, + 135 + ], + [ + 97, + 133 + ], + [ + 98, + 132 + ], + [ + 100, + 131 + ], + [ + 101, + 131 + ], + [ + 103, + 130 + ], + [ + 104, + 129 + ], + [ + 106, + 127 + ], + [ + 107, + 126 + ], + [ + 109, + 125 + ], + [ + 110, + 124 + ], + [ + 112, + 122 + ], + [ + 112, + 121 + ], + [ + 112, + 119 + ], + [ + 112, + 118 + ], + [ + 112, + 116 + ], + [ + 112, + 115 + ], + [ + 112, + 113 + ], + [ + 112, + 112 + ], + [ + 112, + 110 + ], + [ + 112, + 109 + ], + [ + 112, + 107 + ], + [ + 112, + 106 + ], + [ + 112, + 104 + ], + [ + 112, + 103 + ], + [ + 112, + 101 + ], + [ + 112, + 100 + ], + [ + 112, + 98 + ], + [ + 112, + 97 + ], + [ + 112, + 95 + ], + [ + 112, + 94 + ], + [ + 112, + 93 + ], + [ + 112, + 91 + ], + [ + 112, + 90 + ], + [ + 112, + 88 + ], + [ + 112, + 87 + ], + [ + 112, + 85 + ], + [ + 112, + 84 + ], + [ + 112, + 82 + ], + [ + 112, + 81 + ], + [ + 112, + 79 + ], + [ + 112, + 78 + ], + [ + 112, + 76 + ], + [ + 112, + 75 + ], + [ + 112, + 73 + ], + [ + 112, + 72 + ], + [ + 112, + 70 + ], + [ + 112, + 69 + ], + [ + 112, + 67 + ], + [ + 112, + 66 + ], + [ + 112, + 64 + ], + [ + 112, + 63 + ], + [ + 112, + 61 + ], + [ + 112, + 60 + ], + [ + 112, + 58 + ], + [ + 112, + 57 + ], + [ + 112, + 55 + ], + [ + 112, + 54 + ], + [ + 112, + 52 + ], + [ + 112, + 51 + ], + [ + 113, + 49 + ], + [ + 113, + 48 + ], + [ + 114, + 47 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 93, + 135 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-34B/bodies/GJ34Bc/markers.json b/wiki/star-systems/GJ-34B/bodies/GJ34Bc/markers.json index 77e884863..85336bfb7 100644 --- a/wiki/star-systems/GJ-34B/bodies/GJ34Bc/markers.json +++ b/wiki/star-systems/GJ-34B/bodies/GJ34Bc/markers.json @@ -480,7 +480,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 108, + 121 + ], + "population": 800000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 108, + 121 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3522/bodies/GJ3522c-1/markers.json b/wiki/star-systems/GJ-3522/bodies/GJ3522c-1/markers.json index 60e6a1ffe..e137641f6 100644 --- a/wiki/star-systems/GJ-3522/bodies/GJ3522c-1/markers.json +++ b/wiki/star-systems/GJ-3522/bodies/GJ3522c-1/markers.json @@ -138,7 +138,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 192, + 466 + ], + "population": 8000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 192, + 466 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3522/bodies/GJ3522c/markers.json b/wiki/star-systems/GJ-3522/bodies/GJ3522c/markers.json index 3701e76ce..9f6fcd1b6 100644 --- a/wiki/star-systems/GJ-3522/bodies/GJ3522c/markers.json +++ b/wiki/star-systems/GJ-3522/bodies/GJ3522c/markers.json @@ -507,7 +507,38 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 250, + 479 + ], + "population": 1000000000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 182, + 102 + ], + "population": 500000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 250, + 479 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3522/bodies/GJ3522e-1/markers.json b/wiki/star-systems/GJ-3522/bodies/GJ3522e-1/markers.json index 18b8d692f..abe99f3b1 100644 --- a/wiki/star-systems/GJ-3522/bodies/GJ3522e-1/markers.json +++ b/wiki/star-systems/GJ-3522/bodies/GJ3522e-1/markers.json @@ -216,7 +216,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 190, + 326 + ], + "population": 5000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 190, + 326 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3533/bodies/GJ3533c/markers.json b/wiki/star-systems/GJ-3533/bodies/GJ3533c/markers.json index 81c693160..5522fe074 100644 --- a/wiki/star-systems/GJ-3533/bodies/GJ3533c/markers.json +++ b/wiki/star-systems/GJ-3533/bodies/GJ3533c/markers.json @@ -933,7 +933,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 240, + 420 + ], + "population": 1800 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 240, + 420 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-356A/bodies/GJ356Ac/markers.json b/wiki/star-systems/GJ-356A/bodies/GJ356Ac/markers.json index 8d04e84ad..c04a21939 100644 --- a/wiki/star-systems/GJ-356A/bodies/GJ356Ac/markers.json +++ b/wiki/star-systems/GJ-356A/bodies/GJ356Ac/markers.json @@ -1001,7 +1001,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 5, + 510 + ], + "population": 3200 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 5, + 510 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-357/bodies/GJ357c/markers.json b/wiki/star-systems/GJ-357/bodies/GJ357c/markers.json index 443c66ac5..2b1346611 100644 --- a/wiki/star-systems/GJ-357/bodies/GJ357c/markers.json +++ b/wiki/star-systems/GJ-357/bodies/GJ357c/markers.json @@ -517,7 +517,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 196, + 511 + ], + "population": 350000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 196, + 511 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3586/bodies/GJ3586c/markers.json b/wiki/star-systems/GJ-3586/bodies/GJ3586c/markers.json index 4f649c08e..9d31a10cb 100644 --- a/wiki/star-systems/GJ-3586/bodies/GJ3586c/markers.json +++ b/wiki/star-systems/GJ-3586/bodies/GJ3586c/markers.json @@ -600,7 +600,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 250, + 113 + ], + "population": 50000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 250, + 113 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3612/bodies/GJ3612d/markers.json b/wiki/star-systems/GJ-3612/bodies/GJ3612d/markers.json index a1d14d66f..c289c8f6b 100644 --- a/wiki/star-systems/GJ-3612/bodies/GJ3612d/markers.json +++ b/wiki/star-systems/GJ-3612/bodies/GJ3612d/markers.json @@ -712,7 +712,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 40, + 509 + ], + "population": 110000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 40, + 509 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3622/bodies/GJ3622c/markers.json b/wiki/star-systems/GJ-3622/bodies/GJ3622c/markers.json index 9e2aafe45..4a7025200 100644 --- a/wiki/star-systems/GJ-3622/bodies/GJ3622c/markers.json +++ b/wiki/star-systems/GJ-3622/bodies/GJ3622c/markers.json @@ -1200,8 +1200,575 @@ "area_cells": 168 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 154, + 135 + ], + [ + 153, + 134 + ], + [ + 151, + 132 + ], + [ + 150, + 131 + ], + [ + 152, + 129 + ], + [ + 152, + 128 + ], + [ + 152, + 126 + ], + [ + 153, + 125 + ], + [ + 153, + 123 + ], + [ + 152, + 121 + ], + [ + 153, + 120 + ], + [ + 154, + 118 + ], + [ + 155, + 117 + ], + [ + 155, + 115 + ], + [ + 155, + 114 + ], + [ + 154, + 112 + ], + [ + 152, + 110 + ], + [ + 151, + 109 + ], + [ + 149, + 107 + ], + [ + 148, + 106 + ], + [ + 146, + 104 + ], + [ + 145, + 103 + ], + [ + 144, + 101 + ], + [ + 144, + 100 + ], + [ + 144, + 98 + ], + [ + 144, + 96 + ], + [ + 144, + 95 + ], + [ + 144, + 93 + ], + [ + 144, + 92 + ], + [ + 144, + 90 + ], + [ + 144, + 89 + ], + [ + 144, + 87 + ], + [ + 144, + 85 + ], + [ + 144, + 84 + ], + [ + 144, + 82 + ], + [ + 144, + 81 + ], + [ + 144, + 79 + ], + [ + 144, + 78 + ], + [ + 144, + 76 + ], + [ + 144, + 75 + ], + [ + 144, + 73 + ], + [ + 144, + 71 + ], + [ + 144, + 70 + ], + [ + 144, + 68 + ], + [ + 143, + 67 + ], + [ + 142, + 65 + ], + [ + 142, + 64 + ], + [ + 141, + 62 + ], + [ + 140, + 60 + ], + [ + 139, + 59 + ], + [ + 139, + 57 + ], + [ + 138, + 56 + ], + [ + 137, + 54 + ], + [ + 137, + 53 + ], + [ + 136, + 51 + ], + [ + 135, + 50 + ], + [ + 134, + 48 + ], + [ + 134, + 46 + ], + [ + 133, + 45 + ], + [ + 132, + 43 + ], + [ + 132, + 42 + ], + [ + 131, + 40 + ], + [ + 130, + 39 + ], + [ + 130, + 37 + ], + [ + 129, + 36 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 154, + 135 + ], + "population": 266670000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 129, + 36 + ], + "population": 133330000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 154, + 135 + ], + [ + 153, + 134 + ], + [ + 151, + 132 + ], + [ + 150, + 131 + ], + [ + 152, + 129 + ], + [ + 152, + 128 + ], + [ + 152, + 126 + ], + [ + 153, + 125 + ], + [ + 153, + 123 + ], + [ + 152, + 121 + ], + [ + 153, + 120 + ], + [ + 154, + 118 + ], + [ + 155, + 117 + ], + [ + 155, + 115 + ], + [ + 155, + 114 + ], + [ + 154, + 112 + ], + [ + 152, + 110 + ], + [ + 151, + 109 + ], + [ + 149, + 107 + ], + [ + 148, + 106 + ], + [ + 146, + 104 + ], + [ + 145, + 103 + ], + [ + 144, + 101 + ], + [ + 144, + 100 + ], + [ + 144, + 98 + ], + [ + 144, + 96 + ], + [ + 144, + 95 + ], + [ + 144, + 93 + ], + [ + 144, + 92 + ], + [ + 144, + 90 + ], + [ + 144, + 89 + ], + [ + 144, + 87 + ], + [ + 144, + 85 + ], + [ + 144, + 84 + ], + [ + 144, + 82 + ], + [ + 144, + 81 + ], + [ + 144, + 79 + ], + [ + 144, + 78 + ], + [ + 144, + 76 + ], + [ + 144, + 75 + ], + [ + 144, + 73 + ], + [ + 144, + 71 + ], + [ + 144, + 70 + ], + [ + 144, + 68 + ], + [ + 143, + 67 + ], + [ + 142, + 65 + ], + [ + 142, + 64 + ], + [ + 141, + 62 + ], + [ + 140, + 60 + ], + [ + 139, + 59 + ], + [ + 139, + 57 + ], + [ + 138, + 56 + ], + [ + 137, + 54 + ], + [ + 137, + 53 + ], + [ + 136, + 51 + ], + [ + 135, + 50 + ], + [ + 134, + 48 + ], + [ + 134, + 46 + ], + [ + 133, + 45 + ], + [ + 132, + 43 + ], + [ + 132, + 42 + ], + [ + 131, + 40 + ], + [ + 130, + 39 + ], + [ + 130, + 37 + ], + [ + 129, + 36 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 154, + 135 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-370/bodies/GJ370c/markers.json b/wiki/star-systems/GJ-370/bodies/GJ370c/markers.json index c521fdd4a..2edc91416 100644 --- a/wiki/star-systems/GJ-370/bodies/GJ370c/markers.json +++ b/wiki/star-systems/GJ-370/bodies/GJ370c/markers.json @@ -570,7 +570,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 106, + 462 + ], + "population": 28000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 106, + 462 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3728B/bodies/GJ3728Bc/markers.json b/wiki/star-systems/GJ-3728B/bodies/GJ3728Bc/markers.json index dff63ac1d..a47e57ebf 100644 --- a/wiki/star-systems/GJ-3728B/bodies/GJ3728Bc/markers.json +++ b/wiki/star-systems/GJ-3728B/bodies/GJ3728Bc/markers.json @@ -672,7 +672,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 153, + 352 + ], + "population": 185000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 153, + 352 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3737/bodies/GJ3737e-m2/markers.json b/wiki/star-systems/GJ-3737/bodies/GJ3737e-m2/markers.json index ac87c4dde..175881d85 100644 --- a/wiki/star-systems/GJ-3737/bodies/GJ3737e-m2/markers.json +++ b/wiki/star-systems/GJ-3737/bodies/GJ3737e-m2/markers.json @@ -234,7 +234,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 36, + 385 + ], + "population": 2200 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 36, + 385 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3820/bodies/GJ3820d/markers.json b/wiki/star-systems/GJ-3820/bodies/GJ3820d/markers.json index 224252b95..46f749200 100644 --- a/wiki/star-systems/GJ-3820/bodies/GJ3820d/markers.json +++ b/wiki/star-systems/GJ-3820/bodies/GJ3820d/markers.json @@ -375,7 +375,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 6, + 264 + ], + "population": 900 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 6, + 264 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-3877/bodies/GJ3877c/markers.json b/wiki/star-systems/GJ-3877/bodies/GJ3877c/markers.json index 98065de16..580c9603b 100644 --- a/wiki/star-systems/GJ-3877/bodies/GJ3877c/markers.json +++ b/wiki/star-systems/GJ-3877/bodies/GJ3877c/markers.json @@ -535,8 +535,575 @@ "area_cells": 120 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 168, + 507 + ], + [ + 167, + 506 + ], + [ + 165, + 505 + ], + [ + 164, + 504 + ], + [ + 162, + 502 + ], + [ + 161, + 501 + ], + [ + 159, + 499 + ], + [ + 158, + 498 + ], + [ + 156, + 496 + ], + [ + 154, + 494 + ], + [ + 153, + 493 + ], + [ + 151, + 491 + ], + [ + 150, + 490 + ], + [ + 148, + 488 + ], + [ + 147, + 487 + ], + [ + 145, + 485 + ], + [ + 143, + 483 + ], + [ + 142, + 482 + ], + [ + 140, + 480 + ], + [ + 139, + 479 + ], + [ + 137, + 477 + ], + [ + 136, + 476 + ], + [ + 134, + 474 + ], + [ + 133, + 473 + ], + [ + 131, + 472 + ], + [ + 129, + 472 + ], + [ + 128, + 472 + ], + [ + 126, + 472 + ], + [ + 125, + 472 + ], + [ + 123, + 472 + ], + [ + 122, + 472 + ], + [ + 120, + 472 + ], + [ + 118, + 472 + ], + [ + 117, + 472 + ], + [ + 115, + 472 + ], + [ + 114, + 472 + ], + [ + 112, + 472 + ], + [ + 111, + 472 + ], + [ + 109, + 470 + ], + [ + 108, + 469 + ], + [ + 106, + 467 + ], + [ + 104, + 465 + ], + [ + 103, + 464 + ], + [ + 101, + 462 + ], + [ + 100, + 461 + ], + [ + 98, + 459 + ], + [ + 97, + 458 + ], + [ + 95, + 456 + ], + [ + 93, + 454 + ], + [ + 92, + 453 + ], + [ + 90, + 451 + ], + [ + 89, + 450 + ], + [ + 87, + 448 + ], + [ + 86, + 447 + ], + [ + 84, + 445 + ], + [ + 83, + 444 + ], + [ + 81, + 442 + ], + [ + 79, + 440 + ], + [ + 78, + 439 + ], + [ + 76, + 437 + ], + [ + 75, + 436 + ], + [ + 73, + 435 + ], + [ + 72, + 435 + ], + [ + 70, + 434 + ], + [ + 69, + 433 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 168, + 507 + ], + "population": 866670000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 69, + 433 + ], + "population": 433330000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 168, + 507 + ], + [ + 167, + 506 + ], + [ + 165, + 505 + ], + [ + 164, + 504 + ], + [ + 162, + 502 + ], + [ + 161, + 501 + ], + [ + 159, + 499 + ], + [ + 158, + 498 + ], + [ + 156, + 496 + ], + [ + 154, + 494 + ], + [ + 153, + 493 + ], + [ + 151, + 491 + ], + [ + 150, + 490 + ], + [ + 148, + 488 + ], + [ + 147, + 487 + ], + [ + 145, + 485 + ], + [ + 143, + 483 + ], + [ + 142, + 482 + ], + [ + 140, + 480 + ], + [ + 139, + 479 + ], + [ + 137, + 477 + ], + [ + 136, + 476 + ], + [ + 134, + 474 + ], + [ + 133, + 473 + ], + [ + 131, + 472 + ], + [ + 129, + 472 + ], + [ + 128, + 472 + ], + [ + 126, + 472 + ], + [ + 125, + 472 + ], + [ + 123, + 472 + ], + [ + 122, + 472 + ], + [ + 120, + 472 + ], + [ + 118, + 472 + ], + [ + 117, + 472 + ], + [ + 115, + 472 + ], + [ + 114, + 472 + ], + [ + 112, + 472 + ], + [ + 111, + 472 + ], + [ + 109, + 470 + ], + [ + 108, + 469 + ], + [ + 106, + 467 + ], + [ + 104, + 465 + ], + [ + 103, + 464 + ], + [ + 101, + 462 + ], + [ + 100, + 461 + ], + [ + 98, + 459 + ], + [ + 97, + 458 + ], + [ + 95, + 456 + ], + [ + 93, + 454 + ], + [ + 92, + 453 + ], + [ + 90, + 451 + ], + [ + 89, + 450 + ], + [ + 87, + 448 + ], + [ + 86, + 447 + ], + [ + 84, + 445 + ], + [ + 83, + 444 + ], + [ + 81, + 442 + ], + [ + 79, + 440 + ], + [ + 78, + 439 + ], + [ + 76, + 437 + ], + [ + 75, + 436 + ], + [ + 73, + 435 + ], + [ + 72, + 435 + ], + [ + 70, + 434 + ], + [ + 69, + 433 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 168, + 507 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-393/bodies/GJ393c/markers.json b/wiki/star-systems/GJ-393/bodies/GJ393c/markers.json index 5d259d536..02e1d28c9 100644 --- a/wiki/star-systems/GJ-393/bodies/GJ393c/markers.json +++ b/wiki/star-systems/GJ-393/bodies/GJ393c/markers.json @@ -522,7 +522,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 5, + 483 + ], + "population": 48000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 5, + 483 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-395/bodies/GJ395d/markers.json b/wiki/star-systems/GJ-395/bodies/GJ395d/markers.json index 4e148a701..1f85f339e 100644 --- a/wiki/star-systems/GJ-395/bodies/GJ395d/markers.json +++ b/wiki/star-systems/GJ-395/bodies/GJ395d/markers.json @@ -470,7 +470,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 242, + 510 + ], + "population": 120000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 242, + 510 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-402/bodies/GJ402c/markers.json b/wiki/star-systems/GJ-402/bodies/GJ402c/markers.json index 2fd1aa669..b13a9f48e 100644 --- a/wiki/star-systems/GJ-402/bodies/GJ402c/markers.json +++ b/wiki/star-systems/GJ-402/bodies/GJ402c/markers.json @@ -243,7 +243,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 173, + 290 + ], + "population": 80000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 173, + 290 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-4053/bodies/GJ4053c/markers.json b/wiki/star-systems/GJ-4053/bodies/GJ4053c/markers.json index 25dae7f62..5c399c45a 100644 --- a/wiki/star-systems/GJ-4053/bodies/GJ4053c/markers.json +++ b/wiki/star-systems/GJ-4053/bodies/GJ4053c/markers.json @@ -706,7 +706,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 125, + 77 + ], + "population": 65000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 125, + 77 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-407/bodies/GJ407c/markers.json b/wiki/star-systems/GJ-407/bodies/GJ407c/markers.json index deaa5885c..792de403e 100644 --- a/wiki/star-systems/GJ-407/bodies/GJ407c/markers.json +++ b/wiki/star-systems/GJ-407/bodies/GJ407c/markers.json @@ -789,7 +789,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 140, + 1 + ], + "population": 3000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 140, + 1 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-408/bodies/GJ408c/markers.json b/wiki/star-systems/GJ-408/bodies/GJ408c/markers.json index 0e09af7d4..e76ec16a3 100644 --- a/wiki/star-systems/GJ-408/bodies/GJ408c/markers.json +++ b/wiki/star-systems/GJ-408/bodies/GJ408c/markers.json @@ -383,7 +383,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 71, + 369 + ], + "population": 50000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 71, + 369 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-411/bodies/GJ411c/markers.json b/wiki/star-systems/GJ-411/bodies/GJ411c/markers.json index 9408e7974..782c82407 100644 --- a/wiki/star-systems/GJ-411/bodies/GJ411c/markers.json +++ b/wiki/star-systems/GJ-411/bodies/GJ411c/markers.json @@ -864,8 +864,575 @@ "area_cells": 249 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 128, + 171 + ], + [ + 128, + 172 + ], + [ + 128, + 173 + ], + [ + 128, + 175 + ], + [ + 127, + 176 + ], + [ + 126, + 177 + ], + [ + 124, + 179 + ], + [ + 123, + 180 + ], + [ + 122, + 181 + ], + [ + 120, + 183 + ], + [ + 119, + 184 + ], + [ + 118, + 185 + ], + [ + 116, + 187 + ], + [ + 115, + 188 + ], + [ + 113, + 190 + ], + [ + 112, + 191 + ], + [ + 111, + 192 + ], + [ + 109, + 194 + ], + [ + 108, + 195 + ], + [ + 107, + 196 + ], + [ + 105, + 198 + ], + [ + 104, + 199 + ], + [ + 103, + 200 + ], + [ + 101, + 202 + ], + [ + 100, + 203 + ], + [ + 99, + 204 + ], + [ + 97, + 206 + ], + [ + 96, + 207 + ], + [ + 94, + 209 + ], + [ + 93, + 210 + ], + [ + 92, + 211 + ], + [ + 90, + 213 + ], + [ + 89, + 214 + ], + [ + 88, + 215 + ], + [ + 86, + 217 + ], + [ + 86, + 218 + ], + [ + 85, + 219 + ], + [ + 84, + 221 + ], + [ + 84, + 222 + ], + [ + 83, + 224 + ], + [ + 83, + 225 + ], + [ + 82, + 226 + ], + [ + 80, + 228 + ], + [ + 79, + 229 + ], + [ + 78, + 230 + ], + [ + 76, + 232 + ], + [ + 75, + 233 + ], + [ + 74, + 234 + ], + [ + 73, + 236 + ], + [ + 73, + 237 + ], + [ + 73, + 238 + ], + [ + 73, + 240 + ], + [ + 73, + 241 + ], + [ + 73, + 243 + ], + [ + 73, + 244 + ], + [ + 73, + 245 + ], + [ + 73, + 247 + ], + [ + 72, + 248 + ], + [ + 72, + 249 + ], + [ + 71, + 251 + ], + [ + 70, + 252 + ], + [ + 70, + 253 + ], + [ + 69, + 255 + ], + [ + 69, + 256 + ], + [ + 68, + 257 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 128, + 171 + ], + "population": 800000000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 68, + 257 + ], + "population": 400000000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 128, + 171 + ], + [ + 128, + 172 + ], + [ + 128, + 173 + ], + [ + 128, + 175 + ], + [ + 127, + 176 + ], + [ + 126, + 177 + ], + [ + 124, + 179 + ], + [ + 123, + 180 + ], + [ + 122, + 181 + ], + [ + 120, + 183 + ], + [ + 119, + 184 + ], + [ + 118, + 185 + ], + [ + 116, + 187 + ], + [ + 115, + 188 + ], + [ + 113, + 190 + ], + [ + 112, + 191 + ], + [ + 111, + 192 + ], + [ + 109, + 194 + ], + [ + 108, + 195 + ], + [ + 107, + 196 + ], + [ + 105, + 198 + ], + [ + 104, + 199 + ], + [ + 103, + 200 + ], + [ + 101, + 202 + ], + [ + 100, + 203 + ], + [ + 99, + 204 + ], + [ + 97, + 206 + ], + [ + 96, + 207 + ], + [ + 94, + 209 + ], + [ + 93, + 210 + ], + [ + 92, + 211 + ], + [ + 90, + 213 + ], + [ + 89, + 214 + ], + [ + 88, + 215 + ], + [ + 86, + 217 + ], + [ + 86, + 218 + ], + [ + 85, + 219 + ], + [ + 84, + 221 + ], + [ + 84, + 222 + ], + [ + 83, + 224 + ], + [ + 83, + 225 + ], + [ + 82, + 226 + ], + [ + 80, + 228 + ], + [ + 79, + 229 + ], + [ + 78, + 230 + ], + [ + 76, + 232 + ], + [ + 75, + 233 + ], + [ + 74, + 234 + ], + [ + 73, + 236 + ], + [ + 73, + 237 + ], + [ + 73, + 238 + ], + [ + 73, + 240 + ], + [ + 73, + 241 + ], + [ + 73, + 243 + ], + [ + 73, + 244 + ], + [ + 73, + 245 + ], + [ + 73, + 247 + ], + [ + 72, + 248 + ], + [ + 72, + 249 + ], + [ + 71, + 251 + ], + [ + 70, + 252 + ], + [ + 70, + 253 + ], + [ + 69, + 255 + ], + [ + 69, + 256 + ], + [ + 68, + 257 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 128, + 171 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-412A/bodies/GJ412Ac/markers.json b/wiki/star-systems/GJ-412A/bodies/GJ412Ac/markers.json index dd94073fe..683b3e1fe 100644 --- a/wiki/star-systems/GJ-412A/bodies/GJ412Ac/markers.json +++ b/wiki/star-systems/GJ-412A/bodies/GJ412Ac/markers.json @@ -954,7 +954,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 5, + 1 + ], + "population": 25000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 5, + 1 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-412B/bodies/GJ412Bc/markers.json b/wiki/star-systems/GJ-412B/bodies/GJ412Bc/markers.json index c264c1eb3..758ce45b8 100644 --- a/wiki/star-systems/GJ-412B/bodies/GJ412Bc/markers.json +++ b/wiki/star-systems/GJ-412B/bodies/GJ412Bc/markers.json @@ -851,7 +851,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 213, + 292 + ], + "population": 85000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 213, + 292 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-414A/bodies/GJ414Ac/markers.json b/wiki/star-systems/GJ-414A/bodies/GJ414Ac/markers.json index 58d6c02cf..da1302c0b 100644 --- a/wiki/star-systems/GJ-414A/bodies/GJ414Ac/markers.json +++ b/wiki/star-systems/GJ-414A/bodies/GJ414Ac/markers.json @@ -1002,7 +1002,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 77, + 283 + ], + "population": 6200 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 77, + 283 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-42/bodies/GJ42c/markers.json b/wiki/star-systems/GJ-42/bodies/GJ42c/markers.json index 50d3a8b99..2486e970d 100644 --- a/wiki/star-systems/GJ-42/bodies/GJ42c/markers.json +++ b/wiki/star-systems/GJ-42/bodies/GJ42c/markers.json @@ -1025,7 +1025,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 92, + 247 + ], + "population": 55000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 92, + 247 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-421B/bodies/GJ421Bc/markers.json b/wiki/star-systems/GJ-421B/bodies/GJ421Bc/markers.json index 70effebd9..58a05af93 100644 --- a/wiki/star-systems/GJ-421B/bodies/GJ421Bc/markers.json +++ b/wiki/star-systems/GJ-421B/bodies/GJ421Bc/markers.json @@ -484,7 +484,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 162, + 169 + ], + "population": 800 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 162, + 169 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-423A/bodies/GJ423Ad/markers.json b/wiki/star-systems/GJ-423A/bodies/GJ423Ad/markers.json index cd90d1a6e..34744e6d7 100644 --- a/wiki/star-systems/GJ-423A/bodies/GJ423Ad/markers.json +++ b/wiki/star-systems/GJ-423A/bodies/GJ423Ad/markers.json @@ -763,7 +763,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 165, + 89 + ], + "population": 150000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 165, + 89 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-423B/bodies/GJ423Bd/markers.json b/wiki/star-systems/GJ-423B/bodies/GJ423Bd/markers.json index 7933e8cce..b6efd93d4 100644 --- a/wiki/star-systems/GJ-423B/bodies/GJ423Bd/markers.json +++ b/wiki/star-systems/GJ-423B/bodies/GJ423Bd/markers.json @@ -595,7 +595,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 60, + 47 + ], + "population": 390000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 60, + 47 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-4274/bodies/GJ4274c/markers.json b/wiki/star-systems/GJ-4274/bodies/GJ4274c/markers.json index f69f4f9b0..eae195c3b 100644 --- a/wiki/star-systems/GJ-4274/bodies/GJ4274c/markers.json +++ b/wiki/star-systems/GJ-4274/bodies/GJ4274c/markers.json @@ -60,7 +60,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 125, + 175 + ], + "population": 15000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 125, + 175 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-4285/bodies/GJ4285e-m1/markers.json b/wiki/star-systems/GJ-4285/bodies/GJ4285e-m1/markers.json index 2e800d90d..10d0e7692 100644 --- a/wiki/star-systems/GJ-4285/bodies/GJ4285e-m1/markers.json +++ b/wiki/star-systems/GJ-4285/bodies/GJ4285e-m1/markers.json @@ -930,7 +930,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 83, + 165 + ], + "population": 80000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 83, + 165 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-428A/bodies/GJ428Ac/markers.json b/wiki/star-systems/GJ-428A/bodies/GJ428Ac/markers.json index f2292d6dc..7beed6bad 100644 --- a/wiki/star-systems/GJ-428A/bodies/GJ428Ac/markers.json +++ b/wiki/star-systems/GJ-428A/bodies/GJ428Ac/markers.json @@ -395,7 +395,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 138, + 430 + ], + "population": 14000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 138, + 430 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-435/bodies/GJ435c/markers.json b/wiki/star-systems/GJ-435/bodies/GJ435c/markers.json index b654eec9d..2d568d7a5 100644 --- a/wiki/star-systems/GJ-435/bodies/GJ435c/markers.json +++ b/wiki/star-systems/GJ-435/bodies/GJ435c/markers.json @@ -641,7 +641,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 221, + 0 + ], + "population": 175000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 221, + 0 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-438/bodies/GJ438c/markers.json b/wiki/star-systems/GJ-438/bodies/GJ438c/markers.json index 0f4124fff..9d3365157 100644 --- a/wiki/star-systems/GJ-438/bodies/GJ438c/markers.json +++ b/wiki/star-systems/GJ-438/bodies/GJ438c/markers.json @@ -948,7 +948,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 239, + 94 + ], + "population": 160000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 239, + 94 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-442A/bodies/GJ442Ad/markers.json b/wiki/star-systems/GJ-442A/bodies/GJ442Ad/markers.json index 1c867ce9b..7d080843e 100644 --- a/wiki/star-systems/GJ-442A/bodies/GJ442Ad/markers.json +++ b/wiki/star-systems/GJ-442A/bodies/GJ442Ad/markers.json @@ -633,7 +633,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 149, + 398 + ], + "population": 15000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 149, + 398 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-445/bodies/GJ445c-m1/markers.json b/wiki/star-systems/GJ-445/bodies/GJ445c-m1/markers.json index 84d18d5cf..74e67c1a2 100644 --- a/wiki/star-systems/GJ-445/bodies/GJ445c-m1/markers.json +++ b/wiki/star-systems/GJ-445/bodies/GJ445c-m1/markers.json @@ -466,7 +466,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 240, + 2 + ], + "population": 380000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 240, + 2 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-447/bodies/GJ447c/markers.json b/wiki/star-systems/GJ-447/bodies/GJ447c/markers.json index 04220f579..a93d3ea4d 100644 --- a/wiki/star-systems/GJ-447/bodies/GJ447c/markers.json +++ b/wiki/star-systems/GJ-447/bodies/GJ447c/markers.json @@ -619,8 +619,585 @@ "area_cells": 117 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 95, + 339 + ], + [ + 95, + 340 + ], + [ + 95, + 341 + ], + [ + 94, + 342 + ], + [ + 94, + 343 + ], + [ + 94, + 344 + ], + [ + 94, + 345 + ], + [ + 94, + 346 + ], + [ + 94, + 347 + ], + [ + 94, + 348 + ], + [ + 94, + 349 + ], + [ + 93, + 350 + ], + [ + 93, + 351 + ], + [ + 92, + 352 + ], + [ + 91, + 353 + ], + [ + 90, + 354 + ], + [ + 88, + 356 + ], + [ + 87, + 357 + ], + [ + 86, + 358 + ], + [ + 85, + 359 + ], + [ + 84, + 360 + ], + [ + 83, + 361 + ], + [ + 82, + 362 + ], + [ + 81, + 363 + ], + [ + 80, + 364 + ], + [ + 80, + 365 + ], + [ + 80, + 366 + ], + [ + 80, + 367 + ], + [ + 79, + 368 + ], + [ + 79, + 369 + ], + [ + 78, + 370 + ], + [ + 78, + 371 + ], + [ + 77, + 373 + ], + [ + 77, + 374 + ], + [ + 76, + 375 + ], + [ + 76, + 376 + ], + [ + 75, + 377 + ], + [ + 75, + 378 + ], + [ + 74, + 379 + ], + [ + 74, + 380 + ], + [ + 73, + 381 + ], + [ + 73, + 382 + ], + [ + 72, + 383 + ], + [ + 72, + 384 + ], + [ + 72, + 385 + ], + [ + 71, + 386 + ], + [ + 71, + 387 + ], + [ + 70, + 388 + ], + [ + 69, + 390 + ], + [ + 69, + 391 + ], + [ + 68, + 392 + ], + [ + 68, + 393 + ], + [ + 67, + 394 + ], + [ + 67, + 395 + ], + [ + 67, + 396 + ], + [ + 66, + 397 + ], + [ + 66, + 398 + ], + [ + 65, + 399 + ], + [ + 65, + 400 + ], + [ + 64, + 401 + ], + [ + 64, + 402 + ], + [ + 63, + 403 + ], + [ + 63, + 404 + ], + [ + 63, + 405 + ], + [ + 62, + 406 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 95, + 339 + ], + "population": 257140000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 62, + 406 + ], + "population": 128570000 + }, + { + "id": "city_2", + "name": "", + "kind": "city", + "center": [ + 196, + 149 + ], + "population": 64290000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 95, + 339 + ], + [ + 95, + 340 + ], + [ + 95, + 341 + ], + [ + 94, + 342 + ], + [ + 94, + 343 + ], + [ + 94, + 344 + ], + [ + 94, + 345 + ], + [ + 94, + 346 + ], + [ + 94, + 347 + ], + [ + 94, + 348 + ], + [ + 94, + 349 + ], + [ + 93, + 350 + ], + [ + 93, + 351 + ], + [ + 92, + 352 + ], + [ + 91, + 353 + ], + [ + 90, + 354 + ], + [ + 88, + 356 + ], + [ + 87, + 357 + ], + [ + 86, + 358 + ], + [ + 85, + 359 + ], + [ + 84, + 360 + ], + [ + 83, + 361 + ], + [ + 82, + 362 + ], + [ + 81, + 363 + ], + [ + 80, + 364 + ], + [ + 80, + 365 + ], + [ + 80, + 366 + ], + [ + 80, + 367 + ], + [ + 79, + 368 + ], + [ + 79, + 369 + ], + [ + 78, + 370 + ], + [ + 78, + 371 + ], + [ + 77, + 373 + ], + [ + 77, + 374 + ], + [ + 76, + 375 + ], + [ + 76, + 376 + ], + [ + 75, + 377 + ], + [ + 75, + 378 + ], + [ + 74, + 379 + ], + [ + 74, + 380 + ], + [ + 73, + 381 + ], + [ + 73, + 382 + ], + [ + 72, + 383 + ], + [ + 72, + 384 + ], + [ + 72, + 385 + ], + [ + 71, + 386 + ], + [ + 71, + 387 + ], + [ + 70, + 388 + ], + [ + 69, + 390 + ], + [ + 69, + 391 + ], + [ + 68, + 392 + ], + [ + 68, + 393 + ], + [ + 67, + 394 + ], + [ + 67, + 395 + ], + [ + 67, + 396 + ], + [ + 66, + 397 + ], + [ + 66, + 398 + ], + [ + 65, + 399 + ], + [ + 65, + 400 + ], + [ + 64, + 401 + ], + [ + 64, + 402 + ], + [ + 63, + 403 + ], + [ + 63, + 404 + ], + [ + 63, + 405 + ], + [ + 62, + 406 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 95, + 339 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-449/bodies/GJ449Ae/markers.json b/wiki/star-systems/GJ-449/bodies/GJ449Ae/markers.json index 4f950e207..afa0fc947 100644 --- a/wiki/star-systems/GJ-449/bodies/GJ449Ae/markers.json +++ b/wiki/star-systems/GJ-449/bodies/GJ449Ae/markers.json @@ -256,7 +256,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 249, + 363 + ], + "population": 11000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 249, + 363 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-453/bodies/GJ453c/markers.json b/wiki/star-systems/GJ-453/bodies/GJ453c/markers.json index 568b0c49f..c3c89e94e 100644 --- a/wiki/star-systems/GJ-453/bodies/GJ453c/markers.json +++ b/wiki/star-systems/GJ-453/bodies/GJ453c/markers.json @@ -206,7 +206,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 238, + 23 + ], + "population": 48000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 238, + 23 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-454/bodies/GJ454d/markers.json b/wiki/star-systems/GJ-454/bodies/GJ454d/markers.json index 96cadfc56..efcbdfde8 100644 --- a/wiki/star-systems/GJ-454/bodies/GJ454d/markers.json +++ b/wiki/star-systems/GJ-454/bodies/GJ454d/markers.json @@ -406,7 +406,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 100, + 59 + ], + "population": 28000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 100, + 59 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-473A/bodies/GJ473Ac/markers.json b/wiki/star-systems/GJ-473A/bodies/GJ473Ac/markers.json index caa18f200..7297da3af 100644 --- a/wiki/star-systems/GJ-473A/bodies/GJ473Ac/markers.json +++ b/wiki/star-systems/GJ-473A/bodies/GJ473Ac/markers.json @@ -621,7 +621,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 107, + 210 + ], + "population": 25000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 107, + 210 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-475/bodies/GJ475e/markers.json b/wiki/star-systems/GJ-475/bodies/GJ475e/markers.json index 2f75006f2..d26be5b71 100644 --- a/wiki/star-systems/GJ-475/bodies/GJ475e/markers.json +++ b/wiki/star-systems/GJ-475/bodies/GJ475e/markers.json @@ -835,8 +835,575 @@ "area_cells": 49529 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 58, + 353 + ], + [ + 58, + 352 + ], + [ + 58, + 350 + ], + [ + 58, + 348 + ], + [ + 58, + 346 + ], + [ + 58, + 345 + ], + [ + 58, + 343 + ], + [ + 58, + 341 + ], + [ + 57, + 339 + ], + [ + 55, + 337 + ], + [ + 54, + 336 + ], + [ + 52, + 334 + ], + [ + 50, + 332 + ], + [ + 48, + 330 + ], + [ + 47, + 329 + ], + [ + 45, + 327 + ], + [ + 44, + 325 + ], + [ + 44, + 323 + ], + [ + 44, + 321 + ], + [ + 44, + 320 + ], + [ + 44, + 318 + ], + [ + 44, + 316 + ], + [ + 44, + 314 + ], + [ + 44, + 313 + ], + [ + 44, + 311 + ], + [ + 44, + 309 + ], + [ + 44, + 307 + ], + [ + 44, + 305 + ], + [ + 44, + 304 + ], + [ + 44, + 302 + ], + [ + 44, + 300 + ], + [ + 44, + 298 + ], + [ + 44, + 296 + ], + [ + 44, + 295 + ], + [ + 44, + 293 + ], + [ + 44, + 291 + ], + [ + 44, + 289 + ], + [ + 44, + 288 + ], + [ + 44, + 286 + ], + [ + 44, + 284 + ], + [ + 44, + 282 + ], + [ + 44, + 280 + ], + [ + 44, + 279 + ], + [ + 44, + 277 + ], + [ + 44, + 275 + ], + [ + 44, + 273 + ], + [ + 44, + 272 + ], + [ + 44, + 270 + ], + [ + 44, + 268 + ], + [ + 44, + 266 + ], + [ + 44, + 264 + ], + [ + 44, + 263 + ], + [ + 44, + 261 + ], + [ + 44, + 259 + ], + [ + 44, + 257 + ], + [ + 44, + 256 + ], + [ + 44, + 254 + ], + [ + 44, + 252 + ], + [ + 44, + 250 + ], + [ + 44, + 248 + ], + [ + 44, + 247 + ], + [ + 44, + 245 + ], + [ + 44, + 243 + ], + [ + 44, + 241 + ], + [ + 43, + 240 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 58, + 353 + ], + "population": 266670000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 43, + 240 + ], + "population": 133330000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 58, + 353 + ], + [ + 58, + 352 + ], + [ + 58, + 350 + ], + [ + 58, + 348 + ], + [ + 58, + 346 + ], + [ + 58, + 345 + ], + [ + 58, + 343 + ], + [ + 58, + 341 + ], + [ + 57, + 339 + ], + [ + 55, + 337 + ], + [ + 54, + 336 + ], + [ + 52, + 334 + ], + [ + 50, + 332 + ], + [ + 48, + 330 + ], + [ + 47, + 329 + ], + [ + 45, + 327 + ], + [ + 44, + 325 + ], + [ + 44, + 323 + ], + [ + 44, + 321 + ], + [ + 44, + 320 + ], + [ + 44, + 318 + ], + [ + 44, + 316 + ], + [ + 44, + 314 + ], + [ + 44, + 313 + ], + [ + 44, + 311 + ], + [ + 44, + 309 + ], + [ + 44, + 307 + ], + [ + 44, + 305 + ], + [ + 44, + 304 + ], + [ + 44, + 302 + ], + [ + 44, + 300 + ], + [ + 44, + 298 + ], + [ + 44, + 296 + ], + [ + 44, + 295 + ], + [ + 44, + 293 + ], + [ + 44, + 291 + ], + [ + 44, + 289 + ], + [ + 44, + 288 + ], + [ + 44, + 286 + ], + [ + 44, + 284 + ], + [ + 44, + 282 + ], + [ + 44, + 280 + ], + [ + 44, + 279 + ], + [ + 44, + 277 + ], + [ + 44, + 275 + ], + [ + 44, + 273 + ], + [ + 44, + 272 + ], + [ + 44, + 270 + ], + [ + 44, + 268 + ], + [ + 44, + 266 + ], + [ + 44, + 264 + ], + [ + 44, + 263 + ], + [ + 44, + 261 + ], + [ + 44, + 259 + ], + [ + 44, + 257 + ], + [ + 44, + 256 + ], + [ + 44, + 254 + ], + [ + 44, + 252 + ], + [ + 44, + 250 + ], + [ + 44, + 248 + ], + [ + 44, + 247 + ], + [ + 44, + 245 + ], + [ + 44, + 243 + ], + [ + 44, + 241 + ], + [ + 43, + 240 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 58, + 353 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-481/bodies/GJ481c/markers.json b/wiki/star-systems/GJ-481/bodies/GJ481c/markers.json index e861b090a..fd874dd2d 100644 --- a/wiki/star-systems/GJ-481/bodies/GJ481c/markers.json +++ b/wiki/star-systems/GJ-481/bodies/GJ481c/markers.json @@ -805,7 +805,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 106, + 510 + ], + "population": 4000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 106, + 510 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-482A/bodies/GJ482Ae/markers.json b/wiki/star-systems/GJ-482A/bodies/GJ482Ae/markers.json index 4d53e214a..2811a2e72 100644 --- a/wiki/star-systems/GJ-482A/bodies/GJ482Ae/markers.json +++ b/wiki/star-systems/GJ-482A/bodies/GJ482Ae/markers.json @@ -534,7 +534,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 140, + 39 + ], + "population": 210000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 140, + 39 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-482B/bodies/GJ482Bc/markers.json b/wiki/star-systems/GJ-482B/bodies/GJ482Bc/markers.json index d974cf48c..99af193cc 100644 --- a/wiki/star-systems/GJ-482B/bodies/GJ482Bc/markers.json +++ b/wiki/star-systems/GJ-482B/bodies/GJ482Bc/markers.json @@ -459,7 +459,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 220, + 5 + ], + "population": 8000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 220, + 5 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-49/bodies/GJ49c/markers.json b/wiki/star-systems/GJ-49/bodies/GJ49c/markers.json index d40320d8b..24abec82e 100644 --- a/wiki/star-systems/GJ-49/bodies/GJ49c/markers.json +++ b/wiki/star-systems/GJ-49/bodies/GJ49c/markers.json @@ -490,7 +490,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 250, + 441 + ], + "population": 12000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 250, + 441 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-4A/bodies/GJ4Ac/markers.json b/wiki/star-systems/GJ-4A/bodies/GJ4Ac/markers.json index 5332815b1..d8bee3d10 100644 --- a/wiki/star-systems/GJ-4A/bodies/GJ4Ac/markers.json +++ b/wiki/star-systems/GJ-4A/bodies/GJ4Ac/markers.json @@ -974,7 +974,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 68, + 2 + ], + "population": 62000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 68, + 2 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-501B/bodies/GJ501Bd/markers.json b/wiki/star-systems/GJ-501B/bodies/GJ501Bd/markers.json index f71b2fb53..327d9b151 100644 --- a/wiki/star-systems/GJ-501B/bodies/GJ501Bd/markers.json +++ b/wiki/star-systems/GJ-501B/bodies/GJ501Bd/markers.json @@ -682,7 +682,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 164, + 19 + ], + "population": 43 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 164, + 19 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-502/bodies/GJ502d/markers.json b/wiki/star-systems/GJ-502/bodies/GJ502d/markers.json index 6e6bcdd07..8422849d7 100644 --- a/wiki/star-systems/GJ-502/bodies/GJ502d/markers.json +++ b/wiki/star-systems/GJ-502/bodies/GJ502d/markers.json @@ -651,7 +651,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 234, + 507 + ], + "population": 180000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 234, + 507 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-505A/bodies/GJ505Ac/markers.json b/wiki/star-systems/GJ-505A/bodies/GJ505Ac/markers.json index c81cb4ad1..5b1fe869d 100644 --- a/wiki/star-systems/GJ-505A/bodies/GJ505Ac/markers.json +++ b/wiki/star-systems/GJ-505A/bodies/GJ505Ac/markers.json @@ -953,7 +953,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 28, + 39 + ], + "population": 24000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 28, + 39 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-506/bodies/GJ506d/markers.json b/wiki/star-systems/GJ-506/bodies/GJ506d/markers.json index 53916afd8..f958762e3 100644 --- a/wiki/star-systems/GJ-506/bodies/GJ506d/markers.json +++ b/wiki/star-systems/GJ-506/bodies/GJ506d/markers.json @@ -278,7 +278,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 13, + 1 + ], + "population": 42000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 13, + 1 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-508A/bodies/GJ508Ac/markers.json b/wiki/star-systems/GJ-508A/bodies/GJ508Ac/markers.json index 451fdb4f1..6bb55e4e1 100644 --- a/wiki/star-systems/GJ-508A/bodies/GJ508Ac/markers.json +++ b/wiki/star-systems/GJ-508A/bodies/GJ508Ac/markers.json @@ -781,7 +781,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 143, + 221 + ], + "population": 6000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 143, + 221 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-526/bodies/GJ526c/markers.json b/wiki/star-systems/GJ-526/bodies/GJ526c/markers.json index 5b88608d9..ccd8d20fd 100644 --- a/wiki/star-systems/GJ-526/bodies/GJ526c/markers.json +++ b/wiki/star-systems/GJ-526/bodies/GJ526c/markers.json @@ -1012,7 +1012,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 146, + 137 + ], + "population": 28000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 146, + 137 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-528A/bodies/GJ528Ac/markers.json b/wiki/star-systems/GJ-528A/bodies/GJ528Ac/markers.json index 7552c1b01..a3921be1b 100644 --- a/wiki/star-systems/GJ-528A/bodies/GJ528Ac/markers.json +++ b/wiki/star-systems/GJ-528A/bodies/GJ528Ac/markers.json @@ -655,7 +655,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 32, + 437 + ], + "population": 22000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 32, + 437 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-529/bodies/GJ529c/markers.json b/wiki/star-systems/GJ-529/bodies/GJ529c/markers.json index 3decb7fb9..b7a936587 100644 --- a/wiki/star-systems/GJ-529/bodies/GJ529c/markers.json +++ b/wiki/star-systems/GJ-529/bodies/GJ529c/markers.json @@ -1105,7 +1105,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 183, + 35 + ], + "population": 35000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 183, + 35 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-532/bodies/GJ532c/markers.json b/wiki/star-systems/GJ-532/bodies/GJ532c/markers.json index 40638cd69..8a860b8c4 100644 --- a/wiki/star-systems/GJ-532/bodies/GJ532c/markers.json +++ b/wiki/star-systems/GJ-532/bodies/GJ532c/markers.json @@ -627,7 +627,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 39, + 85 + ], + "population": 1500 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 39, + 85 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-534/bodies/GJ534d/markers.json b/wiki/star-systems/GJ-534/bodies/GJ534d/markers.json index bde9162e9..18df83be1 100644 --- a/wiki/star-systems/GJ-534/bodies/GJ534d/markers.json +++ b/wiki/star-systems/GJ-534/bodies/GJ534d/markers.json @@ -630,7 +630,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 167, + 460 + ], + "population": 14000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 167, + 460 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-536/bodies/GJ536c/markers.json b/wiki/star-systems/GJ-536/bodies/GJ536c/markers.json index 45042dac4..a4055b722 100644 --- a/wiki/star-systems/GJ-536/bodies/GJ536c/markers.json +++ b/wiki/star-systems/GJ-536/bodies/GJ536c/markers.json @@ -364,7 +364,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 8, + 409 + ], + "population": 20000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 8, + 409 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-53A/bodies/GJ53Ad/markers.json b/wiki/star-systems/GJ-53A/bodies/GJ53Ad/markers.json index 47443259e..0179ee81f 100644 --- a/wiki/star-systems/GJ-53A/bodies/GJ53Ad/markers.json +++ b/wiki/star-systems/GJ-53A/bodies/GJ53Ad/markers.json @@ -542,7 +542,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 112, + 142 + ], + "population": 450000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 112, + 142 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-54.1/bodies/GJ54.1b/markers.json b/wiki/star-systems/GJ-54.1/bodies/GJ54.1b/markers.json index 08424ab41..5b88dffa5 100644 --- a/wiki/star-systems/GJ-54.1/bodies/GJ54.1b/markers.json +++ b/wiki/star-systems/GJ-54.1/bodies/GJ54.1b/markers.json @@ -1303,7 +1303,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 28, + 156 + ], + "population": 320000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 28, + 156 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-54/bodies/GJ54c/markers.json b/wiki/star-systems/GJ-54/bodies/GJ54c/markers.json index c9caa6ec2..b99d78b39 100644 --- a/wiki/star-systems/GJ-54/bodies/GJ54c/markers.json +++ b/wiki/star-systems/GJ-54/bodies/GJ54c/markers.json @@ -626,7 +626,38 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 250, + 56 + ], + "population": 120000000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 176, + 239 + ], + "population": 60000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 250, + 56 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-541/bodies/GJ541e/markers.json b/wiki/star-systems/GJ-541/bodies/GJ541e/markers.json index 4d29f5dc1..5ecf0deec 100644 --- a/wiki/star-systems/GJ-541/bodies/GJ541e/markers.json +++ b/wiki/star-systems/GJ-541/bodies/GJ541e/markers.json @@ -912,7 +912,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 39, + 59 + ], + "population": 200000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 39, + 59 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-542/bodies/GJ542c/markers.json b/wiki/star-systems/GJ-542/bodies/GJ542c/markers.json index 53530b7e2..4363e8552 100644 --- a/wiki/star-systems/GJ-542/bodies/GJ542c/markers.json +++ b/wiki/star-systems/GJ-542/bodies/GJ542c/markers.json @@ -607,7 +607,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 249, + 283 + ], + "population": 36000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 249, + 283 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-546/bodies/GJ546c/markers.json b/wiki/star-systems/GJ-546/bodies/GJ546c/markers.json index e4349c11c..e14cbfd78 100644 --- a/wiki/star-systems/GJ-546/bodies/GJ546c/markers.json +++ b/wiki/star-systems/GJ-546/bodies/GJ546c/markers.json @@ -326,7 +326,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 172, + 2 + ], + "population": 400 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 172, + 2 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-551/bodies/GJ551b/markers.json b/wiki/star-systems/GJ-551/bodies/GJ551b/markers.json index 45bda449c..0fcc23021 100644 --- a/wiki/star-systems/GJ-551/bodies/GJ551b/markers.json +++ b/wiki/star-systems/GJ-551/bodies/GJ551b/markers.json @@ -292,7 +292,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 170, + 357 + ], + "population": 400000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 170, + 357 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-556/bodies/GJ556c/markers.json b/wiki/star-systems/GJ-556/bodies/GJ556c/markers.json index d67614698..d99080196 100644 --- a/wiki/star-systems/GJ-556/bodies/GJ556c/markers.json +++ b/wiki/star-systems/GJ-556/bodies/GJ556c/markers.json @@ -450,7 +450,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 119, + 483 + ], + "population": 8000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 119, + 483 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-559B/bodies/GJ559Bc/markers.json b/wiki/star-systems/GJ-559B/bodies/GJ559Bc/markers.json index edc10aa8f..44d31649d 100644 --- a/wiki/star-systems/GJ-559B/bodies/GJ559Bc/markers.json +++ b/wiki/star-systems/GJ-559B/bodies/GJ559Bc/markers.json @@ -653,7 +653,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 20, + 507 + ], + "population": 750000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 20, + 507 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-566A/bodies/GJ566Ac/markers.json b/wiki/star-systems/GJ-566A/bodies/GJ566Ac/markers.json index 2699af690..0cec5e1bd 100644 --- a/wiki/star-systems/GJ-566A/bodies/GJ566Ac/markers.json +++ b/wiki/star-systems/GJ-566A/bodies/GJ566Ac/markers.json @@ -744,8 +744,575 @@ "area_cells": 130 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 114, + 245 + ], + [ + 114, + 244 + ], + [ + 114, + 243 + ], + [ + 114, + 241 + ], + [ + 114, + 240 + ], + [ + 114, + 239 + ], + [ + 114, + 237 + ], + [ + 114, + 236 + ], + [ + 114, + 235 + ], + [ + 114, + 233 + ], + [ + 114, + 232 + ], + [ + 114, + 231 + ], + [ + 114, + 229 + ], + [ + 114, + 228 + ], + [ + 114, + 226 + ], + [ + 114, + 225 + ], + [ + 114, + 224 + ], + [ + 114, + 222 + ], + [ + 114, + 221 + ], + [ + 114, + 220 + ], + [ + 112, + 218 + ], + [ + 111, + 217 + ], + [ + 110, + 216 + ], + [ + 108, + 214 + ], + [ + 108, + 213 + ], + [ + 108, + 212 + ], + [ + 108, + 210 + ], + [ + 108, + 209 + ], + [ + 108, + 207 + ], + [ + 108, + 206 + ], + [ + 108, + 205 + ], + [ + 108, + 203 + ], + [ + 108, + 202 + ], + [ + 108, + 201 + ], + [ + 108, + 199 + ], + [ + 108, + 198 + ], + [ + 108, + 197 + ], + [ + 108, + 195 + ], + [ + 108, + 194 + ], + [ + 108, + 192 + ], + [ + 108, + 191 + ], + [ + 108, + 190 + ], + [ + 108, + 188 + ], + [ + 108, + 187 + ], + [ + 108, + 186 + ], + [ + 108, + 184 + ], + [ + 108, + 183 + ], + [ + 108, + 182 + ], + [ + 108, + 180 + ], + [ + 108, + 179 + ], + [ + 108, + 178 + ], + [ + 108, + 176 + ], + [ + 108, + 175 + ], + [ + 108, + 173 + ], + [ + 108, + 172 + ], + [ + 108, + 171 + ], + [ + 108, + 169 + ], + [ + 108, + 168 + ], + [ + 108, + 167 + ], + [ + 108, + 165 + ], + [ + 107, + 164 + ], + [ + 107, + 163 + ], + [ + 106, + 161 + ], + [ + 106, + 160 + ], + [ + 105, + 159 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 114, + 245 + ], + "population": 1866670000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 105, + 159 + ], + "population": 933330000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 114, + 245 + ], + [ + 114, + 244 + ], + [ + 114, + 243 + ], + [ + 114, + 241 + ], + [ + 114, + 240 + ], + [ + 114, + 239 + ], + [ + 114, + 237 + ], + [ + 114, + 236 + ], + [ + 114, + 235 + ], + [ + 114, + 233 + ], + [ + 114, + 232 + ], + [ + 114, + 231 + ], + [ + 114, + 229 + ], + [ + 114, + 228 + ], + [ + 114, + 226 + ], + [ + 114, + 225 + ], + [ + 114, + 224 + ], + [ + 114, + 222 + ], + [ + 114, + 221 + ], + [ + 114, + 220 + ], + [ + 112, + 218 + ], + [ + 111, + 217 + ], + [ + 110, + 216 + ], + [ + 108, + 214 + ], + [ + 108, + 213 + ], + [ + 108, + 212 + ], + [ + 108, + 210 + ], + [ + 108, + 209 + ], + [ + 108, + 207 + ], + [ + 108, + 206 + ], + [ + 108, + 205 + ], + [ + 108, + 203 + ], + [ + 108, + 202 + ], + [ + 108, + 201 + ], + [ + 108, + 199 + ], + [ + 108, + 198 + ], + [ + 108, + 197 + ], + [ + 108, + 195 + ], + [ + 108, + 194 + ], + [ + 108, + 192 + ], + [ + 108, + 191 + ], + [ + 108, + 190 + ], + [ + 108, + 188 + ], + [ + 108, + 187 + ], + [ + 108, + 186 + ], + [ + 108, + 184 + ], + [ + 108, + 183 + ], + [ + 108, + 182 + ], + [ + 108, + 180 + ], + [ + 108, + 179 + ], + [ + 108, + 178 + ], + [ + 108, + 176 + ], + [ + 108, + 175 + ], + [ + 108, + 173 + ], + [ + 108, + 172 + ], + [ + 108, + 171 + ], + [ + 108, + 169 + ], + [ + 108, + 168 + ], + [ + 108, + 167 + ], + [ + 108, + 165 + ], + [ + 107, + 164 + ], + [ + 107, + 163 + ], + [ + 106, + 161 + ], + [ + 106, + 160 + ], + [ + 105, + 159 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 114, + 245 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-566B/bodies/GJ566Bc/markers.json b/wiki/star-systems/GJ-566B/bodies/GJ566Bc/markers.json index f38818b3c..0a520ebb7 100644 --- a/wiki/star-systems/GJ-566B/bodies/GJ566Bc/markers.json +++ b/wiki/star-systems/GJ-566B/bodies/GJ566Bc/markers.json @@ -785,7 +785,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 84, + 54 + ], + "population": 480000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 84, + 54 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-567/bodies/GJ567c/markers.json b/wiki/star-systems/GJ-567/bodies/GJ567c/markers.json index 66b44e8fb..e9fae8b3c 100644 --- a/wiki/star-systems/GJ-567/bodies/GJ567c/markers.json +++ b/wiki/star-systems/GJ-567/bodies/GJ567c/markers.json @@ -773,7 +773,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 190, + 171 + ], + "population": 34000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 190, + 171 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-575A/bodies/GJ575Ae/markers.json b/wiki/star-systems/GJ-575A/bodies/GJ575Ae/markers.json index 9b6e0ee2b..c454f155f 100644 --- a/wiki/star-systems/GJ-575A/bodies/GJ575Ae/markers.json +++ b/wiki/star-systems/GJ-575A/bodies/GJ575Ae/markers.json @@ -1173,7 +1173,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 111, + 389 + ], + "population": 80000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 111, + 389 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-581/bodies/GJ581c/markers.json b/wiki/star-systems/GJ-581/bodies/GJ581c/markers.json index 2933266d7..032f5a88b 100644 --- a/wiki/star-systems/GJ-581/bodies/GJ581c/markers.json +++ b/wiki/star-systems/GJ-581/bodies/GJ581c/markers.json @@ -521,7 +521,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 235, + 394 + ], + "population": 8200 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 235, + 394 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-588/bodies/GJ588c/markers.json b/wiki/star-systems/GJ-588/bodies/GJ588c/markers.json index 700fd638d..63a290531 100644 --- a/wiki/star-systems/GJ-588/bodies/GJ588c/markers.json +++ b/wiki/star-systems/GJ-588/bodies/GJ588c/markers.json @@ -1372,7 +1372,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 93, + 111 + ], + "population": 800 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 93, + 111 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-598/bodies/GJ598d/markers.json b/wiki/star-systems/GJ-598/bodies/GJ598d/markers.json index ee0f92e41..958731f10 100644 --- a/wiki/star-systems/GJ-598/bodies/GJ598d/markers.json +++ b/wiki/star-systems/GJ-598/bodies/GJ598d/markers.json @@ -468,7 +468,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 161, + 378 + ], + "population": 2500 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 161, + 378 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-601A/bodies/GJ601Ad/markers.json b/wiki/star-systems/GJ-601A/bodies/GJ601Ad/markers.json index 6fcdc9dc9..634129afc 100644 --- a/wiki/star-systems/GJ-601A/bodies/GJ601Ad/markers.json +++ b/wiki/star-systems/GJ-601A/bodies/GJ601Ad/markers.json @@ -1095,7 +1095,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 120, + 20 + ], + "population": 85000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 120, + 20 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-603/bodies/GJ603c/markers.json b/wiki/star-systems/GJ-603/bodies/GJ603c/markers.json index e087927c5..7e8179c79 100644 --- a/wiki/star-systems/GJ-603/bodies/GJ603c/markers.json +++ b/wiki/star-systems/GJ-603/bodies/GJ603c/markers.json @@ -733,7 +733,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 156, + 148 + ], + "population": 4000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 156, + 148 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-61/bodies/GJ61c/markers.json b/wiki/star-systems/GJ-61/bodies/GJ61c/markers.json index e92aa97cf..da0570dbb 100644 --- a/wiki/star-systems/GJ-61/bodies/GJ61c/markers.json +++ b/wiki/star-systems/GJ-61/bodies/GJ61c/markers.json @@ -577,7 +577,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 249, + 330 + ], + "population": 8000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 249, + 330 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-615/bodies/GJ615c/markers.json b/wiki/star-systems/GJ-615/bodies/GJ615c/markers.json index 1423b7997..2ea918739 100644 --- a/wiki/star-systems/GJ-615/bodies/GJ615c/markers.json +++ b/wiki/star-systems/GJ-615/bodies/GJ615c/markers.json @@ -1165,7 +1165,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 135, + 355 + ], + "population": 30000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 135, + 355 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-620.1A/bodies/GJ620.1Ad/markers.json b/wiki/star-systems/GJ-620.1A/bodies/GJ620.1Ad/markers.json index 4e4790e4d..a9e063ca2 100644 --- a/wiki/star-systems/GJ-620.1A/bodies/GJ620.1Ad/markers.json +++ b/wiki/star-systems/GJ-620.1A/bodies/GJ620.1Ad/markers.json @@ -938,7 +938,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 78, + 288 + ], + "population": 6200 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 78, + 288 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-624/bodies/GJ624d/markers.json b/wiki/star-systems/GJ-624/bodies/GJ624d/markers.json index ee22df98c..ee805d47a 100644 --- a/wiki/star-systems/GJ-624/bodies/GJ624d/markers.json +++ b/wiki/star-systems/GJ-624/bodies/GJ624d/markers.json @@ -831,7 +831,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 97, + 87 + ], + "population": 52000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 97, + 87 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-625/bodies/GJ625c/markers.json b/wiki/star-systems/GJ-625/bodies/GJ625c/markers.json index ce4483f76..24b8d21cd 100644 --- a/wiki/star-systems/GJ-625/bodies/GJ625c/markers.json +++ b/wiki/star-systems/GJ-625/bodies/GJ625c/markers.json @@ -717,7 +717,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 244, + 72 + ], + "population": 2000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 244, + 72 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-625/bodies/GJ625d/markers.json b/wiki/star-systems/GJ-625/bodies/GJ625d/markers.json index a6d36467c..07c695232 100644 --- a/wiki/star-systems/GJ-625/bodies/GJ625d/markers.json +++ b/wiki/star-systems/GJ-625/bodies/GJ625d/markers.json @@ -590,7 +590,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 93, + 510 + ], + "population": 650000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 93, + 510 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-628/bodies/GJ628c/markers.json b/wiki/star-systems/GJ-628/bodies/GJ628c/markers.json index b36b8a9c2..a33748450 100644 --- a/wiki/star-systems/GJ-628/bodies/GJ628c/markers.json +++ b/wiki/star-systems/GJ-628/bodies/GJ628c/markers.json @@ -346,7 +346,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 217, + 509 + ], + "population": 18000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 217, + 509 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-628/bodies/GJ628e-m1/markers.json b/wiki/star-systems/GJ-628/bodies/GJ628e-m1/markers.json index 175b38246..abf3ba4af 100644 --- a/wiki/star-systems/GJ-628/bodies/GJ628e-m1/markers.json +++ b/wiki/star-systems/GJ-628/bodies/GJ628e-m1/markers.json @@ -137,7 +137,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 49, + 507 + ], + "population": 150 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 49, + 507 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-631/bodies/GJ631c/markers.json b/wiki/star-systems/GJ-631/bodies/GJ631c/markers.json index ff37e132f..0cefac1a4 100644 --- a/wiki/star-systems/GJ-631/bodies/GJ631c/markers.json +++ b/wiki/star-systems/GJ-631/bodies/GJ631c/markers.json @@ -630,7 +630,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 176, + 419 + ], + "population": 6800000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 176, + 419 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-635A/bodies/GJ635Ad/markers.json b/wiki/star-systems/GJ-635A/bodies/GJ635Ad/markers.json index 3756238c8..ef75bff79 100644 --- a/wiki/star-systems/GJ-635A/bodies/GJ635Ad/markers.json +++ b/wiki/star-systems/GJ-635A/bodies/GJ635Ad/markers.json @@ -452,7 +452,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 114, + 238 + ], + "population": 18000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 114, + 238 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-635B/bodies/GJ635Bd/markers.json b/wiki/star-systems/GJ-635B/bodies/GJ635Bd/markers.json index ac4aa4e79..7e59bb369 100644 --- a/wiki/star-systems/GJ-635B/bodies/GJ635Bd/markers.json +++ b/wiki/star-systems/GJ-635B/bodies/GJ635Bd/markers.json @@ -537,7 +537,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 161, + 229 + ], + "population": 120000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 161, + 229 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-638/bodies/GJ638d/markers.json b/wiki/star-systems/GJ-638/bodies/GJ638d/markers.json index 8c891b217..717ea07ee 100644 --- a/wiki/star-systems/GJ-638/bodies/GJ638d/markers.json +++ b/wiki/star-systems/GJ-638/bodies/GJ638d/markers.json @@ -385,7 +385,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 10, + 459 + ], + "population": 600 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 10, + 459 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-643/bodies/GJ643c/markers.json b/wiki/star-systems/GJ-643/bodies/GJ643c/markers.json index 269799bd5..1315ac8a2 100644 --- a/wiki/star-systems/GJ-643/bodies/GJ643c/markers.json +++ b/wiki/star-systems/GJ-643/bodies/GJ643c/markers.json @@ -1128,7 +1128,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 250, + 107 + ], + "population": 8000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 250, + 107 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-644A/bodies/GJ644Ac/markers.json b/wiki/star-systems/GJ-644A/bodies/GJ644Ac/markers.json index 3bf3c9cde..e24fa9468 100644 --- a/wiki/star-systems/GJ-644A/bodies/GJ644Ac/markers.json +++ b/wiki/star-systems/GJ-644A/bodies/GJ644Ac/markers.json @@ -527,7 +527,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 98, + 88 + ], + "population": 18000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 98, + 88 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-644C/bodies/GJ644Cb/markers.json b/wiki/star-systems/GJ-644C/bodies/GJ644Cb/markers.json index 256f3945b..32498401e 100644 --- a/wiki/star-systems/GJ-644C/bodies/GJ644Cb/markers.json +++ b/wiki/star-systems/GJ-644C/bodies/GJ644Cb/markers.json @@ -850,7 +850,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 228, + 353 + ], + "population": 8000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 228, + 353 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-653/bodies/GJ653c/markers.json b/wiki/star-systems/GJ-653/bodies/GJ653c/markers.json index 455c0dbd5..53ff3bf31 100644 --- a/wiki/star-systems/GJ-653/bodies/GJ653c/markers.json +++ b/wiki/star-systems/GJ-653/bodies/GJ653c/markers.json @@ -439,7 +439,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 120, + 2 + ], + "population": 40000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 120, + 2 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-660A/bodies/GJ660Ad/markers.json b/wiki/star-systems/GJ-660A/bodies/GJ660Ad/markers.json index 551b7d7e1..e8751eb69 100644 --- a/wiki/star-systems/GJ-660A/bodies/GJ660Ad/markers.json +++ b/wiki/star-systems/GJ-660A/bodies/GJ660Ad/markers.json @@ -445,7 +445,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 69, + 118 + ], + "population": 95000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 69, + 118 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-661A/bodies/GJ661Ad/markers.json b/wiki/star-systems/GJ-661A/bodies/GJ661Ad/markers.json index 7e4656578..4f6dd88a3 100644 --- a/wiki/star-systems/GJ-661A/bodies/GJ661Ad/markers.json +++ b/wiki/star-systems/GJ-661A/bodies/GJ661Ad/markers.json @@ -670,8 +670,585 @@ "area_cells": 116 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 88, + 511 + ], + [ + 89, + 510 + ], + [ + 89, + 509 + ], + [ + 89, + 508 + ], + [ + 89, + 507 + ], + [ + 89, + 506 + ], + [ + 89, + 505 + ], + [ + 89, + 504 + ], + [ + 90, + 502 + ], + [ + 91, + 501 + ], + [ + 92, + 500 + ], + [ + 93, + 499 + ], + [ + 94, + 498 + ], + [ + 95, + 497 + ], + [ + 96, + 496 + ], + [ + 97, + 495 + ], + [ + 99, + 493 + ], + [ + 100, + 492 + ], + [ + 101, + 491 + ], + [ + 102, + 490 + ], + [ + 103, + 489 + ], + [ + 104, + 488 + ], + [ + 105, + 487 + ], + [ + 106, + 486 + ], + [ + 107, + 484 + ], + [ + 107, + 483 + ], + [ + 107, + 482 + ], + [ + 107, + 481 + ], + [ + 107, + 480 + ], + [ + 107, + 479 + ], + [ + 107, + 478 + ], + [ + 107, + 477 + ], + [ + 107, + 475 + ], + [ + 107, + 474 + ], + [ + 107, + 473 + ], + [ + 107, + 472 + ], + [ + 107, + 471 + ], + [ + 107, + 470 + ], + [ + 107, + 469 + ], + [ + 107, + 468 + ], + [ + 107, + 466 + ], + [ + 107, + 465 + ], + [ + 107, + 464 + ], + [ + 107, + 463 + ], + [ + 107, + 462 + ], + [ + 107, + 461 + ], + [ + 107, + 460 + ], + [ + 107, + 459 + ], + [ + 107, + 457 + ], + [ + 107, + 456 + ], + [ + 107, + 455 + ], + [ + 108, + 454 + ], + [ + 108, + 453 + ], + [ + 109, + 452 + ], + [ + 109, + 451 + ], + [ + 109, + 450 + ], + [ + 110, + 448 + ], + [ + 111, + 447 + ], + [ + 111, + 446 + ], + [ + 112, + 445 + ], + [ + 112, + 444 + ], + [ + 113, + 443 + ], + [ + 113, + 442 + ], + [ + 113, + 441 + ], + [ + 114, + 440 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 88, + 511 + ], + "population": 228570000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 114, + 440 + ], + "population": 114290000 + }, + { + "id": "city_2", + "name": "", + "kind": "city", + "center": [ + 210, + 123 + ], + "population": 57140000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 88, + 511 + ], + [ + 89, + 510 + ], + [ + 89, + 509 + ], + [ + 89, + 508 + ], + [ + 89, + 507 + ], + [ + 89, + 506 + ], + [ + 89, + 505 + ], + [ + 89, + 504 + ], + [ + 90, + 502 + ], + [ + 91, + 501 + ], + [ + 92, + 500 + ], + [ + 93, + 499 + ], + [ + 94, + 498 + ], + [ + 95, + 497 + ], + [ + 96, + 496 + ], + [ + 97, + 495 + ], + [ + 99, + 493 + ], + [ + 100, + 492 + ], + [ + 101, + 491 + ], + [ + 102, + 490 + ], + [ + 103, + 489 + ], + [ + 104, + 488 + ], + [ + 105, + 487 + ], + [ + 106, + 486 + ], + [ + 107, + 484 + ], + [ + 107, + 483 + ], + [ + 107, + 482 + ], + [ + 107, + 481 + ], + [ + 107, + 480 + ], + [ + 107, + 479 + ], + [ + 107, + 478 + ], + [ + 107, + 477 + ], + [ + 107, + 475 + ], + [ + 107, + 474 + ], + [ + 107, + 473 + ], + [ + 107, + 472 + ], + [ + 107, + 471 + ], + [ + 107, + 470 + ], + [ + 107, + 469 + ], + [ + 107, + 468 + ], + [ + 107, + 466 + ], + [ + 107, + 465 + ], + [ + 107, + 464 + ], + [ + 107, + 463 + ], + [ + 107, + 462 + ], + [ + 107, + 461 + ], + [ + 107, + 460 + ], + [ + 107, + 459 + ], + [ + 107, + 457 + ], + [ + 107, + 456 + ], + [ + 107, + 455 + ], + [ + 108, + 454 + ], + [ + 108, + 453 + ], + [ + 109, + 452 + ], + [ + 109, + 451 + ], + [ + 109, + 450 + ], + [ + 110, + 448 + ], + [ + 111, + 447 + ], + [ + 111, + 446 + ], + [ + 112, + 445 + ], + [ + 112, + 444 + ], + [ + 113, + 443 + ], + [ + 113, + 442 + ], + [ + 113, + 441 + ], + [ + 114, + 440 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 88, + 511 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-661B/bodies/GJ661Bd/markers.json b/wiki/star-systems/GJ-661B/bodies/GJ661Bd/markers.json index e7bef5d27..8c2418422 100644 --- a/wiki/star-systems/GJ-661B/bodies/GJ661Bd/markers.json +++ b/wiki/star-systems/GJ-661B/bodies/GJ661Bd/markers.json @@ -685,7 +685,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 147, + 355 + ], + "population": 3500 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 147, + 355 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-663A/bodies/GJ663Ac-1/markers.json b/wiki/star-systems/GJ-663A/bodies/GJ663Ac-1/markers.json index 95e0c9b8b..a46744788 100644 --- a/wiki/star-systems/GJ-663A/bodies/GJ663Ac-1/markers.json +++ b/wiki/star-systems/GJ-663A/bodies/GJ663Ac-1/markers.json @@ -398,7 +398,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 60, + 90 + ], + "population": 40000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 60, + 90 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-664/bodies/GJ664d/markers.json b/wiki/star-systems/GJ-664/bodies/GJ664d/markers.json index f1a83aee4..1b5ef84ed 100644 --- a/wiki/star-systems/GJ-664/bodies/GJ664d/markers.json +++ b/wiki/star-systems/GJ-664/bodies/GJ664d/markers.json @@ -800,7 +800,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 243, + 2 + ], + "population": 500000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 243, + 2 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-667A/bodies/GJ667Ad/markers.json b/wiki/star-systems/GJ-667A/bodies/GJ667Ad/markers.json index 080135aaf..92213650f 100644 --- a/wiki/star-systems/GJ-667A/bodies/GJ667Ad/markers.json +++ b/wiki/star-systems/GJ-667A/bodies/GJ667Ad/markers.json @@ -1161,8 +1161,575 @@ "area_cells": 530 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 152, + 127 + ], + [ + 151, + 127 + ], + [ + 150, + 126 + ], + [ + 150, + 124 + ], + [ + 150, + 123 + ], + [ + 150, + 121 + ], + [ + 150, + 120 + ], + [ + 150, + 119 + ], + [ + 150, + 117 + ], + [ + 150, + 116 + ], + [ + 150, + 114 + ], + [ + 150, + 113 + ], + [ + 149, + 111 + ], + [ + 149, + 110 + ], + [ + 149, + 109 + ], + [ + 149, + 107 + ], + [ + 149, + 106 + ], + [ + 147, + 104 + ], + [ + 146, + 103 + ], + [ + 144, + 101 + ], + [ + 143, + 100 + ], + [ + 142, + 99 + ], + [ + 141, + 97 + ], + [ + 141, + 96 + ], + [ + 141, + 94 + ], + [ + 141, + 93 + ], + [ + 141, + 92 + ], + [ + 141, + 90 + ], + [ + 141, + 89 + ], + [ + 141, + 87 + ], + [ + 141, + 86 + ], + [ + 141, + 84 + ], + [ + 141, + 83 + ], + [ + 141, + 82 + ], + [ + 141, + 80 + ], + [ + 141, + 79 + ], + [ + 141, + 77 + ], + [ + 141, + 76 + ], + [ + 141, + 74 + ], + [ + 141, + 73 + ], + [ + 141, + 72 + ], + [ + 141, + 70 + ], + [ + 141, + 69 + ], + [ + 141, + 67 + ], + [ + 140, + 66 + ], + [ + 140, + 65 + ], + [ + 140, + 63 + ], + [ + 140, + 62 + ], + [ + 140, + 60 + ], + [ + 140, + 59 + ], + [ + 140, + 57 + ], + [ + 140, + 56 + ], + [ + 140, + 55 + ], + [ + 140, + 53 + ], + [ + 140, + 52 + ], + [ + 140, + 50 + ], + [ + 140, + 49 + ], + [ + 140, + 47 + ], + [ + 140, + 46 + ], + [ + 140, + 45 + ], + [ + 140, + 43 + ], + [ + 140, + 42 + ], + [ + 139, + 40 + ], + [ + 139, + 39 + ], + [ + 138, + 38 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 152, + 127 + ], + "population": 400000000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 138, + 38 + ], + "population": 200000000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 152, + 127 + ], + [ + 152, + 126 + ], + [ + 151, + 125 + ], + [ + 150, + 123 + ], + [ + 150, + 122 + ], + [ + 150, + 120 + ], + [ + 150, + 119 + ], + [ + 150, + 118 + ], + [ + 150, + 116 + ], + [ + 150, + 115 + ], + [ + 150, + 113 + ], + [ + 149, + 112 + ], + [ + 149, + 111 + ], + [ + 149, + 109 + ], + [ + 149, + 108 + ], + [ + 149, + 106 + ], + [ + 148, + 105 + ], + [ + 147, + 104 + ], + [ + 145, + 102 + ], + [ + 144, + 101 + ], + [ + 142, + 99 + ], + [ + 141, + 98 + ], + [ + 141, + 97 + ], + [ + 141, + 95 + ], + [ + 141, + 94 + ], + [ + 141, + 92 + ], + [ + 141, + 91 + ], + [ + 141, + 90 + ], + [ + 141, + 88 + ], + [ + 141, + 87 + ], + [ + 141, + 85 + ], + [ + 141, + 84 + ], + [ + 141, + 82 + ], + [ + 141, + 81 + ], + [ + 141, + 80 + ], + [ + 141, + 78 + ], + [ + 141, + 77 + ], + [ + 141, + 75 + ], + [ + 141, + 74 + ], + [ + 141, + 73 + ], + [ + 141, + 71 + ], + [ + 141, + 70 + ], + [ + 141, + 68 + ], + [ + 141, + 67 + ], + [ + 140, + 66 + ], + [ + 140, + 64 + ], + [ + 140, + 63 + ], + [ + 140, + 61 + ], + [ + 140, + 60 + ], + [ + 140, + 59 + ], + [ + 140, + 57 + ], + [ + 140, + 56 + ], + [ + 140, + 54 + ], + [ + 140, + 53 + ], + [ + 140, + 52 + ], + [ + 140, + 50 + ], + [ + 140, + 49 + ], + [ + 140, + 47 + ], + [ + 140, + 46 + ], + [ + 140, + 45 + ], + [ + 140, + 43 + ], + [ + 140, + 42 + ], + [ + 139, + 40 + ], + [ + 139, + 39 + ], + [ + 138, + 38 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 152, + 127 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-667B/bodies/GJ667Bd/markers.json b/wiki/star-systems/GJ-667B/bodies/GJ667Bd/markers.json index e32cffa30..88dd7f488 100644 --- a/wiki/star-systems/GJ-667B/bodies/GJ667Bd/markers.json +++ b/wiki/star-systems/GJ-667B/bodies/GJ667Bd/markers.json @@ -1365,8 +1365,1119 @@ "area_cells": 23 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 188, + 1 + ], + [ + 187, + 2 + ], + [ + 187, + 3 + ], + [ + 186, + 4 + ], + [ + 185, + 5 + ], + [ + 184, + 6 + ], + [ + 183, + 7 + ], + [ + 182, + 8 + ], + [ + 181, + 9 + ], + [ + 180, + 10 + ], + [ + 179, + 11 + ], + [ + 178, + 12 + ], + [ + 177, + 13 + ], + [ + 177, + 14 + ], + [ + 177, + 15 + ], + [ + 176, + 16 + ], + [ + 176, + 17 + ], + [ + 175, + 18 + ], + [ + 174, + 19 + ], + [ + 173, + 20 + ], + [ + 172, + 21 + ], + [ + 171, + 22 + ], + [ + 170, + 23 + ], + [ + 169, + 24 + ], + [ + 168, + 25 + ], + [ + 168, + 26 + ], + [ + 168, + 27 + ], + [ + 168, + 28 + ], + [ + 168, + 29 + ], + [ + 168, + 30 + ], + [ + 168, + 31 + ], + [ + 168, + 32 + ], + [ + 168, + 33 + ], + [ + 168, + 34 + ], + [ + 168, + 35 + ], + [ + 167, + 36 + ], + [ + 167, + 37 + ], + [ + 166, + 38 + ], + [ + 166, + 39 + ], + [ + 165, + 40 + ], + [ + 165, + 41 + ], + [ + 164, + 42 + ], + [ + 164, + 43 + ], + [ + 164, + 44 + ], + [ + 163, + 45 + ], + [ + 163, + 46 + ], + [ + 162, + 47 + ], + [ + 162, + 48 + ], + [ + 161, + 49 + ], + [ + 161, + 50 + ], + [ + 160, + 51 + ], + [ + 160, + 52 + ], + [ + 159, + 53 + ], + [ + 159, + 54 + ], + [ + 159, + 55 + ], + [ + 158, + 56 + ], + [ + 158, + 57 + ], + [ + 157, + 58 + ], + [ + 157, + 59 + ], + [ + 156, + 60 + ], + [ + 156, + 61 + ], + [ + 155, + 62 + ], + [ + 155, + 63 + ], + [ + 155, + 64 + ], + [ + 154, + 65 + ] + ] + }, + { + "id": "road_1", + "name": "", + "kind": "commercial", + "path": [ + [ + 154, + 65 + ], + [ + 154, + 66 + ], + [ + 154, + 67 + ], + [ + 154, + 69 + ], + [ + 154, + 70 + ], + [ + 154, + 72 + ], + [ + 155, + 73 + ], + [ + 157, + 75 + ], + [ + 158, + 76 + ], + [ + 160, + 78 + ], + [ + 161, + 79 + ], + [ + 161, + 80 + ], + [ + 162, + 82 + ], + [ + 162, + 83 + ], + [ + 162, + 85 + ], + [ + 162, + 86 + ], + [ + 163, + 88 + ], + [ + 163, + 89 + ], + [ + 164, + 91 + ], + [ + 164, + 92 + ], + [ + 163, + 94 + ], + [ + 163, + 95 + ], + [ + 163, + 96 + ], + [ + 163, + 98 + ], + [ + 163, + 99 + ], + [ + 162, + 101 + ], + [ + 162, + 102 + ], + [ + 162, + 104 + ], + [ + 162, + 105 + ], + [ + 162, + 107 + ], + [ + 163, + 108 + ], + [ + 163, + 110 + ], + [ + 163, + 111 + ], + [ + 163, + 112 + ], + [ + 162, + 114 + ], + [ + 161, + 115 + ], + [ + 159, + 117 + ], + [ + 158, + 118 + ], + [ + 156, + 120 + ], + [ + 155, + 121 + ], + [ + 153, + 123 + ], + [ + 152, + 124 + ], + [ + 150, + 126 + ], + [ + 149, + 127 + ], + [ + 148, + 128 + ], + [ + 146, + 130 + ], + [ + 145, + 131 + ], + [ + 143, + 133 + ], + [ + 142, + 134 + ], + [ + 140, + 136 + ], + [ + 139, + 137 + ], + [ + 137, + 139 + ], + [ + 136, + 140 + ], + [ + 134, + 142 + ], + [ + 133, + 143 + ], + [ + 132, + 144 + ], + [ + 130, + 146 + ], + [ + 129, + 147 + ], + [ + 127, + 149 + ], + [ + 126, + 150 + ], + [ + 124, + 152 + ], + [ + 124, + 153 + ], + [ + 123, + 155 + ], + [ + 123, + 156 + ], + [ + 122, + 157 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 188, + 1 + ], + "population": 685710000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 154, + 65 + ], + "population": 342860000 + }, + { + "id": "city_2", + "name": "", + "kind": "city", + "center": [ + 122, + 157 + ], + "population": 171430000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 188, + 1 + ], + [ + 187, + 2 + ], + [ + 187, + 3 + ], + [ + 186, + 4 + ], + [ + 185, + 5 + ], + [ + 184, + 6 + ], + [ + 183, + 7 + ], + [ + 182, + 8 + ], + [ + 181, + 9 + ], + [ + 180, + 10 + ], + [ + 179, + 11 + ], + [ + 178, + 12 + ], + [ + 177, + 13 + ], + [ + 177, + 14 + ], + [ + 177, + 15 + ], + [ + 176, + 16 + ], + [ + 176, + 17 + ], + [ + 175, + 18 + ], + [ + 174, + 19 + ], + [ + 173, + 20 + ], + [ + 172, + 21 + ], + [ + 171, + 22 + ], + [ + 170, + 23 + ], + [ + 169, + 24 + ], + [ + 168, + 25 + ], + [ + 168, + 26 + ], + [ + 168, + 27 + ], + [ + 168, + 28 + ], + [ + 168, + 29 + ], + [ + 168, + 30 + ], + [ + 168, + 31 + ], + [ + 168, + 32 + ], + [ + 168, + 33 + ], + [ + 168, + 34 + ], + [ + 168, + 35 + ], + [ + 167, + 36 + ], + [ + 167, + 37 + ], + [ + 166, + 38 + ], + [ + 166, + 39 + ], + [ + 165, + 40 + ], + [ + 165, + 41 + ], + [ + 164, + 42 + ], + [ + 164, + 43 + ], + [ + 164, + 44 + ], + [ + 163, + 45 + ], + [ + 163, + 46 + ], + [ + 162, + 47 + ], + [ + 162, + 48 + ], + [ + 161, + 49 + ], + [ + 161, + 50 + ], + [ + 160, + 51 + ], + [ + 160, + 52 + ], + [ + 159, + 53 + ], + [ + 159, + 54 + ], + [ + 159, + 55 + ], + [ + 158, + 56 + ], + [ + 158, + 57 + ], + [ + 157, + 58 + ], + [ + 157, + 59 + ], + [ + 156, + 60 + ], + [ + 156, + 61 + ], + [ + 155, + 62 + ], + [ + 155, + 63 + ], + [ + 155, + 64 + ], + [ + 154, + 65 + ] + ] + }, + { + "id": "railroad_1", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 154, + 65 + ], + [ + 154, + 66 + ], + [ + 154, + 67 + ], + [ + 154, + 69 + ], + [ + 154, + 70 + ], + [ + 154, + 72 + ], + [ + 155, + 73 + ], + [ + 157, + 75 + ], + [ + 158, + 76 + ], + [ + 160, + 78 + ], + [ + 161, + 79 + ], + [ + 161, + 80 + ], + [ + 162, + 82 + ], + [ + 162, + 83 + ], + [ + 162, + 85 + ], + [ + 162, + 86 + ], + [ + 163, + 88 + ], + [ + 163, + 89 + ], + [ + 164, + 91 + ], + [ + 164, + 92 + ], + [ + 163, + 94 + ], + [ + 163, + 95 + ], + [ + 163, + 96 + ], + [ + 163, + 98 + ], + [ + 163, + 99 + ], + [ + 162, + 101 + ], + [ + 162, + 102 + ], + [ + 162, + 104 + ], + [ + 162, + 105 + ], + [ + 162, + 107 + ], + [ + 163, + 108 + ], + [ + 163, + 110 + ], + [ + 163, + 111 + ], + [ + 163, + 112 + ], + [ + 162, + 114 + ], + [ + 161, + 115 + ], + [ + 159, + 117 + ], + [ + 158, + 118 + ], + [ + 156, + 120 + ], + [ + 155, + 121 + ], + [ + 153, + 123 + ], + [ + 152, + 124 + ], + [ + 150, + 126 + ], + [ + 149, + 127 + ], + [ + 148, + 128 + ], + [ + 146, + 130 + ], + [ + 145, + 131 + ], + [ + 143, + 133 + ], + [ + 142, + 134 + ], + [ + 140, + 136 + ], + [ + 139, + 137 + ], + [ + 137, + 139 + ], + [ + 136, + 140 + ], + [ + 134, + 142 + ], + [ + 133, + 143 + ], + [ + 132, + 144 + ], + [ + 130, + 146 + ], + [ + 129, + 147 + ], + [ + 127, + 149 + ], + [ + 126, + 150 + ], + [ + 124, + 152 + ], + [ + 124, + 153 + ], + [ + 123, + 155 + ], + [ + 123, + 156 + ], + [ + 122, + 157 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 122, + 157 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-667C/bodies/GJ667Ce/markers.json b/wiki/star-systems/GJ-667C/bodies/GJ667Ce/markers.json index 2efc71add..7db7b07a7 100644 --- a/wiki/star-systems/GJ-667C/bodies/GJ667Ce/markers.json +++ b/wiki/star-systems/GJ-667C/bodies/GJ667Ce/markers.json @@ -868,7 +868,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 171, + 248 + ], + "population": 320 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 171, + 248 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-66A/bodies/GJ66Ad/markers.json b/wiki/star-systems/GJ-66A/bodies/GJ66Ad/markers.json index dace3d7c1..d36abcae8 100644 --- a/wiki/star-systems/GJ-66A/bodies/GJ66Ad/markers.json +++ b/wiki/star-systems/GJ-66A/bodies/GJ66Ad/markers.json @@ -709,7 +709,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 97, + 59 + ], + "population": 520000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 97, + 59 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-67/bodies/GJ67d/markers.json b/wiki/star-systems/GJ-67/bodies/GJ67d/markers.json index e9545892a..b02d95d37 100644 --- a/wiki/star-systems/GJ-67/bodies/GJ67d/markers.json +++ b/wiki/star-systems/GJ-67/bodies/GJ67d/markers.json @@ -363,7 +363,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 101, + 78 + ], + "population": 22000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 101, + 78 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-6711/bodies/GJ6711c/markers.json b/wiki/star-systems/GJ-6711/bodies/GJ6711c/markers.json index f86936167..fd9e6c4ee 100644 --- a/wiki/star-systems/GJ-6711/bodies/GJ6711c/markers.json +++ b/wiki/star-systems/GJ-6711/bodies/GJ6711c/markers.json @@ -506,7 +506,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 189, + 207 + ], + "population": 400 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 189, + 207 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-672/bodies/GJ672d/markers.json b/wiki/star-systems/GJ-672/bodies/GJ672d/markers.json index 76ef1de29..b3a3637b1 100644 --- a/wiki/star-systems/GJ-672/bodies/GJ672d/markers.json +++ b/wiki/star-systems/GJ-672/bodies/GJ672d/markers.json @@ -509,7 +509,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 110, + 119 + ], + "population": 200 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 110, + 119 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-674/bodies/GJ674c/markers.json b/wiki/star-systems/GJ-674/bodies/GJ674c/markers.json index 17d9e8d05..69ef6cd41 100644 --- a/wiki/star-systems/GJ-674/bodies/GJ674c/markers.json +++ b/wiki/star-systems/GJ-674/bodies/GJ674c/markers.json @@ -609,8 +609,585 @@ "area_cells": 428 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 176, + 383 + ], + [ + 175, + 383 + ], + [ + 174, + 384 + ], + [ + 172, + 384 + ], + [ + 171, + 384 + ], + [ + 170, + 384 + ], + [ + 168, + 384 + ], + [ + 167, + 384 + ], + [ + 165, + 386 + ], + [ + 164, + 387 + ], + [ + 163, + 388 + ], + [ + 161, + 390 + ], + [ + 160, + 390 + ], + [ + 159, + 390 + ], + [ + 157, + 391 + ], + [ + 157, + 392 + ], + [ + 157, + 394 + ], + [ + 157, + 395 + ], + [ + 157, + 396 + ], + [ + 157, + 398 + ], + [ + 157, + 399 + ], + [ + 157, + 400 + ], + [ + 157, + 402 + ], + [ + 157, + 403 + ], + [ + 157, + 405 + ], + [ + 157, + 406 + ], + [ + 157, + 407 + ], + [ + 157, + 409 + ], + [ + 157, + 410 + ], + [ + 157, + 411 + ], + [ + 157, + 413 + ], + [ + 157, + 414 + ], + [ + 157, + 416 + ], + [ + 157, + 417 + ], + [ + 157, + 418 + ], + [ + 157, + 420 + ], + [ + 157, + 421 + ], + [ + 158, + 422 + ], + [ + 160, + 424 + ], + [ + 161, + 425 + ], + [ + 161, + 427 + ], + [ + 161, + 428 + ], + [ + 161, + 429 + ], + [ + 161, + 431 + ], + [ + 161, + 432 + ], + [ + 161, + 433 + ], + [ + 161, + 435 + ], + [ + 161, + 436 + ], + [ + 161, + 438 + ], + [ + 160, + 439 + ], + [ + 159, + 440 + ], + [ + 157, + 442 + ], + [ + 156, + 443 + ], + [ + 155, + 444 + ], + [ + 154, + 446 + ], + [ + 153, + 447 + ], + [ + 153, + 449 + ], + [ + 152, + 450 + ], + [ + 152, + 451 + ], + [ + 151, + 453 + ], + [ + 150, + 454 + ], + [ + 150, + 455 + ], + [ + 149, + 457 + ], + [ + 149, + 458 + ], + [ + 148, + 459 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 176, + 383 + ], + "population": 85710000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 148, + 459 + ], + "population": 42860000 + }, + { + "id": "city_2", + "name": "", + "kind": "city", + "center": [ + 103, + 121 + ], + "population": 21430000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 176, + 383 + ], + [ + 175, + 383 + ], + [ + 174, + 384 + ], + [ + 172, + 384 + ], + [ + 171, + 384 + ], + [ + 170, + 384 + ], + [ + 168, + 384 + ], + [ + 167, + 384 + ], + [ + 165, + 386 + ], + [ + 164, + 387 + ], + [ + 163, + 388 + ], + [ + 161, + 390 + ], + [ + 160, + 390 + ], + [ + 159, + 390 + ], + [ + 157, + 391 + ], + [ + 157, + 392 + ], + [ + 157, + 394 + ], + [ + 157, + 395 + ], + [ + 157, + 396 + ], + [ + 157, + 398 + ], + [ + 157, + 399 + ], + [ + 157, + 400 + ], + [ + 157, + 402 + ], + [ + 157, + 403 + ], + [ + 157, + 405 + ], + [ + 157, + 406 + ], + [ + 157, + 407 + ], + [ + 157, + 409 + ], + [ + 157, + 410 + ], + [ + 157, + 411 + ], + [ + 157, + 413 + ], + [ + 157, + 414 + ], + [ + 157, + 416 + ], + [ + 157, + 417 + ], + [ + 157, + 418 + ], + [ + 157, + 420 + ], + [ + 157, + 421 + ], + [ + 158, + 422 + ], + [ + 160, + 424 + ], + [ + 161, + 425 + ], + [ + 161, + 427 + ], + [ + 161, + 428 + ], + [ + 161, + 429 + ], + [ + 161, + 431 + ], + [ + 161, + 432 + ], + [ + 161, + 433 + ], + [ + 161, + 435 + ], + [ + 161, + 436 + ], + [ + 161, + 438 + ], + [ + 160, + 439 + ], + [ + 159, + 440 + ], + [ + 157, + 442 + ], + [ + 156, + 443 + ], + [ + 155, + 444 + ], + [ + 154, + 446 + ], + [ + 153, + 447 + ], + [ + 153, + 449 + ], + [ + 152, + 450 + ], + [ + 152, + 451 + ], + [ + 151, + 453 + ], + [ + 150, + 454 + ], + [ + 150, + 455 + ], + [ + 149, + 457 + ], + [ + 149, + 458 + ], + [ + 148, + 459 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 176, + 383 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-675/bodies/GJ675c/markers.json b/wiki/star-systems/GJ-675/bodies/GJ675c/markers.json index 3e5ab57f4..2f76b0afc 100644 --- a/wiki/star-systems/GJ-675/bodies/GJ675c/markers.json +++ b/wiki/star-systems/GJ-675/bodies/GJ675c/markers.json @@ -624,7 +624,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 72, + 372 + ], + "population": 2000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 72, + 372 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-68/bodies/GJ68c/markers.json b/wiki/star-systems/GJ-68/bodies/GJ68c/markers.json index d443d652d..1eb4be498 100644 --- a/wiki/star-systems/GJ-68/bodies/GJ68c/markers.json +++ b/wiki/star-systems/GJ-68/bodies/GJ68c/markers.json @@ -244,8 +244,575 @@ "area_cells": 69 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 171, + 340 + ], + [ + 170, + 340 + ], + [ + 169, + 340 + ], + [ + 167, + 340 + ], + [ + 166, + 340 + ], + [ + 164, + 342 + ], + [ + 164, + 343 + ], + [ + 164, + 345 + ], + [ + 164, + 346 + ], + [ + 164, + 348 + ], + [ + 164, + 349 + ], + [ + 164, + 351 + ], + [ + 164, + 352 + ], + [ + 164, + 354 + ], + [ + 164, + 355 + ], + [ + 164, + 357 + ], + [ + 164, + 358 + ], + [ + 162, + 360 + ], + [ + 161, + 361 + ], + [ + 159, + 363 + ], + [ + 158, + 364 + ], + [ + 156, + 366 + ], + [ + 155, + 367 + ], + [ + 155, + 369 + ], + [ + 155, + 370 + ], + [ + 155, + 372 + ], + [ + 155, + 373 + ], + [ + 155, + 375 + ], + [ + 155, + 376 + ], + [ + 155, + 378 + ], + [ + 155, + 379 + ], + [ + 155, + 381 + ], + [ + 155, + 382 + ], + [ + 155, + 383 + ], + [ + 155, + 385 + ], + [ + 155, + 386 + ], + [ + 155, + 388 + ], + [ + 155, + 389 + ], + [ + 155, + 391 + ], + [ + 155, + 392 + ], + [ + 155, + 394 + ], + [ + 155, + 395 + ], + [ + 155, + 397 + ], + [ + 155, + 398 + ], + [ + 154, + 400 + ], + [ + 154, + 401 + ], + [ + 154, + 403 + ], + [ + 154, + 404 + ], + [ + 154, + 406 + ], + [ + 154, + 407 + ], + [ + 154, + 409 + ], + [ + 154, + 410 + ], + [ + 154, + 412 + ], + [ + 154, + 413 + ], + [ + 153, + 415 + ], + [ + 153, + 416 + ], + [ + 153, + 418 + ], + [ + 153, + 419 + ], + [ + 153, + 421 + ], + [ + 153, + 422 + ], + [ + 154, + 424 + ], + [ + 155, + 425 + ], + [ + 157, + 427 + ], + [ + 157, + 428 + ], + [ + 158, + 429 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 171, + 340 + ], + "population": 530000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 158, + 429 + ], + "population": 270000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 171, + 340 + ], + [ + 170, + 340 + ], + [ + 169, + 340 + ], + [ + 167, + 340 + ], + [ + 166, + 340 + ], + [ + 164, + 342 + ], + [ + 164, + 343 + ], + [ + 164, + 345 + ], + [ + 164, + 346 + ], + [ + 164, + 348 + ], + [ + 164, + 349 + ], + [ + 164, + 351 + ], + [ + 164, + 352 + ], + [ + 164, + 354 + ], + [ + 164, + 355 + ], + [ + 164, + 357 + ], + [ + 164, + 358 + ], + [ + 162, + 360 + ], + [ + 161, + 361 + ], + [ + 159, + 363 + ], + [ + 158, + 364 + ], + [ + 156, + 366 + ], + [ + 155, + 367 + ], + [ + 155, + 369 + ], + [ + 155, + 370 + ], + [ + 155, + 372 + ], + [ + 155, + 373 + ], + [ + 155, + 375 + ], + [ + 155, + 376 + ], + [ + 155, + 378 + ], + [ + 155, + 379 + ], + [ + 155, + 381 + ], + [ + 155, + 382 + ], + [ + 155, + 383 + ], + [ + 155, + 385 + ], + [ + 155, + 386 + ], + [ + 155, + 388 + ], + [ + 155, + 389 + ], + [ + 155, + 391 + ], + [ + 155, + 392 + ], + [ + 155, + 394 + ], + [ + 155, + 395 + ], + [ + 155, + 397 + ], + [ + 155, + 398 + ], + [ + 154, + 400 + ], + [ + 154, + 401 + ], + [ + 154, + 403 + ], + [ + 154, + 404 + ], + [ + 154, + 406 + ], + [ + 154, + 407 + ], + [ + 154, + 409 + ], + [ + 154, + 410 + ], + [ + 154, + 412 + ], + [ + 154, + 413 + ], + [ + 153, + 415 + ], + [ + 153, + 416 + ], + [ + 153, + 418 + ], + [ + 153, + 419 + ], + [ + 153, + 421 + ], + [ + 153, + 422 + ], + [ + 154, + 424 + ], + [ + 155, + 425 + ], + [ + 157, + 427 + ], + [ + 157, + 428 + ], + [ + 158, + 429 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 171, + 340 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-68/bodies/GJ68d/markers.json b/wiki/star-systems/GJ-68/bodies/GJ68d/markers.json index da94eaf5e..930c264bb 100644 --- a/wiki/star-systems/GJ-68/bodies/GJ68d/markers.json +++ b/wiki/star-systems/GJ-68/bodies/GJ68d/markers.json @@ -858,8 +858,575 @@ "area_cells": 217 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 7, + 339 + ], + [ + 7, + 340 + ], + [ + 6, + 341 + ], + [ + 4, + 342 + ], + [ + 3, + 343 + ], + [ + 1, + 345 + ], + [ + 0, + 346 + ], + [ + 0, + 348 + ], + [ + 0, + 349 + ], + [ + 0, + 350 + ], + [ + 1, + 352 + ], + [ + 0, + 353 + ], + [ + 2, + 355 + ], + [ + 2, + 356 + ], + [ + 3, + 358 + ], + [ + 3, + 359 + ], + [ + 3, + 361 + ], + [ + 3, + 362 + ], + [ + 3, + 363 + ], + [ + 3, + 365 + ], + [ + 3, + 366 + ], + [ + 3, + 368 + ], + [ + 3, + 369 + ], + [ + 3, + 371 + ], + [ + 3, + 372 + ], + [ + 3, + 373 + ], + [ + 5, + 375 + ], + [ + 5, + 376 + ], + [ + 5, + 378 + ], + [ + 5, + 379 + ], + [ + 5, + 381 + ], + [ + 5, + 382 + ], + [ + 5, + 384 + ], + [ + 5, + 385 + ], + [ + 5, + 386 + ], + [ + 5, + 388 + ], + [ + 5, + 389 + ], + [ + 5, + 391 + ], + [ + 5, + 392 + ], + [ + 5, + 394 + ], + [ + 5, + 395 + ], + [ + 5, + 396 + ], + [ + 5, + 398 + ], + [ + 5, + 399 + ], + [ + 5, + 401 + ], + [ + 5, + 402 + ], + [ + 5, + 404 + ], + [ + 5, + 405 + ], + [ + 6, + 407 + ], + [ + 7, + 408 + ], + [ + 8, + 409 + ], + [ + 10, + 411 + ], + [ + 11, + 412 + ], + [ + 13, + 414 + ], + [ + 13, + 415 + ], + [ + 13, + 417 + ], + [ + 14, + 418 + ], + [ + 14, + 419 + ], + [ + 14, + 421 + ], + [ + 14, + 422 + ], + [ + 14, + 424 + ], + [ + 14, + 425 + ], + [ + 14, + 427 + ], + [ + 14, + 428 + ], + [ + 15, + 429 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 7, + 339 + ], + "population": 400000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 15, + 429 + ], + "population": 200000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 7, + 339 + ], + [ + 7, + 340 + ], + [ + 6, + 341 + ], + [ + 5, + 343 + ], + [ + 5, + 344 + ], + [ + 5, + 346 + ], + [ + 5, + 347 + ], + [ + 5, + 348 + ], + [ + 5, + 350 + ], + [ + 5, + 351 + ], + [ + 5, + 353 + ], + [ + 5, + 354 + ], + [ + 5, + 356 + ], + [ + 5, + 357 + ], + [ + 5, + 358 + ], + [ + 5, + 360 + ], + [ + 5, + 361 + ], + [ + 5, + 363 + ], + [ + 5, + 364 + ], + [ + 5, + 366 + ], + [ + 5, + 367 + ], + [ + 5, + 368 + ], + [ + 5, + 370 + ], + [ + 5, + 371 + ], + [ + 5, + 373 + ], + [ + 4, + 374 + ], + [ + 5, + 375 + ], + [ + 5, + 377 + ], + [ + 5, + 378 + ], + [ + 5, + 380 + ], + [ + 5, + 381 + ], + [ + 5, + 383 + ], + [ + 5, + 384 + ], + [ + 5, + 385 + ], + [ + 5, + 387 + ], + [ + 5, + 388 + ], + [ + 5, + 390 + ], + [ + 5, + 391 + ], + [ + 5, + 393 + ], + [ + 5, + 394 + ], + [ + 5, + 395 + ], + [ + 5, + 397 + ], + [ + 5, + 398 + ], + [ + 5, + 400 + ], + [ + 5, + 401 + ], + [ + 5, + 402 + ], + [ + 5, + 404 + ], + [ + 5, + 405 + ], + [ + 6, + 407 + ], + [ + 7, + 408 + ], + [ + 9, + 410 + ], + [ + 10, + 411 + ], + [ + 11, + 412 + ], + [ + 13, + 414 + ], + [ + 13, + 415 + ], + [ + 13, + 417 + ], + [ + 14, + 418 + ], + [ + 14, + 420 + ], + [ + 14, + 421 + ], + [ + 14, + 422 + ], + [ + 14, + 424 + ], + [ + 14, + 425 + ], + [ + 14, + 427 + ], + [ + 14, + 428 + ], + [ + 15, + 429 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 7, + 339 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-68/bodies/GJ68e/markers.json b/wiki/star-systems/GJ-68/bodies/GJ68e/markers.json index 1ea359362..b75f2ff31 100644 --- a/wiki/star-systems/GJ-68/bodies/GJ68e/markers.json +++ b/wiki/star-systems/GJ-68/bodies/GJ68e/markers.json @@ -827,8 +827,575 @@ "area_cells": 351 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 207, + 455 + ], + [ + 206, + 456 + ], + [ + 204, + 458 + ], + [ + 203, + 459 + ], + [ + 202, + 461 + ], + [ + 200, + 462 + ], + [ + 199, + 462 + ], + [ + 197, + 462 + ], + [ + 195, + 462 + ], + [ + 194, + 462 + ], + [ + 192, + 462 + ], + [ + 191, + 462 + ], + [ + 189, + 462 + ], + [ + 187, + 462 + ], + [ + 186, + 462 + ], + [ + 184, + 462 + ], + [ + 182, + 461 + ], + [ + 181, + 460 + ], + [ + 179, + 458 + ], + [ + 178, + 457 + ], + [ + 176, + 455 + ], + [ + 174, + 453 + ], + [ + 173, + 452 + ], + [ + 171, + 452 + ], + [ + 169, + 452 + ], + [ + 168, + 452 + ], + [ + 166, + 452 + ], + [ + 165, + 452 + ], + [ + 163, + 452 + ], + [ + 161, + 452 + ], + [ + 160, + 452 + ], + [ + 158, + 452 + ], + [ + 156, + 452 + ], + [ + 155, + 452 + ], + [ + 153, + 452 + ], + [ + 152, + 452 + ], + [ + 150, + 452 + ], + [ + 148, + 452 + ], + [ + 147, + 452 + ], + [ + 145, + 452 + ], + [ + 143, + 452 + ], + [ + 142, + 452 + ], + [ + 140, + 452 + ], + [ + 139, + 452 + ], + [ + 137, + 452 + ], + [ + 135, + 452 + ], + [ + 134, + 452 + ], + [ + 132, + 452 + ], + [ + 130, + 452 + ], + [ + 129, + 452 + ], + [ + 127, + 452 + ], + [ + 126, + 452 + ], + [ + 124, + 452 + ], + [ + 122, + 452 + ], + [ + 121, + 452 + ], + [ + 119, + 452 + ], + [ + 117, + 452 + ], + [ + 116, + 452 + ], + [ + 114, + 452 + ], + [ + 113, + 452 + ], + [ + 111, + 452 + ], + [ + 109, + 452 + ], + [ + 108, + 452 + ], + [ + 106, + 452 + ], + [ + 105, + 452 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 207, + 455 + ], + "population": 270000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 105, + 452 + ], + "population": 130000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 207, + 455 + ], + [ + 206, + 456 + ], + [ + 204, + 458 + ], + [ + 203, + 459 + ], + [ + 202, + 461 + ], + [ + 200, + 462 + ], + [ + 199, + 462 + ], + [ + 197, + 462 + ], + [ + 195, + 462 + ], + [ + 194, + 462 + ], + [ + 192, + 462 + ], + [ + 191, + 462 + ], + [ + 189, + 462 + ], + [ + 187, + 462 + ], + [ + 186, + 462 + ], + [ + 184, + 462 + ], + [ + 182, + 461 + ], + [ + 181, + 460 + ], + [ + 179, + 458 + ], + [ + 178, + 457 + ], + [ + 176, + 455 + ], + [ + 174, + 453 + ], + [ + 173, + 452 + ], + [ + 171, + 452 + ], + [ + 169, + 452 + ], + [ + 168, + 452 + ], + [ + 166, + 452 + ], + [ + 165, + 452 + ], + [ + 163, + 452 + ], + [ + 161, + 452 + ], + [ + 160, + 452 + ], + [ + 158, + 452 + ], + [ + 156, + 452 + ], + [ + 155, + 452 + ], + [ + 153, + 452 + ], + [ + 152, + 452 + ], + [ + 150, + 452 + ], + [ + 148, + 452 + ], + [ + 147, + 452 + ], + [ + 145, + 452 + ], + [ + 143, + 452 + ], + [ + 142, + 452 + ], + [ + 140, + 452 + ], + [ + 139, + 452 + ], + [ + 137, + 452 + ], + [ + 135, + 452 + ], + [ + 134, + 452 + ], + [ + 132, + 452 + ], + [ + 130, + 452 + ], + [ + 129, + 452 + ], + [ + 127, + 452 + ], + [ + 126, + 452 + ], + [ + 124, + 452 + ], + [ + 122, + 452 + ], + [ + 121, + 452 + ], + [ + 119, + 452 + ], + [ + 117, + 452 + ], + [ + 116, + 452 + ], + [ + 114, + 452 + ], + [ + 113, + 452 + ], + [ + 111, + 452 + ], + [ + 109, + 452 + ], + [ + 108, + 452 + ], + [ + 106, + 452 + ], + [ + 105, + 452 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 207, + 455 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-68/bodies/GJ68f/markers.json b/wiki/star-systems/GJ-68/bodies/GJ68f/markers.json index d16b84b0c..41ebba27e 100644 --- a/wiki/star-systems/GJ-68/bodies/GJ68f/markers.json +++ b/wiki/star-systems/GJ-68/bodies/GJ68f/markers.json @@ -623,8 +623,575 @@ "area_cells": 159 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 7, + 321 + ], + [ + 8, + 321 + ], + [ + 9, + 321 + ], + [ + 11, + 321 + ], + [ + 12, + 321 + ], + [ + 13, + 321 + ], + [ + 15, + 321 + ], + [ + 16, + 321 + ], + [ + 17, + 321 + ], + [ + 19, + 321 + ], + [ + 20, + 321 + ], + [ + 21, + 321 + ], + [ + 23, + 321 + ], + [ + 24, + 320 + ], + [ + 26, + 318 + ], + [ + 27, + 317 + ], + [ + 28, + 316 + ], + [ + 30, + 314 + ], + [ + 31, + 313 + ], + [ + 32, + 312 + ], + [ + 34, + 310 + ], + [ + 35, + 310 + ], + [ + 36, + 310 + ], + [ + 38, + 310 + ], + [ + 39, + 310 + ], + [ + 40, + 310 + ], + [ + 42, + 310 + ], + [ + 43, + 310 + ], + [ + 45, + 310 + ], + [ + 46, + 310 + ], + [ + 47, + 310 + ], + [ + 49, + 310 + ], + [ + 50, + 310 + ], + [ + 51, + 310 + ], + [ + 53, + 310 + ], + [ + 54, + 310 + ], + [ + 55, + 309 + ], + [ + 57, + 307 + ], + [ + 58, + 307 + ], + [ + 60, + 307 + ], + [ + 61, + 307 + ], + [ + 62, + 306 + ], + [ + 64, + 305 + ], + [ + 65, + 305 + ], + [ + 66, + 305 + ], + [ + 68, + 305 + ], + [ + 69, + 305 + ], + [ + 70, + 305 + ], + [ + 72, + 305 + ], + [ + 73, + 305 + ], + [ + 74, + 305 + ], + [ + 76, + 305 + ], + [ + 77, + 305 + ], + [ + 79, + 305 + ], + [ + 80, + 305 + ], + [ + 81, + 304 + ], + [ + 83, + 304 + ], + [ + 84, + 303 + ], + [ + 85, + 303 + ], + [ + 87, + 302 + ], + [ + 88, + 301 + ], + [ + 89, + 301 + ], + [ + 91, + 300 + ], + [ + 92, + 300 + ], + [ + 93, + 299 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 7, + 321 + ], + "population": 130000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 93, + 299 + ], + "population": 70000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 7, + 321 + ], + [ + 8, + 321 + ], + [ + 9, + 321 + ], + [ + 11, + 321 + ], + [ + 12, + 321 + ], + [ + 13, + 321 + ], + [ + 15, + 321 + ], + [ + 16, + 321 + ], + [ + 17, + 321 + ], + [ + 19, + 321 + ], + [ + 20, + 321 + ], + [ + 21, + 321 + ], + [ + 23, + 321 + ], + [ + 24, + 320 + ], + [ + 26, + 318 + ], + [ + 27, + 317 + ], + [ + 28, + 316 + ], + [ + 30, + 314 + ], + [ + 31, + 313 + ], + [ + 32, + 312 + ], + [ + 34, + 310 + ], + [ + 35, + 310 + ], + [ + 36, + 310 + ], + [ + 38, + 310 + ], + [ + 39, + 310 + ], + [ + 40, + 310 + ], + [ + 42, + 310 + ], + [ + 43, + 310 + ], + [ + 45, + 310 + ], + [ + 46, + 310 + ], + [ + 47, + 310 + ], + [ + 49, + 310 + ], + [ + 50, + 310 + ], + [ + 51, + 310 + ], + [ + 53, + 310 + ], + [ + 54, + 310 + ], + [ + 55, + 309 + ], + [ + 57, + 307 + ], + [ + 58, + 307 + ], + [ + 60, + 307 + ], + [ + 61, + 307 + ], + [ + 62, + 306 + ], + [ + 64, + 305 + ], + [ + 65, + 305 + ], + [ + 66, + 305 + ], + [ + 68, + 305 + ], + [ + 69, + 305 + ], + [ + 70, + 305 + ], + [ + 72, + 305 + ], + [ + 73, + 305 + ], + [ + 74, + 305 + ], + [ + 76, + 305 + ], + [ + 77, + 305 + ], + [ + 79, + 305 + ], + [ + 80, + 305 + ], + [ + 81, + 304 + ], + [ + 83, + 304 + ], + [ + 84, + 303 + ], + [ + 85, + 303 + ], + [ + 87, + 302 + ], + [ + 88, + 301 + ], + [ + 89, + 301 + ], + [ + 91, + 300 + ], + [ + 92, + 300 + ], + [ + 93, + 299 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 93, + 299 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-680/bodies/GJ680d/markers.json b/wiki/star-systems/GJ-680/bodies/GJ680d/markers.json index cb215b58a..b2cbbe7dd 100644 --- a/wiki/star-systems/GJ-680/bodies/GJ680d/markers.json +++ b/wiki/star-systems/GJ-680/bodies/GJ680d/markers.json @@ -1450,8 +1450,575 @@ "area_cells": 1383 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 183, + 301 + ], + [ + 182, + 300 + ], + [ + 181, + 300 + ], + [ + 179, + 299 + ], + [ + 178, + 298 + ], + [ + 176, + 299 + ], + [ + 175, + 299 + ], + [ + 173, + 298 + ], + [ + 172, + 297 + ], + [ + 170, + 295 + ], + [ + 169, + 294 + ], + [ + 167, + 292 + ], + [ + 166, + 291 + ], + [ + 164, + 289 + ], + [ + 163, + 288 + ], + [ + 161, + 286 + ], + [ + 160, + 285 + ], + [ + 159, + 284 + ], + [ + 157, + 282 + ], + [ + 156, + 281 + ], + [ + 154, + 279 + ], + [ + 153, + 278 + ], + [ + 151, + 276 + ], + [ + 150, + 275 + ], + [ + 148, + 273 + ], + [ + 147, + 272 + ], + [ + 145, + 270 + ], + [ + 144, + 269 + ], + [ + 142, + 267 + ], + [ + 141, + 266 + ], + [ + 139, + 264 + ], + [ + 138, + 263 + ], + [ + 136, + 261 + ], + [ + 135, + 260 + ], + [ + 134, + 259 + ], + [ + 132, + 257 + ], + [ + 131, + 256 + ], + [ + 129, + 254 + ], + [ + 128, + 253 + ], + [ + 126, + 251 + ], + [ + 125, + 250 + ], + [ + 123, + 248 + ], + [ + 122, + 247 + ], + [ + 120, + 245 + ], + [ + 119, + 244 + ], + [ + 117, + 242 + ], + [ + 116, + 241 + ], + [ + 114, + 239 + ], + [ + 113, + 238 + ], + [ + 112, + 237 + ], + [ + 110, + 235 + ], + [ + 109, + 234 + ], + [ + 107, + 232 + ], + [ + 106, + 231 + ], + [ + 104, + 229 + ], + [ + 103, + 228 + ], + [ + 101, + 227 + ], + [ + 100, + 227 + ], + [ + 98, + 226 + ], + [ + 97, + 225 + ], + [ + 95, + 224 + ], + [ + 94, + 224 + ], + [ + 92, + 223 + ], + [ + 91, + 223 + ], + [ + 90, + 222 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 183, + 301 + ], + "population": 100000000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 90, + 222 + ], + "population": 50000000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 183, + 301 + ], + [ + 182, + 300 + ], + [ + 181, + 300 + ], + [ + 179, + 299 + ], + [ + 178, + 298 + ], + [ + 176, + 296 + ], + [ + 175, + 295 + ], + [ + 173, + 293 + ], + [ + 172, + 293 + ], + [ + 170, + 293 + ], + [ + 169, + 293 + ], + [ + 167, + 292 + ], + [ + 166, + 291 + ], + [ + 164, + 289 + ], + [ + 163, + 288 + ], + [ + 161, + 286 + ], + [ + 160, + 285 + ], + [ + 159, + 284 + ], + [ + 157, + 282 + ], + [ + 156, + 281 + ], + [ + 154, + 279 + ], + [ + 153, + 278 + ], + [ + 151, + 276 + ], + [ + 150, + 275 + ], + [ + 148, + 273 + ], + [ + 147, + 272 + ], + [ + 145, + 270 + ], + [ + 144, + 269 + ], + [ + 142, + 267 + ], + [ + 141, + 266 + ], + [ + 139, + 264 + ], + [ + 138, + 263 + ], + [ + 136, + 261 + ], + [ + 135, + 260 + ], + [ + 134, + 259 + ], + [ + 132, + 257 + ], + [ + 131, + 256 + ], + [ + 129, + 254 + ], + [ + 128, + 253 + ], + [ + 126, + 251 + ], + [ + 125, + 250 + ], + [ + 123, + 248 + ], + [ + 122, + 247 + ], + [ + 120, + 245 + ], + [ + 119, + 244 + ], + [ + 117, + 242 + ], + [ + 116, + 241 + ], + [ + 114, + 239 + ], + [ + 113, + 238 + ], + [ + 112, + 237 + ], + [ + 110, + 235 + ], + [ + 109, + 234 + ], + [ + 107, + 232 + ], + [ + 106, + 231 + ], + [ + 104, + 229 + ], + [ + 103, + 228 + ], + [ + 101, + 227 + ], + [ + 100, + 227 + ], + [ + 98, + 226 + ], + [ + 97, + 225 + ], + [ + 95, + 224 + ], + [ + 94, + 224 + ], + [ + 92, + 223 + ], + [ + 91, + 223 + ], + [ + 90, + 222 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 183, + 301 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-680/bodies/GJ680e/markers.json b/wiki/star-systems/GJ-680/bodies/GJ680e/markers.json index 5e7e95ff8..5ba4b3e1e 100644 --- a/wiki/star-systems/GJ-680/bodies/GJ680e/markers.json +++ b/wiki/star-systems/GJ-680/bodies/GJ680e/markers.json @@ -832,7 +832,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 139, + 71 + ], + "population": 8000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 139, + 71 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-682/bodies/GJ682c/markers.json b/wiki/star-systems/GJ-682/bodies/GJ682c/markers.json index 5628cb03e..742e5b80b 100644 --- a/wiki/star-systems/GJ-682/bodies/GJ682c/markers.json +++ b/wiki/star-systems/GJ-682/bodies/GJ682c/markers.json @@ -870,7 +870,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 93, + 317 + ], + "population": 280000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 93, + 317 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-684A/bodies/GJ684Ac/markers.json b/wiki/star-systems/GJ-684A/bodies/GJ684Ac/markers.json index 21a5eb834..d87447772 100644 --- a/wiki/star-systems/GJ-684A/bodies/GJ684Ac/markers.json +++ b/wiki/star-systems/GJ-684A/bodies/GJ684Ac/markers.json @@ -839,7 +839,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 151, + 170 + ], + "population": 3000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 151, + 170 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-684B/bodies/GJ684Bc-m1/markers.json b/wiki/star-systems/GJ-684B/bodies/GJ684Bc-m1/markers.json index 5f512beca..33207e07d 100644 --- a/wiki/star-systems/GJ-684B/bodies/GJ684Bc-m1/markers.json +++ b/wiki/star-systems/GJ-684B/bodies/GJ684Bc-m1/markers.json @@ -679,7 +679,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 174, + 253 + ], + "population": 2000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 174, + 253 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-687/bodies/GJ687c/markers.json b/wiki/star-systems/GJ-687/bodies/GJ687c/markers.json index 57e24e213..d2cc71efe 100644 --- a/wiki/star-systems/GJ-687/bodies/GJ687c/markers.json +++ b/wiki/star-systems/GJ-687/bodies/GJ687c/markers.json @@ -918,7 +918,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 250, + 459 + ], + "population": 800000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 250, + 459 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-688/bodies/GJ688c/markers.json b/wiki/star-systems/GJ-688/bodies/GJ688c/markers.json index 728842d76..e27f75bc0 100644 --- a/wiki/star-systems/GJ-688/bodies/GJ688c/markers.json +++ b/wiki/star-systems/GJ-688/bodies/GJ688c/markers.json @@ -472,7 +472,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 160, + 203 + ], + "population": 190000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 160, + 203 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-693/bodies/GJ693b/markers.json b/wiki/star-systems/GJ-693/bodies/GJ693b/markers.json index 278fd67b9..b2860ee93 100644 --- a/wiki/star-systems/GJ-693/bodies/GJ693b/markers.json +++ b/wiki/star-systems/GJ-693/bodies/GJ693b/markers.json @@ -451,7 +451,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 6, + 93 + ], + "population": 12000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 6, + 93 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-699/bodies/GJ699b/markers.json b/wiki/star-systems/GJ-699/bodies/GJ699b/markers.json index caa96fba6..28c525199 100644 --- a/wiki/star-systems/GJ-699/bodies/GJ699b/markers.json +++ b/wiki/star-systems/GJ-699/bodies/GJ699b/markers.json @@ -346,8 +346,575 @@ "area_cells": 55 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 138, + 338 + ], + [ + 138, + 339 + ], + [ + 139, + 340 + ], + [ + 139, + 342 + ], + [ + 139, + 343 + ], + [ + 139, + 345 + ], + [ + 139, + 346 + ], + [ + 139, + 348 + ], + [ + 139, + 349 + ], + [ + 140, + 350 + ], + [ + 140, + 352 + ], + [ + 140, + 353 + ], + [ + 141, + 355 + ], + [ + 141, + 356 + ], + [ + 141, + 358 + ], + [ + 141, + 359 + ], + [ + 141, + 361 + ], + [ + 141, + 362 + ], + [ + 141, + 363 + ], + [ + 140, + 365 + ], + [ + 140, + 366 + ], + [ + 140, + 368 + ], + [ + 140, + 369 + ], + [ + 140, + 371 + ], + [ + 140, + 372 + ], + [ + 140, + 373 + ], + [ + 140, + 375 + ], + [ + 140, + 376 + ], + [ + 139, + 378 + ], + [ + 139, + 379 + ], + [ + 139, + 381 + ], + [ + 139, + 382 + ], + [ + 139, + 384 + ], + [ + 139, + 385 + ], + [ + 138, + 386 + ], + [ + 138, + 388 + ], + [ + 138, + 389 + ], + [ + 138, + 391 + ], + [ + 138, + 392 + ], + [ + 138, + 394 + ], + [ + 138, + 395 + ], + [ + 138, + 396 + ], + [ + 137, + 398 + ], + [ + 137, + 399 + ], + [ + 137, + 401 + ], + [ + 136, + 402 + ], + [ + 135, + 404 + ], + [ + 134, + 405 + ], + [ + 132, + 407 + ], + [ + 131, + 408 + ], + [ + 130, + 409 + ], + [ + 128, + 411 + ], + [ + 127, + 412 + ], + [ + 125, + 414 + ], + [ + 124, + 415 + ], + [ + 122, + 415 + ], + [ + 121, + 415 + ], + [ + 120, + 415 + ], + [ + 118, + 416 + ], + [ + 117, + 417 + ], + [ + 115, + 419 + ], + [ + 115, + 420 + ], + [ + 114, + 422 + ], + [ + 114, + 423 + ], + [ + 113, + 424 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 138, + 338 + ], + "population": 1266670000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 113, + 424 + ], + "population": 633330000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 138, + 338 + ], + [ + 138, + 339 + ], + [ + 139, + 340 + ], + [ + 139, + 342 + ], + [ + 139, + 343 + ], + [ + 139, + 345 + ], + [ + 139, + 346 + ], + [ + 139, + 348 + ], + [ + 139, + 349 + ], + [ + 140, + 350 + ], + [ + 140, + 352 + ], + [ + 140, + 353 + ], + [ + 141, + 355 + ], + [ + 141, + 356 + ], + [ + 141, + 358 + ], + [ + 141, + 359 + ], + [ + 141, + 361 + ], + [ + 141, + 362 + ], + [ + 141, + 363 + ], + [ + 140, + 365 + ], + [ + 140, + 366 + ], + [ + 140, + 368 + ], + [ + 140, + 369 + ], + [ + 140, + 371 + ], + [ + 140, + 372 + ], + [ + 140, + 373 + ], + [ + 140, + 375 + ], + [ + 140, + 376 + ], + [ + 139, + 378 + ], + [ + 139, + 379 + ], + [ + 139, + 381 + ], + [ + 139, + 382 + ], + [ + 139, + 384 + ], + [ + 139, + 385 + ], + [ + 138, + 386 + ], + [ + 138, + 388 + ], + [ + 138, + 389 + ], + [ + 138, + 391 + ], + [ + 138, + 392 + ], + [ + 138, + 394 + ], + [ + 138, + 395 + ], + [ + 138, + 396 + ], + [ + 137, + 398 + ], + [ + 137, + 399 + ], + [ + 137, + 401 + ], + [ + 136, + 402 + ], + [ + 135, + 404 + ], + [ + 134, + 405 + ], + [ + 132, + 407 + ], + [ + 131, + 408 + ], + [ + 130, + 409 + ], + [ + 128, + 411 + ], + [ + 127, + 412 + ], + [ + 125, + 414 + ], + [ + 124, + 415 + ], + [ + 122, + 415 + ], + [ + 121, + 415 + ], + [ + 120, + 415 + ], + [ + 118, + 416 + ], + [ + 117, + 417 + ], + [ + 115, + 419 + ], + [ + 115, + 420 + ], + [ + 114, + 422 + ], + [ + 114, + 423 + ], + [ + 113, + 424 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 113, + 424 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-706/bodies/GJ706d/markers.json b/wiki/star-systems/GJ-706/bodies/GJ706d/markers.json index ca3acf115..236cc8bd7 100644 --- a/wiki/star-systems/GJ-706/bodies/GJ706d/markers.json +++ b/wiki/star-systems/GJ-706/bodies/GJ706d/markers.json @@ -1127,7 +1127,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 160, + 431 + ], + "population": 45000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 160, + 431 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-707/bodies/GJ707c/markers.json b/wiki/star-systems/GJ-707/bodies/GJ707c/markers.json index 6cd9a9153..17291be56 100644 --- a/wiki/star-systems/GJ-707/bodies/GJ707c/markers.json +++ b/wiki/star-systems/GJ-707/bodies/GJ707c/markers.json @@ -785,7 +785,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 149, + 510 + ], + "population": 18000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 149, + 510 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-71/bodies/GJ71c/markers.json b/wiki/star-systems/GJ-71/bodies/GJ71c/markers.json index 968e358a2..7b5b8810f 100644 --- a/wiki/star-systems/GJ-71/bodies/GJ71c/markers.json +++ b/wiki/star-systems/GJ-71/bodies/GJ71c/markers.json @@ -494,7 +494,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 111, + 510 + ], + "population": 600000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 111, + 510 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-71/bodies/GJ71d-1/markers.json b/wiki/star-systems/GJ-71/bodies/GJ71d-1/markers.json index bbcdb61ca..dbbdddbb5 100644 --- a/wiki/star-systems/GJ-71/bodies/GJ71d-1/markers.json +++ b/wiki/star-systems/GJ-71/bodies/GJ71d-1/markers.json @@ -177,7 +177,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 190, + 38 + ], + "population": 20000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 190, + 38 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-71/bodies/GJ71d/markers.json b/wiki/star-systems/GJ-71/bodies/GJ71d/markers.json index 1e644b0a8..e845c42cd 100644 --- a/wiki/star-systems/GJ-71/bodies/GJ71d/markers.json +++ b/wiki/star-systems/GJ-71/bodies/GJ71d/markers.json @@ -985,8 +985,585 @@ "area_cells": 23 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 242, + 136 + ], + [ + 242, + 135 + ], + [ + 242, + 134 + ], + [ + 242, + 133 + ], + [ + 242, + 132 + ], + [ + 242, + 131 + ], + [ + 242, + 130 + ], + [ + 242, + 129 + ], + [ + 242, + 128 + ], + [ + 242, + 127 + ], + [ + 242, + 126 + ], + [ + 242, + 125 + ], + [ + 242, + 124 + ], + [ + 242, + 122 + ], + [ + 242, + 121 + ], + [ + 242, + 120 + ], + [ + 242, + 119 + ], + [ + 242, + 118 + ], + [ + 242, + 117 + ], + [ + 241, + 116 + ], + [ + 240, + 115 + ], + [ + 239, + 114 + ], + [ + 238, + 113 + ], + [ + 237, + 112 + ], + [ + 236, + 111 + ], + [ + 235, + 110 + ], + [ + 233, + 108 + ], + [ + 232, + 107 + ], + [ + 232, + 106 + ], + [ + 232, + 105 + ], + [ + 232, + 104 + ], + [ + 232, + 103 + ], + [ + 232, + 102 + ], + [ + 232, + 101 + ], + [ + 232, + 100 + ], + [ + 232, + 99 + ], + [ + 232, + 98 + ], + [ + 232, + 97 + ], + [ + 232, + 96 + ], + [ + 232, + 94 + ], + [ + 232, + 93 + ], + [ + 232, + 92 + ], + [ + 232, + 91 + ], + [ + 232, + 90 + ], + [ + 232, + 89 + ], + [ + 232, + 88 + ], + [ + 232, + 87 + ], + [ + 232, + 86 + ], + [ + 232, + 85 + ], + [ + 232, + 84 + ], + [ + 232, + 83 + ], + [ + 232, + 82 + ], + [ + 232, + 80 + ], + [ + 232, + 79 + ], + [ + 232, + 78 + ], + [ + 232, + 77 + ], + [ + 231, + 76 + ], + [ + 231, + 75 + ], + [ + 231, + 74 + ], + [ + 231, + 73 + ], + [ + 231, + 72 + ], + [ + 231, + 71 + ], + [ + 231, + 70 + ], + [ + 231, + 69 + ], + [ + 231, + 68 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 242, + 136 + ], + "population": 285710000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 231, + 68 + ], + "population": 142860000 + }, + { + "id": "city_2", + "name": "", + "kind": "city", + "center": [ + 51, + 210 + ], + "population": 71430000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 242, + 136 + ], + [ + 242, + 135 + ], + [ + 242, + 134 + ], + [ + 242, + 133 + ], + [ + 242, + 132 + ], + [ + 242, + 131 + ], + [ + 242, + 130 + ], + [ + 242, + 129 + ], + [ + 242, + 128 + ], + [ + 242, + 127 + ], + [ + 242, + 126 + ], + [ + 242, + 125 + ], + [ + 242, + 124 + ], + [ + 242, + 122 + ], + [ + 242, + 121 + ], + [ + 242, + 120 + ], + [ + 242, + 119 + ], + [ + 242, + 118 + ], + [ + 242, + 117 + ], + [ + 241, + 116 + ], + [ + 240, + 115 + ], + [ + 239, + 114 + ], + [ + 238, + 113 + ], + [ + 237, + 112 + ], + [ + 236, + 111 + ], + [ + 235, + 110 + ], + [ + 233, + 108 + ], + [ + 232, + 107 + ], + [ + 232, + 106 + ], + [ + 232, + 105 + ], + [ + 232, + 104 + ], + [ + 232, + 103 + ], + [ + 232, + 102 + ], + [ + 232, + 101 + ], + [ + 232, + 100 + ], + [ + 232, + 99 + ], + [ + 232, + 98 + ], + [ + 232, + 97 + ], + [ + 232, + 96 + ], + [ + 232, + 94 + ], + [ + 232, + 93 + ], + [ + 232, + 92 + ], + [ + 232, + 91 + ], + [ + 232, + 90 + ], + [ + 232, + 89 + ], + [ + 232, + 88 + ], + [ + 232, + 87 + ], + [ + 232, + 86 + ], + [ + 232, + 85 + ], + [ + 232, + 84 + ], + [ + 232, + 83 + ], + [ + 232, + 82 + ], + [ + 232, + 80 + ], + [ + 232, + 79 + ], + [ + 232, + 78 + ], + [ + 232, + 77 + ], + [ + 231, + 76 + ], + [ + 231, + 75 + ], + [ + 231, + 74 + ], + [ + 231, + 73 + ], + [ + 231, + 72 + ], + [ + 231, + 71 + ], + [ + 231, + 70 + ], + [ + 231, + 69 + ], + [ + 231, + 68 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 51, + 210 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-713A/bodies/GJ713Ad/markers.json b/wiki/star-systems/GJ-713A/bodies/GJ713Ad/markers.json index f0e30511c..c282e2479 100644 --- a/wiki/star-systems/GJ-713A/bodies/GJ713Ad/markers.json +++ b/wiki/star-systems/GJ-713A/bodies/GJ713Ad/markers.json @@ -615,7 +615,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 163, + 14 + ], + "population": 95000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 163, + 14 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-716/bodies/GJ716d/markers.json b/wiki/star-systems/GJ-716/bodies/GJ716d/markers.json index 83c367dde..32d5dccf5 100644 --- a/wiki/star-systems/GJ-716/bodies/GJ716d/markers.json +++ b/wiki/star-systems/GJ-716/bodies/GJ716d/markers.json @@ -1099,7 +1099,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 21, + 92 + ], + "population": 30000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 21, + 92 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-722/bodies/GJ722c/markers.json b/wiki/star-systems/GJ-722/bodies/GJ722c/markers.json index dcb5a6ce6..abe31f7a0 100644 --- a/wiki/star-systems/GJ-722/bodies/GJ722c/markers.json +++ b/wiki/star-systems/GJ-722/bodies/GJ722c/markers.json @@ -448,7 +448,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 69, + 369 + ], + "population": 12000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 69, + 369 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-725B/bodies/GJ725Bc/markers.json b/wiki/star-systems/GJ-725B/bodies/GJ725Bc/markers.json index 06e40d223..630253555 100644 --- a/wiki/star-systems/GJ-725B/bodies/GJ725Bc/markers.json +++ b/wiki/star-systems/GJ-725B/bodies/GJ725Bc/markers.json @@ -422,8 +422,585 @@ "area_cells": 1113 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 5, + 48 + ], + [ + 5, + 49 + ], + [ + 6, + 51 + ], + [ + 6, + 52 + ], + [ + 6, + 54 + ], + [ + 6, + 56 + ], + [ + 7, + 57 + ], + [ + 9, + 59 + ], + [ + 11, + 61 + ], + [ + 12, + 62 + ], + [ + 14, + 64 + ], + [ + 15, + 65 + ], + [ + 17, + 67 + ], + [ + 19, + 69 + ], + [ + 20, + 70 + ], + [ + 22, + 72 + ], + [ + 24, + 74 + ], + [ + 25, + 75 + ], + [ + 27, + 77 + ], + [ + 28, + 78 + ], + [ + 30, + 80 + ], + [ + 32, + 82 + ], + [ + 33, + 83 + ], + [ + 35, + 85 + ], + [ + 37, + 87 + ], + [ + 38, + 88 + ], + [ + 40, + 90 + ], + [ + 41, + 91 + ], + [ + 43, + 93 + ], + [ + 45, + 95 + ], + [ + 46, + 96 + ], + [ + 48, + 98 + ], + [ + 50, + 100 + ], + [ + 51, + 101 + ], + [ + 53, + 103 + ], + [ + 54, + 104 + ], + [ + 56, + 105 + ], + [ + 58, + 105 + ], + [ + 59, + 106 + ], + [ + 61, + 107 + ], + [ + 63, + 108 + ], + [ + 64, + 108 + ], + [ + 66, + 109 + ], + [ + 67, + 110 + ], + [ + 69, + 110 + ], + [ + 71, + 111 + ], + [ + 72, + 112 + ], + [ + 74, + 113 + ], + [ + 76, + 114 + ], + [ + 77, + 114 + ], + [ + 79, + 115 + ], + [ + 80, + 115 + ], + [ + 82, + 116 + ], + [ + 84, + 117 + ], + [ + 85, + 118 + ], + [ + 87, + 119 + ], + [ + 89, + 120 + ], + [ + 90, + 120 + ], + [ + 92, + 121 + ], + [ + 93, + 121 + ], + [ + 95, + 122 + ], + [ + 97, + 123 + ], + [ + 98, + 124 + ], + [ + 100, + 125 + ], + [ + 101, + 125 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 5, + 48 + ], + "population": 68570000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 101, + 125 + ], + "population": 34290000 + }, + { + "id": "city_2", + "name": "", + "kind": "city", + "center": [ + 40, + 414 + ], + "population": 17140000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 5, + 48 + ], + [ + 5, + 49 + ], + [ + 6, + 51 + ], + [ + 6, + 52 + ], + [ + 6, + 54 + ], + [ + 6, + 56 + ], + [ + 7, + 57 + ], + [ + 9, + 59 + ], + [ + 11, + 61 + ], + [ + 12, + 62 + ], + [ + 14, + 64 + ], + [ + 15, + 65 + ], + [ + 17, + 67 + ], + [ + 19, + 69 + ], + [ + 20, + 70 + ], + [ + 22, + 72 + ], + [ + 24, + 74 + ], + [ + 25, + 75 + ], + [ + 27, + 77 + ], + [ + 28, + 78 + ], + [ + 30, + 80 + ], + [ + 32, + 82 + ], + [ + 33, + 83 + ], + [ + 35, + 85 + ], + [ + 37, + 87 + ], + [ + 38, + 88 + ], + [ + 40, + 90 + ], + [ + 41, + 91 + ], + [ + 43, + 93 + ], + [ + 45, + 95 + ], + [ + 46, + 96 + ], + [ + 48, + 98 + ], + [ + 50, + 100 + ], + [ + 51, + 101 + ], + [ + 53, + 103 + ], + [ + 54, + 104 + ], + [ + 56, + 105 + ], + [ + 58, + 105 + ], + [ + 59, + 106 + ], + [ + 61, + 107 + ], + [ + 63, + 108 + ], + [ + 64, + 108 + ], + [ + 66, + 109 + ], + [ + 67, + 110 + ], + [ + 69, + 110 + ], + [ + 71, + 111 + ], + [ + 72, + 112 + ], + [ + 74, + 113 + ], + [ + 76, + 114 + ], + [ + 77, + 114 + ], + [ + 79, + 115 + ], + [ + 80, + 115 + ], + [ + 82, + 116 + ], + [ + 84, + 117 + ], + [ + 85, + 118 + ], + [ + 87, + 119 + ], + [ + 89, + 120 + ], + [ + 90, + 120 + ], + [ + 92, + 121 + ], + [ + 93, + 121 + ], + [ + 95, + 122 + ], + [ + 97, + 123 + ], + [ + 98, + 124 + ], + [ + 100, + 125 + ], + [ + 101, + 125 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 101, + 125 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-729/bodies/GJ729d/markers.json b/wiki/star-systems/GJ-729/bodies/GJ729d/markers.json index 83bf01940..b3591d219 100644 --- a/wiki/star-systems/GJ-729/bodies/GJ729d/markers.json +++ b/wiki/star-systems/GJ-729/bodies/GJ729d/markers.json @@ -203,7 +203,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 25, + 354 + ], + "population": 80000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 25, + 354 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-737B/bodies/GJ737Bc/markers.json b/wiki/star-systems/GJ-737B/bodies/GJ737Bc/markers.json index 513bc469b..11f35f0e1 100644 --- a/wiki/star-systems/GJ-737B/bodies/GJ737Bc/markers.json +++ b/wiki/star-systems/GJ-737B/bodies/GJ737Bc/markers.json @@ -564,7 +564,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 159, + 218 + ], + "population": 88000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 159, + 218 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-75/bodies/GJ75d/markers.json b/wiki/star-systems/GJ-75/bodies/GJ75d/markers.json index 57746e532..2faff847e 100644 --- a/wiki/star-systems/GJ-75/bodies/GJ75d/markers.json +++ b/wiki/star-systems/GJ-75/bodies/GJ75d/markers.json @@ -1209,8 +1209,575 @@ "area_cells": 595 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 94, + 377 + ], + [ + 94, + 376 + ], + [ + 95, + 375 + ], + [ + 97, + 374 + ], + [ + 98, + 373 + ], + [ + 99, + 372 + ], + [ + 99, + 370 + ], + [ + 100, + 369 + ], + [ + 100, + 367 + ], + [ + 100, + 366 + ], + [ + 100, + 365 + ], + [ + 100, + 363 + ], + [ + 100, + 362 + ], + [ + 100, + 361 + ], + [ + 100, + 359 + ], + [ + 100, + 358 + ], + [ + 100, + 356 + ], + [ + 100, + 355 + ], + [ + 100, + 354 + ], + [ + 100, + 352 + ], + [ + 100, + 351 + ], + [ + 100, + 350 + ], + [ + 100, + 348 + ], + [ + 100, + 347 + ], + [ + 100, + 345 + ], + [ + 100, + 344 + ], + [ + 100, + 343 + ], + [ + 100, + 341 + ], + [ + 100, + 340 + ], + [ + 100, + 339 + ], + [ + 100, + 337 + ], + [ + 100, + 336 + ], + [ + 100, + 334 + ], + [ + 100, + 333 + ], + [ + 100, + 332 + ], + [ + 100, + 330 + ], + [ + 100, + 329 + ], + [ + 100, + 328 + ], + [ + 100, + 326 + ], + [ + 100, + 325 + ], + [ + 100, + 323 + ], + [ + 100, + 322 + ], + [ + 100, + 321 + ], + [ + 100, + 319 + ], + [ + 100, + 318 + ], + [ + 100, + 317 + ], + [ + 100, + 315 + ], + [ + 100, + 314 + ], + [ + 100, + 312 + ], + [ + 100, + 311 + ], + [ + 100, + 310 + ], + [ + 100, + 308 + ], + [ + 100, + 307 + ], + [ + 100, + 306 + ], + [ + 100, + 304 + ], + [ + 100, + 303 + ], + [ + 100, + 301 + ], + [ + 100, + 300 + ], + [ + 100, + 299 + ], + [ + 100, + 297 + ], + [ + 100, + 296 + ], + [ + 100, + 295 + ], + [ + 100, + 293 + ], + [ + 100, + 292 + ], + [ + 100, + 291 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 94, + 377 + ], + "population": 80000000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 100, + 291 + ], + "population": 40000000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 94, + 377 + ], + [ + 94, + 376 + ], + [ + 95, + 375 + ], + [ + 97, + 374 + ], + [ + 98, + 373 + ], + [ + 99, + 372 + ], + [ + 99, + 370 + ], + [ + 100, + 369 + ], + [ + 100, + 367 + ], + [ + 100, + 366 + ], + [ + 100, + 365 + ], + [ + 100, + 363 + ], + [ + 100, + 362 + ], + [ + 100, + 361 + ], + [ + 100, + 359 + ], + [ + 100, + 358 + ], + [ + 100, + 356 + ], + [ + 100, + 355 + ], + [ + 100, + 354 + ], + [ + 100, + 352 + ], + [ + 100, + 351 + ], + [ + 100, + 350 + ], + [ + 100, + 348 + ], + [ + 100, + 347 + ], + [ + 100, + 345 + ], + [ + 100, + 344 + ], + [ + 100, + 343 + ], + [ + 100, + 341 + ], + [ + 100, + 340 + ], + [ + 100, + 339 + ], + [ + 100, + 337 + ], + [ + 100, + 336 + ], + [ + 100, + 334 + ], + [ + 100, + 333 + ], + [ + 100, + 332 + ], + [ + 100, + 330 + ], + [ + 100, + 329 + ], + [ + 100, + 328 + ], + [ + 100, + 326 + ], + [ + 100, + 325 + ], + [ + 100, + 323 + ], + [ + 100, + 322 + ], + [ + 100, + 321 + ], + [ + 100, + 319 + ], + [ + 100, + 318 + ], + [ + 100, + 317 + ], + [ + 100, + 315 + ], + [ + 100, + 314 + ], + [ + 100, + 312 + ], + [ + 100, + 311 + ], + [ + 100, + 310 + ], + [ + 100, + 308 + ], + [ + 100, + 307 + ], + [ + 100, + 306 + ], + [ + 100, + 304 + ], + [ + 100, + 303 + ], + [ + 100, + 301 + ], + [ + 100, + 300 + ], + [ + 100, + 299 + ], + [ + 100, + 297 + ], + [ + 100, + 296 + ], + [ + 100, + 295 + ], + [ + 100, + 293 + ], + [ + 100, + 292 + ], + [ + 100, + 291 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 100, + 291 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-752A/bodies/GJ752Ac/markers.json b/wiki/star-systems/GJ-752A/bodies/GJ752Ac/markers.json index 558614f53..4ba5845da 100644 --- a/wiki/star-systems/GJ-752A/bodies/GJ752Ac/markers.json +++ b/wiki/star-systems/GJ-752A/bodies/GJ752Ac/markers.json @@ -1016,7 +1016,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 92, + 389 + ], + "population": 25000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 92, + 389 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-754/bodies/GJ754c/markers.json b/wiki/star-systems/GJ-754/bodies/GJ754c/markers.json index 2f2049e8e..da5f684e9 100644 --- a/wiki/star-systems/GJ-754/bodies/GJ754c/markers.json +++ b/wiki/star-systems/GJ-754/bodies/GJ754c/markers.json @@ -621,7 +621,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 171, + 458 + ], + "population": 240000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 171, + 458 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-7547/bodies/GJ7547c/markers.json b/wiki/star-systems/GJ-7547/bodies/GJ7547c/markers.json index 94c9a4959..86df9def8 100644 --- a/wiki/star-systems/GJ-7547/bodies/GJ7547c/markers.json +++ b/wiki/star-systems/GJ-7547/bodies/GJ7547c/markers.json @@ -464,7 +464,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 151, + 400 + ], + "population": 300 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 151, + 400 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-764/bodies/GJ764d/markers.json b/wiki/star-systems/GJ-764/bodies/GJ764d/markers.json index c895eb654..add24eaa7 100644 --- a/wiki/star-systems/GJ-764/bodies/GJ764d/markers.json +++ b/wiki/star-systems/GJ-764/bodies/GJ764d/markers.json @@ -662,7 +662,38 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 237, + 388 + ], + "population": 2333330000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 127, + 418 + ], + "population": 1166670000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 127, + 418 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-768/bodies/GJ768e/markers.json b/wiki/star-systems/GJ-768/bodies/GJ768e/markers.json index ede6ea58c..1de2d5fae 100644 --- a/wiki/star-systems/GJ-768/bodies/GJ768e/markers.json +++ b/wiki/star-systems/GJ-768/bodies/GJ768e/markers.json @@ -365,7 +365,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 245, + 510 + ], + "population": 800000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 245, + 510 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-768/bodies/GJ768f/markers.json b/wiki/star-systems/GJ-768/bodies/GJ768f/markers.json index b9e0264be..1883a89bb 100644 --- a/wiki/star-systems/GJ-768/bodies/GJ768f/markers.json +++ b/wiki/star-systems/GJ-768/bodies/GJ768f/markers.json @@ -547,8 +547,585 @@ "area_cells": 176 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 6, + 291 + ], + [ + 6, + 290 + ], + [ + 6, + 289 + ], + [ + 6, + 288 + ], + [ + 6, + 287 + ], + [ + 6, + 286 + ], + [ + 6, + 285 + ], + [ + 7, + 284 + ], + [ + 7, + 283 + ], + [ + 8, + 282 + ], + [ + 8, + 281 + ], + [ + 9, + 280 + ], + [ + 9, + 279 + ], + [ + 9, + 278 + ], + [ + 10, + 277 + ], + [ + 10, + 276 + ], + [ + 11, + 274 + ], + [ + 12, + 273 + ], + [ + 12, + 272 + ], + [ + 13, + 271 + ], + [ + 13, + 270 + ], + [ + 13, + 269 + ], + [ + 13, + 268 + ], + [ + 13, + 267 + ], + [ + 13, + 266 + ], + [ + 13, + 265 + ], + [ + 13, + 264 + ], + [ + 13, + 263 + ], + [ + 13, + 262 + ], + [ + 13, + 261 + ], + [ + 14, + 260 + ], + [ + 14, + 259 + ], + [ + 15, + 257 + ], + [ + 16, + 256 + ], + [ + 17, + 255 + ], + [ + 18, + 254 + ], + [ + 19, + 253 + ], + [ + 20, + 252 + ], + [ + 21, + 251 + ], + [ + 22, + 250 + ], + [ + 23, + 249 + ], + [ + 23, + 248 + ], + [ + 24, + 247 + ], + [ + 24, + 246 + ], + [ + 24, + 245 + ], + [ + 25, + 244 + ], + [ + 25, + 243 + ], + [ + 26, + 242 + ], + [ + 27, + 240 + ], + [ + 27, + 239 + ], + [ + 28, + 238 + ], + [ + 28, + 237 + ], + [ + 29, + 236 + ], + [ + 29, + 235 + ], + [ + 29, + 234 + ], + [ + 30, + 233 + ], + [ + 30, + 232 + ], + [ + 31, + 231 + ], + [ + 31, + 230 + ], + [ + 32, + 229 + ], + [ + 32, + 228 + ], + [ + 33, + 227 + ], + [ + 33, + 226 + ], + [ + 33, + 225 + ], + [ + 34, + 224 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 6, + 291 + ], + "population": 114290000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 34, + 224 + ], + "population": 57140000 + }, + { + "id": "city_2", + "name": "", + "kind": "city", + "center": [ + 150, + 380 + ], + "population": 28570000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 6, + 291 + ], + [ + 6, + 290 + ], + [ + 6, + 289 + ], + [ + 6, + 288 + ], + [ + 6, + 287 + ], + [ + 6, + 286 + ], + [ + 6, + 285 + ], + [ + 7, + 284 + ], + [ + 7, + 283 + ], + [ + 8, + 282 + ], + [ + 8, + 281 + ], + [ + 9, + 280 + ], + [ + 9, + 279 + ], + [ + 9, + 278 + ], + [ + 10, + 277 + ], + [ + 10, + 276 + ], + [ + 11, + 274 + ], + [ + 12, + 273 + ], + [ + 12, + 272 + ], + [ + 13, + 271 + ], + [ + 13, + 270 + ], + [ + 13, + 269 + ], + [ + 13, + 268 + ], + [ + 13, + 267 + ], + [ + 13, + 266 + ], + [ + 13, + 265 + ], + [ + 13, + 264 + ], + [ + 13, + 263 + ], + [ + 13, + 262 + ], + [ + 13, + 261 + ], + [ + 14, + 260 + ], + [ + 14, + 259 + ], + [ + 15, + 257 + ], + [ + 16, + 256 + ], + [ + 17, + 255 + ], + [ + 18, + 254 + ], + [ + 19, + 253 + ], + [ + 20, + 252 + ], + [ + 21, + 251 + ], + [ + 22, + 250 + ], + [ + 23, + 249 + ], + [ + 23, + 248 + ], + [ + 24, + 247 + ], + [ + 24, + 246 + ], + [ + 24, + 245 + ], + [ + 25, + 244 + ], + [ + 25, + 243 + ], + [ + 26, + 242 + ], + [ + 27, + 240 + ], + [ + 27, + 239 + ], + [ + 28, + 238 + ], + [ + 28, + 237 + ], + [ + 29, + 236 + ], + [ + 29, + 235 + ], + [ + 29, + 234 + ], + [ + 30, + 233 + ], + [ + 30, + 232 + ], + [ + 31, + 231 + ], + [ + 31, + 230 + ], + [ + 32, + 229 + ], + [ + 32, + 228 + ], + [ + 33, + 227 + ], + [ + 33, + 226 + ], + [ + 33, + 225 + ], + [ + 34, + 224 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 6, + 291 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-770/bodies/GJ770d/markers.json b/wiki/star-systems/GJ-770/bodies/GJ770d/markers.json index cac184639..c1ae493a4 100644 --- a/wiki/star-systems/GJ-770/bodies/GJ770d/markers.json +++ b/wiki/star-systems/GJ-770/bodies/GJ770d/markers.json @@ -891,7 +891,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 8, + 322 + ], + "population": 15000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 8, + 322 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-771A/bodies/GJ771Ad/markers.json b/wiki/star-systems/GJ-771A/bodies/GJ771Ad/markers.json index b1653344f..32fe21743 100644 --- a/wiki/star-systems/GJ-771A/bodies/GJ771Ad/markers.json +++ b/wiki/star-systems/GJ-771A/bodies/GJ771Ad/markers.json @@ -633,7 +633,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 116, + 408 + ], + "population": 55000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 116, + 408 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-775/bodies/GJ775c/markers.json b/wiki/star-systems/GJ-775/bodies/GJ775c/markers.json index b60eca4a6..5f3489bda 100644 --- a/wiki/star-systems/GJ-775/bodies/GJ775c/markers.json +++ b/wiki/star-systems/GJ-775/bodies/GJ775c/markers.json @@ -913,7 +913,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 188, + 95 + ], + "population": 4200 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 188, + 95 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-780/bodies/GJ780e/markers.json b/wiki/star-systems/GJ-780/bodies/GJ780e/markers.json index fb8feb2da..e985dc084 100644 --- a/wiki/star-systems/GJ-780/bodies/GJ780e/markers.json +++ b/wiki/star-systems/GJ-780/bodies/GJ780e/markers.json @@ -389,8 +389,563 @@ "area_cells": 173 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 226, + 0 + ], + [ + 226, + 1 + ], + [ + 226, + 2 + ], + [ + 226, + 3 + ], + [ + 227, + 4 + ], + [ + 227, + 5 + ], + [ + 228, + 6 + ], + [ + 229, + 7 + ], + [ + 230, + 8 + ], + [ + 231, + 9 + ], + [ + 232, + 10 + ], + [ + 232, + 11 + ], + [ + 232, + 12 + ], + [ + 232, + 13 + ], + [ + 232, + 14 + ], + [ + 232, + 15 + ], + [ + 232, + 16 + ], + [ + 232, + 17 + ], + [ + 232, + 18 + ], + [ + 232, + 19 + ], + [ + 232, + 20 + ], + [ + 232, + 21 + ], + [ + 232, + 22 + ], + [ + 232, + 23 + ], + [ + 232, + 24 + ], + [ + 232, + 25 + ], + [ + 232, + 26 + ], + [ + 233, + 27 + ], + [ + 233, + 28 + ], + [ + 233, + 29 + ], + [ + 233, + 30 + ], + [ + 234, + 31 + ], + [ + 234, + 32 + ], + [ + 234, + 33 + ], + [ + 234, + 34 + ], + [ + 234, + 35 + ], + [ + 234, + 36 + ], + [ + 234, + 37 + ], + [ + 234, + 38 + ], + [ + 234, + 39 + ], + [ + 233, + 40 + ], + [ + 232, + 41 + ], + [ + 231, + 42 + ], + [ + 230, + 43 + ], + [ + 229, + 44 + ], + [ + 228, + 45 + ], + [ + 227, + 46 + ], + [ + 226, + 47 + ], + [ + 225, + 48 + ], + [ + 224, + 49 + ], + [ + 223, + 50 + ], + [ + 222, + 51 + ], + [ + 221, + 52 + ], + [ + 220, + 53 + ], + [ + 219, + 54 + ], + [ + 218, + 55 + ], + [ + 217, + 56 + ], + [ + 216, + 57 + ], + [ + 215, + 58 + ], + [ + 215, + 59 + ], + [ + 214, + 60 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 226, + 0 + ], + "population": 800000000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 214, + 60 + ], + "population": 400000000 + }, + { + "id": "city_2", + "name": "", + "kind": "city", + "center": [ + 61, + 187 + ], + "population": 200000000 + }, + { + "id": "city_3", + "name": "", + "kind": "city", + "center": [ + 138, + 442 + ], + "population": 100000000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 226, + 0 + ], + [ + 226, + 1 + ], + [ + 226, + 2 + ], + [ + 226, + 3 + ], + [ + 227, + 4 + ], + [ + 227, + 5 + ], + [ + 228, + 6 + ], + [ + 229, + 7 + ], + [ + 230, + 8 + ], + [ + 231, + 9 + ], + [ + 232, + 10 + ], + [ + 232, + 11 + ], + [ + 232, + 12 + ], + [ + 232, + 13 + ], + [ + 232, + 14 + ], + [ + 232, + 15 + ], + [ + 232, + 16 + ], + [ + 232, + 17 + ], + [ + 232, + 18 + ], + [ + 232, + 19 + ], + [ + 232, + 20 + ], + [ + 232, + 21 + ], + [ + 232, + 22 + ], + [ + 232, + 23 + ], + [ + 232, + 24 + ], + [ + 232, + 25 + ], + [ + 232, + 26 + ], + [ + 233, + 27 + ], + [ + 233, + 28 + ], + [ + 233, + 29 + ], + [ + 233, + 30 + ], + [ + 234, + 31 + ], + [ + 234, + 32 + ], + [ + 234, + 33 + ], + [ + 234, + 34 + ], + [ + 234, + 35 + ], + [ + 234, + 36 + ], + [ + 234, + 37 + ], + [ + 234, + 38 + ], + [ + 234, + 39 + ], + [ + 233, + 40 + ], + [ + 232, + 41 + ], + [ + 231, + 42 + ], + [ + 230, + 43 + ], + [ + 229, + 44 + ], + [ + 228, + 45 + ], + [ + 227, + 46 + ], + [ + 226, + 47 + ], + [ + 225, + 48 + ], + [ + 224, + 49 + ], + [ + 223, + 50 + ], + [ + 222, + 51 + ], + [ + 221, + 52 + ], + [ + 220, + 53 + ], + [ + 219, + 54 + ], + [ + 218, + 55 + ], + [ + 217, + 56 + ], + [ + 216, + 57 + ], + [ + 215, + 58 + ], + [ + 215, + 59 + ], + [ + 214, + 60 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 61, + 187 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-783A/bodies/GJ783Ad/markers.json b/wiki/star-systems/GJ-783A/bodies/GJ783Ad/markers.json index de54f80e9..13a89bea3 100644 --- a/wiki/star-systems/GJ-783A/bodies/GJ783Ad/markers.json +++ b/wiki/star-systems/GJ-783A/bodies/GJ783Ad/markers.json @@ -725,7 +725,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 250, + 48 + ], + "population": 900000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 250, + 48 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-783A/bodies/GJ783Ae/markers.json b/wiki/star-systems/GJ-783A/bodies/GJ783Ae/markers.json index b916fedd8..5bf2b1b0e 100644 --- a/wiki/star-systems/GJ-783A/bodies/GJ783Ae/markers.json +++ b/wiki/star-systems/GJ-783A/bodies/GJ783Ae/markers.json @@ -1187,8 +1187,585 @@ "area_cells": 67 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 75, + 105 + ], + [ + 75, + 106 + ], + [ + 76, + 107 + ], + [ + 76, + 108 + ], + [ + 76, + 109 + ], + [ + 76, + 110 + ], + [ + 76, + 111 + ], + [ + 76, + 112 + ], + [ + 76, + 114 + ], + [ + 76, + 115 + ], + [ + 76, + 116 + ], + [ + 76, + 117 + ], + [ + 76, + 118 + ], + [ + 76, + 119 + ], + [ + 76, + 120 + ], + [ + 77, + 121 + ], + [ + 77, + 123 + ], + [ + 77, + 124 + ], + [ + 77, + 125 + ], + [ + 77, + 126 + ], + [ + 77, + 127 + ], + [ + 77, + 128 + ], + [ + 77, + 129 + ], + [ + 77, + 130 + ], + [ + 77, + 132 + ], + [ + 77, + 133 + ], + [ + 78, + 134 + ], + [ + 79, + 135 + ], + [ + 80, + 136 + ], + [ + 81, + 137 + ], + [ + 81, + 138 + ], + [ + 81, + 139 + ], + [ + 81, + 141 + ], + [ + 81, + 142 + ], + [ + 81, + 143 + ], + [ + 81, + 144 + ], + [ + 81, + 145 + ], + [ + 81, + 146 + ], + [ + 81, + 147 + ], + [ + 81, + 148 + ], + [ + 81, + 150 + ], + [ + 81, + 151 + ], + [ + 81, + 152 + ], + [ + 81, + 153 + ], + [ + 81, + 154 + ], + [ + 81, + 155 + ], + [ + 81, + 156 + ], + [ + 81, + 157 + ], + [ + 81, + 159 + ], + [ + 81, + 160 + ], + [ + 82, + 161 + ], + [ + 82, + 162 + ], + [ + 82, + 163 + ], + [ + 83, + 164 + ], + [ + 83, + 165 + ], + [ + 84, + 166 + ], + [ + 85, + 168 + ], + [ + 86, + 169 + ], + [ + 87, + 170 + ], + [ + 87, + 171 + ], + [ + 88, + 172 + ], + [ + 89, + 173 + ], + [ + 90, + 174 + ], + [ + 91, + 174 + ], + [ + 92, + 175 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 75, + 105 + ], + "population": 68570000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 92, + 175 + ], + "population": 34290000 + }, + { + "id": "city_2", + "name": "", + "kind": "city", + "center": [ + 205, + 222 + ], + "population": 17140000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 75, + 105 + ], + [ + 75, + 106 + ], + [ + 76, + 107 + ], + [ + 76, + 108 + ], + [ + 76, + 109 + ], + [ + 76, + 110 + ], + [ + 76, + 111 + ], + [ + 76, + 112 + ], + [ + 76, + 114 + ], + [ + 76, + 115 + ], + [ + 76, + 116 + ], + [ + 76, + 117 + ], + [ + 76, + 118 + ], + [ + 76, + 119 + ], + [ + 76, + 120 + ], + [ + 77, + 121 + ], + [ + 77, + 123 + ], + [ + 77, + 124 + ], + [ + 77, + 125 + ], + [ + 77, + 126 + ], + [ + 77, + 127 + ], + [ + 77, + 128 + ], + [ + 77, + 129 + ], + [ + 77, + 130 + ], + [ + 77, + 132 + ], + [ + 77, + 133 + ], + [ + 78, + 134 + ], + [ + 79, + 135 + ], + [ + 80, + 136 + ], + [ + 81, + 137 + ], + [ + 81, + 138 + ], + [ + 81, + 139 + ], + [ + 81, + 141 + ], + [ + 81, + 142 + ], + [ + 81, + 143 + ], + [ + 81, + 144 + ], + [ + 81, + 145 + ], + [ + 81, + 146 + ], + [ + 81, + 147 + ], + [ + 81, + 148 + ], + [ + 81, + 150 + ], + [ + 81, + 151 + ], + [ + 81, + 152 + ], + [ + 81, + 153 + ], + [ + 81, + 154 + ], + [ + 81, + 155 + ], + [ + 81, + 156 + ], + [ + 81, + 157 + ], + [ + 81, + 159 + ], + [ + 81, + 160 + ], + [ + 82, + 161 + ], + [ + 82, + 162 + ], + [ + 82, + 163 + ], + [ + 83, + 164 + ], + [ + 83, + 165 + ], + [ + 84, + 166 + ], + [ + 85, + 168 + ], + [ + 86, + 169 + ], + [ + 87, + 170 + ], + [ + 87, + 171 + ], + [ + 88, + 172 + ], + [ + 89, + 173 + ], + [ + 90, + 174 + ], + [ + 91, + 174 + ], + [ + 92, + 175 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 75, + 105 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-784/bodies/GJ784c-m1/markers.json b/wiki/star-systems/GJ-784/bodies/GJ784c-m1/markers.json index de22defd8..bc1b1e607 100644 --- a/wiki/star-systems/GJ-784/bodies/GJ784c-m1/markers.json +++ b/wiki/star-systems/GJ-784/bodies/GJ784c-m1/markers.json @@ -318,7 +318,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 110, + 138 + ], + "population": 52000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 110, + 138 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-785/bodies/GJ785c/markers.json b/wiki/star-systems/GJ-785/bodies/GJ785c/markers.json index 99c3437cd..e82a55ebe 100644 --- a/wiki/star-systems/GJ-785/bodies/GJ785c/markers.json +++ b/wiki/star-systems/GJ-785/bodies/GJ785c/markers.json @@ -993,7 +993,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 159, + 92 + ], + "population": 15000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 159, + 92 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-79/bodies/GJ79c/markers.json b/wiki/star-systems/GJ-79/bodies/GJ79c/markers.json index 3527f07da..db34108b2 100644 --- a/wiki/star-systems/GJ-79/bodies/GJ79c/markers.json +++ b/wiki/star-systems/GJ-79/bodies/GJ79c/markers.json @@ -710,7 +710,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 150, + 1 + ], + "population": 65000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 150, + 1 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-798/bodies/GJ798c/markers.json b/wiki/star-systems/GJ-798/bodies/GJ798c/markers.json index f57095f7d..59b363fac 100644 --- a/wiki/star-systems/GJ-798/bodies/GJ798c/markers.json +++ b/wiki/star-systems/GJ-798/bodies/GJ798c/markers.json @@ -687,7 +687,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 5, + 352 + ], + "population": 22000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 5, + 352 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-807/bodies/GJ807d/markers.json b/wiki/star-systems/GJ-807/bodies/GJ807d/markers.json index 0cf527a0b..da2aef44d 100644 --- a/wiki/star-systems/GJ-807/bodies/GJ807d/markers.json +++ b/wiki/star-systems/GJ-807/bodies/GJ807d/markers.json @@ -1046,7 +1046,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 41, + 431 + ], + "population": 8000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 41, + 431 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-809/bodies/GJ809c/markers.json b/wiki/star-systems/GJ-809/bodies/GJ809c/markers.json index fdce5e104..bb043bde5 100644 --- a/wiki/star-systems/GJ-809/bodies/GJ809c/markers.json +++ b/wiki/star-systems/GJ-809/bodies/GJ809c/markers.json @@ -600,7 +600,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 154, + 54 + ], + "population": 4200 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 154, + 54 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-820B/bodies/GJ820Bc/markers.json b/wiki/star-systems/GJ-820B/bodies/GJ820Bc/markers.json index 51bfae1b0..f6e123309 100644 --- a/wiki/star-systems/GJ-820B/bodies/GJ820Bc/markers.json +++ b/wiki/star-systems/GJ-820B/bodies/GJ820Bc/markers.json @@ -243,7 +243,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 104, + 393 + ], + "population": 200000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 104, + 393 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-827/bodies/GJ827d/markers.json b/wiki/star-systems/GJ-827/bodies/GJ827d/markers.json index 4ec2e6291..ae08d1de8 100644 --- a/wiki/star-systems/GJ-827/bodies/GJ827d/markers.json +++ b/wiki/star-systems/GJ-827/bodies/GJ827d/markers.json @@ -528,7 +528,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 93, + 507 + ], + "population": 10000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 93, + 507 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-829/bodies/GJ829c/markers.json b/wiki/star-systems/GJ-829/bodies/GJ829c/markers.json index a00a1c6bf..2b0504f52 100644 --- a/wiki/star-systems/GJ-829/bodies/GJ829c/markers.json +++ b/wiki/star-systems/GJ-829/bodies/GJ829c/markers.json @@ -1128,7 +1128,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 10, + 194 + ], + "population": 3000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 10, + 194 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-83.1/bodies/GJ83.1c/markers.json b/wiki/star-systems/GJ-83.1/bodies/GJ83.1c/markers.json index dad41909c..ff8afbaaf 100644 --- a/wiki/star-systems/GJ-83.1/bodies/GJ83.1c/markers.json +++ b/wiki/star-systems/GJ-83.1/bodies/GJ83.1c/markers.json @@ -1288,7 +1288,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 85, + 485 + ], + "population": 14000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 85, + 485 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-832/bodies/GJ832c/markers.json b/wiki/star-systems/GJ-832/bodies/GJ832c/markers.json index ad0a711ec..a6fd937e3 100644 --- a/wiki/star-systems/GJ-832/bodies/GJ832c/markers.json +++ b/wiki/star-systems/GJ-832/bodies/GJ832c/markers.json @@ -636,7 +636,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 152, + 341 + ], + "population": 800000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 152, + 341 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-848/bodies/GJ848e/markers.json b/wiki/star-systems/GJ-848/bodies/GJ848e/markers.json index 7140e0093..fbc46098a 100644 --- a/wiki/star-systems/GJ-848/bodies/GJ848e/markers.json +++ b/wiki/star-systems/GJ-848/bodies/GJ848e/markers.json @@ -522,7 +522,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 148, + 245 + ], + "population": 48000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 148, + 245 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-860A/bodies/GJ860Ac/markers.json b/wiki/star-systems/GJ-860A/bodies/GJ860Ac/markers.json index f6019a22a..6984633b6 100644 --- a/wiki/star-systems/GJ-860A/bodies/GJ860Ac/markers.json +++ b/wiki/star-systems/GJ-860A/bodies/GJ860Ac/markers.json @@ -674,7 +674,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 157, + 178 + ], + "population": 85000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 157, + 178 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-860B/bodies/GJ860Bc/markers.json b/wiki/star-systems/GJ-860B/bodies/GJ860Bc/markers.json index 857b39fa0..6d383268b 100644 --- a/wiki/star-systems/GJ-860B/bodies/GJ860Bc/markers.json +++ b/wiki/star-systems/GJ-860B/bodies/GJ860Bc/markers.json @@ -746,7 +746,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 91, + 413 + ], + "population": 680000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 91, + 413 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-877/bodies/GJ877c/markers.json b/wiki/star-systems/GJ-877/bodies/GJ877c/markers.json index cb02e25fc..c2e573db2 100644 --- a/wiki/star-systems/GJ-877/bodies/GJ877c/markers.json +++ b/wiki/star-systems/GJ-877/bodies/GJ877c/markers.json @@ -1398,8 +1398,575 @@ "area_cells": 8783 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 187, + 474 + ], + [ + 186, + 473 + ], + [ + 185, + 472 + ], + [ + 183, + 472 + ], + [ + 182, + 471 + ], + [ + 180, + 470 + ], + [ + 179, + 469 + ], + [ + 178, + 468 + ], + [ + 177, + 466 + ], + [ + 176, + 465 + ], + [ + 174, + 463 + ], + [ + 173, + 462 + ], + [ + 172, + 461 + ], + [ + 170, + 459 + ], + [ + 169, + 458 + ], + [ + 168, + 456 + ], + [ + 167, + 455 + ], + [ + 166, + 454 + ], + [ + 164, + 452 + ], + [ + 163, + 451 + ], + [ + 162, + 449 + ], + [ + 162, + 448 + ], + [ + 162, + 447 + ], + [ + 162, + 445 + ], + [ + 162, + 444 + ], + [ + 162, + 442 + ], + [ + 161, + 441 + ], + [ + 161, + 440 + ], + [ + 160, + 438 + ], + [ + 159, + 437 + ], + [ + 158, + 435 + ], + [ + 158, + 434 + ], + [ + 157, + 432 + ], + [ + 157, + 431 + ], + [ + 156, + 430 + ], + [ + 155, + 428 + ], + [ + 155, + 427 + ], + [ + 154, + 425 + ], + [ + 153, + 424 + ], + [ + 153, + 423 + ], + [ + 152, + 421 + ], + [ + 152, + 420 + ], + [ + 151, + 418 + ], + [ + 150, + 417 + ], + [ + 150, + 416 + ], + [ + 149, + 414 + ], + [ + 148, + 413 + ], + [ + 147, + 411 + ], + [ + 147, + 410 + ], + [ + 147, + 409 + ], + [ + 146, + 407 + ], + [ + 145, + 406 + ], + [ + 144, + 404 + ], + [ + 144, + 403 + ], + [ + 143, + 402 + ], + [ + 142, + 400 + ], + [ + 142, + 399 + ], + [ + 141, + 397 + ], + [ + 141, + 396 + ], + [ + 140, + 395 + ], + [ + 139, + 393 + ], + [ + 139, + 392 + ], + [ + 138, + 390 + ], + [ + 138, + 389 + ], + [ + 137, + 388 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 187, + 474 + ], + "population": 166670000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 137, + 388 + ], + "population": 83330000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 187, + 474 + ], + [ + 186, + 473 + ], + [ + 185, + 472 + ], + [ + 183, + 472 + ], + [ + 182, + 471 + ], + [ + 180, + 470 + ], + [ + 179, + 469 + ], + [ + 178, + 468 + ], + [ + 177, + 466 + ], + [ + 176, + 465 + ], + [ + 174, + 463 + ], + [ + 173, + 462 + ], + [ + 172, + 461 + ], + [ + 170, + 459 + ], + [ + 169, + 458 + ], + [ + 168, + 456 + ], + [ + 167, + 455 + ], + [ + 166, + 454 + ], + [ + 164, + 452 + ], + [ + 163, + 451 + ], + [ + 162, + 449 + ], + [ + 162, + 448 + ], + [ + 162, + 447 + ], + [ + 162, + 445 + ], + [ + 162, + 444 + ], + [ + 162, + 442 + ], + [ + 161, + 441 + ], + [ + 161, + 440 + ], + [ + 160, + 438 + ], + [ + 159, + 437 + ], + [ + 158, + 435 + ], + [ + 158, + 434 + ], + [ + 157, + 432 + ], + [ + 157, + 431 + ], + [ + 156, + 430 + ], + [ + 155, + 428 + ], + [ + 155, + 427 + ], + [ + 154, + 425 + ], + [ + 153, + 424 + ], + [ + 153, + 423 + ], + [ + 152, + 421 + ], + [ + 152, + 420 + ], + [ + 151, + 418 + ], + [ + 150, + 417 + ], + [ + 150, + 416 + ], + [ + 149, + 414 + ], + [ + 148, + 413 + ], + [ + 147, + 411 + ], + [ + 147, + 410 + ], + [ + 147, + 409 + ], + [ + 146, + 407 + ], + [ + 145, + 406 + ], + [ + 144, + 404 + ], + [ + 144, + 403 + ], + [ + 143, + 402 + ], + [ + 142, + 400 + ], + [ + 142, + 399 + ], + [ + 141, + 397 + ], + [ + 141, + 396 + ], + [ + 140, + 395 + ], + [ + 139, + 393 + ], + [ + 139, + 392 + ], + [ + 138, + 390 + ], + [ + 138, + 389 + ], + [ + 137, + 388 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 187, + 474 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-877/bodies/GJ877d/markers.json b/wiki/star-systems/GJ-877/bodies/GJ877d/markers.json index e43e71e8e..a7e0dd1f1 100644 --- a/wiki/star-systems/GJ-877/bodies/GJ877d/markers.json +++ b/wiki/star-systems/GJ-877/bodies/GJ877d/markers.json @@ -283,7 +283,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 106, + 237 + ], + "population": 12000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 106, + 237 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-879/bodies/GJ879d/markers.json b/wiki/star-systems/GJ-879/bodies/GJ879d/markers.json index 32775177c..f64ce201a 100644 --- a/wiki/star-systems/GJ-879/bodies/GJ879d/markers.json +++ b/wiki/star-systems/GJ-879/bodies/GJ879d/markers.json @@ -1349,8 +1349,575 @@ "area_cells": 209 } ], - "roads": [], - "cities": [], - "railroads": [], - "pois": [] + "roads": [ + { + "id": "road_0", + "name": "", + "kind": "commercial", + "path": [ + [ + 153, + 21 + ], + [ + 152, + 22 + ], + [ + 152, + 23 + ], + [ + 152, + 25 + ], + [ + 152, + 26 + ], + [ + 151, + 27 + ], + [ + 149, + 29 + ], + [ + 149, + 30 + ], + [ + 149, + 32 + ], + [ + 149, + 33 + ], + [ + 148, + 34 + ], + [ + 148, + 36 + ], + [ + 147, + 37 + ], + [ + 147, + 38 + ], + [ + 147, + 40 + ], + [ + 146, + 41 + ], + [ + 145, + 43 + ], + [ + 144, + 44 + ], + [ + 143, + 45 + ], + [ + 141, + 47 + ], + [ + 140, + 48 + ], + [ + 139, + 49 + ], + [ + 137, + 51 + ], + [ + 136, + 52 + ], + [ + 134, + 54 + ], + [ + 133, + 55 + ], + [ + 133, + 56 + ], + [ + 133, + 58 + ], + [ + 133, + 59 + ], + [ + 133, + 60 + ], + [ + 133, + 62 + ], + [ + 133, + 63 + ], + [ + 133, + 65 + ], + [ + 133, + 66 + ], + [ + 133, + 67 + ], + [ + 133, + 69 + ], + [ + 133, + 70 + ], + [ + 133, + 71 + ], + [ + 133, + 73 + ], + [ + 133, + 74 + ], + [ + 133, + 76 + ], + [ + 133, + 77 + ], + [ + 133, + 78 + ], + [ + 133, + 80 + ], + [ + 133, + 81 + ], + [ + 133, + 82 + ], + [ + 133, + 84 + ], + [ + 133, + 85 + ], + [ + 132, + 87 + ], + [ + 132, + 88 + ], + [ + 132, + 89 + ], + [ + 132, + 91 + ], + [ + 132, + 92 + ], + [ + 132, + 93 + ], + [ + 131, + 95 + ], + [ + 130, + 96 + ], + [ + 130, + 98 + ], + [ + 129, + 99 + ], + [ + 129, + 100 + ], + [ + 128, + 102 + ], + [ + 127, + 103 + ], + [ + 127, + 104 + ], + [ + 126, + 106 + ], + [ + 126, + 107 + ], + [ + 125, + 108 + ] + ] + } + ], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 153, + 21 + ], + "population": 200000000 + }, + { + "id": "city_1", + "name": "", + "kind": "city", + "center": [ + 125, + 108 + ], + "population": 100000000 + } + ], + "railroads": [ + { + "id": "railroad_0", + "name": "", + "kind": "passenger_freight", + "path": [ + [ + 153, + 21 + ], + [ + 152, + 22 + ], + [ + 152, + 23 + ], + [ + 152, + 25 + ], + [ + 152, + 26 + ], + [ + 151, + 27 + ], + [ + 149, + 29 + ], + [ + 149, + 30 + ], + [ + 149, + 32 + ], + [ + 149, + 33 + ], + [ + 148, + 34 + ], + [ + 148, + 36 + ], + [ + 147, + 37 + ], + [ + 147, + 38 + ], + [ + 147, + 40 + ], + [ + 146, + 41 + ], + [ + 145, + 43 + ], + [ + 144, + 44 + ], + [ + 143, + 45 + ], + [ + 141, + 47 + ], + [ + 140, + 48 + ], + [ + 139, + 49 + ], + [ + 137, + 51 + ], + [ + 136, + 52 + ], + [ + 134, + 54 + ], + [ + 133, + 55 + ], + [ + 133, + 56 + ], + [ + 133, + 58 + ], + [ + 133, + 59 + ], + [ + 133, + 60 + ], + [ + 133, + 62 + ], + [ + 133, + 63 + ], + [ + 133, + 65 + ], + [ + 133, + 66 + ], + [ + 133, + 67 + ], + [ + 133, + 69 + ], + [ + 133, + 70 + ], + [ + 133, + 71 + ], + [ + 133, + 73 + ], + [ + 133, + 74 + ], + [ + 133, + 76 + ], + [ + 133, + 77 + ], + [ + 133, + 78 + ], + [ + 133, + 80 + ], + [ + 133, + 81 + ], + [ + 133, + 82 + ], + [ + 133, + 84 + ], + [ + 133, + 85 + ], + [ + 132, + 87 + ], + [ + 132, + 88 + ], + [ + 132, + 89 + ], + [ + 132, + 91 + ], + [ + 132, + 92 + ], + [ + 132, + 93 + ], + [ + 131, + 95 + ], + [ + 130, + 96 + ], + [ + 130, + 98 + ], + [ + 129, + 99 + ], + [ + 129, + 100 + ], + [ + 128, + 102 + ], + [ + 127, + 103 + ], + [ + 127, + 104 + ], + [ + 126, + 106 + ], + [ + 126, + 107 + ], + [ + 125, + 108 + ] + ] + } + ], + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 153, + 21 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-880/bodies/GJ880c/markers.json b/wiki/star-systems/GJ-880/bodies/GJ880c/markers.json index b2321c0c9..68e79d0a0 100644 --- a/wiki/star-systems/GJ-880/bodies/GJ880c/markers.json +++ b/wiki/star-systems/GJ-880/bodies/GJ880c/markers.json @@ -1078,7 +1078,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 203, + 368 + ], + "population": 1000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 203, + 368 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-884/bodies/GJ884c/markers.json b/wiki/star-systems/GJ-884/bodies/GJ884c/markers.json index 00b94b5fe..84a2b6509 100644 --- a/wiki/star-systems/GJ-884/bodies/GJ884c/markers.json +++ b/wiki/star-systems/GJ-884/bodies/GJ884c/markers.json @@ -890,7 +890,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 163, + 294 + ], + "population": 4200000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 163, + 294 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-887/bodies/GJ887c/markers.json b/wiki/star-systems/GJ-887/bodies/GJ887c/markers.json index db1cb141a..680d821d7 100644 --- a/wiki/star-systems/GJ-887/bodies/GJ887c/markers.json +++ b/wiki/star-systems/GJ-887/bodies/GJ887c/markers.json @@ -765,7 +765,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 87, + 169 + ], + "population": 600000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 87, + 169 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-892/bodies/GJ892d-1/markers.json b/wiki/star-systems/GJ-892/bodies/GJ892d-1/markers.json index 624c6ca67..6751e7cb9 100644 --- a/wiki/star-systems/GJ-892/bodies/GJ892d-1/markers.json +++ b/wiki/star-systems/GJ-892/bodies/GJ892d-1/markers.json @@ -346,7 +346,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 68, + 66 + ], + "population": 400 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 68, + 66 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-892/bodies/GJ892e/markers.json b/wiki/star-systems/GJ-892/bodies/GJ892e/markers.json index f2d0a9be2..ac0d11486 100644 --- a/wiki/star-systems/GJ-892/bodies/GJ892e/markers.json +++ b/wiki/star-systems/GJ-892/bodies/GJ892e/markers.json @@ -34,7 +34,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 154, + 221 + ], + "population": 600 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 154, + 221 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-892/bodies/GJ892f/markers.json b/wiki/star-systems/GJ-892/bodies/GJ892f/markers.json index 881c0363f..4e229c090 100644 --- a/wiki/star-systems/GJ-892/bodies/GJ892f/markers.json +++ b/wiki/star-systems/GJ-892/bodies/GJ892f/markers.json @@ -148,7 +148,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 132, + 284 + ], + "population": 300 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 132, + 284 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-896A/bodies/GJ896Ac/markers.json b/wiki/star-systems/GJ-896A/bodies/GJ896Ac/markers.json index 1b77af457..96b36e473 100644 --- a/wiki/star-systems/GJ-896A/bodies/GJ896Ac/markers.json +++ b/wiki/star-systems/GJ-896A/bodies/GJ896Ac/markers.json @@ -734,7 +734,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 101, + 184 + ], + "population": 220000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 101, + 184 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-903/bodies/GJ903c/markers.json b/wiki/star-systems/GJ-903/bodies/GJ903c/markers.json index ec9aa48ff..cd57f52e3 100644 --- a/wiki/star-systems/GJ-903/bodies/GJ903c/markers.json +++ b/wiki/star-systems/GJ-903/bodies/GJ903c/markers.json @@ -1203,7 +1203,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 97, + 334 + ], + "population": 4000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 97, + 334 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-904/bodies/GJ904d/markers.json b/wiki/star-systems/GJ-904/bodies/GJ904d/markers.json index 678ebd9c0..0eec071ea 100644 --- a/wiki/star-systems/GJ-904/bodies/GJ904d/markers.json +++ b/wiki/star-systems/GJ-904/bodies/GJ904d/markers.json @@ -674,7 +674,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 59, + 509 + ], + "population": 600 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 59, + 509 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-905/bodies/GJ905b/markers.json b/wiki/star-systems/GJ-905/bodies/GJ905b/markers.json index 610976218..2d2be633d 100644 --- a/wiki/star-systems/GJ-905/bodies/GJ905b/markers.json +++ b/wiki/star-systems/GJ-905/bodies/GJ905b/markers.json @@ -600,7 +600,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 87, + 493 + ], + "population": 45000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 87, + 493 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-908/bodies/GJ908c/markers.json b/wiki/star-systems/GJ-908/bodies/GJ908c/markers.json index 77e2ae5e6..20019e1b4 100644 --- a/wiki/star-systems/GJ-908/bodies/GJ908c/markers.json +++ b/wiki/star-systems/GJ-908/bodies/GJ908c/markers.json @@ -606,7 +606,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 248, + 452 + ], + "population": 4200 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 248, + 452 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-909A/bodies/GJ909Ac/markers.json b/wiki/star-systems/GJ-909A/bodies/GJ909Ac/markers.json index 13faf9a8a..e60dff2b6 100644 --- a/wiki/star-systems/GJ-909A/bodies/GJ909Ac/markers.json +++ b/wiki/star-systems/GJ-909A/bodies/GJ909Ac/markers.json @@ -1023,7 +1023,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 100, + 122 + ], + "population": 8000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 100, + 122 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-914A/bodies/GJ914Ac/markers.json b/wiki/star-systems/GJ-914A/bodies/GJ914Ac/markers.json index 77382584d..cb4810183 100644 --- a/wiki/star-systems/GJ-914A/bodies/GJ914Ac/markers.json +++ b/wiki/star-systems/GJ-914A/bodies/GJ914Ac/markers.json @@ -462,7 +462,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 192, + 485 + ], + "population": 18000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 192, + 485 + ] + } + ] } \ No newline at end of file diff --git a/wiki/star-systems/GJ-95/bodies/GJ95e/markers.json b/wiki/star-systems/GJ-95/bodies/GJ95e/markers.json index 3c29ff22c..0d12d4ac0 100644 --- a/wiki/star-systems/GJ-95/bodies/GJ95e/markers.json +++ b/wiki/star-systems/GJ-95/bodies/GJ95e/markers.json @@ -1019,7 +1019,28 @@ } ], "roads": [], - "cities": [], + "cities": [ + { + "id": "city_0", + "name": "", + "kind": "capital", + "center": [ + 170, + 452 + ], + "population": 65000000 + } + ], "railroads": [], - "pois": [] + "pois": [ + { + "id": "poi_0", + "name": "", + "kind": "transit", + "center": [ + 170, + 452 + ] + } + ] } \ No newline at end of file