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

Reply via email to