您的位置:首页 > 其它

AE调用切图GP工具

2010-11-04 20:40 309 查看
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             CreateMapServerCache createCache = 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             ManageMapServerCacheTiles serverCacheTilse = 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         }
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息