On Mon, 10 Feb 2003 22:44:40 +0000 David Luff <[EMAIL PROTECTED]> wrote:
> On 2/11/03 at 9:15 AM Bernie Bright wrote: > > >On Mon, 10 Feb 2003 11:46:04 +0000 > >"David Luff" <[EMAIL PROTECTED]> wrote: > > > >[snip] > > > >> The limit of my ambition at the moment is to get light planes taxiing in > >> and out of and flying circuits around GA airports at the moment. This > >is a > >> huge amount of work in itself - particularly the taxiing part, which > also > >> involves writing an infrastructure to describe logical taxiway and > >parking > >> networks at airports, and tools to allow users to create/modify them. > >> There's absolutely no way I'm going to get time to do any planes that > fly > >> from one airport to another in the next year or so. > > > >I've been experimenting in this area too, particularly user tools. To > that > >end I've added a taxiway editor to FGSD, FlightGear Scenery Designer, > ><http://sourceforge.net/projects/fgsd>. Data is saved to an xml file. > The > >next step is to load this data into FlightGear and hook it into the ATC > >system. > > Fantastic! If it works then I'll abandon my efforts in that field > immediately :-) > > The current data I've been reading in from KEMT.taxi is reproduced below: > > N 0 -118.0372167 34.08178333 0.0 J E-01-19 "rwy 01" > N 1 -118.0321833 34.09066667 0.0 J E-01-19 "rwy 19" > N 2 -118.0369167 34.08166667 0.0 H E "" > N 3 -118.03185 34.0906 0.0 H E "" > N 4 -118.03515 34.0848 0.0 T E "" > N 5 -118.0349667 34.08511667 0.0 T E "" > N 6 -118.0348333 34.08466667 0.0 T E "" > G 7 -118.0347333 34.08483333 0.0 GS 10 "" > N 8 -118.03465 34.08498333 0.0 T E "" > N 9 -118.0346 34.08456667 0.0 T E "" > G 10 -118.0345167 34.08473333 0.0 GS 10 "" > N 11 -118.0344167 34.0849 0.0 T E "" > A 0 1 R N "" > A 0 2 T N "" > A 1 3 T N "" > A 2 4 T N "" > A 4 5 T N "" > A 3 5 T N "" > A 4 6 T N "" > A 6 9 T Y "" > A 5 8 T Y "" > A 8 11 T Y "" > A 6 7 T Y "" > A 7 8 T Y "" > A 9 10 T Y "" > A 10 11 T Y "" > [End] > > N is a node, each one has a number, position, elev, code [J = junction, H = > hold, T = T-junction], an E-code since denotes any runways that they are > exits fom, and the node name. > G is a gate, similar, but with a code for airplane - GS = GA single. > A is an arc, this has the numbers of the two nodes it connects, a type [R = > runway, T = taxiway], and [Y/N] to whether it is 2-way, and a name. > > Obviously there's more stuff that could go in here, such as weight limits > on the arcs, but that's what I started with. > > Is this the sort of thing I can load from the xml output from your program? > If so I guess I'd better take your xml file loader and plug it into the > ATC system (ground.[ch]xx). Is your code in fgsd CVS yet? If not could > you email it to me? My changes are not in cvs yet. I still have to implement undo/redo/delete functionality. However I will email you what I have so far. > If you could bear to take a look at the brain-dump that masquerades for > code in ground.[ch]xx perhaps you could have a look at my proposed node/arc > structures and shout if you think I'm doing anything *really* silly before > I get too far into it. I used your structures as a starting point. However the needs of the editor and the xml format forced some changes. But we are in the same ballpark. Here are some snippets from a KSFO taxiway file with some commentary: <nodes> <node> <latitude type="double">37.615023</latitude> <longitude type="double">-122.356881</longitude> <nodetype type="string">Normal</nodetype> </node> <node n="4"> <latitude type="double">37.620940</latitude> <longitude type="double">-122.370852</longitude> <nodetype type="string">Hold</nodetype> </node> </nodes> There are two types of nodes, Normal and Hold-Short. Unlike yours they don't contain an elevation but that shouldn't be too hard to add if required, it is available from the underlying fgsd tile/airport object. They also don't have your E-code or a name. I think these properties belong to the connecting arc/segment. <gates> <gate> <latitude type="double">37.615096</latitude> <longitude type="double">-122.381158</longitude> <gatetype type="string">GateHeavy</gatetype> <radius type="double">0.000000</radius> <heading type="double">0.000000</heading> </gate> </gates> There are 11 gate types for commercial, cargo, GA, military and seaplane aircraft. I haven't got around to inputting the radius and heading values yet, hence the zeros. <segments> <segment> <type type="string">taxiway</type> <node1 type="int">0</node1> <node2 type="int">1</node2> <name type="string">C</name> <width type="int">110</width> </segment> <segment n="55"> <type type="string">runway</type> <node1 type="int">35</node1> <node2 type="int">41</node2> <name type="string">10R/28L</name> <width type="int">200</width> </segment> What you call an arc I call a segment. Don't know why but there it is. There are 3 types, taxiway, runway and gate. The values for node1 and node2 are indexes into the nodes array. In the case of a gate connector, node2 is an index into the gates array. I have a width instead of a weight but its purpose is the same. Thats it for now. There also needs to be some additonal logic for the ATC to determine how to navigate from a gate via one or more taxiways to a runway and vice versa. Departures could be hard wired into the xml file, eg Gate 4 via taxiways Alpha, Charlie, hold short runway 28R, but arrivals will probably have to be calculated at runtime. Cheers, Bernie _______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel