• 基于AE的基础的GIS系统的开发


    一个GIS系统需要的基本功能的代码

     

    一些基本的拖拽操作就不讲了,直接上代码吧。

     

    1、 打开.mxd文件

    基本思路:判断mxd路径存在→打开mxd文件

    string filename = Application.StartupPath + "\\GIS系统.mxd";
    
    if (axMapControl1.CheckMxFile(filename))
    
    {
    
        axTOCControl1.SetBuddyControl(axMapControl1); //设置TOC与MapControl绑定
    
        axMapControl1.LoadMxFile(filename); //加载mxd文件
    
    }

    2、添加Shp(打开文件方式)

    基本思路:打开文件→判断shp→添加shp→刷新地图

                    OpenFileDialog pOpenFileDialog = new OpenFileDialog();
    
                    pOpenFileDialog.CheckFileExists = true;
    
                    pOpenFileDialog.Title = "导入文件";
    
                    pOpenFileDialog.Filter = "Shape文件(*.shp)|*.shp|个人地理数据库(*.mdb)|*.mdb";
    
                    pOpenFileDialog.ShowDialog();
    
     
    
                    ////获取文件路径
    
                    //FileInfo pFileInfo = new FileInfo(pOpenFileDialog.FileName);
    
                    //string pPath = pOpenFileDialog.FileName.Substring(0, pOpenFileDialog.FileName.Length - pFileInfo.Name.Length);
    
                    //mainMapControl.AddShapeFile(pPath, pFileInfo.Name);
    
     
    
                    IWorkspaceFactory pWorkspaceFactory;
    
                    IFeatureWorkspace pFeatureWorkspace;
    
                    IFeatureLayer pFeatureLayer;
    
     
    
                    string pFullPath = pOpenFileDialog.FileName;
    
                    if (pFullPath == "") return;
    
     
    
                    int pIndex = pFullPath.LastIndexOf("\\");
    
                    string pFilePath = pFullPath.Substring(0, pIndex); //文件路径
    
                    string pFileName = pFullPath.Substring(pIndex + 1); //文件名
    
                    string pLastName = pFileName.Substring(pFileName.Length - 3);
    
                    if (pLastName == "shp")
    
                    {
    
                        //实例化ShapefileWorkspaceFactory工作空间,打开Shape文件
    
                        pWorkspaceFactory = new ShapefileWorkspaceFactory();
    
                        pFeatureWorkspace = (IFeatureWorkspace)pWorkspaceFactory.OpenFromFile(pFilePath, 0);
    
                        //创建并实例化要素集
    
                        IFeatureClass pFeatureClass = pFeatureWorkspace.OpenFeatureClass(pFileName);
    
                        pFeatureLayer = new FeatureLayer();
    
                        pFeatureLayer.FeatureClass = pFeatureClass;
    
                        pFeatureLayer.Name = pFeatureLayer.FeatureClass.AliasName;
    
     
    
                        //ClearAllData();    //新增删除数据
    
     
    
                        axMapControl1.Map.AddLayer(pFeatureLayer);
    
                        axMapControl1.ActiveView.Refresh();
    
                    }

    3、退出系统

    基本思路:关闭窗口→释放资源→关闭系统

       this.Close();
    
                //if (mExitOperate == -1) //取消关闭
    
                //    return;
    
                //else
    
                //{
    
                //    Process.GetCurrentProcess().Kill();
    
                //    System.Environment.Exit(0);
    
                //}
    
                Process.GetCurrentProcess().Kill();
    
                System.Environment.Exit(0);

    这三个基本功能可以满足一个基础的浏览数据的GIS系统。

     

    说明:后文中可能会出现一些并未声明的变量,极有可能为全局变量,程序中的全局变量如下:

            //图层右键
    
            private ILayer m_Layer;
    
            private ILayer pMoveLayer;
    
            private int toIndex;
    
            private System.Drawing.Point pMoveLayerPoint;
    
            IFeatureLayer pTocFeatureLayer = null;
    
            private string sMapUnits = "";       
    
    //指北针
    
            private INorthArrow m_NorthArrrow;
    
            private IElement pElement;
    
            private string operation;

    若有任何问题,欢迎留言!

    扫码关注微信公众号

  • 相关阅读:
    C#操作XML
    Eval调用函数
    SQL 日期时间函数
    vue中created和mounted区别
    记录uniapp的APP端分享到微信好友,链接为小程序页面,分享失败的BUG
    【News】Windows CE会死吗?答,死不了,只是变身了。
    【原创】工作总结
    【原创】工作总结之二
    【资源收集】关于WINCE网卡开发的知识收集
    【news】wince 7 preview release。大家可以去看看
  • 原文地址:https://www.cnblogs.com/pygisxss/p/16028196.html
Copyright © 2020-2023  润新知