zoukankan      html  css  js  c++  java
  • 关于加载离线SHP文件、geodatabase文件所遇到的路径问题

      正文开始之前还是先吐槽一下,一行代码DEBUG了一天不知道怎么改,终于误打误撞弄出来了(以下以shp文件为例)

      对于虚拟机测试

    1         public  String getPath(){
    2             File sdDir = null;
    3             boolean sdCardExit = Environment.getExternalStorageState().equals(android.os.Environment.MEDIA_MOUNTED);
    4             if (sdCardExit){
    5                 sdDir = Environment.getExternalStorageDirectory();
    6             }
    7             return sdDir.toString();
    8         }

      通过getPath方法取得SD卡的根目录,String tmp = getPath()+"/sample/xxx.shp";   ,这样子取得shp文件是没问题的(shp文件放在了SD卡中sample文件夹下面),但是我用手机测试的时候死活获取不到,原来通过getPath方法取得手机目录为/storage/emulated/0,这个根本不是我想要的根目录,那怎么办呢?多嘴一句,这个可能和手机有关系,也许你的手机用getPath可以获得正确的SD卡目录。如果不能获取呢

      1. String strMapUrl = "file:///storage/sdcard1/sample/beijing01.tpk";  这个可以取得TPK文件并且将其正确加载

      2. String geoPathString="/storage/sdcard1/sample/road3.shp";   这个可以取得shp文件并将其正确加载

      3. String pathString=new File(Environment.getExternalStorageDirectory().getParent()).getParent()+"/sdcard1/sample/road2.shp"; 这个可以取得shp文件并将其正确加载

          以上的三种方法需要根据手机的具体情况去尝试,我到目前为止还不知道是什么原因,以下是我手机的目录结构

         

      嗯,讲的都是些粗浅的表面现象,内在的实质性的东西我还没有弄懂,欢迎大神给我解答········

  • 相关阅读:
    平均值滤波之经典形式改进
    Matlab编程实例(4) 相位角与相关系数曲线
    Matlab编程实例(3) 函数向左或向右平移N点 左移右移
    Matlab编程实例(2) 同期平均
    Matlab编程实例(1) 移动平均
    使用js在网页上记录鼠标划圈的小程序
    《你不知道的JavaScript》整理(五)——值与原生函数
    Vuex 学习总结
    HTML移动端开发常见的兼容性总结
    一步一步实现字母索引导航栏
  • 原文地址:https://www.cnblogs.com/cnugis/p/5270088.html
Copyright © 2011-2022 走看看