示例#1
0
 def test_should_compute_chesapeake( self ):
     """About 11d 0m W, (almost exactly -11) for 4/18/2012"""
     p1= LatLon( lat=Angle2.fromdegrees(37.8311, "N"), lon=Angle2.fromdegrees(76.2819, "W") )
     #print( "p1 = {0}".format( p1.dms ) )
     d= declination( p1, date=datetime.date(2012,4,18) )
     #print( "declination= {0}".format(d.dm) )
     self.assertAlmostEqual( -11, d.dm[0] )
示例#2
0
 def setUp( self ):
     self.schedule = [
         SchedulePoint(
                 RoutePoint_Rhumb(
                     RoutePoint(  "Piankatank 6", "37.533195", "-76.316963", "",
                     LatLon("37.533195N", "76.316963W"),
                      ),
                      0.59944686,
                      Angle2.fromdegrees(348.0038223),
                 ),
             0.59944686,
             Angle2.fromdegrees(348.0038223),
             Angle2.fromdegrees(337.0867607),
             0.59944686,
             7.19336232,
             "00h 07m",
         ),
         SchedulePoint(
                 RoutePoint_Rhumb(
                     RoutePoint( "Jackson Creek Entrance", "37.542961", "-76.319580", "",
                     LatLon("37.542961N", "76.319580W")
                     ),
                     None,
                     None,
                 ),
             None,
             None,
             None,
             None,
             None,
             None,
         ),
     ]
     self.target= StringIO()
     self.expected= """\
示例#3
0
 def setUp( self ):
     route = [
         RoutePoint_Rhumb_Magnetic(
             RoutePoint_Rhumb(
                 RoutePoint(  "Piankatank 6", "37.533195", "-76.316963", "",
                 LatLon("37.533195N", "76.316963W"),
                  ),
                  0.59944686,
                  Angle2.fromdegrees(348.0038223),
             ),
             0.59944686,
             Angle2.fromdegrees(348.0038223),
             Angle2.fromdegrees(337.0867607),
         ),
         RoutePoint_Rhumb_Magnetic(
             RoutePoint_Rhumb(
                 RoutePoint( "Jackson Creek Entrance", "37.542961", "-76.319580", "",
                 LatLon("37.542961N", "76.319580W")
                 ),
                 None,
                 None,
             ),
             None,
             None,
             None,
         ),
     ]
     self.generator= gen_schedule( iter( route ), speed=5 )
示例#4
0
 def test_should_compute_equator( self ):
     """somewhere near -5d 50m for 4/18/2012"""
     p1= LatLon( lat=Angle2.fromstring("0.0N"), lon=Angle2.fromstring( "0.0E" ) )
     #print( "p1 = {0}".format( p1.dms ) )
     d= declination( p1, date=datetime.date(2012,4,18)  )
     #print( "declination= {0}".format(d.dm) )
     self.assertAlmostEqual( -5, d.dm[0] )
     self.assertTrue( 45 <= d.dm[1] <= 55 )
示例#5
0
 def test_should_compute( self ):
     p1= LatLon( lat=Angle2.fromstring("51 07 32N"), lon=Angle2.fromstring("001 20 17E") )
     #print( "p1 = {0}".format( p1.dms ) )
     bearing= Angle( "116 38 10" )
     #print( "theta = {0}".format( bearing.dms ) )
     p2= destination( p1, 40.23, bearing, R=KM )
     self.assertEqual( ("50 57 48.1N", "001 51 08.8E"), p2.dms )
     self.assertEqual( ("50.963N", "001.852E"), p2.d )
示例#6
0
 def test_should_compute( self ):
     p1= LatLon( lat=Angle2.fromstring("50 21 50N"), lon=Angle2.fromstring("004 09 25W") )
     p2= LatLon( lat=Angle2.fromstring("42 21 04N"), lon=Angle2.fromstring("071 02 27W") )
     #print( "p1 = {0}".format( p1.dms ) )
     #print( "p2 = {0}".format( p2.dms ) )
     d, brg = range_bearing( p1, p2, R=KM )
     self.assertEqual( 5196, int(d) )
     self.assertEqual( (260, 7, 38), tuple(map(int,map(round,brg.dms))) )
     d, brg = range_bearing( p1, p2, R=NM )
     self.assertEqual( 2805, int(d) )
     self.assertEqual( (260, 7, 38), tuple(map(int,map(round,brg.dms))) )
示例#7
0
 def setUp( self ):
     route = [
         RoutePoint_Rhumb(
             RoutePoint(  "Piankatank 6", "37.533195", "-76.316963", "",
             LatLon("37.533195N", "76.316963W"),
              ),
              0.59944686,
              Angle2.fromdegrees(348.0038223),
             ),
         RoutePoint_Rhumb(
             RoutePoint( "Jackson Creek Entrance", "37.542961", "-76.319580", "",
             LatLon("37.542961N", "76.319580W")
             ),
             None,
             None,
         ),
     ]
     self.generator= gen_mag_bearing( iter( route ), declination, date=datetime.date(2012,4,18) )
示例#8
0
 def setUp( self ):
     self.track = [
         LogEntry_Rhumb(
             LogEntry( datetime.datetime(2012,4,17,9,21), "37.533195", "-76.316963",
                 LatLon("37.533195N", "76.316963W"),
                 {'Engine': '1200 RPM', 'SOG': '0', 'Lon': '076 16.385W', 'windSpeed': '', 'Location': 'Cockrell Creek', 'COG': 'None', 'Time': '9:21 AM', 'Lat': '37 50.424N', 'Rig': 'None', 'windAngle': ''} ),
             0.59944686,
             Angle2.fromdegrees(348.0038223),
             datetime.timedelta(seconds=45*60),
             ),
         LogEntry_Rhumb(
             LogEntry( datetime.datetime(2012,4,17,10,6), "37.542961", "-76.319580",
                 LatLon("37.542961N", "76.319580W"),
                 {'Engine': '1500 RPM', 'SOG': '6.6', 'Lon': '076 16.056W', 'windSpeed': '7.0', 'Location': '', 'COG': 'None', 'Time': '10:06 AM', 'Lat': '37 47.988N', 'Rig': 'None', 'windAngle': '315'} ),
             None,
             None,
             None,
             ),
     ]
     self.target= StringIO()
     self.expected= """\