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); }
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); } }
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"]; }
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); } }