TilePackage(.tpk)
TilePackage是使用地图文档(mxd)制作的用于移动端底图的地图包,本质压缩的切片文件和地图文档。
ArcGISTiledLayer tpkfile = new ArcGISTiledLayer(new Uri(FilePath)); myMapView.Map.OperationalLayers.Add(tpkfile);
VectorTilePackage(.vtpk)
Vtpk是使用ArcGIS Pro生成的矢量切片数据包,矢量切片包的介绍——矢量切片,集美貌与才华于一身的底图方案。这里只介绍矢量切片在移动端加载的方法.ArcGISVectorTiledLayer avtl = new ArcGISVectorTiledLayer(new Uri(FilePath)); myMapView.Map.Basemap.BaseLayers.Add(avtl);
.geodatabase文件
.geodatabase文件有两种生产制作方式,可以通过ArcMap预先制作,也可以通过API从ArcGIS Server下载。两种生产方式也代表着ArcGIS Runtime的两种数据流通模式,桌面模式和服务器模式。这里先给出加载方法。
Geodatabase gdb = await Geodatabase.OpenAsync(FilePath); foreach (var table in gdb.GeodatabaseFeatureTables) { var flayer = new FeatureLayer() { Id = filename, Name = filename, FeatureTable = table, }; myMapView.Map.OperationalLayers.Add(flayer); }
Scene LayerPackage(.slpk)
Scene LayerPackage即场景图层包,一个符合I3S规范的节点信息和资源打包到一起的一个压缩包文件,目前主要支持3D模型、集成网格、点以及点云数据。slpk主要用于从文件加载三维内容,下面给出slpk的加载方式。
ArcGISSceneLayer sl = new ArcGISSceneLayer(); sl.Source = new Uri(FilePath); this.mySceneView.Scene.OperationalLayers.Add(sl);
Mobile MapPackage (.mmpk)
Mobile MapPackage是ArcGIS推出的一种多终端应用的离线地图文件,移动地图表既能解决移动端符号渲染问题,又能结合矢量地图解决地图包过大的问题,还能支持离线的查询,分析各种场景。
.mmpk的内容与上述几个本地文件略有不同,mmpk存储的不仅仅是图层内容,从加载代码中就可以看到,mmpk中存储的是ArcGISMap对象。
MobileMapPackage mapPackage = await MobileMapPackage.OpenAsync(FilePath); ArcGISMap map = mapPackage.Maps[0]; myMapView.Map = map;