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