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; } }
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; }
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); }
public RainbowRecord() { position = new Position(); pos_fecha = DateTime.Now; }
public RGP() { ReportPosition = new Position(); EquipmentID = "1000"; ReportEvent = 1; }
public RGPVar() { ReportPosition = new Position(); ReportEvent = "00"; }