ArcGIS中栅格切片相关操作

本文介绍一些常用的,对栅格切片的操作,适用范围详见描述。

如何发布切片服务,详细步骤见ArcGIS 发布服务的那些事儿——(2)切片服务(A篇)

目录

场景一:切片复用

​场景二:空间上不同的两个切片合并

场景三:切片补切

场景四:切片减少

场景五:查找缺失切片

情景六:减少切片冗余(导出感兴趣区切片)

6.1 导出感兴趣区切片

6.2 删除原始服务所有切片

6.3 导入感兴趣切片



场景一:切片复用

描述:原始Server(低版本如10.1)中有一个切片服务,现在新部署了一个Server(高版本如10.5)环境,还需要用原来的切片服务,重新切片数据量大,耗时

关键词:跨机器  跨版本  不同站点

步骤:迁移的服务要和之前所在的文件夹和服务名称一模一样才可以

假设发布一个名为test2的服务,在skmap文件夹下

1、加载一个正确位置的矢量面,发布为动态服务,放在skmap文件夹下,起名为test2。

2、停止服务,在arcgiscache中新建文件夹skmap_test2,在此文件夹下新建Layers,然后将原来的_alllayers、Status.gdb、conf.cdi、conf.properties、Conf.xml文件拷贝至Layers文件夹下,并从skmap_test2给arcgis 账户完全控制权限,并依次检查。确认无误后,启动服务。

3、此时启动了的服务还没有切片的小图标,点进去在缓存一项中,点击重启即可。

 

 

 

 

场景二:空间上不同的两个切片合并

有两个切片服务,坐标系相同,切片方案相同,在不重新切片的情况下将两个服务中的切片合并到一起,如下图所示的切片合并到一起

关键词:同一站点  同一机器

步骤:新发一个服务,地图文档中包含上述两个区域(如下图所示),选择发布切片服务,手动切片,注意,切片方案和数据坐标系要完全相同

运行切片导入工具,将sub1和sub2两个服务的切片导入到新发的服务中

合并后效果

 

注:如果合并后遇到在本该有数据的地方一片空白,类似于相互压盖的情况,那么取消勾选导入切片工具中的overwrite。

场景三:切片补切

即缺少层级,假设原始服务有5-8级,现在需要增加第9级切片,就需要进行切片补切

关键词:同一服务  增加层级

步骤:在ArcCatalog中,找到服务,右键选择服务属性

移动滑块到9级,并选择手动创建切片,点击ok

此时刷新server页面,查看服务切片时,会发现,层级已经增加

还是在ArcCatalog中,找到服务,右键,管理缓存,管理切片,打开如下图所示工具,更新模式那里选择recreate_enpty_tiles

运行完以后再次检查,切片已经完整了

场景四:切片减少

原始服务的层级为5-8级,现想将切片的层级减少,改为5-7级

关键词:同一服务   减少层级

步骤:在ArcCatalog中,找到服务,右键选择服务属性

滑块滑到7级,保存。

进入到admin页面,如https://localhost:6443/arcgis/admin

依次点击services,文件夹名称,服务名称,进入如下图所示页面

滑到最下面,点击edit,在浏览器中用快捷键ctrl+F,调出查找按钮,输入maxLOD,将这个属性后面的数据改为7并保存

此时刷新服务,就可以看到服务中只有5-7级切片了

server配置目录中对应的L08文件也可以删除了

场景五:查找缺失切片

在实际的工作中,切图工作总是耗时的,如果出于某些原因,切图过程被迫中断了,那么只需要在ArcCatalog中找到这个服务并右键,选择管理缓存——管理切片,运行Manage Map Server Cache Tiles,选中要切图的那一级,继续切就完事儿了,但理想往往很美好,现实很骨感,有那么一个层级,不管运行多少次工具,还是切不下去,这个时候,就需要查找缺失切片了。

遇到如下图所示的情况

查找步骤:

1、先到server的配置目录,找到该服务的缓存路径,一直到Laeyr这一级,并复制

2、在ArcCatalog中打开

点击确认后,在ArcCAtalog中出现如图所示的界面

将上述4个要素类拖进ArcMap中,分别打开属性表,可看到如下相关信息

CacheStatus

从这个属性表中可以看到,objectID为1-7,percent为100,说明0-6级切片是完整的,objectID为8和10的,percent不是100且Status中为Partial,说明7和9级生成了部分切片,还不完整,生成的比例为percent中显示的比例,剩余的percent为0,说明还没有生成切片

注:objectID是要素的属性,从1开始,而切片层级是从0开始

JobDetails

这个表中详细记录了提交Job的详情,(为了呈现切片生成不完整的情景,我采用了手动切片,并在切图切到一半的时候强行停止了CacheTools和CachingControllers工具)包括运行的工具名称,涉及到的比例尺,job类型

JobStatus

TaskStatus

从上面两个表中都可以查到JobID和Status,可找到Status中显示failed,还能看到错误的比例尺,记住这个比例尺。

加载Laeyrs

将如图所示的Laeyrs加载到ArcMap中,并将比例尺固定到刚才切图出错的比例尺层级

固定比例尺方式:在内容列表中,Layers上右键——属性,调出如图所示界面

接下来,就移动地图,查找缺失的位置(这个过程就比较痛苦了……)

如果发现了类似这样的区域

这个位置本来应该是有地图的,但此时这里没有,说明这个位置切片没有产生,那么就需要创建AOI(Area Of Interest),将这片位置单独拿出来,和之前的所有设置一模一样,包括比例尺、符号化、坐标系、切片方案等,重新发布服务,切片方案也要选择一样的,单独切这个层级,要注意发布服务前分析栏里的内容并改正,这些可能就是导致切图失败的因素,直到新的切片生成。然后使用情景二中用到的那个工具,将新的切片导入到这个服务中即可。

如果,在该比例尺下,所有的位置都找了一遍,发现并没有哪个地方有缺失,而,切片状态的百分比并不是100%……也不急,我先告诉你一个真相

发现了没有,在实际的切片过程中,很多地方,都是空白的,这就造成了大量的冗余切片,为了测试,我用的都是ArcGIS Online的切片方案,因此范围是全球的,在实际操作过程中,有三种方式可以规避这样的情况

1、自定义切片方案,即将切片方案的切片原点刚刚好覆盖数据,可以根据数据的Extent来填写

2、如果一定要是统一的切片方案,不能更改切片原点,那么则需要导出导入切片,具体步骤会在下一个情景详说

3、如果是矢量数据,还可以发布矢量切片服务

因此,如果你遇到的也是这样的情况,在实际浏览中发现没有缺失切片,那就不必过分纠结100%这个数字了。

情景六:减少切片冗余(导出感兴趣区切片)

上面例子中,所有层级都切完,文件大小如图所示,太占磁盘空间

6.1 导出感兴趣区切片

在ArcCatalog中找到上面的服务,右键——管理缓存——导出切片,运行下图所示工具

注意:Storage Format Type选择COMPACT_V2,Area Of Interest(Polygon)选择一个面数据,能否覆盖数据范围,工具便只会导出AOI中的切片缓存

6.2 删除原始服务所有切片

6.3 导入感兴趣切片

导入完成后看切片百分比

有效减少冗余切片,就是过程略痛苦

 

 

 

 

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值