CUCC Expedition Handbook - troggle

Troggle Data Model (python)

Asking ChatGPT to read our data model and produce a Mermad-style diagram produces something it has hallucinated. This is NOT troggle.

Can you look at the data model at https://expo.survex.com/handbook/troggle/datamodel.html and generate the data model in mermaid script in html

classDiagram class Cave { - name: str - location: str - description: str - survey: Survey - map: Map - expeditions: List[Expedition] - survey_teams: List[SurveyTeam] - entrances: List[Entrance] - passages: List[Passage] } class Survey { - file: str - header: Header - stations: List[SurveyStation] - fixes: List[SurveyFix] - flags: List[SurveyFlag] - teams: List[SurveyTeam] - instruments: List[SurveyInstrument] - centerlines: List[SurveyCenterline] - shots: List[SurveyShot] - calibrations: List[SurveyCalibration] - extras: List[SurveyExtra] - equates: List[SurveyEquate] } class Map { - file: str - scale: float - orientation: Orientation } class Expedition { - name: str - leader: ExpeditionLeader - members: List[ExpeditionMember] - equipment: List[ExpeditionEquipment] } class ExpeditionLeader { - name: str - email: str - phone: str } class ExpeditionMember { - name: str - email: str - phone: str } class ExpeditionEquipment { - name: str - description: str } class SurveyTeam { - name: str - members: List[str] } class Entrance { - name: str - position: EntrancePosition } class EntrancePosition { - easting: float - northing: float - altitude: float - grid_reference: str - datum: str } class Passage { - name: str - points: List[PassagePoint] - sections: List[PassageSection] } class PassagePoint { - name: str - position: PassagePosition } class PassagePosition { - easting: float - northing: float - altitude: float - grid_reference: str - datum: str } class PassageSection { - from_point: PassagePoint - to_point: PassagePoint - distance: float - azimuth: float - inclination: float }
graph LR Cave --"1"--> Survey Cave --"1"--> Map Cave --"0..*"--> Expedition Cave --"0..*"--> SurveyTeam Cave --"0..*"--> Entrance Cave --"0..*"--> Passage Survey --"0..*"--> SurveyHeader Survey --"0..*"--> SurveyStation Survey --"0..*"--> SurveyFix Survey --"0..*"--> SurveyFlag Survey --"0..*"--> SurveyTeam Survey --"0..*"--> SurveyInstrument Survey --"0..*"--> SurveyCenterline Survey --"0..*"--> SurveyShot Survey --"0..*"--> SurveyCalibration Survey --"0..*"--> SurveyExtra Survey --"0..*"--> SurveyEquate Expedition --"1"--> ExpeditionLeader Expedition --"0..*"--> ExpeditionMember Expedition --"0..*"--> ExpeditionEquipment Entrance --"1"--> EntrancePosition Passage --"0..*"--> PassagePoint Passage --"0..*"--> PassageSection
graph LR SurveyFile --"1"--> SurveyHeader SurveyFile --"1"--> SurveyStation SurveyFile --"1"--> SurveyFix SurveyFile --"1"--> SurveyFlag SurveyFile --"1"--> SurveyTeam SurveyFile --"1"--> SurveyInstrument SurveyFile --"1"--> SurveyCenterline SurveyFile --"1"--> SurveyShot SurveyFile --"1"--> SurveyCalibration SurveyFile --"1"--> SurveyExtra SurveyFile --"1"--> SurveyEquate SurveyHeader --"1"--> SurveyCenterline SurveyHeader --"1"--> SurveyTeam SurveyHeader --"1"--> SurveyInstrument SurveyHeader --"0..*"--> SurveyExtra SurveyStation --"1"--> SurveyFix

Return to: Troggle architecture
Return to: Troggle intro
Troggle index: Index of all troggle documents