Andriod开发-[Arcgis andriod加载遥感文件]【新手】

  最开始是想直接读取福州区域的img文件,但随即发现该遥感文件的坐标系下单位是按米来的,由于不熟悉安卓开发的坐标转换,担心如果和GPS坐标(单位:度{经纬度})不一致可能会出错,因此就使用ArcGIS将“WGS84 utm的投影坐标”变换成“WGS84的地理坐标系”。

  再将img文件导出成TPK文件,为避免所切片的TPK文件太大,导致展示出错,故导出时将level层级缩减至12。

  再将其TPK文件直接通过Device File Explorer导入至其SD卡根目录。(其入口如下图所示)

 

  但继而又发现不可以读取,经过查询后发现,安卓6.0后读取SD卡文件需要获取动态权限,故而修改。代码如下:

  (是抄的,但是忘记出处了!   -_-!)

————————————————————开始————————————————————

//检查TPK文件获取权限
public void checkTPKFilePermission() {
int hasWritePermission = PermissionChecker.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
if (hasWritePermission != PermissionChecker.PERMISSION_GRANTED) {
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE}, 9);
} else {
readTPKFile();//读取TPK文件的函数
    }
}

————————————————————结束————————————————————

  在此基础上又添加了【定位】的按钮,和添加了一个全国的县级shp图层。(效果如下图)

————————————————————定位功能示意————————————————————————————————

 

 

————————————————————————————————————————————————————

 

————————仍待解决的问题————————

(1)andriod studio导出的apk文件无法在真机上运行,包括红米6、荣耀7c上都闪退,尚未解决为何。

(2)Event Log一直报“ NDK Resolution Outcome: Project settings: Gradle model version=5.4.1, NDK version is UNKNOWN” ,但由于不影响虚拟机的运行,就忽视了。

posted @ 2019-12-19 17:08  阿云爱吃福鼎肉片  阅读(374)  评论(0)    收藏  举报