AR栅格可视化

栅格数据可视化效果,如下图:

图:AR栅格可视化

必备类库

进行栅格数据AR可视化必需的类库为sceneform-sm_v1.19.7.aar、com.supermap.ar.jar、com.supermap.data.jar,必需的so库为libimb.so或libimb2d.so。开发环境要求AndroidStudio 3.6.0以上,gradle 5.6.4以上。

关键代码

//获取当前设备的屏幕密度
float density = ScreenPointTool.getScreenDensity(this);
mMapView = new MapView(this);
mMapView.setLayoutParams(new ViewGroup.LayoutParams((int)(300 * density),(int)(300*density)));
//添加mapView
arView.addView(mMapView,0);
//获取mapControl
MapControl mapControl = mMapView.getMapControl();
//获取map
map = mapControl.getMap();
//设置地图容器的工作空间
map.setWorkspace(mWorkSpace);
//打开地图
map.open(parameterMap.get("MAP_NAME"));
//创建AR元素
ARMapElement arMap = new ARMapElement(this);
arMap.setParentNode(arSceneLoader.getSceneElement());
arMap.setRelativePosition(new Point3D(x,y,planeHeight));
//使用地图1:1模式
arMap.setRealMode(true);

//底图设置
//叠加层透明
map.setAlphaOverlay(true);
//绘制背景
map.setPaintBackground(false);
//不使用系统的dpi
map.setUseSystemDPI(false);
map.setMapDPI(96);
map.refresh();
//加载需要映射的地图,mMapView为MapView类,使用其map加载显示栅格数据
arMap.loadModel(mMapView);