android arcgis使用自定义图片背景底图(tif图片制作)

简介

arcgis在安卓中专业级位置服务中发挥了很大的作用,当然主要目的不是为了像百度地图那样显示地图,它包含了很多很多百度地图等不具备的功能。一般使用它都是用的范围很大的shp文件做底图,但是也有只需要显示小范围位置的需求(范围太大tif文件很大),这样我们就可以使用实景照片来当做底图,这样有很大的好处(好装逼~)。

如果要用实景图片的话,那就需要用到栅格图层(RasterLayer),使用它来加载TIF图片。

制作tif图片

1.如果只是测试一下功能,可以直接使用工具下载一个tif格式的卫星图片。

我这里是使用的是BIGEMAP地图下载器,操作如下,进入软件然后在地图上框下需要下载的区域,双击下载。

2.自己自定义制作,使用ArcMap工具把自己拍摄的实景图片打上位置坐标,最后保存成tif格式。

下载安装地址:https://www.jb51.net/softs/572149.html

安装好后,就需要用这个软件配准图片,也就是给图片打上位置坐标,好让它在地图上准确的位置显示。下面就让我们给图片打上点。

把图片拖入到工作区,然后显示出georeferencing工具,用它来给图片配准。

然后在图片上打4个点,点击图片上位置然后右键,输入当前点位需要在地图上显示实际位置的高斯坐标(我是随便写的坐标,你们要写实际的)。

四个点位打完后显示如下

然后点击updata更新,就配准成功了

然后就可以开始导出成tif图片了

具体的导出配置如下,如果不修改上面上个打红色标记的地方,导出的图片将会是全黑或者损坏。如果如图这样选择了还是黑色或损坏那可能是arcMap软件没关,关了再重新打开tif图片试试。

这样tif图片就生成好了。

使用tif图片

android中使用arcgis,相信大家都很熟悉,首先添加操作依赖包。

布局中添加使用

    <com.esri.android.map.MapView
        android:id="@+id/mapView"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layerType="software"
        />

arcgis使用tif图片

   private MapView mapView;
    private FileRasterSource rasterSource ;
    private RasterLayer rasterLayer;  
     mapView = findViewById(R.id.mapView);
        //自定义图片当底图 栅格图层
        try {
         //获取tif图片
            rasterSource = new FileRasterSource(Environment.getExternalStorageDirectory().getPath() + "/Map/data.tif");
            //创建包含的tif图片的栅格布局
            rasterLayer = new RasterLayer(rasterSource);
            //添加图层到地图
            mapView.addLayer(rasterLayer);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        mapView.setMapBackground(Color.WHITE, Color.WHITE, 0, 0);//设置背景为白色

下载的tif最后在手机上显示如下

自己制作的tif最后在手机上显示如下

总结

这样就大功告成了,简不简单~~,但是我为了达到这个需求弄了很久才找到这种方法(心累~~),这样的图片背景跟shp文件的底图有着同样的功能,同样会随着放大缩小,并且可以在上面绘制各种图形。

发布了40 篇原创文章 · 获赞 70 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/weixin_35959554/article/details/102870106