ArcGIS Runtime for .Net Quartz开发探秘(四):加载本地文件

来源:互联网 发布:java syslog4j 编辑:程序博客网 时间:2024/05/21 06:01

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;  









  
阅读全文
0 0