56技术交流测绘技术装备第21卷2019年第3期
基于python的1:1万地图快速栅格化纠正方法
毛运欣饶云
(广东省国土资源技术中心广东广州510075)
摘要:本丈介绍了一种基于pytbon的栅格地图快逢斜正方法.该方法通过提取适量的配准点,以矩阵变换公式来自动求取纠正变换参数,配合利用python脚本程序的批处理能力,极大地提高了工作效率、缩短了完成任务所需时间.试验表明该方法提高了作业效率,保证了精度,节约了成本。
关键词:栅格地图;地理配准;糾正;python
1引言
数字栅格地图(DRG)是现有纸质地形图经计算
机处理后得到的栅格数据文件。数字城市建设、快
速提供政府行政审核地理信息依据等都对基础测
绘历年至今地理信息数据有着强烈需求。对图纸进
行扫描形成栅格数据,而后进行地理配准入库,是
现在处理圏纸存档数据的必然方式
2栅格地图纠正定向的曲原理
地理配准是指用影像上的参考点和控制点建
立对应关系,将影像平移、旋转和缩放,定位到给
定的平面坐标系统中去,使影像的每一个像素点都
具有真实的坐标,具有可测量性。进行快速精准地查地块,最直接的方法就是通过地理坐标信息进行准确定位。这就要求我们的扫描影像必须进行地理配准,使其具备査所需要的关键坐标信息皈役
图11:1万地图快速栅格化纠正总体技术路线
2.1基于仿射变换的地理配准
地理配准可以采用仿射变化原理来处理,目的是消除图纸及扫描产生的几何畸变,让图面精度均匀。可以采用相关软件对栅格图像的畸变进行纠正,对于1:1万分幅地图纠正时要按公里格网进行,
通过仿射变换及双线性变换实现图幅纠正。
图2仿射变换原理图
纠正后的栅格数据坐标可以是扫描坐标系,不需要是空间直角坐标系,坐标数值只要保证相对位置正确即可,图面精度均匀,相互之间的位置没有问题,但是整体位置可以不对。
2.2平面坐标系定向
将栅格图幅由扫描仪坐标变换为高斯投影平面直角坐标。纠正这一步处理完后,图面的相对位置已经可以了,但是绝对位置还是有问题的,这样不管上一步处理的坐标是什么样的,根据直角坐标系的坐标进行一次纠正,完成后即可将DRG数据定向到直角坐标系中。
3基于python的1:1万地图快速栅格化纠正的方案设计
3.1数据分析
历年存量的扫描地图坐标系统往往是不统一的,常见的有西安1980坐标系、北京1954坐标系和WGS84等坐标系统。在进行地理配准时必须分类,整理好不同图幅、不同坐标系的转换参数表,为后续的坐标转换、入库做准备。
3.2基于矢量矩阵算法的快速地理配准
(1)基于标准分幅图内图廓线的四个角点的粗纠正
我国地形图分幅是基于国家1:100万地形图行列编号法。因此,标准分幅和图幅范围之间存在
测绘技术装备第21卷2019年第3期技术交流57
一一对应关系。我们在地理配准时,依据标准分幅
图内图廓线的四个角点和对应扫描件内图廓线4个
角点进行配准间;
(2)逐公里格网点的精纠正
仅仅依靠四个角点来进行地理配准,对于1:1万
比例尺的图来说,是不够的,地形图内存在一定的
变形、扭曲,所以我们必须利用图纸中公里格网,
python trunc函数均匀选择若干定位点,来避免图内精度超限。计算
图纸中的点对应公里格网实际坐标,我们通过线性
代数中的矩阵变换公式来进行计算,如公式1所示:
兀1
yi~右*
(1)
兀2y2xd=兀2’対
y3_兀3’y3\
其中(X”必)、(心,%)、(X3J3)是扫描图未
发生变化前的三个内图廓角点坐标,61‘,必‘)、
(x2',力')、(羽',%')是地理配准后的实际坐标值,
D罗是变换系数。我们已知变换前的坐标及变换后
的坐标,那么根据公式2,就可以求出D型了。
1一1r t t
Xi y x必
N y2x x2'y2'=D^
X3 %」L n'y3\(2)
而后我们通过公式3,求出公里网格在转换后
的近似值,通过公式4无限逼近法得出地理配准的
最终公里网坐标。其中,心是指我们通过矩正变
换求出的近似值与实际对应的公里网格点的距离。
[鬲必'](3)
3.3基于python的快速栅格纠正
sp=ReadPointF订es(dname)拾取点图像坐标串
tufuname=tufuCodeDict[d]
(4)
#栅格图
#获取
相应的结合表中对应的1万图幅角点坐标串tufupath二Frametxt+"\\"+ tufuname+"*txt"
print type(tufuname)
tp=ReadPointFiles(tufupath)
if len(sp)>4;#进行变换矩阵参数计算Axy=[[p[0],p[l],l]for p in [sp[0],sp[l],sp[3]]]
Bx二[r[0]for r in [tp[0],tp[l],tp[3]]]
By二[r[l]for r in [tp[0],tp[l],tp[3]]]
Axy二np.array(Axy)
Bx二np.array(Bx)
By二np.array(By)
Dx=np.linalg.solve(Axy,Bx)
Dy=np.linalg.solve(Axy,By)
for n in range(4,len(sp));
Cxy=[[p[0],p[l],l]for p in[sp[n]]]
Cxy=np.array(Cxy)
Ex二np.dot(Cxy,Dx)
Ey二np.dot(Cxy,Dy)
Ex二Fishnod(Ex)
Ey二Fishnod(Ey)
tp.append((Ex,Ey))
ad j us t xt二Ad j us t xt+"\\"+d+"・txt"
3.4转换统一地理坐标
通过其相应的转换参数,转换成同一坐标系统数据。历年存量的纸质图纸,来源较多,上图坐标系统由于各地要求及项目需求不同,采集时所使用的坐标系统也会有不同,为了方便对数据入库、管理及使用方便,就必须进行转换统一地理坐标系统叫同样可以通过python脚本程序来完成。转换函数如下:
Sh i f t_manag e ment(in_raster, out_raster,A x,Ay,{in_snap_raster}) Ax,Ay表示已有的平面坐标平移参数
4试验与结论
4.1数据概况
以广东省2017年土地利用现状数据保密处理及发布项目为例。2009年之前省里土地利用现状数据没有建库,只能通过人工核对有关年度的电子图件(扫描件),耗时、费力。为了提高用地报批的审核效率,广东省国土资源技术中心承接1999年、2007年土地利用现状扫描图件的保密处理及发布工作。将广东省土地利用现状数据电子图件(扫描件)进行保密技术处理,并部署到厅电子政务系统,辅助用地审批。项目范围涵盖整个广东省21个地级市,跨越3个分度带,涉及坐标系统西安80坐标系、北京54坐标系、国家2
000坐标系,因此数
58技术交流测绘技术装备第21卷2019年第3期
据处理前期,先按照地市、坐标系统及涉及分度带对其数据分类归档,整理已有的转换参数表,为方便今后转换统一坐标做准备o
4.2扫描地图快速纠正
(1)人工采集原始影像定位点,形成点SHP 文件。
主要采集标准分幅四个角点、若干均匀分布的公里格网点,然后由python脚本程序批量读取shp 文件,生成以图幅名为文件名的txt文件,该txt 文件即为扫描坐标系下同名点坐标组。
(2)扫描图快速纠正
在准备好原始扫描图配准点和拾取点坐标文件后,在python脚本程序中进行如表1所示目录设置。
表1扫描图快速纠正相关参数设置表
Date原始栅格图目录
Adjust配准中间成果目录
Copyraster配准成果目录,未裁切
txt\01Pictframe1万图幅坐标txt文件目录
txt\02Tifframe栅格图拾取点坐标txt文件目录
xls存放图幅号与档案号对照表
Shp图幅结合表目录
Originaltifshp栅格图拾取点shp文件目录Coordinate System坐标文件
运行python程序(图3所示),得到如图4所示的结果。
File Edit Format Run Options Windows Help
#-*-coding
imporT.arcpy,os
froir.arcpy import env
ShpFolder=r"D:\003Adjust\templ\sec n
TxtFolder=r"D:\003Adjust\04txt"
for parent,dirnanies r filenames in os.walk(ShpFolder):
for filename in filenames:
if'.shp'in filename and".xml"not-in filename:
OutTxtName=TxtFolder+"\\n+filename[0:12].replace(n_",)+”.
print OutTxcName
f=open(OutTxtName,W w")
outworkspace=os.path.join(parent,filename)
cursor=arcpy.da.UpdateCursor(outworkspace,["POINT_X w r M POINT_Y r'])
for row in cursor:
f.writelines(str(row[0])+''+str(row[l])+'\n*)
f.close()
图3扫描图快速纠正python运行程序
从结果(图4(b))我们可以看出,增加了中间多点的配准点控制,我们配准后的图廓点与公里网格,都和实际位置重合度非常高,纠正精度达到要求。4.3转换统一坐标系统
纠正后的数据,需要实现扫描仪坐标系变换为高斯投影平面直角坐标系,按照相应的转换参数进行坐标转换,从而使土地利用现状数据形成统一坐标系统,方便入库使用。
图4(b)
纠正定向后数字栅格地图坐标属性
4.4精度评价
精度评价是指通过对同一要素点的纠正坐标值与参考坐标值比对,求出误差结果,按照评价体系,对其精度进行判定的过程。影响扫描图地理配准精度的因素较多,主要原因有以下几个方面:一是存在地方自己单独的坐标系,但在图纸中未能体现,造成最终坐标值存在偏差,导致配准后坐标偏移;二是由于图纸扫描不清晰,导致人工判定定位点存在误差;三是图纸在长时间放置过程中,会受潮湿影响,产生的变形等原因,导致定位点位置偏差,从而影响配准精度。通过精度评价,发现配准失准的图幅,及时反馈纠正,以便保证数据的准确性[1°~11]0
试验随机抽取3幅1:1万标准图幅扫描地图,分别采用本文方法与传统方法进行纠正定向,栅格数据分辨率为1米,通过采样点对比已有“真值”的图幅数据(内图廓线、公里网格线、已有标准入库数据中相同图斑等)来判定配准精度是否符合要求「吩⑷。得到相关统计数据如表2所示。
表2本文方法与传统方法进行纠正定向精度与效率统计表
精度(单位m)纠正定向效率(单位h)图幅号本文方法传统方法
NX Ay Ax Ay
本文方法传统方法F49G024017采样点10.585120.98721-0.5962481.33089
采样点2-0.586210.975550.59621-1.3308
采样点30.587210.986550.596941-1.332430.10.26
采样点4-0.586540.98542-0.5969031.33235
采样点50.57211-0.97986-0.5965011.33241
F49G054023采样点10.55841-0.98363-0.5572811.75377
采样点20.55498-0.654540.557259-0.7537
釆样点3-0.557870.89674-0.5581111.756380.150.3
采样点40.553230.885210.558133 1.75645
采样点50.556110.896320.558123 1.75541
G49G093032釆样点10.578980.87565-0.7989221.62145
采样点20.558470.685540.798768-1.62114
釆样点3-0.546220.85353-0.7998991.623430.120.28
釆样点4-0.547410.862530.800053-1.62374
采样点5-0.546140.872130.798921-1.62211
从表2可以看出,采用基于python的地图快速栅格化纠正方法,栅格数据的纠正精度较传统方法提高35.3%,作业效率缩减为原来的38%,对于从事基础测绘生产的单位来说,该方法能够大大降低人工成本,具有推广应用价值。
5结束语
基于python的地图快速栅格化纠正方法,通过提取适量的配准点,以矩阵变换公式来自动求取纠正变换参数,配合利用python脚本程序的批处理能力,极大地提高了工作效率以及缩短了完成任务所需时间。该方法在广东省2017年土地利用现状数据保密处理及发布项目中得到推广使用,项目成果已经部署到厅电子政务系统,辅助用地审批。
参考文献:
[1]刘人午,李燕.扫描细化算法的地图自动矢量化研究[J].测绘学报,2012,41(2):309-314.
[2]郝向阳,钱曾波.地图上方里网线的自动消除方法[J].解放军测绘学院学报,1996,13(2):108-114.
[3]卢满堂,许运良.地图分幅扫描及其矢量图形的拼接[J].三晋测绘,2000,12(4):35-37.
(下转第55页)
(2)应用实例
行分图作业,共21个图块,格式为AutoCAD 的dwg
在吉林省1 : 1000 W 图入库项目中,考虑数 格式,作业员完成后运行检查接边模板批量进行全
据库数据量问题,项目以5平方千米左右的图块进
区接边检查,检查结果如图2、图3、图4所示。
从检查结果可以看出,全区数据统一检查,标 记错误文件返给作业员统一修改,避免反复接边;
标记圈带有接边错误要素的颜、线型、属性等信
息,错误一目了然,便于修改。
4结束语
基于FME 接边检查方法有以下几个优点:
(1)FME 几乎支持所有主流地形图数据格式,
采用本方法只需要更换数据输入源及每个格式的
特征属性参数,就能支持dgn 、dwg. mdb. shp 等 数据格式。
(2) 能实现海量数据批量检查。(3) 检查问题标记位置准确。
(4) 同时实现矢量与属性双重接边检查。
参考文献:
[1] 鲍立尚•基于索引图的DLG 批量接边检查算法设计与实现[J].矿山测量,2010(4): 21-24.[2] 霍春玲,刘达.AutoCAD 数据接边检查自动化的实现[J].测绘工程,2006, 15 (4): 74-76.[3] 赵江洪.GIS 中多图幅自动接边的实现方法探讨[J].测绘通报,2006, 16 (4): 26-28.
[4] 黄静,袁建东.FME 在空间数据处理中的应用【〕]•测绘标准化,2011, 27 (2): 35-37.
(上接第59页)
⑷ 杨容浩,余代俊.扫描地图自动矢量化若干细节问题的解决方法[J].四川测绘,2008, 31 (3): 127-130.
[5] 贾丽萍.浅析扫描地形图纠正方法与常用地图纠正软件的使用[J].测绘与空间地理信息,2013, 36 (2): 152-156.
[6] 丁亚杰,高小净.历史扫描地形图纠正方法研究⑴.地理空间信息,2016, 14(1): 94-96.
[7] 游扬声,王新洲,史文中•数字化地图的纠正模型及其优选[J].地理空间信息,2005,3(6): 46-48.
[8] 袁豹,岳东杰,张亮,等.基于总体最小二乘的相似变换模型及其在地图扫描数字化中的应用[J].测绘工程,2013, 22(4):
45-47.
[9] 黄梦龙•栅格地图投影变换的扫描线算法实现[J] •江西测绘,2007 (S1): 81-84.
[10] 刘小生,周波.基于MAPGIS 的地图扫描矢量化误差硏究[J].江西有金属,2009 (1): 45-48.[11] 卢耀武•地图扫描矢量化与图形文件格式【J]•城市勘测,1999 (1).
[12] 郝向阳,钱曾波•地图扫描数字化的点位精度分析[J].测绘学M ,1996, 25 (1): 46-52.[13] 曾衍伟.地图扫描数字化精度分析与误差分布检验[J].四川测绘,2006, 29 (4): 159-162.[14] 曾衍伟.地图扫描数字化图纸定向精度分析[J].测绘科学,2006 (S1):
99-102.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论