expoweb/handbook/troggle/trogmermaid.html
2023-04-04 21:32:07 +01:00

170 lines
4.8 KiB
HTML

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Handbook Troggle Data Model</title>
<link rel="stylesheet" type="text/css" href="../../css/main2.css" />
</head>
<body><style>body { background: #fff url(/images/style/bg-system.png) repeat-x 0 0 }</style>
<script src="https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.min.js"></script>
<script>mermaid.initialize({startOnLoad:true});</script>
<h2 id="tophead">CUCC Expedition Handbook - troggle</h2>
<h1>Troggle Data Model (python)</h1>
<p>Asking ChatGPT to read our data model and produce a Mermad-style diagram produces something it has hallucinated. This is NOT troggle.
<p><em>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</em>
<div class="mermaid">
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
}
</div>
<div class="mermaid">
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
</div>
<div class="mermaid">
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
</div>
</body>
</html>
<hr />
Return to: <a href="trogarch.html">Troggle architecture</a><br />
Return to: <a href="trogintro.html">Troggle intro</a><br />
Troggle index:
<a href="trogindex.html">Index of all troggle documents</a><br />
<hr />
</body>
</html>