一些函数的用法和注意事项(五)--图层的缩放(Scaler函数)
luyued 发布于 2011-05-16 20:38 浏览 N 次作者:毛毛虫
有客户在使用函数Scaler对图层进行缩放时,说是遇到变形问题,这里就主要说一下如何对图层进行缩放。
首先看一下Scaler函数,它的属性如下:
这个函数可以用于矢量数据也可以用于栅格数据,作用是缩放目标使得它们更大或更小。可以分别在X, Y, 和Z轴上设置乘数。对于二维要素,Z的乘数被忽略。如果Text Scaling被设置为"Location and Size",那么任何文本要素也会根据设置的比例来缩放;如果选择"Location Only",则文本保持不变,不进行缩放。注意:这个函数简单的乘以所有的用户指定的缩放比例因子,如果对象不在坐标系统的0,0点,也不靠近0,0点,使用Scaler也会在数据中引入一个位移。
原图层如下:
当我们对这个图层使用Scaler函数,x、y轴上都设置个系数2时,生成的图层如下:转换前后的图层对比下,图层确实不同了,但是分析之后就会发现,并不是缩放之后图形发生了变形,而是Scaler函数是对每个要素分别进行缩放的,经过缩放后,要素之间发生了覆盖,如图: 我们只需要将这个图层进行聚合处理,使用Aggregator函数把所有要素聚合为一个要素,然后再进行缩放就可以了。注意使用函数Aggregator时,需要在List Name中输入一个名称,这个生成的list可以保留原来要素的属性,函数设置如下:在完成缩放后,使用Deaggregator函数打散聚合,并在List Attribute中选择我们在Aggregator函数中生成的List就可以把原来每个要素的属性再分配给对应的要素。此时缩放后的效果如下:这时就不会有原来所认为的“变形”问题了。 还要注意下参数 Scale Origin的选项:Center Point:是以要素的中心点为参考来进行缩放的,如上面我们都是选择的这个选项。
0,0:以坐标系统的原点0,0为参考来进行缩放。如果要素的坐标与0,0相距很大,转换前后输入要素与输出要素的距离也可能很远。
如下图是我设置为0,0后的效果(做标记的位置是转换前后图层所在的位置):
如果原数据的坐标就在0,0附近,则不会有这么大的唯一。如下图:
相关资讯
- 06-15· 2011.03.16中山
- 06-15· [转载]段琪桂不构成“犯罪
- 06-15· 雅思VIP8人班
- 06-15· 广州市地下铁道总公司D
- 06-12· 那些类似口袋的玩意
- 06-12· 伸个懒腰腰
- 06-07· [原创]精明购物挑战千年极
- 06-05· 桂林中旅新增路线“桂林
- 06-05· 怎样能增肥 2011年1月21日芒
- 06-05· [转载]【日本旅游】日本游
图文资讯
最新资讯
- 06-05· 广州至纽约 芝加哥 华盛顿
- 06-05· [热门]记三亚…仅供娱乐
- 06-05· Lucene原理及使用总结 | 用
- 06-04· 国际漫画大赛征稿(修改
- 06-04· 泰國之旅第一日~
- 06-04· 泰之旅day4
- 06-04· 泰國之旅 Farica 篇
- 06-03· 哈 曼丁的故事3
- 06-03· 奥巴马:没有总统相?“
- 05-31· 5-31筹款物资汇总披露(一