private void GPTiles() {
4 //设置参数
5 // 切图比例列表
6 string levels = "64000000;32000000;16000000;8000000;4000000;2000000;1000000;500000";
7 // 地图服务中的图层列表
8 string layers = "LakesAnno;State_BoundariesAnno;Provinces;State Boundaries;Lakes;County Population;State Population;State Background";
9 CreateMapServerCachecreateCache = new CreateMapServerCache();
10 createCache.server_name = "192.168.0.96";
11 createCache.object_name = "mexico";
12 createCache.data_frame = "Layers";
13 createCache.out_folder = @"d:/arcgisserver/arcgiscache/";// 缓存输出位置
14 createCache.tiling_schema = "NEW";
15 createCache.tiling_scheme_type = "NEW";
16 createCache.scales_type = "STANDARD";
17 createCache.num_of_scales = 8; // 设置切图级数
18 createCache.tile_width = 512;
19 createCache.tile_height = 512;
20 createCache.dpi = 96;
21 createCache.cache_format = "PNG24";
22 createCache.tile_compression_quality = 0;
23 createCache.map_or_layers = "FUSED";
24 createCache.Antialiasing = "ANTIALIASING";
25 createCache.levels = levels;// 需做缓存的比例列表
26 createCache.Layer = layers;// 图层列表
27 RunTool(createCache);
28
29 ManageMapServerCacheTilesserverCacheTilse = new ManageMapServerCacheTiles();
30 serverCacheTilse.server_name = "192.168.0.96";// 服务器名称
31 serverCacheTilse.object_name = "mexico";// 地图服务名称
32 serverCacheTilse.data_frame = "Layers";// data frame名称
33 serverCacheTilse.Layer = layers;//
34 serverCacheTilse.levels = levels;
35 serverCacheTilse.update_mode = "Recreate All Tiles";
36 serverCacheTilse.thread_count = 5;
37 serverCacheTilse.Antialiasing = "ANTIALIASING";
38
39 RunTool(serverCacheTilse);
40 MessageBox.Show("Done!");
41 }
42
43 private void RunTool(IGPProcess process) {
44 //构造Geoprocessor
45 Geoprocessor geoprocessor = new Geoprocessor();
46 // Set the overwrite output option to true
47 geoprocessor.OverwriteOutput = true;
48 try {
49 geoprocessor.Execute(process, null);
50 ReturnMessages(geoprocessor);
51 } catch (Exception err) {
52 Console.WriteLine(err.Message);
53 ReturnMessages(geoprocessor);
54 }
55 }
56
57
58 // Function for returning the tool messages.
59 private void ReturnMessages(Geoprocessor gp) {
60 string ms = "";
61 if (gp.MessageCount > 0) {
62 for (int Count = 0; Count <= gp.MessageCount - 1; Count++) {
63 ms += gp.GetMessage(Count);
64 }
65 }
66 }
AE调用GP工具切图
最新推荐文章于 2016-08-15 16:30:20 发布