protected override void OnClick()
        {
            if (ArcMap.Document == null || ArcMap.Document.CurrentLocation == null || ctype == CoordinateConversionLibrary.Models.CoordinateType.Unknown)
            {
                return;
            }

            var point = ArcMap.Document.CurrentLocation;

            string coord = string.Empty;

            try
            {
                var cn = point as IConversionNotation;

                switch (ctype)
                {
                case CoordinateType.DD:
                    coord = cn.GetDDFromCoords(6);
                    break;

                case CoordinateType.DDM:
                    coord = cn.GetDDMFromCoords(6);
                    break;

                case CoordinateType.DMS:
                    coord = cn.GetDMSFromCoords(2);
                    break;

                case CoordinateType.GARS:
                    coord = cn.GetGARSFromCoords();
                    break;

                case CoordinateType.MGRS:
                    coord = cn.CreateMGRS(5, true, esriMGRSModeEnum.esriMGRSMode_Automatic);
                    break;

                case CoordinateType.USNG:
                    coord = cn.GetUSNGFromCoords(5, true, true);
                    break;

                case CoordinateType.UTM:
                    coord = cn.GetUTMFromCoords(esriUTMConversionOptionsEnum.esriUTMAddSpaces | esriUTMConversionOptionsEnum.esriUTMUseNS);
                    break;

                default:
                    break;
                }

                coord = CoordinateHandler.GetFormattedCoordinate(coord, ctype);

                System.Windows.Clipboard.SetText(coord);
            }
            catch { }
        }
コード例 #2
0
    // Use this for initialization
    void Start()
    {
        WorldPos curChunkPos = CoordinateHandler.getChunk();

        print("initial" + curChunkPos);
        if (CoordinateSystem.curPlanet != null)
        {
            //print("aksdfaaasdfasdfasfasfasdhasdhsdxfasdfgusadhjasdujkashu");
            UniverseSystem.curPlanet.lod.updateAll(new WorldPos(curChunkPos.x / TerrainObject.chunkWidth, curChunkPos.y / TerrainObject.chunkWidth, curChunkPos.z / TerrainObject.chunkWidth));
        }
    }
        internal string GetFormattedCoordinate(string coord, CoordinateType cType)
        {
            string format = "";

            var tt = CoordinateConversionViewModel.AddInConfig.OutputCoordinateList.FirstOrDefault(t => t.CType == cType);

            if (tt != null)
            {
                format = tt.Format;
                Console.WriteLine(tt.Format);
            }

            var cf = CoordinateHandler.GetFormattedCoord(cType, coord, format);

            if (!String.IsNullOrWhiteSpace(cf))
            {
                return(cf);
            }

            return(string.Empty);
        }
コード例 #4
0
    // Update is called once per frame
    void Update()
    {
        //calculate the player's real position from the floating position
        //Vector3 realPos = Unitracker.getRealPos(transform.position);

        //only generate stuff for a planet if you are on a planet
        if (CoordinateSystem.curPlanet != null)
        {
            //the current chunk the player is in
            WorldPos curChunkPos = CoordinateHandler.getChunk();

            //print(curChunkPos.toVector3().magnitude);
            //only request chunk generation (of surface objects) if the chunk is within the build heigth
            if (curChunkPos.toVector3().magnitude < CoordinateSystem.curPlanet.buildHeight)
            {
                findChunk(curChunkPos);
            }

            UniverseSystem.curPlanet.lod.updateWorld(new WorldPos(curChunkPos.x / TerrainObject.chunkWidth, curChunkPos.y / TerrainObject.chunkWidth, curChunkPos.z / TerrainObject.chunkWidth));

            deleteChunks(curChunkPos);
        }
    }
        protected override void OnClick()
        {
            if (MapView.Active == null || MapView.Active.Map == null)
            {
                return;
            }

            // get screen point
            var      temp = (System.Windows.Point)ArcGIS.Desktop.Framework.FrameworkApplication.ContextMenuDataContext;
            MapPoint mp   = null;

            if (temp != null)
            {
                mp = QueuedTask.Run(() =>
                {
                    MapPoint tmp = null;

                    tmp = MapView.Active.ScreenToMap(temp);
                    return(tmp);
                }).Result as MapPoint;
            }

            if (mp == null)
            {
                return;
            }

            string coord = String.Empty;
            ToGeoCoordinateParameter tgparam;

            try
            {
                switch (cType)
                {
                case CoordinateType.DD:
                    tgparam = new ToGeoCoordinateParameter(GeoCoordinateType.DD);
                    coord   = mp.ToGeoCoordinateString(tgparam);
                    break;

                case CoordinateType.DDM:
                    tgparam = new ToGeoCoordinateParameter(GeoCoordinateType.DDM);
                    coord   = mp.ToGeoCoordinateString(tgparam);
                    break;

                case CoordinateType.DMS:
                    tgparam = new ToGeoCoordinateParameter(GeoCoordinateType.DMS);
                    coord   = mp.ToGeoCoordinateString(tgparam);
                    break;

                case CoordinateType.GARS:
                    tgparam = new ToGeoCoordinateParameter(GeoCoordinateType.GARS);
                    coord   = mp.ToGeoCoordinateString(tgparam);
                    break;

                case CoordinateType.MGRS:
                    tgparam       = new ToGeoCoordinateParameter(GeoCoordinateType.MGRS);
                    tgparam.Round = false;
                    coord         = mp.ToGeoCoordinateString(tgparam);
                    break;

                case CoordinateType.USNG:
                    tgparam           = new ToGeoCoordinateParameter(GeoCoordinateType.USNG);
                    tgparam.NumDigits = 5;
                    coord             = mp.ToGeoCoordinateString(tgparam);
                    break;

                case CoordinateType.UTM:
                    tgparam = new ToGeoCoordinateParameter(GeoCoordinateType.UTM);
                    tgparam.GeoCoordMode = ToGeoCoordinateMode.UtmNorthSouth;
                    coord = mp.ToGeoCoordinateString(tgparam);
                    break;

                default:
                    break;
                }

                coord = CoordinateHandler.GetFormattedCoordinate(coord, cType);

                System.Windows.Clipboard.SetText(coord);
            }
            catch { /* Conversion Failed */ }
        }