栅格根据象元大小生成相应的矢量图层

栅格根据象元大小生成相应的矢量图层

ID:36237422

大小:1.10 MB

页数:9页

时间:2019-05-07

栅格根据象元大小生成相应的矢量图层_第1页
栅格根据象元大小生成相应的矢量图层_第2页
栅格根据象元大小生成相应的矢量图层_第3页
栅格根据象元大小生成相应的矢量图层_第4页
栅格根据象元大小生成相应的矢量图层_第5页
资源描述:

《栅格根据象元大小生成相应的矢量图层》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、1、栅格根据象元大小生成相应的矢量图层有时我们会遇到一些问题,比如说,有一栅格图和一点矢量图或一线矢量图层,要统计落在每个栅格象元内的点的个数?求落在每个象元内的点的平均值、最大值、最小值或方差?计算落在每个象元内的线段的长度?这时该怎么解决呢如果能将栅格图中的每一个象元分别转成矢量单元格的话,这些问题就迎刃而解了那么如何将栅格图中的每一个象元转成矢量单元格呢?有以下两种方法可供参考:>>方法一的思路:分别生成纵横交错的行列矢量图层然后将二者求交>>方法二的思路:将栅格图中每个象元赋不同的值,再

2、将其按value值转成相应的矢量面即可两种方法比较而言,方法二更加简洁方便巧妙灵活,但方法一可能更易理解现在以一DEM栅格图eldodem2.tif为例,要将其按象元大小转成相应的矢量单元格方法一:1、准备工作:设置spatialanalyst中的option选项,使其范围、象元大小与原栅格图保持一致2、在栅格计算器中用以下代码生成栅格对应的行栅格r和列栅格c1.r=$$rowmap2.c=$$colmap$$rowmap表示生成栅格图层相应的行栅格,其value值即为栅格图相应的行号$$col

3、map表示生成栅格图层相应的列栅格,其value值即为栅格图相应的列号3、将生成的c和r栅格图层用rastertopolygon分别转成面c_p和r_p转后的图层如下4、将生成的行列图层用intersect求交下载(179.29KB)2010-4-2422:40求交后的图层如下方法二:此种方法比较简洁巧妙,请认真体会1、在栅格计算器中输入以下公式:1.[eldodem2.tif]-[eldodem2.tif]+$$rowmap*$$ncols+$$colmapPS:**1.[eldodem2.t

4、if]-[eldodem2.tif]的作用是使得输出的图层的范围和象元大小与原栅格图层一致,减省了在spatialanalysist中的OPTION选项中设置范围和象元大小这一步**1.$$rowmap*$$ncols+$$colmap中$$rowmap表示行号,$$colmap表示列号,$$ncols表示列数,编号=行号×列数+列号,相当于按行列从左至右从上至下给栅格单元编号.这样就达到了给不同的栅格象元赋不同的值的目的2、用工具箱中的工具rastertopolygon将栅格转成面得到的结果同

5、一的网格图结果栅格转成单元格后,在实际应用中我们往往还希望它的属性表中能保留栅格图层相应的value值那么如何将栅格的value值写入对应的矢量面的属性表中呢?具体步骤如下1、用工具箱中的featuretopoint将矢量单元格图层转成相应的点图层2、通过工具箱中的extractvaluestopoints将栅格图层的values赋给相应的点图层3、通过工具箱中的spatialjoin将点图层提取出的value值赋给相应的矢量单元非常感谢缘斑斑给予的悉心指导与帮助1.1另一个由 yulu11 »

6、2005-05-0710:38生成单个grid小格,并将属性加入的全过程(以房地产为例): 1利用房地产(点要素,内有房产价格字段)数据,采用arcgisdesktop的空间分析模块中的任一空间插值方法插值出一个grid表面。注意:首先设定option里面的参数 2打开RasterCalculator(栅格计算器),输入命令: CellNum=($$ROWMAP*$$NCOLS)+($$COLMAP+1) 其中cellnum是新生成grid的名称,如果要理解$$ROWMAP$$NCOLS$$CO

7、LMAP这些参数,首先要理解什么是矩阵,栅格文件的特点就是像一个矩阵,一个一个格子排列整齐规则,非常便于数学计算,这也就是raster非常流行的原因之一了。哈,闲话少说,言规正传!原来插值生成的grid是一个矩阵X[M][N],$$NCOLS就是矩阵的N维数,$$ROWMAP是X[M],$$COLMAP是X[N],假设M和N都是5,那么计算过程如下: 0×5+0+1=1第一行第一个单元格里面的新值(计算机计算的起点都是0,这一点学过c语言的人应该明白) 0×5+1+1=2第一行第一个单元格里面的

8、新值 …… 1×5+0+1=6第二行第一个单元格里面的新值 1×5+1+1=7第二行第二个单元格里面的新值 …… 以此类推我们可以得到所有单元格的新值,那么实际上我们就是把原来的grid转换为一个每个单元(cell)值都不相同的grid,这样就可以生成一个一个小格的polygon要素(矢量)。具体实现很简单,空间模块菜单里面有一个将raster转换为vector的菜单,注意不要勾选简化边界,否则生成的矢量图形的边界会出现三角形。 3这样我们就得到了一个一块块小格的矢量图形,但是我们发现原来的属性

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。