Example #1
0
        public void LatLongToSvy21Test()
        {
            Svy21Coordinate   expected, actual;
            LatLongCoordinate test;

            // SVY21 Reference Point.
            expected = new Svy21Coordinate(38744.572, 28001.642);
            test     = new LatLongCoordinate(1.366666, 103.833333);
            actual   = Svy21.ComputeSvy21(test);
            Assert.AreEqual(expected.Northing, actual.Northing, ToleranceSvy21);
            Assert.AreEqual(expected.Easting, actual.Easting, ToleranceSvy21);

            // Corner of Ang Mo Kio 66kV Substation.
            expected = new Svy21Coordinate(39105.269, 30629.967);
            test     = new LatLongCoordinate(1.3699278977737488, 103.85695034976466);
            actual   = Svy21.ComputeSvy21(test);
            Assert.AreEqual(expected.Northing, actual.Northing, ToleranceSvy21);
            Assert.AreEqual(expected.Easting, actual.Easting, ToleranceSvy21);

            // Corner of Jurong Lake Canal 400kV Cable Bridge.
            expected = new Svy21Coordinate(36307.704, 16272.970);
            test     = new LatLongCoordinate(1.3446255443241177, 103.72794378041792);
            actual   = Svy21.ComputeSvy21(test);
            Assert.AreEqual(expected.Northing, actual.Northing, ToleranceSvy21);
            Assert.AreEqual(expected.Easting, actual.Easting, ToleranceSvy21);

            // Corner of Sembawang 66kV Substation.
            expected = new Svy21Coordinate(48187.789, 27720.130);
            test     = new LatLongCoordinate(1.4520670518379692, 103.83080332777138);
            actual   = Svy21.ComputeSvy21(test);
            Assert.AreEqual(expected.Northing, actual.Northing, ToleranceSvy21);
            Assert.AreEqual(expected.Easting, actual.Easting, ToleranceSvy21);
        }
        public static List <Carpark> fixURACarparkData()
        {
            FetchPublicAPI publicAPI = new FetchPublicAPI();

            var carparks = new List <Carpark>();

            // URA Carpark Info
            var task = Task.Run(async() => await publicAPI.GetURAParkingInfoAsync());

            var URACarparkInfo = task.Result;

            var carparkNo = "";

            foreach (var r in URACarparkInfo)
            {
                if (carparkNo != r.ppCode)
                {
                    double xcoord = 0.00, ycoord = 0.00;

                    if (r.geometries != null)
                    {
                        var uncooord = r.geometries[0].coordinates.Split(",");
                        var x        = uncooord[0];
                        var y        = uncooord[1];

                        Svy21Coordinate svy21 = new Svy21Coordinate(double.Parse(x), double.Parse(y));

                        LatLongCoordinate latLong = svy21.ToLatLongCoordinate();

                        xcoord = latLong.Latitude;
                        ycoord = latLong.Longitude;
                    }

                    Carpark carpark = new Carpark()
                    {
                        Id            = Guid.NewGuid(),
                        CarparkId     = r.ppCode,
                        CarparkName   = r.ppName,
                        Address       = r.ppName,
                        AgencyType    = "URA",
                        IsCentral     = false,
                        XCoord        = xcoord.ToString(),
                        YCoord        = ycoord.ToString(),
                        ParkingSystem = "",
                        LotType       = ""
                    };

                    carparks.Add(carpark);
                }

                carparkNo = r.ppCode;
            }

            return(carparks);
        }
Example #3
0
        public void Test4()
        {
            double easting            = 27720.130;
            double northing           = 48187.789;
            CoordinateConverter cc    = new CoordinateConverter();
            Coordinate          input = new Coordinate();

            input.X = easting;
            input.Y = northing;
            Coordinate actualonemap = cc.Fr3414To4326Async(input).Result;

            Svy21Coordinate   test      = new Svy21Coordinate(northing, easting);
            LatLongCoordinate actualnus = Svy21.ComputeLatitudeLongitude(test);

            Assert.AreEqual(actualonemap.longitude, actualnus.Longitude, ToleranceLatLong);
            Assert.AreEqual(actualonemap.latitude, actualnus.Latitude, ToleranceLatLong);
        }
Example #4
0
        public void Test4()
        {
            double longitude = 103.83080332777138;
            double latitude  = 1.4520670518379692;

            CoordinateConverter cc    = new CoordinateConverter();
            Coordinate          input = new Coordinate();

            input.longitude = longitude;
            input.latitude  = latitude;
            Coordinate actualonemap = cc.Fr4326To3414Async(input).Result;

            LatLongCoordinate test      = new LatLongCoordinate(latitude, longitude);
            Svy21Coordinate   actualnus = Svy21.ComputeSvy21(test);

            Assert.AreEqual(actualonemap.Y, actualnus.Northing, ToleranceSvy21);
            Assert.AreEqual(actualonemap.X, actualnus.Easting, ToleranceSvy21);
        }
Example #5
0
        public void Test3()
        {
            double longitude = 103.72794378041792;
            double latitude  = 1.3446255443241177;

            CoordinateConverter cc    = new CoordinateConverter();
            Coordinate          input = new Coordinate();

            input.longitude = longitude;
            input.latitude  = latitude;
            Coordinate actualonemap = cc.Fr4326To3414Async(input).Result;

            LatLongCoordinate test      = new LatLongCoordinate(latitude, longitude);
            Svy21Coordinate   actualnus = Svy21.ComputeSvy21(test);

            Assert.AreEqual(actualonemap.Y, actualnus.Northing, ToleranceSvy21);
            Assert.AreEqual(actualonemap.X, actualnus.Easting, ToleranceSvy21);
        }
Example #6
0
        public void Test2()
        {
            double longitude = 103.856950349764668;
            double latitude  = 1.3699278977737488;

            CoordinateConverter cc    = new CoordinateConverter();
            Coordinate          input = new Coordinate();

            input.longitude = longitude;
            input.latitude  = latitude;
            Coordinate actualonemap = cc.Fr4326To3414Async(input).Result;

            LatLongCoordinate test      = new LatLongCoordinate(latitude, longitude);
            Svy21Coordinate   actualnus = Svy21.ComputeSvy21(test);

            Assert.AreEqual(actualonemap.Y, actualnus.Northing, ToleranceSvy21);
            Assert.AreEqual(actualonemap.X, actualnus.Easting, ToleranceSvy21);
        }
Example #7
0
 protected bool Equals(Svy21Coordinate other)
 {
     return(Easting.Equals(other.Easting) && Northing.Equals(other.Northing));
 }
Example #8
0
 protected bool Equals(Svy21Coordinate other)
 {
     return Easting.Equals(other.Easting) && Northing.Equals(other.Northing);
 }