ArcGIS Mobile 10开发(四)加载切片数据

     在ArcGIS Mobile 10中新增命名空间ESRI.ArcGIS.Mobile.DataProducts.RasterData :专门用于提供显示栅格数据的类。下面我们就来看一下,如何应用该类在Mobile中加载栅格数据。

     首先要试验的栅格数据是将我们通过ArcGIS Server发布服务切图获取的地图缓存数据。在ArcGIS Mobile 10中新增的TileCacheMapLayer类,通过该类我们就可以将地图缓存拷贝到移动设备中,然后通过Map控件来读取切片数据,加载并显示在地图上。下图中看到的是沈阳市的地图,有两个图层。第一层是沈阳外环高速公路,为矢量图。第二层为沈阳市行政区划图,为Server切片数据。  

第一步,是获得Server的切片数据。发布服务和切缓存这里就不多介绍了。从C:arcgisserverarcgiscache中将切片数据拷贝到移动设备中,我这里用的是紧凑型格式的切片数据,方便拷贝。

将矢量数据和切片数据放到不同的文件下,比如将矢量数据放到MapCache中,将切片数据放到TileCache中。

下面就是通过代码来实现Mobile中加载切片图层了。代码如下:

    //加载TileCache底图图层  

 

    privatevoid LoadRasterLayer(ESRI.ArcGIS.Mobile.Map map1)

 

    {

 

       //指定TileCache的路径

 

       string TileMapFolder = Environment.GetFolderPath(Environment.SpecialFolder.Personal) + @”TileCache;

 

       //声明TileCacheMaplayer用于存放切片数据

 

       TileCacheMapLayer rasterLayer = newTileCacheMapLayer(TileMapFolder);

 

       rasterLayer.Open();

 

       //获得切片数据的切图级别和比例尺

 

       if (rasterLayer.TileCacheInfo != null)

 

       {

 

           //在Map1中添加切片图层

 

           map1.MapLayers.Add(rasterLayer);

 

           List<LevelOfDetail> levelOfDetails;

 

           levelOfDetails = newList<LevelOfDetail>();

           List<double>scaleList;

 

           scaleList = newList<double>();

           foreach (LevelOfDetail lOD in rasterLayer.TileCacheInfo.TileInfo.Lods)

 

           {

 

                doublescale = lOD.Scale;

 

                scaleList.Add(scale);

 

           }

           //设置初始化比例尺

 

           double initialMapScale;

 

           initialMapScale = map1.Scale;

 

       }

 

       else

 

       {

 

           MessageBox.Show(“TileCache文件错误!“);

 

           return;

 

  }

 

}

privatevoid menuItem7_Click(objectsender, EventArgs e)

 

    {

 

       LoadRasterLayer(this.map1);

 

       map1.Refresh();

 

}

 

最终结果:

 

 

。  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值