System.Exception:找不到形状文件:[PATH]

时间:2015-11-16 23:11:33

标签: c# arcgis uwp

当调用此方法时,我在到达OpenAsync()时得到以下堆栈跟踪:

  

System.Exception:找不到形状文件:   C:\ Users \ Laura \ Desktop \ shapes \ TOTALMAP \ OH_Line_6600v_Expired.shp at   RuntimeCoreNet.Interop.HandleException(Boolean retVal)at   RuntimeCoreNet.CoreFeatureSource.FromShapefile(String filename)at   Esri.ArcGISRuntime.Data.ShapefileTable.OpenAsync(String filename)
  在ShapeSQLiteGISDemo.MainPage.d__3.MoveNext()

我在同一个文件夹中有一个同名的.dbf和.shx文件,并且我已经在管理员模式下运行Visual Studio。

private async void ImportShapes(object sender, RoutedEventArgs e)
    {
        try
        {
            //Get path from file picker
            var picker = new FileOpenPicker { SuggestedStartLocation = PickerLocationId.Desktop };
            picker.FileTypeFilter.Clear();
            picker.FileTypeFilter.Add(".shp");
            var file = await picker.PickSingleFileAsync();

            //convert folder contents to a ShapefileTable
            var shapefile = await ShapefileTable.OpenAsync(file.Path);

            //save object to database
            _DatabaseConnection.Insert(shapefile);
        }
        catch (Exception ex)
        {
            Debug.WriteLine(ex);
        }

        //call a method that loads shapes from the database
        LoadDatabaseOntoMap();
    }

任何帮助都非常感激。

2 个答案:

答案 0 :(得分:2)

我认为问题在于,对于Store和UWP应用程序,必须先将.shp文件移动到本地存储中的文件夹,然后才能打开它。

如果能解决问题,将设置为已接受的答案。

编辑:确实如此,因为我选择了一个文件选择器的文件我只能访问那个文件。为了获得多个文件,我使用了文件夹选择器并过滤掉了任何有用的文件。

答案 1 :(得分:0)

尝试使用记事本等应用程序通过粘贴路径打开文件:

  

C:\用户\劳拉\桌面\形状\ TOTALMAP \ OH_Line_6600v_Expired.shp

该应用是否会打开文件?

是否有其他形状文件打开的例子?这个文件可能只是被破坏了吗?