示例#1
0
        //Vraća najbližeg susjeda: kompoziciju senzora i udaljenosti
        public userAddress searchNeighbour(string username)
        {
            userAddress returning       = new userAddress();
            sensorform  closest         = new sensorform();
            double      dist            = 0;
            double      minimalDistance = 1000000;

            foreach (sensorform senzor in sensors)
            {
                if (!(senzor.username == username))
                {
                    dist = distance(senzor.longitude, sensors.Find(item => item.username == username).longitude, senzor.latitude, sensors.Find(item => item.username == username).latitude);
                    Debug.WriteLine("Senzor " + senzor.username + ":" + dist);
                    if (dist < minimalDistance)
                    {
                        minimalDistance = dist;
                        closest         = senzor;
                    }
                }
            }

            returning.distance = minimalDistance;
            returning.senzor   = closest;
            Debug.WriteLine("Najbliži: " + returning.senzor.username + ":" + returning.distance);
            return(returning);
        }
示例#2
0
        //Registrira nove senzore
        public bool register(string username, double latitude, double longitude, string IPaddress, int port)
        {
            Debug.WriteLine("Registered");
            if (!sensors.Any(item => item.username == username))
            {
                sensorform senzor = new sensorform();
                senzor.username  = username;
                senzor.longitude = longitude;
                senzor.latitude  = latitude;
                senzor.port      = port;
                senzor.IPaddress = IPaddress;
                sensors.Add(senzor);

                printsensors();
                Debug.WriteLine("All sensors printed.");

                return(true);
            }
            else
            {
                return(false);
            }
        }