Exemple #1
0
 private void Read()
 {
     if (_curGo == null)
     {
         //string json = PlayerPrefs.GetString("location");
         string json = GetPosData();
         if (string.IsNullOrEmpty(json))
         {
             logText.text = "没有可读取的数据";
         }
         else
         {
             ArObjData data = JsonUtility.FromJson <ArObjData>(json);
             _curGo = GameObject.CreatePrimitive(PrimitiveType.Cube);
             _curGo.transform.position    = CoordinateConvert.ChangeGPSLocation2ARPos(LocationObtainment.location, data.location, mainCamera.transform);
             _curGo.transform.eulerAngles = data.rotate;
             _curGo.transform.localScale  = data.scale;
             logText.text = "读取并加载成功:" + _curGo.transform.position;
         }
     }
     else
     {
         logText.text = "场景中已存在模型,请先删除";
     }
 }
        public void ConvertGBNGRToLatLonTest()
        {
            var convert = new CoordinateConvert();
            var latLon  = convert.GeoUKConvert(338595, 652173);
            //converted and rounded due to only having these OS NGR to lat lon 6 decimal places
            //the method returns lat lon to much higher precision
            decimal lat = decimal.Round((decimal)latLon.latitude, 6);
            decimal lon = decimal.Round((decimal)latLon.longitude, 6);

            Assert.AreEqual(lat, 55.758998M);
            Assert.AreEqual(lon, -2.980038M);
        }
Exemple #3
0
 public TransformJson(Transform transform, bool ConvertToRosCoordinates)
 {
     if (ConvertToRosCoordinates)
     {
         this.translation = new TranslationJson(CoordinateConvert.UnityToRos(transform.position));
         this.rotation    = new RotationJson(CoordinateConvert.UnityToRos(transform.rotation));
     }
     else
     {
         this.translation = new TranslationJson(transform.position);
         this.rotation    = new RotationJson(transform.rotation);
     }
 }
Exemple #4
0
        public void OnGet(int catchmentId)
        {
            ViewData["Copyright"]       = "Jeremy Fox";
            ViewData["Acknowledgement"] = "Acknowledgement: Data from the UK National River Flow Archive";
            Catchment = db.FehappGaugedcatchment
                        .Where(c => c.Catchment == catchmentId)
                        .Include(c => c.FehappAmaxdata)
                        .SingleOrDefault();
            jsonAmax = JsonData(Catchment);
            CoordinateConvert convertor = new CoordinateConvert();

            //multiplying by 100 to add trailing zeros and make into 6 figure grid refs
            CatchmentLat = convertor.GeoUKConvert(Convert.ToDouble(Catchment.NomNgre * 100), Convert.ToDouble(Catchment.NomNgrn * 100)).latitude;
            CatchmentLon = convertor.GeoUKConvert(Convert.ToDouble(Catchment.NomNgre * 100), Convert.ToDouble(Catchment.NomNgrn * 100)).longitude;
            MapsKey      = Configuration["BingMapsKey"];
        }
Exemple #5
0
 private void Save()
 {
     if (_curGo == null)
     {
         logText.text = "场景中无模型,无法保存,请添加";
     }
     else
     {
         ArObjData arObjData = new ArObjData();
         arObjData.location = CoordinateConvert.ChangeARPos2GPSLocation(LocationObtainment.location, _curGo.transform.position, mainCamera.transform);
         arObjData.rotate   = _curGo.transform.eulerAngles;
         arObjData.scale    = _curGo.transform.localScale;
         //PlayerPrefs.SetString("location", JsonUtility.ToJson(arObjData));
         SavePosData(JsonUtility.ToJson(arObjData));
         logText.text = "保存成功:pos " + _curGo.transform.position + JsonUtility.ToJson(arObjData);
     }
 }