Autogenerated python functions to serialize/deserialize binary 
  messages.
  Need to then wrap these functions with the outer AIS packet and then 
  convert the whole binary blob to a NMEA string.  Those functions are not 
  currently provided in this file.
        Requires:
      
      Author:
        xmlbinmsg
      
      Version:
        4791
      
      Status:
        under development
      
      License:
        Generated code has no license
      
      To Do:
        FIX: put in a description of the message here with fields and 
    types.
      
      Date:
        2008-01-09
      
 
    | 
      BitVector
     | 
      
        
          encode(params,
        validate=False) 
      Create a position binary message payload to pack into an AIS Msg 
      position. | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
      dict
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
        
          | decodestate_slottimeout(bv,
        validate=False) | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
      
        
          printKml(params,
        out=sys.stdout) 
      KML (Keyhole Markup Language) for Google Earth, but without the 
      header/footer | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
      stdout
     | 
      
        
          printFields(params,
        out=sys.stdout,
        format='std',
        fieldList=None,
        dbType='postgres') 
      Print a position message to stdout. | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
      str
     | 
      
        
          sqlCreateStr(outfile=sys.stdout,
        fields=None,
        extraFields=None,
        addCoastGuardFields=True,
        dbType='postgres') 
      Return the SQL CREATE command for this message type | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
      sqlhelp.create
     | 
      
        
          sqlCreate(fields=None,
        extraFields=None,
        addCoastGuardFields=True,
        dbType='postgres') 
      Return the sqlhelp object to create the table. | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
      str
     | 
      
        
          sqlInsertStr(params,
        outfile=sys.stdout,
        extraParams=None,
        dbType='postgres') 
      Return the SQL INSERT command for this message type | 
          
            source code
            
           | 
         
       
      
     | 
  
    | 
      sqlhelp.insert
     | 
      
      
     | 
  
    | 
      str
     | 
      
      
     | 
  
    | 
      str
     | 
      
      
     | 
  
    | 
      dict
     | 
      
      
     | 
  
    | 
       
     | 
      
      
     | 
  
    | 
       
     | 
        TrueBV = BitVector(bitstring= "1") 
      Why always rebuild the True bit?  This should speed things up a 
      bunch
     | 
  
    | 
       
     | 
        FalseBV = BitVector(bitstring= "0") 
      Why always rebuild the False bit?  This should speed things up a 
      bunch
     | 
  
    | 
       
     | 
        fieldList = ('MessageID', 'RepeatIndicator', 'UserID', 'Naviga...
     | 
  
    | 
       
     | 
        fieldListPostgres = ('MessageID', 'RepeatIndicator', 'UserID',...
     | 
  
    | 
       
     | 
        toPgFields = {'latitude': 'Position', 'longitude': 'Position'} 
      Go to the Postgis field names from the straight field name
     | 
  
    | 
       
     | 
        fromPgFields = {'Position': ('longitude', 'latitude')} 
      Go from the Postgis field names to the straight field name
     | 
  
    | 
       
     | 
        pgTypes = {'Position': 'POINT'} 
      Lookup table for each postgis field name to get its type.
     | 
  
    | 
       
     | 
        RepeatIndicatorEncodeLut = {'default': '0', 'do not repeat any...
     | 
  
    | 
       
     | 
        RepeatIndicatorDecodeLut = {'0': 'default', '3': 'do not repea...
     | 
  
    | 
       
     | 
        NavigationStatusEncodeLut = {'aground': '6', 'at anchor': '1',...
     | 
  
    | 
       
     | 
        NavigationStatusDecodeLut = {'0': 'under way using engine', '1...
     | 
  
    | 
       
     | 
        SOGEncodeLut = {'102.2 knots or higher': '102.2'}
     | 
  
    | 
       
     | 
        SOGDecodeLut = {'102.2': '102.2 knots or higher'}
     | 
  
    | 
       
     | 
        PositionAccuracyEncodeLut = {'high (less than 10 m)': '1', 'lo...
     | 
  
    | 
       
     | 
        PositionAccuracyDecodeLut = {'0': 'low (greater than 10 m)', '...
     | 
  
    | 
       
     | 
        TimeStampEncodeLut = {'dead reckoning': '62', 'inoperative': '...
     | 
  
    | 
       
     | 
        TimeStampDecodeLut = {'60': 'not available/default', '61': 'ma...
     | 
  
    | 
       
     | 
        RAIMEncodeLut = {'in use': 'True', 'not in use': 'False'}
     | 
  
    | 
       
     | 
        RAIMDecodeLut = {'False': 'not in use', 'True': 'in use'}
     | 
  
    | 
       
     | 
        state_syncstateEncodeLut = {'UTC direct': '0', 'UTC indirect':...
     | 
  
    | 
       
     | 
        state_syncstateDecodeLut = {'0': 'UTC direct', '1': 'UTC indir...
     | 
  
    | 
       
     | 
        state_slottimeoutEncodeLut = {'1 frames left': '1', '2 frames ...
     | 
  
    | 
       
     | 
        state_slottimeoutDecodeLut = {'0': 'Last frame in this slot', ...
     | 
  
    | 
       
     | 
        dbTableName = 'position' 
      Database table name
     |