mapinfo画扇形.doc

上传人:hs****ma 文档编号:550381905 上传时间:2024-03-05 格式:DOC 页数:8 大小:58.51KB
返回 下载 相关 举报
mapinfo画扇形.doc_第1页
第1页 / 共8页
mapinfo画扇形.doc_第2页
第2页 / 共8页
mapinfo画扇形.doc_第3页
第3页 / 共8页
mapinfo画扇形.doc_第4页
第4页 / 共8页
mapinfo画扇形.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《mapinfo画扇形.doc》由会员分享,可在线阅读,更多相关《mapinfo画扇形.doc(8页珍藏版)》请在金锄头文库上搜索。

1、mapinfo中绘制基站扇形的算法讨论和工具共享【资料名称】:mapinfo中绘制基站扇形的算法讨论和工具共享cbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。#R.t&7M:a/i3x8K)r-n)y;D1s)aa |国内领先的通信技术论坛【资料作者】:YZL |国内领先的通信技术论坛%A!y3I-J)+U;d&K#H/t1q0w6W【资料日期】:2009.01mscbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。4o*_!F*i6H

2、.G%p+D*r5X2A&G39s- |国内领先的通信技术论坛【资料语言】:中文*n,V7k6/n&qmscbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。mscbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。2vD(Q-T6A【资料格式】:其它4e+H1qt8)e3r5$QMSCBSC 移动通信论坛移动通信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑名单;b:&G;w.X C&a【资料目录和简介】:

3、!M$F&x,y-Z1?5a2d*T)X!(z$A$Mmapinfo中绘制基站扇形的算法讨论和工具共享. 讨论5种算法并将我以前弄的一个工具贡献给大家试试MSCBSC 移动通信论坛-i.+O$&c.o:1*+j$a)s0j%&O.K&y!i移动通信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑名单-讨论和说明-i$c X1u/G! T+c很多同仁在论坛中谈论也自己编程做了一些基站扇区(扇形、直线)图形绘制工具,包括很多规划软件都有一个问题移动通信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑名单0K0E-_-e%U就是生成的扇

4、形图形在mapinfo等gis系统中有一定失真。当然由网友说这点失真可能不算啥了,如果是这样你就不必看下面的方法了。,O2r.Z16O;5*k2?/2f移动通信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑名单下面以MAGPINFO为例来说明,MAPINFO采用的WGS-84椭球体坐标系,而我们日常一般习惯于在笛卡尔坐标系中处理,这也是处理容易失真原因-x5e$X*E&I我总结了一下,很多人在编制mapinfo下生成扇形图形的时候有如下做法:)gk04gz)u3s方法1: (极端做法):直接将直角坐标用于计算,如:x=r*cos(theta) ,y=r*sin

5、(theta) 这种做法完全将一个地球球体表面当成平面来处理,这种做法失真最大(当然如果地表面积足够小的时候误差也不是很明显)。这种做法论坛里很多 excel2ge/excel2mapinfo都是这种方法。我个人认为此方法不可取。+s!t7e2Y;?方法2:采用直角坐标到经纬度的近似转换关系计算,这种算法采用经纬度和直角坐标之间 的简单关系【/ (69.093 * 1609) 】。如网上的“vb+Mapx实现扇区三叶草图形 ,大家可以搜索学习一下。这种算法个人感觉也不够精确。.J;|9m0n*l(p0I)i4 Y方法3:采用大地主题解算算法来实现。这种算法需要很多专业知识背景(我就是猛学了一段

6、时间的测量专业的教材才理解的)。大地主题解算有很多算法,我采用了白赛尔算法实现,具体算法我已经放到了上帝之眼上,大家有兴趣可以自行看看:http:/ (mapinfo中,我采用mapbasic编程),将经纬度转换成直角坐标系,然后再在直接坐标系下(SETE COORDSYS nonearth语句)画线和画圆弧,然后再切换到经纬度坐标系下。这个方案比较简单,但是从earth坐标系到nonearth坐标系的转化,暂时没有 找到好的方法,而且误差也很大。我认为不可取)9d,N,s:G:G*N8CMSCBSC 移动通信论坛方法5:(mapinfo中,我采用mapbasic编程),想了另外一种方法:充分

7、利用MAPINFO自身功能,完全抛开直角坐标到经纬度的转换,实现起来很方便而且效果很好。 |国内领先的通信技术论坛$R%|(f(m3X/k$F下面简单介绍一下方法5:5|1b*v+y*K5L9z.s+I |国内领先的通信技术论坛主要思路:采用类似于我们高中几何中常用到的辅助线的方法,直接再经纬度坐标系下处理。MSCBSC 移动通信论坛c7D ?/R;Z&g2J!+G)mapinfo下绘制圆弧采用的命令是Create Arc。但mapinfo中Create Arc语句没有基于两个端点和圆心来绘制的方式。而是采用了四个点的坐标方式(这又涉及到了坐标转换的问题了)。庆幸的是我们可以通过采用辅助圆的方

8、式取 得需要绘制圆弧的四个点的坐标:&M&F.K(&qz0YA7D#M |国内领先的通信技术论坛1、使用CREATECIRCLE语句创建圆,然后再用ObjectGeography求出圆的外接矩形的左下角和右上角的坐标(左下角(minx miny) 右上角(maxx maxy)。4G&n,u0R.h.Z4H2、根据这两个点(minx miny) (maxx maxy) 和中心点以及起始角和终止角来绘制弧形。-z9s%j7F J7L*N$dMSCBSC 移动通信论坛3、将弧形转换成pline取出弧形的两个端点。移动通信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑

9、名单6 0A-a+B9I&_4、将两个端点和中心相连)D,a,y*j&D1RMSCBSC 移动通信论坛5、图元合并就可以得出扇形u)|%L;A8!Y:g4d这种做法缺点也有:由于mapinfo的处理精度问题,所以半径小于10m或者 大于500km均还是有一定误差,但是这已经不影响使用了。MSCBSC 移动通信论坛&(LF$|-t主要算法如下:1s$6V9D7R*?;T主要问题是mapinfo中Create Arc语句没有基于两个端点和圆心来绘制的方式。而是采用了四个点的坐标方式。mscbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和

10、通信人生活的社区。7i!z3d4G0Q4J5G6f采用辅助圆的方式取得需要绘制圆弧的四个点的坐标 |国内领先的通信技术论坛+X72r7O.E,s(e1N通过这四个点绘制弧形,然后取得该弧形的两个端点坐标4_+8c0p7_4O)R7m$_4Gmscbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。通过端点坐标和圆心绘制直线+E$4J2K+y7D-q%f4H最后合并直线和圆弧就得到了标准的扇形,效果不错移动通信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑名单-W+-Q+z&A#u%RI

11、5J4U8function mycreateregion(经度,纬度,方向角,半功率角,半径 as float) as object#$G1?7K . dim x,y,r,x1,y1,x2,y2,start_angle,end_angle as float |国内领先的通信技术论坛-u,? K%s7_1y6M dim arc_obj,line1_obj ,line2_obj,obj1,obj2,circle_objas object6X,99g-_(E+Umscbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。 di

12、m endpointstring,endxstring,endystring as string98Z46H(E*Y-U 移动通信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑名单 dim minx,miny,maxx,maxy as float园的左下角和右上角坐标#Q-R,o1O5o7c1L4? |国内领先的通信技术论坛 X=经度6x/x8m7$Nmscbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。 Y=纬度1i)Z-b,y5_7v8e Wmscbsc 移动通信论坛拥有30万

13、通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。 r=半径+g;B3U-_MSCBSC 移动通信论坛 start_angle=方向角-半功率角/22a+V/%M:R8?MSCBSC 移动通信论坛 end_angle=半功率角/2+方向角移动通信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑名单8_!v(K63T)C. circle_obj=CreateCircle(x,y,r) 这里绘制辅助圆,5y,pi:O4N* minx=ObjectGeography(circle_obj,obj_geo_minx)移动通

14、信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑名单.W-n;P4|-|9i miny=ObjectGeography(circle_obj,obj_geo_miny)MSCBSC 移动通信论坛6o6v62re:i8l maxx=ObjectGeography(circle_obj,obj_geo_maxx)移动通信,通信工程师的家园,通信人才,求职招聘,网络优化,通信工程,出差住宿,通信企业黑名单,5c1M,V*m7S.S6G9s maxy=ObjectGeography(circle_obj,obj_geo_maxy) 这四行取得绘制圆弧的关键点坐标,0kN,f!e#i4kmscbsc 移动通信论坛拥有30万通信专业人员,超过50万份GSM/3G等通信技术资料,是国内领先专注于通信技术和通信人生活的社区。 if (方向角-270) and (半功率角360)then 此处的方向角是经过处理后的方向角 6c%D3V!F |国内领先的通信技术论坛 Create Arc into Variable arc_obj 移动通信,通信工程师的家园,通信

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号