基于ArcGIS Engine栅格数据转换矢量数据.docVIP

基于ArcGIS Engine栅格数据转换矢量数据.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ArcGIS Engine栅格数据转换矢量数据

基于ArcGIS Engine栅格数据转换矢量数据摘要:ArcGIS提供了栅格数据向矢量数据转换函数,但是有特定的要求。同时,在ArcGIS Engine中提供了操作栅格数据的函数,可以对栅格数据进行编辑,从而可以到达栅格数据转矢量数据的要求。 关键词:ArcGIS Engine ;栅格数据;矢量数据 Abstract: The ArcGIS provides raster data to vector data conversion function, but it has the specific requirements. At the same time, providing the operating raster data function in the ArcGIS Engine, can edit the raster data, to reach the raster data to the vector data requirements. Key words: ArcGIS Engine, raster data, vector data 中图分类号:P271文献标识码:A 文章编号:2095-2104(2012) 在日常地理信息数据处理中,会对栅格数据进行各种要求处理,并且最终要求将其转换成矢量数据[1][2][3][4][5]。我们可以采用ArcGIS Engine中提供的操作栅格数据的函数,对栅格数据进行各种编辑,满足对栅格数据的各种操作,同时可以将栅格数据转换成矢量数据。 ArcGIS栅格转矢量工具 在ArcGIS桌面版中打开ArcToolbox找到转换工具-由栅格转出,可以找到具体的栅格转矢量的工具。比较常用的是转点、转线、转面。查看帮助文档可以看到栅格转面矢量的函数是RasterToPolygon_conversion (in_raster, out_polygon_features, {simplify}, {raster_field}),其用法要求为:输入栅格的栅格单元大小可以任意,但必须属于有效的整数型栅格数据集。对栅格数据集要求必须是整数型(指栅格数据中格网像素的数据类型)。然而,在实际数据中大部分栅格数据采用浮点型。在ArcGIS中可以通过查看栅格数据的文件属性来查看栅格数据的像素数据类型,如图1。 由于ArcGIS中栅格转矢量工具的具体要求,所有必须对栅格数据进行像素类型转换;同时,要满足数据转出的其它要求,比如某一个栅格数据中,只要求像素值在某个特定范围的数据转出为矢量数据等各种具体的实际操作要求,有必须对栅格数据进行改写等的操作。在ArcGIS Engine中提供了操作栅格数据的函数,可以对栅格数据进行编辑,所有,有必要运用ArcGIS Engine对栅格数据进行编辑,从而满足栅格转矢量等各种具体要求。 图1 查看栅格数据的像素类型 ArcGIS Engine栅格转矢量 ArcGIS Engine提供将栅格转为像素块(IRaster接口中提供函数CreatePixelBlock(IPntpntSize)),游标法(raster cursor,在IRaster2接口中提供函数CreateCursorEx(null))等方法对栅格数据进行读写操作[6][7]。 像素块方法中,参数为块的大小,可以为整个栅格数据,也可以为1个像素块,或者具体的像素块。之后,可以通过IRaster接口的Read方法来实现将栅格数据转到像素块中。Read函数Read (IPnt tlc, IPixelBlock block),第一个参数用于指定获取像素块的位置,第二个参数为像素块。值得注意的是,此处使用的指定获取像素块位置,其值的范围为0到栅格数据的的行数和列数。一般设为整个栅格数据,即设为栅格数据的行数×列数,这样对于栅格数据中的具体格网的像素值可以通过行列号来访问,非常方便,但是,当栅格数据行列比较多时,会出现内存不足的警告。如果将参数设为1×1个像素块或者几×几个像素块,那么对栅格数据具体格网的访问,将要通过计算格网的坐标值来访问。以上可知,采用像素块方法时,当数据行列数不多可以采用整个栅格大小为参数;参数设为1×1个像素块或者其它小块时,要解决栅格格网的坐标计算问题。 游标法中,按默认值将栅格数据自动分成几个光标块,再将游标块当成像素块的集合,然后操作像素块集合从而操作每一个像素块(也就是单元格网)。这种方法可以避免内存不足的警告,也可以通过游标块方便的得到光标块的坐标。同样,也可以设置游标块中像素块集合的个数,可以设置为整个栅格数据,也可以设置如果将参数设为1×1个像素块或者几×几个像素块,其它的操作与像素块

文档评论(0)

linsspace + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档