ArcPy创建地图服务器缓存
来源:互联网 发布:中国自然灾害的数据 编辑:程序博客网 时间:2024/06/06 08:26
ArcPy将地图文档 (.mxd) 文件转换为服务定义草稿 (.sddraft) 文件,此时的地图服务是没有缓存的,如果需要创建缓存需要使用ArcToolBox里面的“创建地图服务器缓存”工具。
可以在ArcCatalog里的“系统工具箱->Server Tools->缓存->创建地图服务器缓存”,在“地图服务器缓存”工具右键->帮助,就可以看到ArcGIS 帮助文档对工具的介绍以及ArcPy的使用。
具体的使用可以参考ArcGIS帮助文档,在这里贴出代码和简单介绍参数的含义:
import arcpyfrom arcpy import envimport os, sys, time, datetime, traceback, string# Set environment settingsenv.workspace = "D:/Project" #工作目录# List of input variables for map service propertiesconnectionFile = env.workspaceserver = "test163" #ArcPy创建的连接文件,放在工作目录下serviceName = "WuHanTest.MapServer" #发布地图服务的名称inputService = connectionFile + "\\" + server + "\\" + serviceNameserviceCacheDirectory = "D:\\arcgisserver\\directories\\arcgiscache" #ArcGIS缓存位置tilingSchemeType = "PREDEFINED" #采用预定义的方案scalesType = "CUSTOM"numOfScales = "13" #切片等级数,13级dotsPerInch = "96"tileSize = "256 x 256"predefinedTilingScheme = "D:/Project/conf.xml" #切片方案文件tileOrigin = "-20037508.3427892 20037508.3430388" #切图原点scales = "73957338.86;36978669.43;18489334.72;9244667.36;4622333.68;2311166.84;1155583.42;577791.71;288895.85;144447.93;72223.96;36111.98;18055.99" #分辨率cacheTileFormat = "PNG" tileCompressionQuality = "0"storageFormat = "EXPLODED" #松散型切片currentTime = datetime.datetime.now()arg1 = currentTime.strftime("%H-%M")arg2 = currentTime.strftime("%Y-%m-%d %H:%M")file = 'D:/Project/report_%s.txt' % arg1# print results of the script to a reportreport = open(file,'w')try: starttime = time.clock() result = arcpy.CreateMapServerCache_server (inputService, serviceCacheDirectory, tilingSchemeType, scalesType, numOfScales, dotsPerInch, tileSize, predefinedTilingScheme, tileOrigin, scales, cacheTileFormat, tileCompressionQuality, storageFormat) finishtime = time.clock() elapsedtime = finishtime - starttime #print messages to a file while result.status < 4: time.sleep(0.2) resultValue = result.getMessages() report.write ("completed ") print "Created cache schema using predefined tiling schema for " serviceName + " in " + str(elapsedtime) + " sec \n on " + arg2 except Exception, e: # If an error occurred, print line number and error message tb = sys.exc_info()[2] report.write("Failed at step 1 \n" "Line %i" % tb.tb_lineno) report.write(e.message)print "Executed creation of map server Cache schema using tiling scheme"report.close()
参数说明:
server:ArcGIS的连接文件,后缀为ags,不知道怎么生成的,请看我之前的博客。
serviceName:发布的地图服务的名称,不记得发布名称的可以在ArcCatalog里面找到。
serviceCacheDirectory:ArcGIS缓存的位置,我这里使用的是安装默认的位置。
tilingSchemeType:因为要创建的缓存是png的自己的切片,所以这里使自定义方案。
predefinedTilingScheme:采用的切片方案文件,最好是自己的切片就带有这个文件,没有的话也可以自己生成。跟“创建地图服务器缓存”在同一个位置下,“生成地图服务器缓存切片方案”。使用这个就可以制作xml文件。
tileOrigin:切片原点,在xml文件里面可以找到。找到TileOrigin标签,里面的就是原点。
Scale:地图等级的分辨率,也可以在xml文件中找到。
大致需要修改的参数就这么多,不明白的请仔细阅读ArcGIS的帮助文档,比我讲的详细多了。说句良心话,ArcGIS帮助文档真的是我见过最好的帮助文档,没有之一!里面都讲的很详细很清楚,还附带有示例,好好利用帮助文档。
- ArcPy创建地图服务器缓存
- ArcPy导入地图服务器缓存
- Python/Arcpy创建文本文件
- Arcpy 按照要素输出地图
- 利用arcpy进行地图整饰
- Python/ArcPy创建目标文件夹
- Arcpy基础入门-3、arcpy创建地理处理工具
- 利用Arcpy发布地图服务,制作切片
- ArcGIS Server创建缓存地图服务教程
- ArcPy创建ArcGIS Server连接文件
- 地图缓存
- 通过Python脚本创建ArcGIS地图服务缓存
- 通过Python脚本创建ArcGIS地图服务缓存
- ArcGIS发布地图并创建切片缓存方法
- [ArcPy] Excel转shp文件 Python解析Excel ArcPy创建要素类并保存
- ArcGIS Python arcpy 批量创建SDE空间索引
- 20171109地图 创建地图
- 创建地图
- Hadoop 集群迁移历程 心得体会(一)
- wpf--只是用代码动态创建 窗体
- 问题 : 小A的计算器
- struts2xml的验证
- HDU 2100-Lovekey(字符串)
- ArcPy创建地图服务器缓存
- 互联网时代,如何能保障用户的“数据隐私”?
- 设计模式(12)命令模式--行为型
- HDU 6092 Rikka with Subset(递推)
- 字符设备驱动框架1
- Gym-100819U 水题。。
- 类与对象
- IE和标准DOM的事件模型
- ctf bugku 变量1