Package ais :: Module sls_waterlevel
[hide private]
[frames] | no frames]

Module sls_waterlevel

source code

Autogenerated python functions to serialize/deserialize binary messages.

Generated by: ./aisxmlbinmsg2py.py

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.

serialize: python to ais binary deserialize: ais binary to python

The generated code uses translators.py, binary.py, and aisstring.py which should be packaged with the resulting files.


Requires:

Author: xmlbinmsg

Version: 4791

Status: under development

License: Generated code has no license

Classes [hide private]
  Testsls_waterlevel
Use testvalue tag text from each type to build test case the sls_waterlevel message

Functions [hide private]
BitVector encode(params, validate=False)
Create a sls_waterlevel binary message payload to pack into an AIS Msg sls_waterlevel.
dict decode(bv, validate=False)
Unpack a sls_waterlevel message
  decodetime_month(bv, validate=False)
  decodetime_day(bv, validate=False)
  decodetime_hour(bv, validate=False)
  decodetime_min(bv, validate=False)
  decodestationid(bv, validate=False)
  decodepos_longitude(bv, validate=False)
  decodepos_latitude(bv, validate=False)
  decodetype(bv, validate=False)
  decodewaterlevel(bv, validate=False)
  decodedatum(bv, validate=False)
  decodereserved(bv, validate=False)
  printHtml(params, out=sys.stdout)
  printKml(params, out=sys.stdout)
KML (Keyhole Markup Language) for Google Earth, but without the header/footer
stdout printFields(params, out=sys.stdout, format='std', fieldList=None)
Print a reserved message to stdout.
str sqlCreateStr(outfile=sys.stdout, fields=None, extraFields=None)
Return the SQL CREATE command for this message type
sqlhelp.create sqlCreate(fields=None, extraFields=None)
Return the sqlhelp object to create the table.
str sqlInsertStr(params, outfile=sys.stdout, extraParams=None)
Return the SQL CREATE command for this message type
sqlhelp.insert sqlInsert(params, extraParams=None)
Give the SQL insert statement
dict testParams()
Return a params file base on the testvalue tags.
  addMsgOptions(parser)

Variables [hide private]
  __date__ = '2007-02-05'
Date of last svn commit
  TrueBV = <ais.BitVector.BitVector object at 0xbc01230>
Why always rebuild the True bit? This should speed things up a bunch
  FalseBV = <ais.BitVector.BitVector object at 0xbc012b0>
Why always rebuild the False bit? This should speed things up a bunch
  fieldList = ['time_month', 'time_day', 'time_hour', 'time_min', ...
  typeEncodeLut = {'Relative to datum': '0', 'Water depth': '1'}
  typeDecodeLut = {'1': 'Water depth', '0': 'Relative to datum'}
  datumEncodeLut = {'Reserved': '3', 'IGLD-85': '1', 'MLLW': '0'}
  datumDecodeLut = {'1': 'IGLD-85', '0': 'MLLW', '3': 'Reserved', '2': ...
  typeChoices = 'binary', 'nmeapayload', 'nmea'
  outputChoices = 'std', 'html', 'csv', 'sql', 'kml', 'kml-full'
  outfile = file(options.outputFileName, 'w')
  msgDict = {'time_month': options.time_monthField, 'time_day': ...
  bitLen = len(bits)
  bits = bits+ BitVector(size= (6-(bitLen % 6)))
  buf = StringIO.StringIO()
  result = buf.getvalue()

Function Details [hide private]

encode(params, validate=False)

source code 

Create a sls_waterlevel binary message payload to pack into an AIS Msg sls_waterlevel.

Fields in params:
  • time_month(uint): Time tag of measurement month 1..12
  • time_day(uint): Time tag of measurement day of the month 1..31
  • time_hour(uint): Time tag of measurement UTC hours 0..23
  • time_min(uint): Time tag of measurement minutes
  • stationid(aisstr6): Character identifier of the station. Usually a number.
  • pos_longitude(decimal): Location of measurement East West location
  • pos_latitude(decimal): Location of measurement North South location
  • type(uint): How to interpret the water level
  • waterlevel(int): Water level in centimeters
  • datum(uint): What reference datum applies to the value
  • reserved(uint): Reserved bits for future use (field automatically set to "0")
Parameters:
  • params - Dictionary of field names/values. Throws a ValueError exception if required is missing
  • validate - Set to true to cause checking to occur. Runs slower. FIX: not implemented.
Returns: BitVector
encoded binary message (for binary messages, this needs to be wrapped in a msg 8

Note: The returned bits may not be 6 bit aligned. It is up to you to pad out the bits.

decode(bv, validate=False)

source code 

Unpack a sls_waterlevel message

Fields in params:
  • time_month(uint): Time tag of measurement month 1..12
  • time_day(uint): Time tag of measurement day of the month 1..31
  • time_hour(uint): Time tag of measurement UTC hours 0..23
  • time_min(uint): Time tag of measurement minutes
  • stationid(aisstr6): Character identifier of the station. Usually a number.
  • pos_longitude(decimal): Location of measurement East West location
  • pos_latitude(decimal): Location of measurement North South location
  • type(uint): How to interpret the water level
  • waterlevel(int): Water level in centimeters
  • datum(uint): What reference datum applies to the value
  • reserved(uint): Reserved bits for future use (field automatically set to "0")
Parameters:
  • bv (BitVector) - Bits defining a message
  • validate - Set to true to cause checking to occur. Runs slower. FIX: not implemented.
Returns: dict
params

decodetime_month(bv, validate=False)

source code 
None

decodetime_day(bv, validate=False)

source code 
None

decodetime_hour(bv, validate=False)

source code 
None

decodetime_min(bv, validate=False)

source code 
None

decodestationid(bv, validate=False)

source code 
None

decodepos_longitude(bv, validate=False)

source code 
None

decodepos_latitude(bv, validate=False)

source code 
None

decodetype(bv, validate=False)

source code 
None

decodewaterlevel(bv, validate=False)

source code 
None

decodedatum(bv, validate=False)

source code 
None

decodereserved(bv, validate=False)

source code 
None

printHtml(params, out=sys.stdout)

source code 
None

printKml(params, out=sys.stdout)

source code 
KML (Keyhole Markup Language) for Google Earth, but without the header/footer

printFields(params, out=sys.stdout, format='std', fieldList=None)

source code 

Print a reserved message to stdout.

Fields in params:
  • time_month(uint): Time tag of measurement month 1..12
  • time_day(uint): Time tag of measurement day of the month 1..31
  • time_hour(uint): Time tag of measurement UTC hours 0..23
  • time_min(uint): Time tag of measurement minutes
  • stationid(aisstr6): Character identifier of the station. Usually a number.
  • pos_longitude(decimal): Location of measurement East West location
  • pos_latitude(decimal): Location of measurement North South location
  • type(uint): How to interpret the water level
  • waterlevel(int): Water level in centimeters
  • datum(uint): What reference datum applies to the value
  • reserved(uint): Reserved bits for future use (field automatically set to "0")
Parameters:
  • params - Dictionary of field names/values.
  • out - File like object to write to
Returns: stdout
text to out

sqlCreateStr(outfile=sys.stdout, fields=None, extraFields=None)

source code 
Return the SQL CREATE command for this message type
Parameters:
  • outfile - file like object to print to.
  • fields - which fields to put in the create. Defaults to all.
  • extraFields - A sequence of tuples containing (name,sql type) for additional fields
Returns: str
sql create string

See Also: sqlCreate

sqlCreate(fields=None, extraFields=None)

source code 
Return the sqlhelp object to create the table.
Parameters:
  • fields - which fields to put in the create. Defaults to all.
  • extraFields - A sequence of tuples containing (name,sql type) for additional fields
Returns: sqlhelp.create
An object that can be used to generate a return

sqlInsertStr(params, outfile=sys.stdout, extraParams=None)

source code 
Return the SQL CREATE command for this message type
Parameters:
  • params - dictionary of values keyed by field name
  • outfile - file like object to print to.
  • extraParams - A sequence of tuples containing (name,sql type) for additional fields
Returns: str
sql create string

See Also: sqlCreate

sqlInsert(params, extraParams=None)

source code 
Give the SQL insert statement
Parameters:
  • params - dict keyed by field name of values
  • extraParams - any extra fields that you have created beyond the normal ais message fields
Returns: sqlhelp.insert
insert class instance

To Do: allow optional type checking of params?

Warning: this will take invalid keys happily and do what???

testParams()

source code 
Return a params file base on the testvalue tags.
Returns: dict
params based on testvalue tags

addMsgOptions(parser)

source code 
None

Variables Details [hide private]

__date__

Date of last svn commit
Value:
'2007-02-05'                                                           
      

TrueBV

Why always rebuild the True bit? This should speed things up a bunch
Value:
<ais.BitVector.BitVector object at 0xbc01230>                          
      

FalseBV

Why always rebuild the False bit? This should speed things up a bunch
Value:
<ais.BitVector.BitVector object at 0xbc012b0>                          
      

fieldList

None
Value:
['time_month',
 'time_day',
 'time_hour',
 'time_min',
 'stationid',
 'pos_longitude',
 'pos_latitude',
 'type',
...                                                                    
      

typeEncodeLut

None
Value:
{'Relative to datum': '0', 'Water depth': '1'}                         
      

typeDecodeLut

None
Value:
{'1': 'Water depth', '0': 'Relative to datum'}                         
      

datumEncodeLut

None
Value:
{'Reserved': '3', 'IGLD-85': '1', 'MLLW': '0'}                         
      

datumDecodeLut

None
Value:
{'1': 'IGLD-85', '0': 'MLLW', '3': 'Reserved', '2': 'Reserved'}        
      

typeChoices

None
Value:
'binary', 'nmeapayload', 'nmea'                                        
      

outputChoices

None
Value:
'std', 'html', 'csv', 'sql', 'kml', 'kml-full'                         
      

outfile

None
Value:
file(options.outputFileName, 'w')                                      
      

msgDict

None
Value:
{'time_month': options.time_monthField, 'time_day': options.time_dayFi
eld, 'time_hour': options.time_hourField, 'time_min': options.time_min
Field, 'stationid': options.stationidField, 'pos_longitude': options.p
os_longitudeField, 'pos_latitude': options.pos_latitudeField, 'type': 
options.typeField, 'waterlevel': options.waterlevelField, 'datum': opt
ions.datumField, 'reserved': '0',}                                     
      

bitLen

None
Value:
len(bits)                                                              
      

bits

None
Value:
bits+ BitVector(size= (6-(bitLen % 6)))                                
      

buf

None
Value:
StringIO.StringIO()                                                    
      

result

None
Value:
buf.getvalue()