用MAPINFO画三叶草的代码(freeheart原创)原名:张金柱

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

用MAPINFO画三叶草的代码(freeheart原创)原名:张金柱

在移动通信网络优化工作中,经常需要地图画的网元信息,并要包含大量的辅助信息

为此,用MAPINFO做了自动生成三叶草的小程序,现在已经弄清楚mif文件格式了

,这宏也没什么价值了,但或许对大家有用。

Dim intNowCell as Integer,intPower as Integer,intPos as Integer,strUseFile as String,strTempFile as String,i As Integer

Dim tmpStr as String,tmpStr2 as string,tmpStr3 as Integer,mcolor as Integer

intNowCell=1

'**create temp table**

strUseFile=FileOpenDlg("C:\","","TXT","打开源数据文件")

If Not FileExists(strUseFile) Or strUseFile="" Then

Exit Sub

End if

strTempFile=GetMyTempFile(strUseFile,"tempSite.TAB")

'strTempFile=TableInfo(0, TAB_INFO_NAME)

Register Table strUseFile

Type ASCII Titles CharSet "Neutral"

Into strTempFile

Open Table strTempFile Interactive

Create Map For tempSite CoordSys Earth Projection 1, 0

Map from tempSite Max

set map redraw off

Create Table "WYSite" (

SITE_ID Char (8) ,SITE_NAME char(40), BSCID Char (7) , MSCID Char (6) , LAC Smallint , LONGITUDE Float ,

LATITUDE Float , CELL_NAME Char (1), POWER Smallint , BCC Smallint , NCC Smallint , ANTDIR Float ,

ANTTIL Float , ANTBAND Float , ANTNUM Smallint , ANTHIGH Float , GROUNDHIGH Float ,

ANTTYPE Char (10) , ANTPLUS Smallint , ANTLEN Smallint ,

OPENTIME Date , SiteType Char (7) , TRANSTYPE Char (4) ,

NCELL1 char(8),NCELL2 char(8),NCELL3 char(8),NCELL4 char(8),NCELL5 char(8),NCELL6 char(8),NCELL7 char(8),NCELL8 char(8),NCELL9 char(8),NCELL10 char(8),

NCELL11 char(8),NCELL12 char(8),NCELL13 char(8),NCELL14 char(8),NCELL15 char(8),NCELL16 char(8),NCELL17 char(8),NCELL18 char(8),NCELL19 char(8),NCELL20 char(8),

NCELL21 char(8),NCELL22 char(8),NCELL23 char(8),NCELL24 char(8),NCELL25 char(8),NCELL26 char(8),NCELL27 char(8),NCELL28 char(8),NCELL29 char(8),NCELL30 char(8),

NCELL31 char(8),NCELL32 char(8),

BCCH Smallint,DCH1 Smallint,DCH2 Smallint,DCH3 Smallint,DCH4 Smallint,DCH5 Smallint,DCH6 Smallint,DCH7 Smallint,DCH8 Smallint,DCH9 Smallint,

DCH10 Smallint,DCH11 Smallint,DCH12 Smallint,TRXS Smallint ,

DEVTYPE Char (6) , ZFSite Char (1) , HAVEWATCH Smallint , FIRETYPE Char (4) , TOWERTYPE Char (4) ,

TOWERHIGH Float , ROOMOWNER Char (8)

) file GetMyTempFile(strUseFile,"WYSite.TAB") TYPE NATIVE Charset "WindowsSimpChinese"

Create Map For WYSite CoordSys Earth Projection 1, 0

Add Map Layer WYSite

Fetch First From tempSite

Set Map Center (tempSite.LONGITUDE , tempSite.LATITUDE )

Set Map Zoom 5 Units "km"

Set Map Layer 0 Editable On Selectable On

Do While Not EOT(tempSite)

if tempSite.POWER=0 THEN

intPower=45

else

intPower=tempSite.POWER

end if

x(1)=tempSite.LONGITUDE

y(1)=tempSite.LATITUDE

For i = 2 To 18

x(i)=tempSite.LONGITUDE+0.000012* intPower * cos((90.0 - tempSite.ANTDIR + tempSite.ANTBAND * ( i - 10)/16.0 )*PI/180)

y(i)=tempSite.LATITUDE +0.00001* intPower * sin((90.0 - tempSite.ANTDIR + tempSite.ANTBAND * ( i - 10)/16.0 )*PI/180)

Next

Do Case Left$(tempSite.SITE_ID,2)

Case "WE"

mcolor=RGB(119,158,232)

Case "DE"

mcolor=RGB(233,118,207)

Case "WM"

mcolor=RGB(53,201,41)

Case "WO"

mcolor=RGB(231,55,12)

Case "ZF"

mcolor=RGB(240,139,2)

Case Else

mcolor=RGB(240,139,2)

End Case

Create Region Into Variable objRegion 1 18

(x(1),y(1))(x(2),y(2))(x(3),y(3))(x(4),y(4))(x(5),y(5))(x(6),y(6))

(x(7),y(7))(x(8),y(8))(x(9),y(9))(x(10),y(10))(x(11),y(11))(x(12),y(12))

(x(13),y(13))(x(14),y(14))(x(15),y(15))(x(16),y(16))(x(17),y(17))(x(18),y(18))

'Pen(1, 1, BLUE)

'Brush(2, BLUE, BLUE)

Pen MakePen(INT(tempSite.ANTTIL),2,RGB(123,23,88))

'Brush MakeBrush(2,RGB(114,137,207),RGB(13,0,100))

Brush MakeBrush(2,mcolor,RGB(13,0,100))

Center(tempSite.LONGITUDE,tempSite.LATITUDE)

'Insert 方式范例Jinzhu.Zhang

tmpStr=tempSite.SITE_ID

tmpStr2=tempSite.SITE_NAME

Insert Into WYSite(Obj,SITE_ID,SITE_NAME) Values (objRegion,tmpStr,tmpStr2)

'Update 方式范例Jinzhu.Zhang

tmpStr=tempSite.所属BSC编号

Update WYSite set BSCID=tmpStr WHERE ROWID=intNowCell

'tmpStr3=tempSite.开通时间

'Update WYSite set OPENTIME=NumberToDate(tmpStr3) WHERE ROWID=intNowCell

intNowCell = intNowCell + 1

Fetch Next From tempSite

Loop

set map redraw on

QQ:4631855

name:张金柱

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航