feat(tactical): add tactical line of sight API, elevation engine, dynamic step resolution, weather module and executive showcase
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
import json
|
||||
import os
|
||||
|
||||
with open("data/boundaries/jordan_adm0.geojson", "r") as f:
|
||||
adm0 = json.load(f)
|
||||
|
||||
with open("data/boundaries/jordan_adm1.geojson", "r") as f:
|
||||
adm1 = json.load(f)
|
||||
|
||||
lines = []
|
||||
lines.append("BEGIN;")
|
||||
lines.append("-- 1. Delete previous dummy borders")
|
||||
lines.append("DELETE FROM planet_osm_line WHERE osm_id >= 999000 AND osm_id <= 999999;")
|
||||
lines.append("DELETE FROM planet_osm_polygon WHERE osm_id >= 999000 AND osm_id <= 999999;")
|
||||
lines.append("")
|
||||
|
||||
# National border (ADM0)
|
||||
geom0_str = json.dumps(adm0["features"][0]["geometry"]).replace("'", "''")
|
||||
lines.append("-- 2. Official Jordan National Boundary (ADM0)")
|
||||
lines.append(f"""INSERT INTO planet_osm_line (osm_id, boundary, admin_level, name, way)
|
||||
SELECT
|
||||
999000,
|
||||
'administrative',
|
||||
'2',
|
||||
'المملكة الأردنية الهاشمية - Jordan Official National Border',
|
||||
ST_Transform(ST_Boundary(ST_SetSRID(ST_GeomFromGeoJSON('{geom0_str}'), 4326)), 3857);
|
||||
""")
|
||||
|
||||
# Governorates (ADM1)
|
||||
for idx, feat in enumerate(adm1["features"]):
|
||||
name = feat["properties"].get("shapeName", f"Governorate {idx}").replace("'", "''")
|
||||
geom_str = json.dumps(feat["geometry"]).replace("'", "''")
|
||||
osm_id = 999010 + idx
|
||||
lines.append(f"""-- Governorate {name}
|
||||
INSERT INTO planet_osm_polygon (osm_id, boundary, admin_level, name, way)
|
||||
SELECT
|
||||
{osm_id},
|
||||
'administrative',
|
||||
'4',
|
||||
'{name}',
|
||||
ST_Transform(ST_SetSRID(ST_GeomFromGeoJSON('{geom_str}'), 4326), 3857);
|
||||
|
||||
INSERT INTO planet_osm_line (osm_id, boundary, admin_level, name, way)
|
||||
SELECT
|
||||
{osm_id},
|
||||
'administrative',
|
||||
'4',
|
||||
'{name}',
|
||||
ST_Transform(ST_Boundary(ST_SetSRID(ST_GeomFromGeoJSON('{geom_str}')), 4326), 3857);
|
||||
""")
|
||||
|
||||
lines.append("COMMIT;")
|
||||
|
||||
with open("data/boundaries/import_official_jordan.sql", "w") as f:
|
||||
f.write("\n".join(lines))
|
||||
|
||||
print(f"Generated SQL with {len(adm1['features'])} governorates + ADM0 national boundary.")
|
||||
Reference in New Issue
Block a user