Beispiel #1
0
        public bool CLOSE_ARCFM_SESSION(string sODBC, string sSave)
        {
            IVersion pVersion;
            IVersion pNewVersion;
            IWorkspace pWKS;
            ESRI.ArcGIS.Framework.IAppROT pAppRot = new ESRI.ArcGIS.Framework.AppROT();
            ESRI.ArcGIS.Framework.IApplication pApp;

            //Set pExt = pApp.FindExtensionByName("MMSessionManager")

            //pMMSM = new mmsession
            SW1.Reset();
            SW1.Start();
            pWKS = pEditor.EditWorkspace;
            pVersion = (IVersion)pWKS;

            IVersionInfo pVersionInfo = pVersion.VersionInfo;
            IVersionedWorkspace pVWKS = (IVersionedWorkspace)pWKS;
            pNewVersion = pVWKS.DefaultVersion;
            if (sSave.ToUpper() == "TRUE")
            {
                pEditor.StopEditing(true);
            }
            else
            {
                pEditor.StopEditing(false);
            }
            //Return to Default version
            Type t = Type.GetTypeFromProgID("esriFramework.AppRef");
            System.Object obj = Activator.CreateInstance(t);
            pApp = obj as IApplication;

            SwizzleDatasets(pApp, (IFeatureWorkspace)pVersion, (IFeatureWorkspace)pNewVersion);
            SW1.Stop();
            RecordActionTime("CLOSE_ARCFM_SESSION:", SW1.ElapsedMilliseconds);
            return true;
        }
Beispiel #2
0
        private bool ZoomToScale(string sX, string sY, string sScale)
        {
            IMxDocument pMXDoc;
            IEnvelope pEnv;
            IPoint pPoint;
            double dScale;
            ESRI.ArcGIS.Framework.IAppROT pAppRot = new ESRI.ArcGIS.Framework.AppROT();
            ESRI.ArcGIS.Framework.IApplication pApp;

            try
            {
                SW1.Reset();
                SW1.Start();

                Type t = Type.GetTypeFromProgID("esriFramework.AppRef");
                System.Object obj = Activator.CreateInstance(t);
                pApp = obj as IApplication;
                pMXDoc = (IMxDocument)pApp.Document;
                // Convert X,Y to point
                pPoint = new Point();
                pPoint.SpatialReference = pMXDoc.FocusMap.SpatialReference;

                pPoint.X = System.Convert.ToDouble(sX);
                pPoint.Y = System.Convert.ToDouble(sY);
                dScale = 1.0 / System.Convert.ToDouble(sScale);
                // Convert Scale to double
                Logger.WriteLine("Scale:" + dScale.ToString() + " X:" + pPoint.X.ToString() + " Y:" + pPoint.Y.ToString());

                pMXDoc = GetDoc();
                pEnv = pMXDoc.ActiveView.FullExtent;
                pMXDoc.ActiveView.Extent = pEnv;
                pMXDoc.ActiveView.Refresh();

                SW1.Stop();
                RecordActionTime("ZOOMTOFULLEXTENT" , SW1.ElapsedMilliseconds);
                return true;
            }
            catch (Exception EX)
            {
                this.Logger.WriteLine("ZoomToFullExtents error:" + EX.Message);
                return false;
            }
        }
Beispiel #3
0
        public bool ARCFM_ZOOMTO(string sScale, string sX, string sY)
        {
            IPoint pPoint;
            double dScale;
            IMxDocument pMXDoc;
            Miner.Interop.IMMMapUtilities pMMMapUtils;
            ESRI.ArcGIS.Framework.IAppROT pAppRot = new ESRI.ArcGIS.Framework.AppROT();
            ESRI.ArcGIS.Framework.IApplication pApp;

            //Set pExt = pApp.FindExtensionByName("MMSessionManager")
            try
            {
                pMMMapUtils = new mmMapUtilsClass();
                Type t = Type.GetTypeFromProgID("esriFramework.AppRef");
                System.Object obj = Activator.CreateInstance(t);
                pApp = obj as IApplication;
                pMXDoc = (IMxDocument)pApp.Document;
                // Convert X,Y to point
                pPoint = new Point();
                pPoint.SpatialReference = pMXDoc.FocusMap.SpatialReference;

                pPoint.X = System.Convert.ToDouble(sX);
                pPoint.Y = System.Convert.ToDouble(sY);
                dScale = 1.0 / System.Convert.ToDouble(sScale);
                // Convert Scale to double
                Logger.WriteLine("Scale:" + dScale.ToString() + " X:" + pPoint.X.ToString() + " Y:" + pPoint.Y.ToString());
                SW1.Reset();
                SW1.Start();
                pMMMapUtils.ZoomTo(pPoint, pMXDoc.ActiveView, dScale);
                pMXDoc.ActiveView.Refresh();
                SW1.Stop();
                RecordActionTime("ARCFM_ZOOMTO:" ,SW1.ElapsedMilliseconds);
                return true;
            }
            catch (Exception EX)
            {
                this.Logger.WriteLine("ArcFM_ZoomTo" + EX.Message + " " + EX.StackTrace);

                return false;
            }
        }