您的位置:首页 > 其它

转:使用ArcScan模块进行纸质图件数字化

2010-03-12 16:24 567 查看
原文:http://www.higis.cn/index.php/2007/02/52/

纸质图件的数字化是数据的一个重要来源。一般来说有两种常用的方法,一种是直接用数字化仪进行数字化,另一种是扫描后进行屏幕数字化。本文将介绍利用ArcGIS Desktop进行后一种数字化的方法。 纸质图件扫描后,得到扫描图像。扫描图像的坐标是基于扫描仪的坐标系统,没有任何地理意义,因此数字化前要先进行地理坐标配准。这就要调用ArcGIS的Georeferencing工具条来完成。根据控制点数据格式不同,配准也有两种方式,一种是用具有地理坐标系统的图件来纠正没有地理坐标系统的图件(比如常说的用矢量图纠正栅格图),另一种是根据扫描地图上控制点的已知坐标来配准。





首先添加要配准的栅格图,对于前一种情况,就要加载两幅图件。设置数据框的坐标系统与要配准到的目标坐标系统一致。激活Georeferencing工具条后,点击工具条上Georeferencing菜单下的fit to display,取消同一菜单下的Auto adjust。然后点击工具条上的Add control points图标添加转换链接。方法如下:单击待配准图像的控制点,若是用两幅图进行配准,则再单击参考图像上的同名控制点;若是用已知x,y坐标配准,则点击鼠标右键,在弹出的对话框中输入控制点的地理坐标。如此添加足够的控制点,添加过程中可点击工具条上的view link table查看转换链接的残差。添加完控制点后,先点击Georeferencing菜单下的update display,查看现有控制点的配准效果。如果满意,就可以保存配准结果了。保存配准的结果有两种方法,第一种是点击Georeferencing菜单下的Update Georeferencing。这会在另外的文件里存储栅格数据的坐标信息。如果是基于文件存储的栅格数据(如tiff),坐标信息存储在.xfm后缀的XML文件和AUX文件中,根据变换方法的不同,可能还有world文件。如果是Geodatabase中的栅格数据,则坐标信息也存储在同一个Geodatabase里。第二种保存配准信息的方法是根据现有的控制点生成一幅新的配准后的栅格数据。如果要用其他软件打开配准后的数据,最好还是使用这种方法。因为其他软件有可能不识别第一种方法所产生的存储坐标的文件。 如果要生成另一幅配准后的数据,点击菜单上的Rectify输出配准后的文件。输出文件的坐标系统与数据框的坐标系统一致。 这就完成了扫描栅格数据的配准过程,输出后的栅格数据文件已经有了真实的坐标。 下一步就是进行栅格的矢量化。矢量化首先需要创建一个新的要素类,要素类的几何类型取决于想要矢量化的目的数据的类型,要素类的坐标系统要与栅格数据一致,如果是ArcGIS9.1之前的版本的Geodatabase要素类,还要注意坐标域的设置。 将栅格数据和新创建的要素类都加载到ArcMap的同一个数据框中。开始一个编辑会话,即可用草图工具对新建要素类进行编辑。数字化和一般对要素类的编辑操作上并无不同,唯一的区别是数字化有栅格数据作为底图。为了更方便和更准确,可以使用ArcScan扩展模块。 ArcScan是一个扩展模块,默认情况下是未激活的状态。要在ArcMap中菜单Tools>extension中激活。激活ArcScan后,调出ArcScan工具条。ArcScan工具条必须在编辑状态下使用,因此使用前要先开始一个编辑会话。另外要注意的是,ArcScan使用的时候,栅格图像必须符号化成二值(bi-level)的图像,例如黑白两色。ArcScan进行矢量化有两种方式,一种是交互式的矢量化(raster tracing),一种是自动即批处理方式的矢量化(batch vetorization)。下面分别介绍一下这两种方式的实现。





2 激活ArcScan

1.交互式矢量化 交互式矢量化可以实现半自动的矢量化。即在栅格图上分别点击某条线上的两个点,系统就会自动跟踪矢量化这两点之间的这段线。 在进行交互式矢量化之前,要进行一些设置。首先设置捕捉。设置后可以和捕捉矢量图层一样获得捕捉栅格的效果,即鼠标可以自动捕捉到栅格数据里的线条,大大方便了编辑操作。设置捕捉分两步,首先进行栅格捕捉设置。单击工具条上的Edit raster snapping options按钮,调出设置对话框。





3 ArcScan工具条上的raster snapping options按钮

在弹出的对话框中,Raster Colors是调整栅格图像的前景和背景色,可点击Toggle Colors切换。Raster Line Width规定了栅格图像中线的最大宽度,宽度小于该宽度的线可以被捕捉到。Raster Solid Diameter规定了一个最大半径和最小半径,在此范围内的实心(solid)区域可以被捕捉到,这可以避免一些实心的小区域如点,省略号等被捕捉为要素。Holes可以指定栅格数据中所包含的空洞的像元个数,若小于此值的空洞,则被忽略。 捕捉设置的第二步是设置捕捉对象。点击Editor工具条上Editor菜单下的snapping,选择需要捕捉的栅格对象。





4 设置捕捉对象

捕捉设置后,还需要进行矢量化的一些设置。单击ArcScan工具条上的Vectorization下拉菜单,选择Vectorization Settings。要注意的是,这个对话框的设置对于交互矢量化和批处理矢量化都起作用。此对话框中,Intersection solution决定在交点处如何创建要素。The Maximun Line Width指定一个线段的宽度,小于等于此宽度的栅格数据才矢量化为线。可用ArcScan工具条上的Raster Line Width工具来测量线的宽度。Compression Tolerance设置是影响输出矢量要素几何属性的最重要设置,用于减少矢量化过程中的节点个数。此设置的数值大,则节点个数减少。Smoothing Weight是用于平滑矢量化的数据。数值越大,矢量化的线要素就越平滑。Gap Closure Tolerance定义了一个距离,一条线段如果中间有断开,但断开的长度小于此距离,则系统会将其矢量化为一条完整的线。fan Angle定义一个角度,当一条线断开,则会自动搜寻距离小于Gap Closure Tolerance的线段,搜寻的角度即为此角度。Hole size决定系统忽略的空洞大小。 设置完后,就可以进行数字化了。可以使用Editor工具条上的草图工具进行矢量化,此时和一般的数据编辑中创建要素的操作是基本一样的,差别是激活ArcScan后,编辑时可以捕捉栅格对象。另外,还可以使用ArcScan工具条上的vectorization Trace按钮进行数字化。这个工具可以半自动的矢量化。以矢量化线为例,在线的开始端单击,再单击栅格图像中想矢量化的线的另一端,则中间可以自动沿着线生成节点。与普通编辑一样,双击或按F2结束草图。





5 vectorization Trace按钮

2.批处理矢量化 批处理矢量化是自动的矢量化,可以自动矢量化指定区域内的栅格数据。批处理矢量化之前,若栅格数据中有注记等其他不需要矢量化的部分,要先将其清除。 点击ArcScan工具条上的Raster Cleanup菜单中Start Cleanup开始清理会话,再单击Raster Cleanup菜单上的Raster painting Toolbar激活Raster painting工具条。对于图像质量不好的栅格数据,可以用这个工具条对数据进行编辑,以免影响下一步的矢量化。可以用该工具条上的Erase工具擦除不想要的部分,还可以用magic erase擦除某个指定区域内的所有连通栅格像元。对于因扫描或原图不清楚而导致的要素不连续(如线中间断开)可以用Brush工具对其进行编辑。若图上有大量想去除的注记,还可以利用cell selection工具和Raster Cleanup配合来进行。 栅格数据编辑后,点击ArcScan工具条上的Vectorization菜单的Vectorization setting。关于此对话框的设置,上文已经做了解释。 设置好以后,点击ArcScan工具条上的Vectorization菜单的Show preview预览矢量化的结果。如果满意,点击同一菜单下的Generate Features,设置好输入输出图层,即可得到矢量化的数据。 与普通手工编辑相比,如果用于栅格数据的矢量化,ArcScan有着很大优势,可以大大减轻工作量,并提高数字化的准确率。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐