首页 利用ArcGIS构建地形图分幅空间数据库_叶宝莹

利用ArcGIS构建地形图分幅空间数据库_叶宝莹

举报
开通vip

利用ArcGIS构建地形图分幅空间数据库_叶宝莹利用ArcGIS构建地形图分幅空间数据库_叶宝莹第33卷第3期2008年5月测绘科学ScienceofSurveyingandMappingVol.33No.3May.作者简介:叶宝莹(1972-),男,现为中国地质大学北京土地科学技术系博士后,研究方向:土地利用/覆被变化,GIS应用。E-mail:woodfishye@yahoo.com.cn收稿日期:2007-01-23基金项目:活动构造与区域地质环境调查成果集成与综合研究(项目编号:1212010670104)利用ArcGIS构建地形图分幅空间数据库叶宝莹①...

利用ArcGIS构建地形图分幅空间数据库_叶宝莹
利用ArcGIS构建地形图分幅空间数据库_叶宝莹第33卷第3期2008年5月测绘科学ScienceofSurveyingandMappingVol.33No.3May.作者简介:叶宝莹(1972-),男,现为中国地质大学北京土地科学技术系博士后,研究方向:土地利用/覆被变化,GIS应用。E-mail:woodfishye@yahoo.com.cn收稿日期:2007-01-23基金项目:活动构造与区域地质环境调查成果集成与综合研究(项目编号:1212010670104)利用ArcGIS构建地形图分幅空间数据库叶宝莹①,杨 农②(①中国地质大学,北京 100083,②中国地质科学院地质力学研究所,北京 100081)【摘 要】本文利用ArcGIS绑定的脚本语言Python和AML及其空间分析功能,设计了简单可行的算法,并编制了相应的程序,构建了国家基本比例尺地形图分幅空间数据库。首先生成图幅分幅格网,以及对应的网格标识点、图幅编号文件,将标识点与图幅编号文件关联后再与图幅网格叠加即可。该 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 充分利用了GIS的空间叠加功能,仅用了极少量的程序代码,没有编程经验的人员可以比较容易掌握,对于各行业应用领域的工作者有很大帮助。【关键词】国家基本比例尺地形图;分幅编号;ArcGIS;python【中图分类号】P208;P282    【文献标识码】A    【文章编号】1009-2307(2008)03-0207-03DOI:10.3771/j.issn.1009-2307.2008.03.0751 引言1∶100万、1∶50万、1∶25万、1∶10万、1∶5万、1∶2.5万、1∶1万地形图是我国的国家基本比例尺地形图。这些基本比例尺地形图的图幅编号在1991年前都是采用行列式及行列-自然序数式的编号方法[1],1991年国家制定了《国家基本比例尺地形图分幅编号》[2]的国家标准,并规定自1991年起新测制和更新的地形图均照此标准进行分幅编号,即1∶100万地形图编号的基础上再分别加上各比例尺代码、行代码和列代码而构成。这样就存在两种编码系统并存的情况,在国土部门使用中,常常需要两种编码的图件,这样在使用过程中很是不便。针对这种情况。很多文献提出了新旧地形图编号互换算法[3-6],有的形成了程序软件[7-11],还有的建立的新旧图幅编号的查询系统[12]。这些算法和软件提供的都是非图形化的表达方式,不够直观;另一方面,在国土部门使用时,常常需要知道地形图与专 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 图的空间关系。在国家级的地调项目集成时,资料按各个地区提交,比例尺各异,制图年代不同,图幅编号也跟新旧地形图编号一致,所以需要建立新旧地形图编号空间查询数据库才能进行方便的查询、定位,有效地进行数据集成。基于此,我们设计并建立了国家基本比例尺地形图新旧编号空间查询数据库,采用的GIS平台为ArcGIS9.0[13,14],程序部分采用ArcGIS自带的脚本语言py-thon[15,16]和宏语言AML进行开发。2  流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 及算法建立国家基本比例尺地形图新旧编号空间查询数据库的主要步骤包括两部分,首先是编程计算出各比例尺地形图分幅的网格文件,和相应的中心点文件以及图幅编码文件(以上文件存储格式均采用ASCII码格式),然后在Arc-GIS下将网格文件与点文件转成图形coverage,再进行叠加运算,即可以得到具有图幅编号属性的coverage。2.1 计算流程该流程以单个比例尺地形图为单位,创建地形图分幅coverage,地形图新旧图幅编号均采用该流程图1。图1 基于ArcGIS的地形图分幅编号空间数据库创建流程1)生成的图幅经纬网格文件,由经纬线组成,网格的间距由所要生成图幅的比例尺决定,如1∶50万,则经向间距3°,纬向间距2°。文件格式(ArcGISungenerate文件格式[18])如下(一条 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 ):720000――― 经线ID(由度分秒组成)72.0 0―――经度 纬度72.0 56―――经度 纬度end ――一条经(纬)线结束符………………………………….2)读取ungenerate文件生成经纬网格coverage,生成网格中心点coverage,并同时生成该点相应比例尺的图幅编号,通过属性关联使网格中心点coverage具有图幅编号,再将经纬网格coverage与网格中心点coverage叠加,即可得到具有图幅编号的coverage。3)第二步得到的新旧编号系统coverage叠合即可得到地形图新旧编号对应属性表。2.2 算法该流程的关键在于生成各比例尺的经纬网格中心点坐标及其编号。本文采用python语言来计算,按照新旧不同图幅编号系统以及不同的比例尺,定义不同的函数进行测绘科学                    第33卷计算。1∶100万图幅的地形图分幅编号变化不大,只是过去的纵行改称为现在的横行,由过去的横列改称为现在的纵列,并去掉旧图幅编号中连接行号和列号的短线。因为有编号中有字母,则经向采用ASCII码转换成字母表示列号,纬向换算成行号(经纬度为1∶100万图幅中心点坐标),具体如下:col=chr(int(latitude)/4+97) 97为对应的ASCII码为A,靠赤道北1∶100万列号row=(int(longitude)-72)/6+1+72/6+30 30为临我国西边界1∶100幅行号则1∶100万的新旧图幅号可以表示为:code=col+row或col+`-'+row下面将以1∶100万为基础,分新旧编号系统进行计算。2.2.1 新地形图编号系统计算1)1∶50万~1∶5千的地形图分幅新编号系统的图幅编号计算:新图幅编号中,除1∶100万地形图采用行列式编号以外,其他7种比例尺地形图都是在1∶100万地形图编号的基础上再分别加上各比例尺代码、行代码和列代码而构成。因此,1∶50万~1∶5千比例尺地形图的图幅编号均由5个元素10位码组成表1。表1 新地形图编号系统[4]基础比例尺比例尺比例尺代码各比例尺下的图幅数量编号(J50为例)1∶100万1∶50万B2×2J50B001001~J50B0020021∶25万C4×4J50C001001~J50C0040041∶10万D12×12J50D001001~J50D0120121∶5万E24×24J50E001001~J50E0240241∶2.5万F48×48J50F001001~J50F0480481∶1万G96×96J50G001001~J50G0960961∶5千H192×192J50H001001~J50H192192通过表1可知,编码是以1∶100万图幅为基础,其他比例尺图幅编码都是按照行数列数来控制,而且行数列数相同,每个100万幅重复一次编码。首先要将各比例尺对于的图幅网格中心坐标生成序列,然后计算相应的1∶100万图幅编号,再遍历生成相应的行号、列号。下面为对应的py-thon代码:row,col=1,1 起始行列号foriinlatt: 纬度列表 mycode= chr(int(i)/4+97) 1∶100万列号forjinlongll:经度列表 mxcode=(int(j)-72)/6+72/6+31 1∶100万行号 colrow=col+rowcode=str(mycode)+str(mxcode)+scalecode+colrow 图幅号 row=row%matrix matrix代表图幅行(列)数,超过行数从1开始 row+=1 col=col+1 ifcol>matrix: 超过列数便从1开始 col=1上述程序得到的将经纬网格中心坐标及其编号写成一个ungenerate文件同时生成一个属性编码文件,两个文件中的ID号相互对应,文件格式如下:Ungenerate文件格式属性编码文件格式ID 经度 纬度ID 图幅编码1 72.75 55.5 2 74.25 55.5 3 75.75 55.5 …….end1 n43C0010012 n43C0010023 n43C001003…….  2)在ArcGIS中,将ungenerate文件转成点cover-age,将对应的属性编码文件通过tables模块的define、add命令转成info文件,再将该info文件使用joinitem命令与点coverage关联,关联的字段为ID,这样各点的属性中就含有了图幅编码。将经纬网格coverage与图幅中心点coverage叠加,即得到相应图幅的点、线、面cover-age,并且具有相应图幅编号属性(如图2,用图幅编号属性标注)。2.2.2 旧地形图编号系统计算旧地形图编号系统仍以1∶100万地形图编号为基础,但编号方法不同。1∶50万~1∶10万是在1∶100万地形图编号的基础上再加上各比例尺地形图的代码序号而构成,1∶5万是在1∶10万的基础上加上代码序号,1∶2.5万在1∶5万基础上加上代码序号,而1∶1万是在1∶10万基础上加上代码序号。表2 旧地形图编号系统[4]比例尺列号行号代码序号序号示例1∶100万A,B,C,…,V1,2,3,…,60J-501∶50万A,B,C,DJ-50-A1∶25万[1],[2],…[16]J-50-[1]1∶10万1,2,3,…144J-50-211∶5万A,B,C,DJ-50-21-A1∶2.5万1,2,3,4J-50-21-A-11∶1万(1),(2),(3),…(64)J-50-21-(1)1)根据以上规律,1∶50万~1∶1万可以采用相同的算法,对应的python代码如下:Def calcmatrix(latt,longll,matrix)row,col=1,1 起始行列号foriinlatt: 纬度列表mycode=chr(int(i)/4+97) 1:100万列号forjinlongll:经度列表 mxcode=(int(j)-72)/6+72/6+31 1:100万行号 row=col-1+row 代码序号code=mycode+mxcode+row 图幅号,根据比例尺调整row row=row%matrix matrix代表图幅行(列)数,超过行数从1开始 row+=1col=col+1ifcol>matrix*matrix: 超过行数×列数便从1开始 col=11∶50万、1∶25万、1∶20万、1∶10万以1∶100万为基础,208 第3期             叶宝莹等 利用ArcGIS构建地形图分幅空间数据库直接划分为2×2、4×4、6×6、12×12,则上述函数(calcmatrix(latt,longll,matrix))只需要调用1次即可,而1∶5万,1∶1万以1∶10万为基础编号,则需要调用两次该函数,先生成1∶10万图幅编号,再生成1∶5万、或1∶1万图幅编号。1∶2.5万在1∶5万基础上编号,则需要调用三次该函数才能完成计算。2)由于新旧地形图划分没有改变图幅的位置和大小,因而经纬网格文件在新旧地形图编号系统计算时可以用同样的程序。经纬网格文件与旧地形图编号中心点文件都通过AML语言转到ArcGIS中,然后生成coverage文件,再叠加即可得到旧地形图图幅coverage。3 结束语该方法比较简单,更多地利用了ArcGIS功能,程序编写采用python语言,语法简洁,容易上手,网上资源有大量免费的python程序可以使用。而且该程序可以根据需要生成一个标准1∶100万幅范围的各种比例尺图幅,对地学工作者很有帮助。参考文献[1]赵淑梅,张从宣,张文生.地图学基础[M].北京:高等教育出版社,1987.[2]GB/T13989-1992,国家基本比例尺地形图分幅和编号[S].北京:中国标准出版社.[3]余旭.地形图新旧图幅号自动转换的实现[J].焦作工学院学报(自然科学版),2004,23(3).[4]刘宏林.地形图新旧图幅编号变换公式的探讨[J].解放军测绘学院学报,1998,15(2):125-128.[5]马永立.地形图分幅编号解析法优化研究[J].解放军测绘学院学报,1998,15(2):131-134.[6]刘复刚,张立人.关于我国国家基本比例尺地形图分幅编号问题[J].齐齐哈尔师范学院学报(自然科学版),1994,14(2):49-51.[7]邹进贵,潘正风,周庆俊.城市基础地理信息系统中大比例尺地形图分幅与编号[J].地理空间信息,2005,3(3):34-35,48.[8]郑雪萍,1∶2.5万1∶5万1∶10万地形图新旧图幅编号的换算与应用[J].测绘通报,1997,(6):35-38.[9]袁金花,李金山,李秀江,等.国家基本比例尺地形图新的分幅方法和编号及计算[J].河北林学院学报,1996,11(1):83-88.[10]李昌富,李松,杜绪奎.1980坐标系图廓元素计算程序[J].黑龙江测绘,1996,19(1):18-21.[11]高允福,樊廷杰.地形图的新旧图号互算公式及换算软件[J].三晋测绘,2000,(1):15-21.[12]于付国.地形图图幅编号的自动查询与检索[J].测绘通报,2000,(3):32-33.[13]徐卓揆,等.基于WebGIS的动态专题地图发布技术研究[J].测绘科学,2006,31(3).[14]ESRI,Arcgis9.0-BuildingaGeodatabase[Z],2005.[15]Python.Aboutpython[EB/OL].http://www.python.org/,2006-08.[16]MartinC.Brown,著.康博,译.python技术参考大全[M].北京:清华大学出版社,2002,200-230.BuildingaspatialdatabaseofnationalbasicscaletopographicalMapbasedonArcGISAbstract:TheauthorintroducesamethodtobuildaspatialquerydatabaseofNationalBasicScaleTopographicMapbymakinguseoftheOverlayfunction,pythonandARCMacrolanguage,botharebuildintheArcGIS.Firstly,thefishnetofMapiscreated,andthecentrallabelofeverynetandsheetnumberisgenerated.Secondly,thefishnetandlabelisoverlaid.Lastly,thesheetnumberisrelatedtothelabelofnet.ThemethodmakesfulluseofGISoverlaidfunctionandhasagreathelpfordifferentfieldsofpeople.Theprogramandarithmeticissoconcisethatmanypeoplewithlittleexperiencecanuseeasily.Keywords:nationalbasicscaletopographicalmap;sheetdivisionandsheetnumber;ArcGIS;pythonYEBao-ying①,YANGNong②(①ChinaUniversityofGeosciences,Beijing100083,China;②InstituteGeomechanics,CAGS,Beijing100081,China)(上接第188页)用该方法下帧率为144,使用时为152,绘制速度仅提高5%;另外通过试验发现,地形赋予纹理后,分辨率变化对显示的效果的影响很小,因此,在满足显示效果的情况下,没有必要追求过高的分辨率,即三角形目标个数。参考文献[1]见英,叶榛.一种实时实景中高度场地形绘制算法[J].系统仿真学报,2005,17(1):83-86.[2]MichaelTGoodrich,RobertoTamassia.算法分析与设计[M].北京:人民邮电出版社,2006.[3]RuntimeRegular-GridApproaches[EB/OL].www.vterrain.org/LOD/Implementations/.[4]谭兵,徐青,马东洋.用约束四叉树实现地形的实时多分辨率绘制[J].计算机辅助设计与图形学学报,2003,15(3):270-276.[5]和平鸽工作室.OpenGL高级编程与可视化系统开发-系统开发篇(第二版)[M].北京:中国水利水电出版社,2005.[6]赵占杰,等.地形模形的多分辨率简化与压缩[J].测绘科学,2006,30(2).Experimentalresearchonlarge-scalereal-timeterrainalgorithminsourcesoftware-VTPAbstract:McNallyalgorithm,akindofView-dependentMulti-resolutionTerrainModelproducingalgorithmforlargescaleter-rainrenderinginopensource3dGISsoftware–VTP,isstudiedbyseveralexperiments.Resultsareasthefollowing:whenthenum-beroftrianglesislargerthan5000,terrainrenderedbythisalgorithmhasnobouncephenomenon;iftexturedataisaddedtoterrainforrenderingtogether,thereislittleimpactondisplaywhenchangingresolution,sotoohighresolution(thatisthenumberoftriangles)isnotnecessaryonlyifithasmeettheneedofdisplay.Keywords:VTP;multi-resolutionmodel;McNallyalgorithmTANYu-min,MOZhi,LIUDe-qiang(CivilEngineering,BeihangUniversity,Beijing100083,China)209
本文档为【利用ArcGIS构建地形图分幅空间数据库_叶宝莹】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_721103
暂无简介~
格式:doc
大小:488KB
软件:Word
页数:0
分类:
上传时间:2021-08-10
浏览量:36