以下为本人在工作实践中对矢量化进行的探讨,经过使用完全能够满足要求,请大家试试。申请加精。 地图矢量化方法初探 对于原有地形资料进行数字化管理已成为趋势。由原有图件数字化不外乎两种方法,一种是利用数字化仪进行数字化,误差来源定向误差,采集误差等,这种方法在八九十年代曾流行一时,但由于投资较大,误差较高,很少有人再使用;另一种方法为将图件扫描成栅格图象,并利用光栅矢量混合编辑软件如GTX、AutoCAD Overlay等来转变成矢量数字图形。但是GTX、AutoCAD Overlay为较专业的软件,每套需要上万元人民币,并不是一般个人或偶尔使用人的可以购买的。本人通过AutoCAD 2000建立光栅矢量混合文件进行数字化形式,即省去了投资购置数字化仪,精度不高,又无须花大量资金购置专业光栅矢量混合软件。步骤如下: 一,扫描图件成光栅图 可利用Photoshop等工具进行处理,分辩率不宜低,但太高会增大文件体积,推荐300-500即可。并对图形进行简单处理,比如修剪多余部分图象等。 二,利用AutoCAD 2000插入栅格图像 进入AutoCAD 2000后,执行“插入/栅格图象”,在“image manager”对话框内,点击"attack"按钮,而后双击要加入的图象,并指定图象的插入点坐标、比例、旋转角加入图象,插入后,可利用“修改/实体/图象”下相应菜单,“修改/实体/裁剪边界”和“工具/显示次序”来进行相应操作。图象的一个单位一般相当于原图件一个厘米。 三,定向 利用以下Autolisp程序,通过对图象平移,旋转,放缩,使其定向: (defun c:dingxiang () ;(setq wucha (getreal"请输入允许检核点位误差:");可据要求调整 (setq wucha 0.001 real_wucha 1 ) (print "请选择要定向图形:") (setq image_sel (ssget) image_p1 (getpoint "请输入第一定向点:") ) (while (and (> real_wucha wucha) (/= image_p1 nil)) (setq ordi_p1 (getpoint "请输入第一定向点坐标:") image_p2 (getpoint "请输入第二定向点:") ordi_p2 (getpoint "请输入第二定向点坐标:") move_dist (list (- (car ordi_p1) (car image_p1)) (- (cadr ordi_p1) (cadr image_p1)) ) image_angle (angle image_p1 image_p2) ordi_angle (angle ordi_p1 ordi_p2) rota_angel (- ordi_angle image_angle) bili (/ (distance ordi_p1 ordi_p2) (distance image_p1 image_p2) ) ) (command "move" image_sel "" move_dist "") (command "rotate" image_sel "" ordi_p1 rota_angle) (command "scale" image_sel "" ordi_p1 bili) (setq image_p3 (getpoint "请输入检核点:") ordi_p3 (getpoint "请输入检核点坐标:") real_wucha (/ (distance image_p3 ordi_p3) (distance ordi_p1 ordi_p2) ) ) (if (> real_wucha wucha) (setq image_p1 (getpoint "定向误差超限请输入第一定向点<回车结束定向>:" ) ) (print "定向完毕!!!") ) ;if ) ;while ) ;defun 四,进行跟踪数字化 利用多次开窗平移等方法,采点时尽量选取线条象素的中心位置,使线条的颜色与光栅图线条颜色不一致,更容易发现误差,及时纠正。 以上方法利用AutoCAD 2000与一个小型扫描仪(投资约1000-2000元),就可能轻松完成一些小图件的数字化成图,只要定向采点时放大窗口,仔细认真,精度是能够达到的,即节约了投资,又保证了质量。
|