| import random |
| from app.database import Base, engine, SessionLocal |
| from app.repository import upsert_space_object |
| def synthetic_objects(n=300): |
| items=[] |
| for i in range(n): |
| shell=random.choice([(15.2,53),(14.9,98),(13.8,74),(2.0,0),(12.5,55)]); mm,inc=shell |
| items.append({"object_id":f"OBJ-{i+1}","norad_cat_id":10000+i,"object_name":f"SIM_OBJECT_{i+1}","object_type":random.choice(["PAYLOAD","DEBRIS","ROCKET BODY"]),"mean_motion":round(random.gauss(mm,0.12),5),"inclination":round(random.gauss(inc,1.4),5),"eccentricity":round(abs(random.gauss(0.001,0.002)),6),"raan":round(random.uniform(0,360),4),"bstar":round(random.uniform(0.00001,0.005),8),"launch_year":random.randint(1998,2025)}) |
| return items |
| def main(): |
| Base.metadata.create_all(bind=engine); db=SessionLocal() |
| try: |
| for item in synthetic_objects(): upsert_space_object(db,item) |
| db.commit(); print("Synthetic objects loaded.") |
| finally: db.close() |
| if __name__=="__main__": main() |
|
|