首页 / 浏览问题 / 组件GIS / 问题详情
ImportSettingTIF导入tif栅格文件失败
4EXP 2023年05月10日
使用产品:SuperMap iObjects .NET 11i V11.0.1

数据类型:工作空间、数据源即示范数据中的Changchun.smwu,导入的栅格数据是地理空间数据云上下载的Landsat8数据

问题详细描述:使用ImportSettingTIF导入失败,我设置了各种参数,依旧不行。此外,在iDesktop 10i中可以正常导入,我也按照桌面版中的参数进行了设置,还是不行。包括ImportSettingSHP我也尝试了,也是失败。求解答,谢谢大家。

代码如下:

 Datasource datasource = workspace.Datasources[0];
                        if (datasource.IsOpened)
                        {
                            //ImportSettingSHP settingShp = new ImportSettingSHP();
                            //settingShp.SourceFilePath = openFileDialog.FileName;
                            //settingShp.TargetDatasource = datasource;
                            //settingShp.IsImportAs3D = false;
                            //settingShp.ImportMode = ImportMode.None;
                            //settingShp.TargetEncodeType = EncodeType.None;
                            //settingShp.SourceFileCharset = Charset.ANSI;

                            ImportSettingTIF settingTIF = new ImportSettingTIF();
                            settingTIF.IgnoreMode = IgnoreMode.IgnoreNone;
                            settingTIF.ImportingAsGrid = false;
                            settingTIF.ImportMode = ImportMode.None;
                            settingTIF.IsPyramidBuilt = true;
                            settingTIF.MultiBandImportMode = MultiBandImportMode.MultiBand;
                            settingTIF.SourceFileCharset = Charset.Default;
                            settingTIF.SourceFilePath = openFileDialog.FileName;
                            settingTIF.TargetDatasource = datasource;
                            settingTIF.TargetEncodeType = EncodeType.PNG;

                            DataImport dataImport = new DataImport();
                            //dataImport.ImportSettings.Add(settingShp);
                            dataImport.ImportSettings.Add(settingTIF);
                            ImportResult importResult = dataImport.Run();

                            if (importResult.SucceedSettings.Length == 0)
                            {
                                MessageBox.Show("导入失败");
                                return;
                            }
                        }

1个回答

您好,我这边测试iobject .net 11i的组件,导入shp和tif都是正常的。

建议您几个排查方向,

1.执行导入时数据源和被导入文件读写状态是否正常,数据源是否是独占打开而非只读打开。

2.您不确认正确参数的话,可以尝试使用最简参数进行导入,比如:

            DatasourceConnectionInfo info = new DatasourceConnectionInfo();
            info.Server= @"E:\测试\udbtest.udbx";

            // 2. 构建SHP导入设置对象(ImportSettingSHP),设置数据源,设置导入数据路径。

            ImportSettingSHP importSettingSHP = new ImportSettingSHP();

            importSettingSHP.SourceFilePath = @"E:\测试\shp导出\New_Shapefile.shp";

            importSettingSHP.TargetDatasourceConnectionInfo = info;

            // 3. 获取导入设置对象的导入信息集合(ImportDataInfos),设置目标数据集的名字。

            //ImportDataInfos dataInfos = importSettingSHP.GetTargetDataInfos("");

            //importSettingSHP.SetTargetDataInfos(dataInfos);

            // 4. 构建数据导入类对象(DataImport),构建并设置导入设置对象集合。

            DataImport import1 = new DataImport();

            ImportSettings settings = import1.ImportSettings;

            settings.Add(importSettingSHP);

            // 5. 执行DataImport类对象的run方法来进行导入,得到导入结果对象。

            ImportResult result = import1.Run();

希望可以帮助到您。
9,343EXP 2023年05月10日
谢谢您的回答,我按照您的方法进行了排查,数据源是以独占方式打开的。我运行了您发出来的demo,仍然失败。我还运行了“.\SampleCode\Conversion\DataExchange"这个范例程序,其中dwg导入和保留参数化对象导入可以运行,但是img导入和WOR导入失败了,请问还可能存在的问题会有哪些呢,会是因为整体环境的问题吗。谢谢。

我更换了一台电脑,可以运行,应该是设备环境问题sad

我也是一样的问题,11i不行  我换成10i就可以了
...