David Megginson wrote: > Alex Perry writes: > > Why can't we stick it into the scenery directories, but one directory > > up from the tiles, so we have one file per 10degx10deg of planet. > > That should ensure that FGFS doesn't need to load all that many files, > > and just having the one file in the base package will allow initial use. > > It's not a bad idea, except that FlightGear needs to be able to search > all the airports at once to find the one the user wants to jump to.
It seems to me like the airport database is only searched on two keys: location and ID. Storing an "index" on location is trivial, as Alex points out -- store it with the location-specific data structure that is already indexed. So all we need is an index on name. Not to be too glib, but the OS already provides a rather nice index on named objects -- the filesystem. So in Scenery/w130n30/airports.xml you will find a simple list of airport ID's: <airports> <id>KSFO</id> <id>KOAK</id> ... </airports> And look up the airport data itself under Airports/KSFO.xml: <airport> <id>KSFO</id> <name>San Francisco Intl.</name> <alt>...</alt> <lat>...</lat> <lon>...</lon> <runway> <name>11</name> <lat>...</lat> <lon>...</lon> <direction>...</direction> <length>...</length> <width>...</width> </runway> <runway> ... </runway> </airport> The astute will point out that not all filesystems actually store indices on filenames (ext2 and FAT among them, sadly -- NTFS and reiserfs do have indices). With only a few thousand files, this isn't likely to be a real performance problem. Nonetheless, storing them sorted into directories is possible. Use Airports/K/KSFO.xml, for example, or even Airports/K/S/F/O.xml if you really want. :) This strikes me as easy to implement and much easier to maintain than the current metakit stuff. Andy -- Andrew J. Ross NextBus Information Systems Senior Software Engineer Emeryville, CA [EMAIL PROTECTED] http://www.nextbus.com "Men go crazy in conflagrations. They only get better one by one." - Sting (misquoted) _______________________________________________ Flightgear-devel mailing list [EMAIL PROTECTED] http://mail.flightgear.org/mailman/listinfo/flightgear-devel