矢量地图坐标转换方法及工具.docVIP

  1. 1、本文档共19页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
矢量地图坐标转换方法及工具 在MapInfo中,通常采用大地坐标的北京54标准。与GPS采用的WGS84在同一点上相差经纬度相差有10-20分(仅仅从地图在MAPINFO的显示数据来说没涉及到NumericCoordSys的坐标系统)。虽然现有GIS平台中都预定义有上百个基准面供用户选用,但均没有我们国家的基准面定义。假如精度要求不高,可利用前苏联的Pulkovo 1942基准面(Mapinfo中代号为1001)代替北京54坐标系;假如精度要求较高,如土地利用、海域使用、城市基建等GIS系统,则需要自定义基准面。实际工作中一般都根据工作区内已知的北京54坐标控制点计算转换参数,如果工作区内有足够多的已知北京54与WGS84坐标控制点,可直接计算坐标转换的7参数或3参数;当工作区内有3个已知北京54与WGS84坐标控制点时,可用下式计算WGS84到北京54坐标的转换参数(A、B、C、D、E、F):x54 = AX84 + BY84 + C,y54 = DX84 + EY84 + F,多余一点用作检验;在只有一个已知控制点的情况下(往往如此),用已知点的北京54与WGS84坐标之差作为平移参数,当工作区范围不大时精度也足够了。 一般使用3参数,将3个控制点的数据代入方程,求解出参数,可以利用Excel求解,如图 在黄色区域分别输入3个点的不同坐标系的数据,通过消元法,在红色区域会得出a、b、c、d、e、f参数的值,可以在下图的黄色区域输入数据进行验证,检验误差 为了实现地图数据的转换,我用MapBasic编写了一个程序。该程序在MapInfo程序界面中添加了一个转换的菜单,主要包括2部分:一是参数设置,用于设置并保存用于转换的3参数;二是执行转换,选择需要进行转换的表并转换。如图: 参数设置内容如图: Default按钮可以将3参数恢复到缺省值,点击OK按钮会将输入的参数设置进系统,并保存为config.ini文件。 转换内容如图: 可以选择需要转换的表,如果点击全选则自动全部选中所有表,再次点击则取消全部选中。 该程序具有记录操作的功能,将主要的操作记录到log文件中。 附件:源程序 ***** 坐标转换 ***** Created by 孙国文,江苏电信徐州分公司无线中心 ***** Jan 28, 2005 include mapbasic.def declare sub main declare sub RCV declare sub CB declare sub HB declare sub editlayer declare sub minmap declare sub restoremap declare sub checktab declare sub objmove declare sub deltab declare sub YesButton declare sub NoButton declare sub EndPro declare sub About declare sub provision declare sub objmove_main declare sub getconffromfile declare sub setdefaultconfig declare Sub getres declare Sub changestatemulti declare Sub changestatecheck dim r,v,i,j,h,poly,pnode,cnt as integer dim z as Smallint dim numtab,tabtemp,tabnum,numlayer,objoff,numwin,mx,my,arccnt as integer dim ptcnt,plcnt,lcnt,regcnt,filecnt,rctcnt,rrtcnt,elpcnt,txcnt,ewindow as integer dim sobj as object dim nx,ny,xoff,yoff,go1,go2,go3,go4,tsp,ta,tlx,tly,gx1,gy1,gx2,gy2 as float dim tabstr(1) as string dim tabname,runstr,ts,elayer,ct as string dim tabobj as alias dim layerfound,cancel as logical dim filenum(1) as integer dim tf as font dim tj,tar as smallint dim tjs as string 存储参数 dim da,db,dc,dd,de,df as float dim a,b,c,d,e

文档评论(0)

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

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

1亿VIP精品文档

相关文档