2015-09-04 86 views
0

我正在尝试读取地理数据库文件(.gdb)并使用它来获取其GeodatabaseFeatureTables之一以将其加载到地图。然而,在创建它的对象时,它会抛出“发生某种磁盘I/O错误”异常。我认为这个异常与SQLite错误有关。任何人都可以说为什么这个异常被抛出?阅读地理数据库文件时出现异常


try { 
    geodatabase = new Geodatabase(sdcardPath+gdbFilePath); 
    } 
    catch(Exception e){ 
     e.printStackTrace(); 
    } 

回答

0

你说你要加载.GDB 文件。我假设你的意思是.gdb 目录,它是一个文件地理数据库,对吗?那么,Android Geodatabase类不适用于文件地理数据库。相反,它可与运行时地理数据库一起使用,该地理数据库使用Create Runtime Content工具创建。运行时地理数据库是一个SQLite文件,通常具有.geodatabase的文件扩展名。目前,ArcGIS Runtime for Android不支持文件地理数据库(即.gdb目录)。

+0

谢谢。我想通了,并尝试从ArcGIS桌面创建.geodatabase文件。我加载了底图和包含建筑物和道路的要素图层,然后转到文件 - >共享 - >运行时内容...并点击共享。 ArcMap创建了.mxd文件,而不是.geodatabase文件,这是我期待的。仅供参考,在ArcMap选项中选中“启用ArcGIS运行时工具”。我在这里做错了什么? – rahul

+0

你在正确的轨道上。您可以使用文件>共享为>运行时内容,或者您​​可以运行创建运行时内容地理处理工具。这两者中的任何一个都可以为您创建运行时地理数据库。这两者都不会创建.mxd;当您在ArcMap中保存地图文档时,您已经掌握了这一点。 –

+0

我确定我做了同样的事情,但我会再试一次。另外,如果我们可以在android中编辑这样的地理数据库,可以让我知道吗?如果没有,您是否可以让我知道如何编辑本地地理数据库文件的过程?我的要求是,我得到.shp/.gdb文件。我需要将它加载到我的android设备并在设备中进行编辑并将这些编辑保存回同一个文件(所有内容都是离线的)。以后我需要将这些编辑同步到主文件。我正在浏览arcGIS文档,但仍然无法找出正确的方法来做到这一点。 – rahul