示例#1
0
文件: Form1.cs 项目: chinasio/minegis
 public frmLegendWizard(IMapControlDefault mapControl, IPageLayoutControlDefault pagelayoutControl)
 {
     InitializeComponent();
     m_mapControl = mapControl;
     m_pageLayoutControl = pagelayoutControl;
      //   m_legend = pLegend;
 }
        public SymbolizationByLayerPropPage(MyPluginEngine.IApplication hook)
        {
            InitializeComponent();
            //禁用Glass主题
            this.EnableGlass = false;
            //不显示最大化最小化按钮
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            //
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
            //去除图标
            this.ShowIcon = false;

            m_activeView = hook.MapControl.ActiveView;
            m_map = hook.MapControl.Map;
            m_mapControl = hook.MapControl;
            m_TOCControl = hook.TOCControl;

            //if (m_hookHelper.Hook is IToolbarControl)
            //{
            //    IToolbarControl toolbarControl = m_hookHelper.Hook as IToolbarControl;
            //    m_mapControl = (IMapControl3)toolbarControl.Buddy;
            //}
            //if (m_hookHelper.Hook is IMapControl3)
            //{
            //    m_mapControl = m_hookHelper.Hook as IMapControl3;
            //}
        }
示例#3
0
 //private IMap pMap;
 //private IActiveView pActiveview;
 public BufferForm(IMapControlDefault mapControl)
 {
     InitializeComponent();
     // pMap = ParentForm.mapCtlMain.ActiveView.FocusMap;
     // pActiveview = ParentForm.mapCtlMain.ActiveView;
     this.m_mapControl = mapControl;
 }
示例#4
0
 public frmSelectBand(IMapControlDefault mapCon, IRasterLayer rasLayer, IWorkspace workSpace)
 {
     InitializeComponent();
     this.m_mapCon = mapCon;
     m_rasLayer = rasLayer;
     m_workSpace = workSpace;
 }
示例#5
0
 public SpatialQueryForm(IMapControlDefault mapControl)
 {
     InitializeComponent();
     //ParentForm = pMainForm;
     //pMap = ParentForm.mapCtlMain.ActiveView.FocusMap;
     this.m_mapControl = mapControl;
 }
示例#6
0
 /// <summary>
 /// 直接添加所有层--通过IFeatureClassContainer
 /// </summary>
 /// <param name="mapControlDefault">地图控件</param>
 /// <param name="pFeatureWorkspace">要素工作空间</param>
 /// <param name="strFileName">文件名,包括后缀</param>
 public static void GetALLCADbyWorkspace(IMapControlDefault mapControlDefault,IWorkspace pCADWorkspace, string strFileName)
 {
     IFeatureWorkspace pFeatureWorkspace = pCADWorkspace as IFeatureWorkspace;
     IFeatureDataset pFeatureDataset = pFeatureWorkspace.OpenFeatureDataset(strFileName);
     IFeatureClassContainer pFeatureClassContainer = pFeatureDataset as IFeatureClassContainer;
     for (int i = 0; i < pFeatureClassContainer.ClassCount; i++)
     {
         IFeatureClass pFeatureClass = pFeatureClassContainer.get_Class(i);
         IFeatureLayer pFeatureLayer = null;
         if (pFeatureClass.FeatureType == esriFeatureType.esriFTAnnotation)
         {
             pFeatureLayer = new CadAnnotationLayerClass();
         }
         else
         {
             pFeatureLayer = new CadFeatureLayerClass();
         }
         if (pFeatureLayer != null)
         {
             pFeatureLayer.Name = pFeatureClass.AliasName;
             pFeatureLayer.FeatureClass = pFeatureClass;
             mapControlDefault.AddLayer(pFeatureLayer as ILayer, 0);
         }
     }
 }
示例#7
0
 public TextToShapefile(IMapControlDefault mapControl, UIStatusBar pStatusBar)
 {
     m_mapControl = mapControl;
     IMap pMap = m_mapControl.ActiveView.FocusMap;
     m_FeatureLayer = pMap.get_Layer(0) as IFeatureLayer;
     m_statusBar = pStatusBar;
     frmW = new frmWaiting();
 }
示例#8
0
 public frmCallMapByCommon(OracleCommand oraCmd, IMapControlDefault mapControl, IWorkspace workSpace)
 {
     InitializeComponent();
     m_oraCmd = oraCmd;
     m_mapControl = mapControl;
     m_gdata = new GDBData(workSpace);
     m_workSpace = workSpace;
 }
示例#9
0
        public frmSearchDB(GDBConenction gcon, IMapControlDefault mapControl, OleDbCommand oraCmd)
        {
            InitializeComponent();

            m_workSpace = gcon.OpenSDEWorkspace();
            m_gcon = gcon;
            m_gdata = new GDBData(m_workSpace);
            m_mapControl = mapControl;
            m_oraCmd = oraCmd;
        }
示例#10
0
 public ToolLib(frmMain frmMian)
 {
     m_frmMian = frmMian;
     m_mapControl = frmMian.MapControl;
     m_pageLayoutControl = frmMian.PageLayoutControl;
     m_sceneControl = frmMian.SceneControl;
     m_workSpace = frmMian.WorkSpace;
     m_gcon = frmMian.Gcon;
     m_connStr = frmMian.ConnectionString;
     m_statusBar = frmMian.StatusBar;
     m_activeView = frmMian.MapControl.ActiveView;
 }
        /// <summary>
        /// Occurs when this tool is created
        /// </summary>
        /// <param name="hook">Instance of the application</param>
        public override void OnCreate(object hook)
        {
            if (m_hookHelper == null)
            {
                m_hookHelper = new HookHelperClass();
            }

            m_hookHelper.Hook = hook;
            m_MapControl      = hook as IMapControlDefault;

            m_enumQueryMode = enumQueryMode.Visiable; //changed by chulili 20110707现不再有当前编辑图层选项
            //m_enumQueryMode = enumQueryMode.CurEdit ;   //changed by chulili 2011-04-15 默认当前编辑图层
        }
示例#12
0
        /// <summary>
        /// Occurs when this tool is created
        /// </summary>
        /// <param name="hook">Instance of the application</param>
        public override void OnCreate(object hook)
        {
            if (m_hookHelper == null)
            {
                m_hookHelper = new HookHelperClass();
            }

            m_hookHelper.Hook = hook;
            m_MapControl      = hook as IMapControlDefault;

            //m_enumAttributeEditMode = enumAttributeEditMode.Top;
            //m_enumAttributeEditMode = enumAttributeEditMode.CurEdit; //changed by chulili 2011-04-15 默认当前编辑图层
        }
示例#13
0
        /// <summary>
        /// 初始化时间列表框和时间trackbar
        /// </summary>
        /// <param name="mapcontrol"></param>
        private void InitialtrsckbarTime(IMapControlDefault mapcontrol)
        {
            cmbTime.Items.Clear();

            ArrayList arrayListFromDate = new ArrayList();

            //计算各历史图层的fromdate字段唯一值
            try
            {
                for (int i = 0; i < mapcontrol.Map.LayerCount; i++)
                {
                    IFeatureLayer   featLay    = mapcontrol.Map.get_Layer(i) as IFeatureLayer;
                    ITable          table      = featLay.FeatureClass as ITable;
                    IDataStatistics statistics = new DataStatisticsClass();
                    statistics.Cursor = table.Search(null, false);
                    statistics.Field  = "FromDate";
                    IEnumerator enumDate = statistics.UniqueValues;
                    enumDate.Reset();
                    while (enumDate.MoveNext())
                    {
                        if (!arrayListFromDate.Contains(enumDate.Current))
                        {
                            arrayListFromDate.Add(enumDate.Current);
                        }
                    }
                }
            }
            catch
            { }

            //组合形成时间段
            if (arrayListFromDate.Count > 0)
            {
                arrayListFromDate.Sort();
                for (int i = 0; i < arrayListFromDate.Count; i++)
                {
                    cmbTime.Items.Add(arrayListFromDate[i]);
                }
                try
                {
                    cmbTime.SelectedIndex = arrayListFromDate.Count - 1;
                    trsckbarTime.Maximum  = arrayListFromDate.Count;
                    trsckbarTime.Minimum  = 1;
                    trsckbarTime.Value    = arrayListFromDate.Count;
                    trsckbarTime.Tag      = arrayListFromDate;
                }
                catch
                { }
            }
        }
示例#14
0
        /// <summary>
        /// Occurs when this tool is created
        /// </summary>
        /// <param name="hook">Instance of the application</param>
        public override void OnCreate(object hook)
        {
            if (m_hookHelper == null)
            {
                m_hookHelper = new HookHelperClass();
            }

            m_hookHelper.Hook              = hook;
            m_MapControl                   = hook as IMapControlDefault;
            m_pActiveView                  = m_hookHelper.FocusMap as IActiveView;
            m_pActiveViewEvents            = m_pActiveView as IActiveViewEvents_Event;
            m_pActiveViewEvents.AfterDraw += new IActiveViewEvents_AfterDrawEventHandler(m_pActiveViewEvents_AfterDraw);
            // TODO:  Add ToolAreaStatistics.OnCreate implementation
        }
示例#15
0
 public frmRangeOutMap(IMapControlDefault axmapcontrol, Form mainform)
 {
     m_mainFrm     = mainform;
     _axmapcontrol = axmapcontrol;
     InitializeComponent();
     m_pActiveViewEvents = _axmapcontrol.ActiveView as IActiveViewEvents_Event;
     try
     {
         m_pActiveViewEvents.AfterDraw += new IActiveViewEvents_AfterDrawEventHandler(m_pActiveViewEvents_AfterDraw);
     }
     catch
     {
     }
 }
示例#16
0
        private ILayer GetLayerByName(IMapControlDefault mapControl, string LayerName)
        {
            ILayer pLayer = null;

            for (int i = 0; i < mapControl.LayerCount; i++)
            {
                if (mapControl.get_Layer(i).Name == LayerName)
                {
                    pLayer = mapControl.get_Layer(i);
                    break;
                }
            }
            return(pLayer);
        }
示例#17
0
        /// <summary>
        /// 确定之后将文档进行默认保存
        /// </summary>
        /// <param name="mapControlDefault">当前视图mapcontrol</param>
        /// <returns></returns>
        public static bool SaveAsMxd(string saveAsPath, IMapControlDefault mapControlDefault, bool useRelativePath)
        {
            IMxdContents pMxdContents;

            pMxdContents = mapControlDefault.Map as IMxdContents;
            IMapDocument pMapDocument = new MapDocumentClass();

            pMapDocument.Open(mapControlDefault.DocumentFilename, "");
            pMapDocument.ReplaceContents(pMxdContents);

            pMapDocument.SaveAs(saveAsPath, useRelativePath, false);
            pMapDocument.Close();
            return(true);
        }
        /// <summary>
        /// Occurs when this tool is created
        /// </summary>
        /// <param name="hook">Instance of the application</param>
        public override void OnCreate(object hook)
        {
            m_hookHelper      = new HookHelperClass();
            m_hookHelper.Hook = hook;
            m_Mapcontrol      = (IMapControlDefault)hook;
            ILayer layer = m_engineEditor.TargetLayer;

            if (layer == null)
            {
                return;
            }
            pFeaturelayer = (IFeatureLayer)layer;
            // TODO:  Add other initialization code
        }
示例#19
0
 /// <summary>
 /// 加载Mxd
 /// </summary>
 /// <param name="mapControlDefault">当前视图mapcontrol</param>
 /// <param name="strFilePath">文件路径-可以为相对路径</param>
 /// <param name="mapNameOrIndex">地图名称或者索引,默认为空</param>
 /// <param name="password">文档密码,默认为空</param>
 public static void Load(IMapControlDefault mapControlDefault, string strFilePath, object mapNameOrIndex = null, object password = null)
 {
     if (mapNameOrIndex == null)
     {
         mapNameOrIndex = Type.Missing;
     }
     if (password == null)
     {
         password = Type.Missing;
     }
     if (mapControlDefault.CheckMxFile(strFilePath))
     {
         mapControlDefault.LoadMxFile(strFilePath, mapNameOrIndex, password);
     }
 }
示例#20
0
        //��˸��
        public static void FlashLine(IMapControlDefault mapControl, IScreenDisplay iScreenDisplay, IGeometry iGeometry)
        {
            ISimpleLineSymbol iLineSymbol;
            ISymbol iSymbol;
            IRgbColor iRgbColor;

            iLineSymbol = new SimpleLineSymbol();
            iLineSymbol.Width = 4;
            iRgbColor = new RgbColor();
            iRgbColor.Red = 255;
            iLineSymbol.Color = iRgbColor;
            iSymbol = (ISymbol)iLineSymbol;
            iSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;
            mapControl.FlashShape(iGeometry, 5, 300, iSymbol);
        }
示例#21
0
        //��˸��
        public static void FlashPoint(IMapControlDefault mapControl, IScreenDisplay iScreenDisplay, IGeometry iGeometry)
        {
            ISimpleMarkerSymbol iMarkerSymbol;
            ISymbol iSymbol;
            IRgbColor iRgbColor;

            iMarkerSymbol = new SimpleMarkerSymbol();
            iMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSCircle;
            iRgbColor = new RgbColor();
            iRgbColor.RGB = System.Drawing.Color.FromArgb(0, 0, 0).ToArgb();
            iMarkerSymbol.Color = iRgbColor;
            iSymbol = (ISymbol)iMarkerSymbol;
            iSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;
            mapControl.FlashShape(iGeometry, 5, 300, iSymbol);
        }
示例#22
0
 /// <summary>
 /// 加载Mxd
 /// </summary>
 /// <param name="mapControlDefault">当前视图mapcontrol</param>
 /// <param name="strFilePath">文件路径-可以为相对路径</param>
 /// <param name="mapNameOrIndex">地图名称或者索引,默认为空</param>
 /// <param name="password">文档密码,默认为空</param>
 public static void Load(IMapControlDefault mapControlDefault, string strFilePath, object mapNameOrIndex = null, object password = null)
 {
     if (mapNameOrIndex == null)
     {
         mapNameOrIndex = Type.Missing;
     }
     if (password == null)
     {
         password = Type.Missing;
     }
     if (mapControlDefault.CheckMxFile(strFilePath))
     {
         mapControlDefault.LoadMxFile(strFilePath, mapNameOrIndex, password);
     }
 }
示例#23
0
        //闪烁线
        public static void FlashLine(IMapControlDefault mapControl, IScreenDisplay iScreenDisplay, IGeometry iGeometry)
        {
            ISimpleLineSymbol iLineSymbol;
            ISymbol iSymbol;
            IRgbColor iRgbColor;

            iLineSymbol = new SimpleLineSymbol();
            iLineSymbol.Width = 4;
            iRgbColor = new RgbColor();
            iRgbColor.Red = 255;
            iLineSymbol.Color = iRgbColor;
            iSymbol = (ISymbol)iLineSymbol;
            iSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;
            mapControl.FlashShape(iGeometry, 5, 300, iSymbol);
        }
示例#24
0
        //闪烁点
        public static void FlashPoint(IMapControlDefault mapControl, IScreenDisplay iScreenDisplay, IGeometry iGeometry)
        {
            ISimpleMarkerSymbol iMarkerSymbol;
            ISymbol iSymbol;
            IRgbColor iRgbColor;

            iMarkerSymbol = new SimpleMarkerSymbol();
            iMarkerSymbol.Style = esriSimpleMarkerStyle.esriSMSCircle;
            iRgbColor = new RgbColor();
            iRgbColor.RGB = System.Drawing.Color.FromArgb(0, 0, 0).ToArgb();
            iMarkerSymbol.Color = iRgbColor;
            iSymbol = (ISymbol)iMarkerSymbol;
            iSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;
            mapControl.FlashShape(iGeometry, 5, 300, iSymbol);
        }
示例#25
0
 //ZQ  20110801    Modify
 public frmExportDataByMapNO(IList <string> strMapNOs, bool pVisble, bool bDLG, bool bDEM, bool bDOM, IMapControlDefault pMapControl, IWorkspace pWs)
 {
     InitializeComponent();
     m_strMapNOs  = strMapNOs;
     m_MapControl = pMapControl;
     m_WS         = pWs;
     if (!pVisble)
     {
         chckBoxDDBH.Visible = false;
         txtDDBH.Visible     = false;
     }
     chkBoxDLG.Checked = bDLG;
     chkBoxDEM.Checked = bDEM;
     chkBoxDOM.Checked = bDOM;
 }
示例#26
0
        public static void ZoomToFeature(IFeature pFeat, IMapControlDefault mapCtl)
        {
            if (pFeat.Shape.GeometryType == esriGeometryType.esriGeometryPoint)
            {
                mapCtl.CenterAt((Point)pFeat);

            }
            else
            {
                mapCtl.ActiveView.Extent = pFeat.Extent;

            }
            mapCtl.ActiveView.PartialRefresh(esriViewDrawPhase.esriViewGeography, null, null);
            return;
        }
示例#27
0
文件: FormMain.cs 项目: yiyi99/YCMap
        public FormMain()
        {
            InitializeComponent();

            try
            {
                //初始化IMapControlDefault与IPageLayoutControlDefault接口变量
                m_mapControl        = axMapControl1.Object as IMapControlDefault;
                m_pageLayoutControl = axPageLayoutControl1.Object as IPageLayoutControlDefault;
                m_tocControl        = axTOCControl1.Object as ITOCControlDefault;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
示例#28
0
 /// <summary>
 /// 构造函数
 /// </summary>
 public MainPage()
 {
     this.Presenter = new MainPagePresenters(this);
     InitializeComponent();
     try
     {
         //初始化IMapControlDefault与IPageLayoutControlDefault接口变量
         m_mapControl        = axMapControl1.Object as IMapControlDefault;
         m_pageLayoutControl = axPageLayoutControl1.Object as IPageLayoutControlDefault;
         m_tocControl        = axTOCControl1.Object as ITOCControlDefault;
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
示例#29
0
        /// <summary>
        /// 通过ICadDrawingDataset与ICadLayer获取cad
        /// </summary>
        /// <param name="mapControlDefault">地图控件</param>
        /// <param name="strPathWithoutFileName">文件所在文件夹路径</param>
        /// <param name="strFileName">文件名,包括后缀</param>
        public static void GetAllCADbyCADLayer(IMapControlDefault mapControlDefault, string strPathWithoutFileName, string strFileName)
        {
            ICadDrawingDataset cadDrawingDataset = GetCadDataset(strPathWithoutFileName, strFileName);

            if (cadDrawingDataset == null)
            {
                return;
            }
            ICadLayer cadLayer = new CadLayerClass();

            cadLayer.CadDrawingDataset = cadDrawingDataset;
            cadLayer.Name = strFileName;
            ILayer mLayer = cadLayer as ILayer;

            mapControlDefault.AddLayer(mLayer, 0);
        }
示例#30
0
        public override void OnClick()
        {
            if (_AppHk == null)
            {
                return;
            }
            if (_AppHk.MapControl == null)
            {
                return;
            }
            IMap pMap = _AppHk.MapControl.Map;
            IMapControlDefault pMapControl = _AppHk.MapControl;
            FrmGetXZQLocation  newfrom     = new FrmGetXZQLocation();

            newfrom.m_DefaultMap = pMapControl;
            newfrom.ShowDialog();
        }
示例#31
0
        /// <summary>
        /// 根据图层名称获取图层对象
        /// </summary>
        /// <param name="name">图层名称</param>
        /// <param name="mapControl">地图控件对象</param>
        /// <returns>ILayer图层对象</returns>
        public ILayer getLayerByName(string name, IMapControlDefault mapControl)
        {
            if (mapControl == null)
            {
                return(null);
            }

            for (int i = 0; i < mapControl.LayerCount; i++)
            {
                ILayer layer = mapControl.get_Layer(i);
                if (name.ToUpper() == layer.Name.ToUpper())
                {
                    return(layer);
                }
            }
            return(null);
        }
示例#32
0
 public ControlHistoryBar(AxMapControl arcGisMapControl, ITOCControlDefault tocControl, DevComponents.AdvTree.AdvTree pProTree, DevComponents.DotNetBar.Bar barHistory, DevComponents.DotNetBar.DotNetBarManager dotNetBarManager)
 {
     InitializeComponent();
     InitialFrm();
     ArcGisMapControl = arcGisMapControl;
     Mapcontrol       = ArcGisMapControl.Object as IMapControlDefault;
     m_ProTree        = pProTree;//cyf 20110705 add
     if (m_ProTree == null)
     {
         return;                   //cyf 20110705 add
     }
     Toccontrol            = tocControl;
     BarHistoryDataCompare = barHistory;
     MainDotNetBarManager  = dotNetBarManager;
     _map = Mapcontrol.Map;
     ((IActiveViewEvents_Event)_map).ItemDeleted += new IActiveViewEvents_ItemDeletedEventHandler(LayerControl_ItemDeleted);
 }
        public fm_RasterRenderClassification(MyPluginEngine.IApplication hook)
        {
            InitializeComponent();
            //禁用Glass主题
            this.EnableGlass = false;
            //不显示最大化最小化按钮
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            //
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
            //去除图标
            this.ShowIcon = false;

            m_map = hook.MapControl.Map;
            axtoccontrol = hook.TOCControl;
            axmapcontrol = hook.MapControl;
        }
示例#34
0
 //ZQ   20110801   modify
 public frmOrderTask(IMapControlDefault pMapControl, IWorkspace pWs, bool bDLG, bool bDEM, bool bDOM, string strSize, string strBH, string strMapNo)
 {
     InitializeComponent();
     m_MapControl = pMapControl;
     m_WS         = pWs;
     initialization();
     chkBoxDLG.Checked = bDLG;
     chkBoxDEM.Checked = bDEM;
     chkBoxDOM.Checked = bDOM;
     txtBH.Text        = strBH;
     txtSL.Text        = strSize;
     string[] listMapNo = strMapNo.ToString().Split(new char[] { ',' });
     for (int i = 0; i < listMapNo.Length; i++)
     {
         checkedBoxMapNO.Items.Add(listMapNo[i], true);
     }
 }
示例#35
0
        public override void OnActivate()
        {
            base.OnActivate();

            IMapControlDefault mapCtrl = null;

            if (m_app.MapControl is AxMapControl)
            {
                mapCtrl = ((m_app.MapControl as AxMapControl).Object as IMapControlDefault);
            }
            else
            {
                return;
            }

            WinConnectToSDE winConnToSDE = new WinConnectToSDE();

            winConnToSDE.Owner = m_app.MainWindow;
            if ((bool)winConnToSDE.ShowDialog())
            {
                string server   = winConnToSDE.Server;
                string instance = winConnToSDE.Instance;
                string database = winConnToSDE.Database;
                string user     = winConnToSDE.User;
                string password = winConnToSDE.Password;
                string version  = winConnToSDE.Version;

                IWorkspace ws = OpenSDEWorkspace(server, instance, database, user, password, version);
                if (ws != null)
                {
                    FormSelectDatasets frmSelectDS = new FormSelectDatasets(ws);
                    if (frmSelectDS.ShowDialog() == DialogResult.OK)
                    {
                        List <ILayer> layers = frmSelectDS.SelectedLayers;
                        foreach (ILayer layer in layers)
                        {
                            AddLayerToMap(mapCtrl.Map, layer);
                        }

                        mapCtrl.ActiveView.Extent = frmSelectDS.SelectedExtent;
                        mapCtrl.ActiveView.Refresh();
                    }
                }
            }
        }
示例#36
0
        /// <summary>
        /// 显示符号选择器
        /// </summary>
        private void ShowSymbolSelectForm()
        {
            ISimpleRenderer currentSimpleRender;

            IMapControlDefault pMapControl      = m_hookHelper.Hook as IMapControlDefault;
            IGeoFeatureLayer   pGeoFeatureLayer = pMapControl.CustomProperty as IGeoFeatureLayer;

            if (pGeoFeatureLayer == null)
            {
                return;
            }

            currentSimpleRender = pGeoFeatureLayer.Renderer as ISimpleRenderer;
            SymbolForm        symbolForm      = new SymbolForm(currentSimpleRender);
            IStyleGalleryItem styleGallryItem = null;

            switch (pGeoFeatureLayer.FeatureClass.ShapeType)
            {
            case esriGeometryType.esriGeometryPoint:
                styleGallryItem = symbolForm.GetItem(esriSymbologyStyleClass.esriStyleClassMarkerSymbols);
                break;

            case esriGeometryType.esriGeometryPolyline:
                styleGallryItem = symbolForm.GetItem(esriSymbologyStyleClass.esriStyleClassLineSymbols);
                break;

            case esriGeometryType.esriGeometryPolygon:
                styleGallryItem = symbolForm.GetItem(esriSymbologyStyleClass.esriStyleClassFillSymbols);
                break;
            }

            symbolForm.Dispose();
            if (styleGallryItem == null)
            {
                return;
            }

            ISimpleRenderer simpleRender = new SimpleRendererClass();

            simpleRender.Symbol       = styleGallryItem.Item as ISymbol;
            pGeoFeatureLayer.Renderer = simpleRender as IFeatureRenderer;

            pMapControl.Refresh(esriViewDrawPhase.esriViewGeography, null, null);
            SymbolChanged();
        }
示例#37
0
        public override void OnClick()
        {
            IMapControlDefault pMapControl = m_hookHelper.Hook as IMapControlDefault;
            IGeoFeatureLayer   pGeoFeatLyr = pMapControl.CustomProperty as IGeoFeatureLayer;

            if (pGeoFeatLyr == null)
            {
                return;
            }

            SymbolForm symbolForm = new SymbolForm();

            IStyleGalleryItem styleGalleryItem = null;

            switch (pGeoFeatLyr.FeatureClass.ShapeType)
            {
            case esriGeometryType.esriGeometryPoint:
                styleGalleryItem = symbolForm.GetItem(esriSymbologyStyleClass.esriStyleClassMarkerSymbols);
                break;

            case esriGeometryType.esriGeometryPolyline:
                styleGalleryItem = symbolForm.GetItem(esriSymbologyStyleClass.esriStyleClassLineSymbols);
                break;

            case esriGeometryType.esriGeometryPolygon:
                styleGalleryItem = symbolForm.GetItem(esriSymbologyStyleClass.esriStyleClassFillSymbols);
                break;
            }

            symbolForm.Dispose();

            m_App.MainPlatfrom.Activate();

            if (styleGalleryItem == null)
            {
                return;
            }

            ISimpleRenderer simpleRenderer = new SimpleRendererClass();

            simpleRenderer.Symbol = (ISymbol)styleGalleryItem.Item;
            pGeoFeatLyr.Renderer  = simpleRenderer as IFeatureRenderer;

            pMapControl.Refresh(esriViewDrawPhase.esriViewGeography, null, null);
        }
示例#38
0
        /// <summary>
        /// 根据图层组名获取组图层

        /// </summary>
        /// <param name="pMapcontrol"></param>
        /// <param name="strName">图层组名称</param>
        /// <returns></returns>
        public static IGroupLayer GetGroupLayer(IMapControlDefault pMapcontrol, string strName)
        {
            IGroupLayer pGroupLayer = null;

            for (int i = 0; i < pMapcontrol.Map.LayerCount; i++)
            {
                ILayer pLayer = pMapcontrol.Map.get_Layer(i);
                if (pLayer is IGroupLayer)
                {
                    if (pLayer.Name == strName)
                    {
                        pGroupLayer = pLayer as IGroupLayer;
                        break;
                    }
                }
            }
            return(pGroupLayer);
        }
示例#39
0
        public fm_RasterRenderClassification(MyPluginEngine.IApplication hook)
        {
            InitializeComponent();
            //禁用Glass主题
            this.EnableGlass = false;
            //不显示最大化最小化按钮
            this.MaximizeBox = false;
            this.MinimizeBox = false;
            //
            this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
            //去除图标
            this.ShowIcon = false;


            m_map        = hook.MapControl.Map;
            axtoccontrol = hook.TOCControl;
            axmapcontrol = hook.MapControl;
        }
示例#40
0
 /// <summary>
 /// 确定之后将文档进行默认保存
 /// </summary>
 /// <param name="mapControlDefault">当前视图mapcontrol</param>
 /// <returns></returns>
 public static bool SaveInMxd(IMapControlDefault mapControlDefault)
 {
     IMxdContents pMxdContents;
     pMxdContents = mapControlDefault.Map as IMxdContents;
     IMapDocument pMapDocument = new MapDocumentClass();
     pMapDocument.Open(mapControlDefault.DocumentFilename, "");
     pMapDocument.ReplaceContents(pMxdContents);
     try
     {
         pMapDocument.Save(true, true);
         return true;
     }
     catch
     {
         //MessageBox.Show("当前的文档文件发生共享冲突!请关闭其他打开该文档的应用。", "警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
         return false;
     }
 }
示例#41
0
        //闪烁面
        public static void FlashPolygon(IMapControlDefault mapControl, IScreenDisplay iScreenDisplay, IGeometry iGeometry)
        {
            ISimpleFillSymbol iFillSymbol;
            ISymbol iSymbol;
            IRgbColor iRgbColor;

            iFillSymbol = new SimpleFillSymbol();
            iFillSymbol.Style = esriSimpleFillStyle.esriSFSSolid;
            iFillSymbol.Outline.Width = 12;

            iRgbColor = new RgbColor();
            iRgbColor.RGB = System.Drawing.Color.FromArgb(100, 180, 180).ToArgb();
            iFillSymbol.Color = iRgbColor;

            iSymbol = (ISymbol)iFillSymbol;
            iSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;
            iScreenDisplay.SetSymbol(iSymbol);
            mapControl.FlashShape(iGeometry, 5, 300, iSymbol);
        }
示例#42
0
        //2.加载Lyr
        //3.加载Shp
        //4.打开CAD数据 4.1-ArcEngine接口,4.2-netDXF.dll--使用开源插件,主要用于导出为dxf文件

        #region 加载CAD数据

        /***4.1-ArcEngine接口***/

        /// <summary>
        /// 通过指定的本地路径打开CAD所有图层数据
        /// </summary>
        /// <param name="mapControlDefault">默认的mapcontrol最新接口</param>
        /// <param name="strPath">cad文件的路径-包括文件名及后缀名</param>
        public static void GetAllCADbyPath(IMapControlDefault mapControlDefault, string strPath)
        {
            IWorkspaceFactory pWorkspaceFactory = new CadWorkspaceFactoryClass();
            string strPathWithoutFileName = Path.GetDirectoryName(strPath);
            string strFileName = Path.GetFileName(strPath);
            string strFileNameWithoutExtention = Path.GetFileNameWithoutExtension(strPath);

            IWorkspace pCADWorkspace = pWorkspaceFactory.OpenFromFile(strPathWithoutFileName, 0);//hWnd的参数是父窗口或应用程序的窗口
            if (!(pCADWorkspace.Type == esriWorkspaceType.esriFileSystemWorkspace))
                return;
            //1-pFeatureWorkspace.OpenFeatureDataset方法--推荐:可以判断注记层
            GetALLCADbyWorkspace(mapControlDefault, pCADWorkspace, strFileName);
            //2-通过IName获取到CadDrawingDataset在cadLayer
            //GetAllCADbyCADLayer(mapControlDefault,strPathWithoutFileName,strFileName);
            //3-通过ICadDrawingWorkspace获取到CadDrawingDataset
            //GetALLCADLayer(mapControlDefault, pCADWorkspace, strFileName);

            mapControlDefault.ActiveView.Refresh();
        }
示例#43
0
 public bool LoadMapDocument(IMapControlDefault pMapControl, string sMxDocID)
 {
     try
     {
         if (pMapControl == null)
         {
             MessageBox.Show("地图文档加载失败,控件 MapControl 加载失败。", "错误警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
             return(false);
         }
         if (string.IsNullOrEmpty(sMxDocID.Trim()))
         {
             MessageBox.Show("地图文档加载失败,文档ID " + sMxDocID + " 错误。", "错误警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
             return(false);
         }
         string path = null;
         path = UtilFactory.GetConfigOpt().RootPath + @"\" + UtilFactory.GetConfigOpt().GetConfigValue(sMxDocID);
         if (!File.Exists(path))
         {
             MessageBox.Show("地图文档加载失败,文档文件 " + path + " 不存在。", "错误警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
             return(false);
         }
         if (!pMapControl.CheckMxFile(path))
         {
             MessageBox.Show("地图文档加载失败,文档文件 " + path + " 内存在错误。", "错误警告", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
             return(false);
         }
         pMapControl.LoadMxFile(path, null, null);
         IActiveView activeView = pMapControl.ActiveView;
         if (activeView.GraphicsContainer != null)
         {
             IViewManager manager          = activeView as IViewManager;
             ISelection   elementSelection = manager.ElementSelection;
             activeView.Selection = elementSelection;
         }
         return(true);
     }
     catch (Exception exception)
     {
         this.mErrOpt.ErrorOperate(this.mSubSysName, "FunFactory.CoreFun", "LoadMapDocument", exception.GetHashCode().ToString(), exception.Source, exception.Message, "", "", "");
         return(false);
     }
 }
示例#44
0
        /// <summary>
        /// Occurs when this tool is created
        /// </summary>
        /// <param name="hook">Instance of the application</param>
        public override void OnCreate(object hook)
        {
            if (m_hookHelper == null)
            {
                m_hookHelper = new HookHelperClass();
            }

            m_hookHelper.Hook = hook;
            if (hook is IMapControlDefault)
            {
                m_mapCtrl = hook as IMapControlDefault;
            }
            else if (hook is IToolbarControl)
            {
                IToolbarControl toolbarCtrl = hook as IToolbarControl;
                m_mapCtrl = toolbarCtrl.Buddy as IMapControlDefault;
            }

            // TODO:  Add QueryTool.OnCreate implementation
        }
示例#45
0
        /// <summary>
        /// 从mapcontrol上获取图幅结合表,首先获得“范围”图层组
        /// </summary>
        /// <param name="pMapcontrol"></param>
        /// <param name="strGroupLayerName">GroupLayer名称</param>
        /// <param name="strLayerName">GroupLayer下的某个图层名称</param>
        /// <returns></returns>
        public static ILayer GetLayerOfGroupLayer(IMapControlDefault pMapcontrol, string strGroupLayerName, string strLayerName)
        {
            ILayer          pLayer          = null;
            IGroupLayer     pGroupLayer     = GetGroupLayer(pMapcontrol, strGroupLayerName);//获得范围图层组
            ICompositeLayer pCompositeLayer = pGroupLayer as ICompositeLayer;

            if (pCompositeLayer.Count == 0)
            {
                return(null);
            }
            for (int i = 0; i < pCompositeLayer.Count; i++)
            {
                ILayer mLayer = pCompositeLayer.get_Layer(i);
                if (mLayer.Name == strLayerName)
                {
                    pLayer = mLayer;
                    break;
                }
            }
            return(pLayer);//获得图幅结合表
        }
示例#46
0
        public override void OnCreate(IDsApplication hook)
        {
            base.m_app             = hook;
            base.Caption           = "全图显示";
            base.Category          = "视图操作";
            base.Message           = "当前工具:全图显示";
            base.Tooltip           = "全图显示";
            base.Name              = "EsriMapFullExtent";
            base.Checked           = false;
            base.Enabled           = true;
            base.m_bitmapNameSmall = "EsriMapFullExtent_16.png";
            base.m_bitmapNameLarge = "EsriMapFullExtent_32.png";

            base.LoadSmallBitmap();
            base.LoadLargeBitmap();

            if (hook.MapControl is AxMapControl)
            {
                m_mapCtrl = (hook.MapControl as AxMapControl).Object as IMapControlDefault;
            }
        }
示例#47
0
        public frmLayerProperties(ILayer pLayer, IMapControlDefault mapcontrol, bool FeatureTure, string Layerid)
        {
            m_pLayer = pLayer;
            LayerID  = Layerid;
            ILayerEffects pLyrEffects = m_pLayer as ILayerEffects;

            m_shorttra = pLyrEffects.Transparency;//设置初始值 xisheng 20110729
            //在这判断是否为影像和适量了
            if (pLayer is IRasterCatalogLayer || pLayer is IRasterLayer)
            {
                FeatureTure = false;
            }
            else
            {
                FeatureTure = true;
            }
            m_MapControl  = mapcontrol;
            m_featureTrue = FeatureTure;
            InitializeComponent();
            InitTabControl();//添加TabControl
        }
示例#48
0
 //��˸Ŀ��
 public FlashFeature(IMapControlDefault mapControl, IFeature iFeature, IMap iMap)
 {
     IActiveView iActiveView = iMap as IActiveView;
     if (iActiveView != null)
     {
         iActiveView.ScreenDisplay.StartDrawing(0, (short)esriScreenCache.esriNoScreenCache);
         //���ݼ������͵��ò�ͬ�Ĺ���
         switch (iFeature.Shape.GeometryType)
         {
             case esriGeometryType.esriGeometryPolyline:
                 FlashLine(mapControl, iActiveView.ScreenDisplay, iFeature.Shape);
                 break;
             case esriGeometryType.esriGeometryPolygon:
                 FlashPolygon(mapControl, iActiveView.ScreenDisplay, iFeature.Shape);
                 break;
             case esriGeometryType.esriGeometryPoint:
                 FlashPoint(mapControl, iActiveView.ScreenDisplay, iFeature.Shape);
                 break;
             default:
                 break;
         }
         iActiveView.ScreenDisplay.FinishDrawing();
     }
 }
示例#49
0
 public ControlsSynchronizer(IMapControlDefault mapControl, IPageLayoutControlDefault pageLayoutControl)
     : this()
 {
     m_mapControl = mapControl;
     m_pageLayoutControl = pageLayoutControl;
 }
示例#50
0
 public LayerMenu(IMapControlDefault _mapControl)
 {
     this.m_mapControl = _mapControl;
     //this.m_layer = (ILayer)_mapControl.CustomProperty;
 }
示例#51
0
 public QueryForm(IMapControlDefault mapControl)
 {
     InitializeComponent();
     pMap = mapControl.ActiveView.FocusMap;
     m_mapControl = mapControl;
 }
示例#52
0
 public CreateLayer(IMapControlDefault mapcontrol)
 {
     m_mapControl = mapcontrol;
 }
示例#53
0
 public frmOpenMapByCoordinate(IMapControlDefault aMap)
 {
     InitializeComponent();
     pMapControl = aMap;
 }
示例#54
0
 public frmCacu(IMapControlDefault mapControl,IFeatureClass feaC)
 {
     InitializeComponent();
     this.m_mapControl = mapControl;
     m_feaC=feaC;
 }
示例#55
0
        //��˸��
        public static void FlashPolygon(IMapControlDefault mapControl, IScreenDisplay iScreenDisplay, IGeometry iGeometry)
        {
            ISimpleFillSymbol iFillSymbol;
            ISymbol iSymbol;
            IRgbColor iRgbColor;

            iFillSymbol = new SimpleFillSymbol();
            iFillSymbol.Style = esriSimpleFillStyle.esriSFSSolid;
            iFillSymbol.Outline.Width = 12;

            iRgbColor = new RgbColor();
            iRgbColor.RGB = System.Drawing.Color.FromArgb(100, 180, 180).ToArgb();
            iFillSymbol.Color = iRgbColor;

            iSymbol = (ISymbol)iFillSymbol;
            iSymbol.ROP2 = esriRasterOpCode.esriROPNotXOrPen;
            iScreenDisplay.SetSymbol(iSymbol);
            mapControl.FlashShape(iGeometry, 5, 300, iSymbol);
        }
示例#56
0
        /// <summary>
        /// Occurs when this tool is created
        /// </summary>
        /// <param name="hook">Instance of the application</param>
        public override void OnCreate(object hook)
        {
            if (m_hookHelper == null)
                m_hookHelper = new HookHelperClass();

            m_hookHelper.Hook = hook;
            if (hook is IMapControlDefault)
            {
                m_mapCtrl = hook as IMapControlDefault;
            }
            else if (hook is IToolbarControl)
            {
                IToolbarControl toolbarCtrl = hook as IToolbarControl;
                m_mapCtrl = toolbarCtrl.Buddy as IMapControlDefault;
            }

            // TODO:  Add QueryTool.OnCreate implementation
        }
示例#57
0
 public void OnCreate(MyPluginEngine.IApplication hook)
 {
     if (hook != null)
     {
         this.hk = hook;
         m_mapControl = this.hk.MapControl;
     }
 }
示例#58
0
 /// <summary>
 /// 通过ICadDrawingDataset与ICadLayer获取cad
 /// </summary>
 /// <param name="mapControlDefault">地图控件</param>
 /// <param name="strPathWithoutFileName">文件所在文件夹路径</param>
 /// <param name="strFileName">文件名,包括后缀</param>
 public static void GetAllCADbyCADLayer(IMapControlDefault mapControlDefault, string strPathWithoutFileName, string strFileName)
 {
     ICadDrawingDataset cadDrawingDataset = GetCadDataset(strPathWithoutFileName, strFileName);
     if (cadDrawingDataset == null) 
         return;
     ICadLayer cadLayer = new CadLayerClass();
     cadLayer.CadDrawingDataset = cadDrawingDataset;
     cadLayer.Name = strFileName;
     ILayer mLayer = cadLayer as ILayer;
     mapControlDefault.AddLayer(mLayer, 0);
 }
示例#59
0
 /// <summary>
 /// 通过IWorkspace直接获取到CadDrawingDataset--是cad数据
 /// </summary>
 /// <param name="mapControlDefault">地图控件</param>
 /// <param name="pWorkspace">工作空间</param>
 /// <param name="strFileName"></param>
 public static void GetALLCADLayer(IMapControlDefault mapControlDefault, IWorkspace pWorkspace, string strFileName)
 {
     ICadDrawingWorkspace pCadDrawingWorkspace = pWorkspace as ICadDrawingWorkspace;
     ICadDrawingDataset pCadDrawingDataset = pCadDrawingWorkspace.OpenCadDrawingDataset(strFileName);
     ICadLayer pCadLayer = new CadLayerClass();
     pCadLayer.CadDrawingDataset = pCadDrawingDataset;
     mapControlDefault.AddLayer(pCadLayer as ILayer, 0);
 }
示例#60
0
        /// <summary>
        /// 打开指定的CAD图层,包括点point,线polyline,多点mutilpoint,多段mutilpatch与注记(如果是注记,需要建立CadAnnotationLayerClass实例对象),添加的是空间数据对象(添加到同一个图层组中,图层组名为文件名无后缀)
        /// </summary>
        /// <param name="mapControlDefault">地图控件</param>
        /// <param name="pWorkspace">工作空间</param>
        /// <param name="strFileName">文件名,没有会追</param>
        public static void GetALLCADLayerFromGeo(IMapControlDefault mapControlDefault, IWorkspace pWorkspace, string strFileName)
        {
            IFeatureWorkspace pFeatureWorkspace = pWorkspace as IFeatureWorkspace;
            //组图层
            IGroupLayer pGroupLayer = new GroupLayerClass();
            pGroupLayer.Name = strFileName.Substring(0, strFileName.LastIndexOf("."));

            //打开指定的的cad图层--Point
            IFeatureClass pFeatureClass_Point = pFeatureWorkspace.OpenFeatureClass(strFileName + ":point");
            if (pFeatureClass_Point != null)
            {
                IFeatureLayer pFeatureLayer_Point = new CadFeatureLayerClass();
                pFeatureLayer_Point.FeatureClass = pFeatureClass_Point;
                pFeatureLayer_Point.Name = pFeatureClass_Point.AliasName;
                pGroupLayer.Add(pFeatureLayer_Point);
            }
            //Polyline  
            string strPlineName = System.String.Concat(strFileName, ":Polyline");
            IFeatureClass pFeatClass_Polyline = pFeatureWorkspace.OpenFeatureClass(strPlineName);
            if (pFeatClass_Polyline != null)
            {
                IFeatureLayer pFeatureLayer_Polyline = new CadFeatureLayerClass();
                pFeatureLayer_Polyline.FeatureClass = pFeatClass_Polyline;
                pFeatureLayer_Polyline.Name = pFeatClass_Polyline.AliasName;
                pGroupLayer.Add(pFeatureLayer_Polyline);
                pGroupLayer.Add(pFeatureLayer_Polyline);
            }

            mapControlDefault.AddLayer(pGroupLayer as ILayer, 0);
        }