File size: 993 Bytes
1ce499f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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()