Beispiel #1
0
        static void Main(string[] args)
        {
            //byte[] b = Convert.FromBase64String("7ZygQEDLmZck5e3MdR/c6oOlqleDlqJuBRVQapoHAwNXwWK6HBd27Zf9R701lzaIFm98q+vgHdjtF7xtKLy7FSGlq9nB/mmG1bcnIjZvo1DjCgmYD8Knbyh1H1n55HA6");
              byte[] b = Convert.FromBase64String("aziN0b4H5CjbjPUxXKEf0gNR+CT4QlH2Osx5ReGgq0sR0TXcoE6LqHR+NDjY3yABFV9PJyEzF5td7OFhbnklSDng+ITnzIo5JbxaDG53DqM=");

              string bval = HexAscii.ConvertToHexAscii(b);
              string val = Encryption.GetAES256EncryptedText("1|42|01003014SKY8C5B| 2014/10/15 06:12:07|-12.106267|-77.030583|0|331|14.13|1|1", "ProduceEncrypAES");

              byte[] array = { 0x03, 0xCC, 0xAA };

              ushort[] indexes = NicoUtils.GetIndexFromByteMasked(array);

              Position pos = new Position();
              string lat = pos.Latitude.ToString(PositionFormat.DegDecMinInmC);
              string lon = pos.Longitude.ToString(PositionFormat.DegDecMinInmC);

              string s1 = "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?><CategorySection xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns=\"http://tempuri.org/\"><Category><Name>dist</Name><Desc>Pruebas</Desc><Count>2</Count></Category><Category><Name>dist</Name><Desc>EDEMSA</Desc><Count>111</Count></Category><Category><Name>dist</Name><Desc>EDESAL</Desc><Count>3</Count></Category><Category><Name>dist</Name><Desc>Energia San Juan</Desc><Count>5</Count></Category><Category><Name>dist</Name><Desc>EDECAT</Desc><Count>35</Count></Category><Category><Name>dist</Name><Desc>EDESA</Desc><Count>32</Count></Category><Category><Name>dist</Name><Desc>EDELAR</Desc><Count>44</Count></Category><Category><Name>dist</Name><Desc>EJESA</Desc><Count>9</Count></Category><Category><Name>dist</Name><Desc>EDESTE</Desc><Count>22</Count></Category><Category><Name>dist</Name><Desc>EDERSA</Desc><Count>66</Count></Category><Category><Name>dist</Name><Desc>EPEN</Desc><Count>22</Count></Category><Category><Name>dist</Name><Desc>COOP PUNTA ALTA</Desc><Count>3</Count></Category><Category><Name>dist</Name><Desc>COOP. DE BARILOCHE</Desc><Count>4</Count></Category><Category><Name>dist</Name><Desc>COOP. 16 DE OCTUBRE</Desc><Count>2</Count></Category><Category><Name>dist</Name><Desc>COOP. GODOY CRUZ</Desc><Count>20</Count></Category><Category><Name>dist</Name><Desc>APELP</Desc><Count>11</Count></Category><Category><Name>dist</Name><Desc>CALF</Desc><Count>20</Count></Category><Category><Name>dist</Name><Desc>EDES</Desc><Count>29</Count></Category><Category><Name>dist</Name><Desc>COOP. COMODORO</Desc><Count>12</Count></Category><Category><Name>dist</Name><Desc>COOP. TRELEW</Desc><Count>17</Count></Category><Category><Name>dist</Name><Desc>SANTA CRUZ</Desc><Count>1</Count></Category></CategorySection>";
              string c1 = CompressionUtils.Compress(s1);

              XmlDocument doc = new XmlDocument();
              string s;
              string dir = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location);
              FileStream fs = new FileStream(dir+"\\config.xml", FileMode.Open,
              FileAccess.Read, FileShare.ReadWrite);
              doc.Load(fs);
              XmlNodeList cats = XmlUtils.GetNodes("dist", doc);
              foreach (XmlNode node1 in cats)
              {
            XmlUtils.SortXmlNodeOnIntValue(node1, "rt");
            foreach (XmlNode node2 in node1.ChildNodes)
              s = node2.Name;
              }
        }
Beispiel #2
0
    public double GetDistance(Position point)
    {
      const double ERAD = 6378.135;
      const double FLATTENING = 1.0 / 298.257223563; // Earth flattening (WGS '84)
      const double DE2RA = 0.01745329252;

      double result = 0.0;
      //double lat1 = PositionUtilities.DegreesTo(latitude.getValue(), PositionUnit.Radians);
      //double lat2 = PositionUtilities.DegreesTo(point.latitude.getValue(), PositionUnit.Radians);

      double lat1 = Latitude.getValue();
      double lat2 = point.Latitude.getValue();

      // how many steps to use
      int steps; 
      if (lat2 > lat1)
        steps = (int)(100 + 100 * (0.5 + (lat2 - lat1)));
      else
        steps = (int)(100 + 100 * (0.5 + (lat1 - lat2)));
      if (steps > 4000)
        steps = 4000;

      double snLat1 = Math.Sin(DE2RA * lat1);
      double snLat2 = Math.Sin(DE2RA * lat2);
      double twoF = 2 * FLATTENING - FLATTENING * FLATTENING;

      // limits of integration
      double x1 = ERAD * Math.Cos(DE2RA * lat1) / Math.Sqrt(1 - twoF * snLat1 * snLat1);
      double x2 = ERAD * Math.Cos(DE2RA * lat2) / Math.Sqrt(1 - twoF * snLat2 * snLat2);

      double dx = (x2 - x1) / (double)(steps - 1);
      double x, dydx;
      //double y1, y2, dy;
      double adx = (dx < 0.0) ? -dx : dx;    // absolute value of dx

      double a2 = ERAD * ERAD;
      double oneF = 1 - FLATTENING;

      // now loop through each step adding up all the little
      // hypotenuses
      for (int i = 0; i < (steps - 1); i++)
      {
        x = x1 + dx * i;
        dydx = ((ERAD * oneF * Math.Sqrt((1.0 - ((x + dx) * (x + dx)) / a2))) -
           (ERAD * oneF * Math.Sqrt((1.0 - (x * x) / a2)))) / dx;
        result += adx * Math.Sqrt(1.0 + dydx * dydx);
      }

      return result;
    }
Beispiel #3
0
    public double GetDistance2(Position point)
    {
      const double DE2RA = 0.01745329252;
      //Calculate distance (in kilometers) between two points given as (long, latt) pairs
      //based on Haversine formula (http://en.wikipedia.org/wiki/Haversine_formula).
      //Implementation inspired by JavaScript implementation from 
      //http://www.movable-type.co.uk/scripts/latlong.html
      //a = (sin(dlat/2))^2 + cos(lat1) * cos(lat2) * (sin(dlon/2))^2
      //c = 2 * arcsin(min(1,sqrt(a)))
      //distance = (Earth Radius) * c
      //Accepts coordinates as tuples (deg, min, sec), but coordinates can be given
      double start_latt = DE2RA * PositionUtilities.DegreesTo(Latitude.getValue(), PositionUnit.Radians);
      double start_long = DE2RA * PositionUtilities.DegreesTo(Longitude.getValue(), PositionUnit.Radians);

      double end_latt = DE2RA * PositionUtilities.DegreesTo(point.Latitude.getValue(), PositionUnit.Radians);
      double end_long = DE2RA * PositionUtilities.DegreesTo(point.Longitude.getValue(), PositionUnit.Radians);

      double d_latt = end_latt - start_latt;
      double d_long = end_long - start_long;

      //double a = Math.Pow(Math.Sin(d_latt / 2), 2) + (Math.Cos(start_latt) * Math.Cos(end_latt) * Math.Pow(Math.Sin(d_long / 2), 2));
      //double c = 2 * Math.Atan2(Math.Sqrt(a), Math.Sqrt(1 - a));
      //double c = 2 * Math.Asin(Math.Min(1, Math.Sqrt(a)));
      //return 6371.0 * c;
  
      double d = Math.Sin(start_latt) * Math.Sin(end_latt) +  Math.Cos(start_latt) * Math.Cos(end_latt) * Math.Cos(start_long - end_long);
      return 6371.0 * Math.Acos(d);
    }
Beispiel #4
0
 public RainbowRecord()
 {
     position = new Position();
       pos_fecha = DateTime.Now;
 }
Beispiel #5
0
 public RGP()
 {
     ReportPosition = new Position();
       EquipmentID = "1000";
       ReportEvent = 1;
 }
Beispiel #6
0
 public RGPVar()
 {
     ReportPosition = new Position();
       ReportEvent = "00";
 }