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文件的底圖有着同樣的功能,同樣會隨着放大縮小,並且可以在上面繪製各種圖形。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章