Пример #1
0
        private void Importshp()
        {
            IFeatureWorkspace feaworkspace;
            FileInfo          fileInfo;
            string            path;
            string            name;
            string            shapetype = "";

            if (this.m_type == "解译数据")
            {
                try
                {
                    fileInfo = new FileInfo(this.path);
                    string fpath = fileInfo.DirectoryName;
                    string fname = fileInfo.Name.Substring(0, fileInfo.Name.IndexOf('.'));
                    //UIWaiting("正在导入"+name+"层");
                    frm.WaitingLabel = "正在导入" + fname + "层";
                    Application.DoEvents();

                    feaworkspace = m_gcon.OpenSHPWorkspace(fpath);
                    IFeatureClass feaFC = feaworkspace.OpenFeatureClass(fname);
                    if (feaFC.FeatureType == esriFeatureType.esriFTSimple)
                    {
                        IFeatureWorkspace feaworkspaceSDE = this.m_workSpace as IFeatureWorkspace;
                        Application.DoEvents();
                        m_gdata.ConvertFeatureClassToGDB((IWorkspace)feaworkspace, (IWorkspace)feaworkspaceSDE, fname, this.m_place + "_" + this.m_interType + "_" + this.m_time, null);
                        Application.DoEvents();
                        switch (feaFC.ShapeType)
                        {
                        case esriGeometryType.esriGeometryPoint:
                            shapetype = "point";
                            break;

                        case esriGeometryType.esriGeometryPolyline:
                            shapetype = "line";
                            break;

                        case esriGeometryType.esriGeometryPolygon:
                            shapetype = "polygon";
                            break;

                        default:
                            shapetype = "else";
                            break;
                        }
                        m_gdata.InsertInterpData(shapetype, this.m_place, this.m_time, this.m_interType);
                        Application.DoEvents();
                    }
                }
                catch (Exception error)
                {
                    MessageBox.Show(error.Message);
                    return;
                }
                MessageBox.Show("导入已成功完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                frm.Close();
                this.Close();
            }
            else
            {
                try
                {
                    fileInfo = new FileInfo(this.path);
                    string fpath = fileInfo.DirectoryName;
                    string fname = fileInfo.Name.Substring(0, fileInfo.Name.IndexOf('.'));
                    //UIWaiting("正在导入"+name+"层");
                    frm.WaitingLabel = "正在导入" + fname + "层";
                    Application.DoEvents();

                    feaworkspace = m_gcon.OpenSHPWorkspace(fpath);
                    IFeatureClass feaFC = feaworkspace.OpenFeatureClass(fname);
                    if (feaFC.FeatureType == esriFeatureType.esriFTSimple)
                    {
                        IFeatureWorkspace feaworkspaceSDE = this.m_workSpace as IFeatureWorkspace;
                        Application.DoEvents();
                        m_gdata.ConvertFeatureClassToGDB((IWorkspace)feaworkspace, (IWorkspace)feaworkspaceSDE, fname, fname, null);
                        Application.DoEvents();
                        switch (feaFC.ShapeType)
                        {
                        case esriGeometryType.esriGeometryPoint:
                            shapetype = "point";
                            break;

                        case esriGeometryType.esriGeometryPolyline:
                            shapetype = "line";
                            break;

                        case esriGeometryType.esriGeometryPolygon:
                            shapetype = "polygon";
                            break;

                        default:
                            shapetype = "else";
                            break;
                        }
                        m_gdata.InsertMataData(fname, shapetype, "地理数据", "1", "");
                        Application.DoEvents();
                    }
                }
                catch (Exception error)
                {
                    MessageBox.Show(error.Message);
                    return;
                }
                MessageBox.Show("导入已成功完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                frm.Close();
                this.Close();
            }
        }