当调用此方法时,我在到达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();
}
任何帮助都非常感激。
答案 0 :(得分:2)
我认为问题在于,对于Store和UWP应用程序,必须先将.shp文件移动到本地存储中的文件夹,然后才能打开它。
如果能解决问题,将设置为已接受的答案。
编辑:确实如此,因为我选择了一个文件选择器的文件我只能访问那个文件。为了获得多个文件,我使用了文件夹选择器并过滤掉了任何有用的文件。答案 1 :(得分:0)
尝试使用记事本等应用程序通过粘贴路径打开文件:
C:\用户\劳拉\桌面\形状\ TOTALMAP \ OH_Line_6600v_Expired.shp
该应用是否会打开文件?
是否有其他形状文件打开的例子?这个文件可能只是被破坏了吗?