Exemplo n.º 1
0
        /// <summary>
        /// 获取投影坐标系的描述信息
        /// Get the description information of the projected coordinate system
        /// </summary>
        private String GetEarthPrjStr(PrjCoordSys crtPrj)
        {
            StringBuilder prjStrBuilder = new StringBuilder();

            try
            {
                PrjParameter crtPrjParm = crtPrj.PrjParameter;
                prjStrBuilder.AppendLine(m_type + crtPrj.Name);
                prjStrBuilder.AppendLine(m_name + crtPrj.Projection.Name);
                prjStrBuilder.AppendLine(m_longitude + crtPrjParm.CentralMeridian.ToString("0.000000"));
                prjStrBuilder.AppendLine(m_latitude + crtPrjParm.CentralParallel.ToString());
                prjStrBuilder.AppendLine(m_firparallel + crtPrjParm.StandardParallel1.ToString());
                prjStrBuilder.AppendLine(m_secparallel + crtPrjParm.StandardParallel2.ToString());
                prjStrBuilder.AppendLine(m_offsetX + crtPrjParm.FalseEasting.ToString(".0000"));
                prjStrBuilder.AppendLine(m_offsetY + crtPrjParm.FalseNorthing.ToString(".0000"));
                prjStrBuilder.AppendLine(m_scalefactor + crtPrjParm.ScaleFactor.ToString());
                prjStrBuilder.AppendLine(m_azimuth + crtPrjParm.Azimuth.ToString(".0000"));
                prjStrBuilder.AppendLine(m_firlongitude + crtPrjParm.FirstPointLongitude.ToString());
                prjStrBuilder.AppendLine(m_seclongitude + crtPrjParm.SecondPointLongitude.ToString());
                prjStrBuilder.AppendLine(m_geocoordsys + crtPrj.GeoCoordSys.Name);
                prjStrBuilder.AppendLine(m_geodatum + crtPrj.GeoCoordSys.GeoDatum.Name);
                prjStrBuilder.AppendLine(m_datumspheroid + crtPrj.GeoCoordSys.GeoDatum.GeoSpheroid.Name);
                prjStrBuilder.AppendLine(m_majorradius + crtPrj.GeoCoordSys.GeoDatum.GeoSpheroid.Axis.ToString(".00"));
                prjStrBuilder.AppendLine(m_flattening + crtPrj.GeoCoordSys.GeoDatum.GeoSpheroid.Flatten.ToString());
                prjStrBuilder.AppendLine(m_centralmeridian + crtPrj.GeoCoordSys.GeoPrimeMeridian.LongitudeValue.ToString("0.000000"));
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
            return(prjStrBuilder.ToString());
        }
Exemplo n.º 2
0
        // 按照不同的投影类型,初始化投影坐标系
        // Initialize the projection coordinates by the different projection type.
        private PrjCoordSys GetTargetPrjCoordSys(int type)
        {
            PrjCoordSys  targetPrjCoordSys = null;
            PrjParameter parameter         = null;
            Projection   projection        = null;

            switch (type)
            {
            case 1:
            {
                targetPrjCoordSys            = new PrjCoordSys(PrjCoordSysType.UserDefined);
                projection                   = new Projection(ProjectionType.GaussKruger);
                targetPrjCoordSys.Projection = projection;
                parameter = new PrjParameter();
                parameter.CentralMeridian      = 110;
                parameter.StandardParallel1    = 20;
                parameter.StandardParallel2    = 40;
                targetPrjCoordSys.PrjParameter = parameter;
            }
            break;

            case 2:
            {
                targetPrjCoordSys            = new PrjCoordSys(PrjCoordSysType.UserDefined);
                projection                   = new Projection(ProjectionType.TransverseMercator);
                targetPrjCoordSys.Projection = projection;
                parameter = new PrjParameter();
                parameter.CentralMeridian      = 110;
                parameter.StandardParallel1    = 0;
                targetPrjCoordSys.PrjParameter = parameter;
            }
            break;

            case 3:
            {
                targetPrjCoordSys            = new PrjCoordSys(PrjCoordSysType.UserDefined);
                projection                   = new Projection(ProjectionType.LambertConformalConic);
                targetPrjCoordSys.Projection = projection;
                parameter = new PrjParameter();
                parameter.CentralMeridian      = 110;
                parameter.StandardParallel1    = 30;
                targetPrjCoordSys.PrjParameter = parameter;
            }
            break;

            default:
                break;
            }
            return(targetPrjCoordSys);
        }
Exemplo n.º 3
0
 /// <summary>
 /// 拷贝构造函数。
 /// </summary>
 /// <param name="prjCoordSys">投影坐标系对象。</param>
 /// <exception cref="ArgumentNullException">投影坐标系对象为 Null 时抛出异常。</exception>
 public PrjCoordSys(PrjCoordSys prjCoordSys)
 {
     if (prjCoordSys == null) throw new ArgumentNullException();
     if (prjCoordSys.CoordSystem != null)
         this.CoordSystem = new CoordSys(prjCoordSys.CoordSystem);
     this.CoordUnit = prjCoordSys.CoordUnit;
     this.DistanceUnit = prjCoordSys.DistanceUnit;
     this.EpsgCode = prjCoordSys.EpsgCode;
     this.Name = prjCoordSys.Name;
     if (prjCoordSys.Projection != null)
         this.Projection = new Projection(prjCoordSys.Projection);
     if (prjCoordSys.ProjectionParam != null)
         this.ProjectionParam = new PrjParameter(prjCoordSys.ProjectionParam);
     this.Type = prjCoordSys.Type;
 }
 /// <summary>
 /// 获得srid
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void GetSrid_Click(object sender, RoutedEventArgs e)
 {
     if (memDatasource != null)
     {
         var dataset = memDatasource.Datasets[targetDatasetName];
         if (dataset != null)
         {
             PrjCoordSys crtPrjSys = dataset.PrjCoordSys;
             //https://www.cnblogs.com/arxive/p/5082761.html
             //EPSGCode=srid
             var srid = crtPrjSys.EPSGCode;
             MessageBox.Show($"srid:{srid}");
         }
     }
 }
Exemplo n.º 5
0
        /// <summary>
        /// 获取指定数据集的投影描述信息
        /// </summary>
        public String GetPrjStr(Dataset dataset)
        {
            StringBuilder prjStrBuilder = new StringBuilder();

            if (dataset == null)
            {
                MessageBox.Show(m_openfa);
            }

            PrjCoordSys crtPrjSys = dataset.PrjCoordSys;

            prjStrBuilder.AppendLine(m_currentprojectioninfo);
            prjStrBuilder.Append(this.GetEarthPrjStr(crtPrjSys));

            return(prjStrBuilder.ToString());
        }
        /// <summary>
        /// 地理坐标向投影坐标转换
        /// </summary>
        /// <param name="point3Ds"></param>
        /// <returns></returns>
        private Point3Ds coordinateTrans3D(Point3Ds point3Ds)
        {
            Point2Ds point2Ds = new Point2Ds();

            foreach (Point3D p3d in point3Ds)
            {
                Point2D point2D = new Point2D(p3d.X, p3d.Y);
                point2Ds.Add(point2D);
            }
            //Assume Wgs1984WorldMercator as target project coordinate system
            PrjCoordSys prjTarget = new PrjCoordSys(PrjCoordSysType.Wgs1984Utm50N);
            bool        b         = CoordSysTranslator.Forward(point2Ds, prjTarget);

            Point3Ds result = new Point3Ds();

            for (int i = 0; i < point2Ds.Count; i++)
            {
                Point3D point3D = new Point3D(point2Ds[i].X, point2Ds[i].Y, point3Ds[i].Z);
                result.Add(point3D);
            }
            return(result);
        }
Exemplo n.º 7
0
        /// <summary>
        /// 转换主函数
        /// Main function of transformation
        /// </summary>
        /// <param name="type">对应不同的投影类型 Projection type</param>
        /// <returns>转换后投影的描述信息 The description information of projection after transformed</returns>
        public String TransformPrj(int type)
        {
            try
            {
                m_srcMapControl.Map.Layers.Clear();
                this.CopyDataset(m_bufPrjDataName);

                PrjCoordSys gaussPrjSys = this.GetTargetPrjCoordSys(type);
                Boolean     result      = CoordSysTranslator.Convert(m_processDataset, gaussPrjSys, new CoordSysTransParameter(), CoordSysTransMethod.GeocentricTranslation);

                m_srcMapControl.Map.Layers.Add(m_processDataset, true);
                m_srcMapControl.Map.Center = m_srcMapControl.Map.Bounds.Center;
                m_srcMapControl.Map.Scale  = m_srcMapControl.Map.Scale;
                m_srcMapControl.Map.Refresh();

                return(this.GetPrjStr(m_processDataset));
            }
            catch (Exception ex)
            {
                Trace.WriteLine(ex.Message);
            }
            return(null);
        }
Exemplo n.º 8
0
        public void ProjectConverTest(string prjRef, Datasource dc)
        {
            try
            {
               System.Windows.Forms. Application.DoEvents();
                string name = "";
                //Datasource dc = wps.Datasources[UDBname];
                PrjCoordSys prj = new PrjCoordSys();
                prj.FromFile(prjRef, PrjFileType.SuperMap);
                for (int i = 1; i <= dc.Datasets.Count; i++)
                {
                    name = "time" + i.ToString();
                    try
                    {
                        Dataset dset = dc.Datasets[name];
                        dset = CoordSysTranslator.Convert(dset, prj, dset.Datasource, name + "_", new CoordSysTransParameter(), CoordSysTransMethod.GeocentricTranslation);
                        dset.Datasource.Datasets.Delete(name);
                        dset.Datasource.CopyDataset(dset, name, dset.EncodeType);
                        dset.Datasource.Datasets.Delete(name + "_");
                        //wps.Save();
                    }
                    catch
                    {
                        continue;
                    }

                }
                //wps.Dispose();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }
Exemplo n.º 9
0
        public void ProjectConver(string wpsPath, string prjRef, string name)
        {
            try
            {
                SuperMap.Data.Workspace wps = new SuperMap.Data.Workspace();
                WorkspaceConnectionInfo info = new WorkspaceConnectionInfo(wpsPath);
                wps.Open(info);
                Datasource dc = wps.Datasources["ymgc3"];

                //Dataset dset = wps.Datasources["ymgc1"].Datasets[name];// dsets["time1"];

                //dset.Datasource.Datasets.Delete("time2");
                //Dataset dst = dset.Datasource.CopyDataset(dset, "time2", dset.EncodeType);
                PrjCoordSys prj = new PrjCoordSys();
                prj.FromFile(prjRef, PrjFileType.SuperMap);

                for (int i = 1; i <= dc.Datasets.Count; i++)
                {
                    name = "time" + i.ToString();
                    try
                    {
                        Dataset dset = dc.Datasets[name];
                        //bool ok = CoordSysTranslator.Convert(dset, prj, new CoordSysTransParameter(), CoordSysTransMethod.GeocentricTranslation);
                        dset = CoordSysTranslator.Convert(dset, prj, dset.Datasource, name + "_", new CoordSysTransParameter(), CoordSysTransMethod.GeocentricTranslation);
                        dset.Datasource.Datasets.Delete(name);
                        dset.Datasource.CopyDataset(dset, name, dset.EncodeType);
                        dset.Datasource.Datasets.Delete(name + "_");
                        wps.Save();
                    }
                    catch
                    {
                        continue;
                    }

                }
                wps.Dispose();
                MessageBox.Show("OVER");
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

        }
Exemplo n.º 10
0
 public void ImportTIFFTest(string importPath, string sourceUDB)
 {
     try
     {
         // 1. 构建数据源连接对象。
         DatasourceConnectionInfo info = new DatasourceConnectionInfo();
         info.Server = sourceUDB;
         WorkspaceConnectionInfo ConnectionInfo = new WorkspaceConnectionInfo(sourceUDB);
         SuperMap.Data.Workspace wps = new SuperMap.Data.Workspace();
         wps.Create(ConnectionInfo);
         Datasources ds = wps.Datasources;
         //ds.Open(info);
         Datasource dss = ds.Create(info); // new Datasource();
         //dss.Connect();
         // 2. 构建SHP导入设置对象(ImportSettingSHP),设置数据源,设置导入数据路径。
         ImportSettingTIF importSettingTIF = new ImportSettingTIF();
         importSettingTIF.ImportMode = ImportMode.Overwrite;//可复写
         importSettingTIF.SourceFilePath = importPath;
         importSettingTIF.TargetDatasourceConnectionInfo = info;
         importSettingTIF.ImportingAsGrid = true;//栅格数据集形式
         // 3. 获取导入设置对象的导入信息集合(ImportDataInfos),设置目标数据集的名字。
         // ImportDataInfo dataInfos = importSettingSHP.GetTargetDataInfos("");
         //importSettingSHP.SetTargetDataInfos(dataInfos);
         // 4. 构建数据导入类对象(DataImport),构建并设置导入设置对象集合。
         PrjCoordSys prj = new PrjCoordSys();
         prj.Type = PrjCoordSysType.SphereMercator;
         importSettingTIF.TargetPrjCoordSys = prj;//设置了参考投影,还需改变其投影转换
         //prj.GeoCoordSys.FromXML(readXML())
         DataImport import1 = new DataImport();
         ImportSettings settings = import1.ImportSettings;
         settings.Add(importSettingTIF);
         import1.Run();
         try
         {
             int m = importPath.LastIndexOf('\\');
             string dsName = importPath.Substring(m + 1);
             int n = dsName.LastIndexOf('.');
             string dsname = dsName.Substring(0, n);
             Datasets datasets = dss.Datasets;
             Dataset m_processDataset = datasets[dsname];
             PrjCoordSys prj1 = new PrjCoordSys();
             prj1.FromXML(readXML(@"G:\移动风险监测\参考坐标\CGCS_2000.xml"));
             Boolean result = CoordSysTranslator.Convert(m_processDataset, prj1, new CoordSysTransParameter(), CoordSysTransMethod.GeocentricTranslation);
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
         }
         i++;
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
 }
Exemplo n.º 11
0
        /// <summary>
        /// udb中导入tiff
        /// </summary>
        /// <param name="importPath"></param>
        public string  ImportTIFF(string importPath, DatasourceConnectionInfo info)
        {
            try
            {
                string name = importPath.Substring(importPath.LastIndexOf("\\") + 1);

                // 1. 构建数据源连接对象。
                //DatasourceConnectionInfo info = new DatasourceConnectionInfo();
                //info.Server = sourceUDB;
                // 2. 构建SHP导入设置对象(ImportSettingSHP),设置数据源,设置导入数据路径。
                //info.Password = "******";
                ImportSettingTIF importSettingTIF = new ImportSettingTIF();
                //m_workspace.Datasources.Open(info);
                importSettingTIF.ImportMode = ImportMode.Overwrite;//可复写
                importSettingTIF.SourceFilePath = importPath;
                importSettingTIF.TargetDatasourceConnectionInfo = info;
                importSettingTIF.ImportingAsGrid = true;//栅格数据集形式
                // 3. 获取导入设置对象的导入信息集合(ImportDataInfos),设置目标数据集的名字。
                // ImportDataInfo dataInfos = importSettingSHP.GetTargetDataInfos("");
                //importSettingSHP.SetTargetDataInfos(dataInfos);
                // 4. 构建数据导入类对象(DataImport),构建并设置导入设置对象集合。
                //string prjRef = @"G:\移动风险监测\参考坐标\CGCS_2000.xml";
                PrjCoordSys prj = new PrjCoordSys();
                // prj.FromFile(prjRef, PrjFileType.SuperMap);
                prj.Type = PrjCoordSysType.SphereMercator;
                importSettingTIF.TargetPrjCoordSys = prj;//设置了参考投影,还需改变其投影转换
                DataImport import1 = new DataImport();
                ImportSettings settings = import1.ImportSettings;
                settings.Add(importSettingTIF);
                ImportResult dd= import1.Run();
                i++;
                if (dd.FailedSettings.Length != 0)
                    return "【tif数据导入】" + name + "导入失败!请检查数据是否有效。\t\n";
                return null;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
                return null;
            }
        }
Exemplo n.º 12
0
        private void CreateDatasets()
        {
            if (m_bAddedPointLayer)
            {
                return;
            }
            try
            {
                //创建点数据集
                Datasource datasource = m_workspace.Datasources[0];

                PrjCoordSys crtPrjSys;
                //if (m_workspace.Maps.Count == 0)
                {
                    crtPrjSys      = new PrjCoordSys();
                    crtPrjSys.Type = PrjCoordSysType.EarthLongitudeLatitude;
                }
                //else
                //{
                //crtPrjSys = m_MapControl.Map.Layers[UserHelper.MapLayerName].Dataset.PrjCoordSys;
                // }

                for (int iDeviceIndex = 0; iDeviceIndex < UserHelper.nDeviceNum; iDeviceIndex++)
                {
                    datasource.Datasets.Delete(UserHelper.sDeviceName[iDeviceIndex]);
                    DatasetVectorInfo pointLayerInfo = new DatasetVectorInfo(UserHelper.sDeviceName[iDeviceIndex], DatasetType.Point);
                    DatasetVector     pointDataset   = datasource.Datasets.Create(pointLayerInfo);

                    // 添加使用的字段
                    FieldInfo fieldInfo = new FieldInfo();
                    fieldInfo.Type = FieldType.Char;
                    fieldInfo.Name = m_filedName;
                    pointDataset.FieldInfos.Add(fieldInfo);
                    pointDataset.PrjCoordSys = crtPrjSys;

                    //将点数据集加入到地图中
                    LayerSettingVector setting = new LayerSettingVector();
                    setting.Style.LineColor      = Color.SeaGreen;
                    setting.Style.MarkerSize     = new Size2D(8, 8);
                    setting.Style.MarkerSymbolID = UserHelper.MarkerSymbolID[iDeviceIndex];
                    m_MapControl.Map.Layers.Add(pointDataset, setting, true);
                    m_MapControl.Map.Refresh();
                }

                datasource.Datasets.Delete(UserHelper.sTextName);
                DatasetVectorInfo textLayerInfo = new DatasetVectorInfo(UserHelper.sTextName, DatasetType.Text);
                DatasetVector     textDataset   = datasource.Datasets.Create(textLayerInfo);
                textDataset.PrjCoordSys = crtPrjSys;
                m_MapControl.Map.Layers.Add(textDataset, true);
                m_MapControl.Map.Refresh();

                //定义新数据集
                {
                    datasource.Datasets.Delete("Point3D");
                    DatasetVectorInfo Datasetinfo = new DatasetVectorInfo();
                    Datasetinfo.Type = DatasetType.CAD;
                    Datasetinfo.Name = "Point3D";
                    DatasetVector datset = datasource.Datasets.Create(Datasetinfo);

                    FieldInfo fieldInfo = new FieldInfo();
                    fieldInfo.Type = FieldType.Char;
                    fieldInfo.Name = m_filedName;
                    datset.FieldInfos.Add(fieldInfo);
                    datset.PrjCoordSys = crtPrjSys;

                    DatasetVector datasetPoint3D = datasource.Datasets["Point3D"] as DatasetVector;

                    if (m_SceneControl.Scene.Layers.Contains("stylePoint3D"))
                    {
                        m_layer3DPoint = m_SceneControl.Scene.Layers["stylePoint3D"] as Layer3DDataset;
                    }
                    else
                    {
                        m_layer3DPoint = m_SceneControl.Scene.Layers.Add(datasetPoint3D, new Layer3DSettingVector(), true, "stylePoint3D");
                    }
                    m_SceneControl.Scene.Refresh();
                }

                // 新建数据集
                {
                    datasource.Datasets.Delete("Region3D");
                    DatasetVectorInfo Datasetinfo = new DatasetVectorInfo();
                    Datasetinfo.Type = DatasetType.Region3D;
                    Datasetinfo.Name = "Region3D";
                    DatasetVector datset = datasource.Datasets.Create(Datasetinfo);
                    datset.PrjCoordSys = crtPrjSys;

                    DatasetVector m_datasetRegion3D = datasource.Datasets["Region3D"] as DatasetVector;
                    if (m_SceneControl.Scene.Layers.Contains("styleRegion3D"))
                    {
                        m_layer3DRegion = m_SceneControl.Scene.Layers["styleRegion3D"] as Layer3DDataset;
                    }
                    else
                    {
                        m_layer3DRegion = m_SceneControl.Scene.Layers.Add(m_datasetRegion3D, new Layer3DSettingVector(), true, "styleRegion3D");
                    }
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.Message);
            }
            m_bAddedPointLayer = true;
        }
Exemplo n.º 13
0
        public override void Run()
        {
            try
            {
                ////  WorkspaceConnectionInfo conInfo = new WorkspaceConnectionInfo(@"D:\Program Files (x86)\SuperMap\SuperMap iDesktop 7C\SampleData\World\World.smwu");
                //  WorkspaceControl workspaceControl
                //      = SuperMap.Desktop.Application.ActiveApplication.MainForm.DockBarManager[typeof(WorkspaceControlManager)].Control as WorkspaceControl;
                //  if (workspaceControl != null)
                //  {
                //      workspaceControl.ResourcesNodeVisible = false;
                //      workspaceControl.LayoutsNodeVisible = false;
                //      //workspaceControl.WorkspaceTree.Workspace.Open(conInfo);
                //     WorkspaceConnectionInfo conInfo1 = new WorkspaceConnectionInfo(@"..\..\Default.smwu");

                //      //workspaceControl.WorkspaceTree.Workspace.Create(conInfo1);
                //      //workspaceControl.WorkspaceTree.Workspace.Close();
                //      //workspaceControl.WorkspaceTree.Workspace.Dispose();
                //      bool dd= workspaceControl.WorkspaceTree.Workspace.Open(conInfo1);
                //      workspaceControl.WorkspaceTree.Workspace.Datasources.Create()
                //      //workspaceControl.Update();
                //      //workspaceControl.WorkspaceTree.WorkspaceNode.Nodes.Add("dafsaf");
                //     // workspaceControl.WorkspaceTree.Update();
                //  }

                // System.Windows.Forms.MessageBox.Show("LoadImageCtrlAction");
                //IFormMap activeMapForm = Application.ActiveForm as IFormMap;
                //MapControl activeMap = activeMapForm.MapControl;

                //IFormManager dd=  Application.ActiveApplication.MainForm.FormManager;
                //for (int i = 0; i < dd.Count; i++)
                //{

                //}


                WorkspaceControl workspaceControl = SuperMap.Desktop.Application.ActiveApplication.MainForm.DockBarManager[typeof(WorkspaceControlManager)].Control as WorkspaceControl;
                Datasource       targetDatasource;

                DatasourceConnectionInfo dataSourceConnectionInfo = new DatasourceConnectionInfo();
                dataSourceConnectionInfo.Server = @"..\..\Default";

                if (workspaceControl != null)
                {
                    workspaceControl.ResourcesNodeVisible = false;
                    workspaceControl.LayoutsNodeVisible   = false;


                    Form1 form1 = new Form1();
                    form1.Show();

                    try {
                        bool isExist = workspaceControl.WorkspaceTree.Workspace.Datasources.Contains(dataSourceConnectionInfo.Alias);
                        if (isExist)
                        {
                            targetDatasource = workspaceControl.WorkspaceTree.Workspace.Datasources[dataSourceConnectionInfo.Alias];
                        }
                        else
                        {
                            targetDatasource = workspaceControl.WorkspaceTree.Workspace.Datasources.Open(dataSourceConnectionInfo);
                        }
                    }
                    catch (Exception ex1)
                    {
                        targetDatasource = workspaceControl.WorkspaceTree.Workspace.Datasources.Create(dataSourceConnectionInfo);
                    }

                    OpenFileDialog ofd = new OpenFileDialog();
                    ofd.Filter          = "影像文件(*.tif)|*.*";
                    ofd.ValidateNames   = true;
                    ofd.CheckPathExists = true;
                    ofd.CheckFileExists = true;
                    ofd.ShowHelp        = true;
                    //ofd.HelpRequest += ofd_HelpRequest;
                    if (ofd.ShowDialog() == DialogResult.OK)
                    {
                        string strFileName = ofd.FileName;
                        //其他代码



                        DataImport m_dataImport = new DataImport();
                        m_dataImport.ImportSettings.Clear();



                        //ImportSettingIMG imgSetting = new ImportSettingIMG();
                        //imgSetting.ImportMode = ImportMode.Overwrite;
                        //imgSetting.SourceFilePath = @"..\..\SampleData\DataExchange\ImgImport\Multibands.img";
                        //imgSetting.TargetDatasource = m_desDatasource;
                        //imgSetting.MultiBandImportMode = MultiBandImportMode.MultiBand;

                        //m_dataImport.ImportSettings.Add(imgSetting);
                        //m_dataImport.Run();

                        //DatasetImage importResult = m_desDatasource.Datasets["Multibands"] as DatasetImage;
                        //LayerSettingImage layerSetting = new LayerSettingImage();
                        //layerSetting.DisplayBandIndexes = new Int32[] { 3, 2, 1 };
                        //layerSetting.DisplayColorSpace = ColorSpaceType.RGB;


                        ImportSettingTIF importSetingTif = new ImportSettingTIF();

                        importSetingTif.ImportMode     = ImportMode.Overwrite;
                        importSetingTif.SourceFilePath = strFileName;
                        PrjCoordSys prgCoord = importSetingTif.GetSourcePrjCoordSys();
                        Charset     pCharset = importSetingTif.SourceFileCharset;


                        ImportDataInfos importDataInfoTif = importSetingTif.GetTargetDataInfos("");

                        importSetingTif.SetTargetDataInfos(importDataInfoTif);

                        //ImportDataInfoTIF importDataInfoTif1 = null;

                        importSetingTif.TargetDatasource = targetDatasource;

                        m_dataImport.ImportSettings.Add(importSetingTif);



                        m_dataImport.Run();
                    }
                }
            }
            catch (Exception ex)
            {
                SuperMap.Desktop.Application.ActiveApplication.Output.Output(ex.StackTrace);
            }
        }
Exemplo n.º 14
0
 private DatasourceInfo(SerializationInfo info, StreamingContext context)
 {
     this.CoordUnit = (Unit)info.GetValue("CoordUnit", typeof(Unit));
     this.Description = info.GetString("Description");
     this.DistanceUnit = (Unit)info.GetValue("DistanceUnit", typeof(Unit));
     this.EngineType = (Utility.EngineType)info.GetValue("EngineType", typeof(EngineType));
     this.Name = info.GetString("Name");
     this.PrjCoordSys = (PrjCoordSys)info.GetValue("PrjCoordSys", typeof(PrjCoordSys));
 }