物探论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 680|回复: 0

MAPX查找最近的实体

[复制链接]
发表于 2013-3-15 18:02:02 | 显示全部楼层 |阅读模式
私人子Command1_Click() ,BYVAL由于双
Map1.CurrentTool = 101
结束小组 私人小组cmdQuit_Click() END SUB 公共功能最近(地图,的BYVAL strSearchLayer作为字符串BYVAL objMap作为,_ BYVAL dblX dblY双'sngRadius作为单, _ strItemName作为字符串,由于双X1为DOUBLE,由于双Y1,Y2,X2作为双)作为整数 返回从搜索层最接近的项目名称和位置。 “ objMap:MapX的对象,其中包含搜索层 的strSearchLayer的:层被搜索 “dblX,dblY:坐标在哪里可以中心搜索 “sngRadius:初始大小的环形公里MapX的选择从 “strItemName:名称最接近的特征项 X1,Y1,X2,Y2坐标最接近的特征项 昏暗的sngLowestDist 为整数 昏暗英尺单,sngTemp的由于昏暗的iTimesThrough 单作为新MapXlib.Feature 昏暗的正确的作为新MapXlib.Rectangle的 点心第一为整数 的选择的所有对象内半径公里的dblX,Y :“如果有什么也没有,半径的两倍,然后再试一次。 “重复,直到有发现,我们跑了10次 iTimesThrough = 1 “执行SelectByRadius的方法MapX的 objMap.Layers(strSearchLayer )。Selection.SelectByRadius dblX,dblY,sngRadius,miSelectionNew “双下一次搜索的半径(如果需要的话) sngRadius = sngRadius * 2 '递增的计数器 iTimesThrough,= iTimesThrough + 1 循环,直到objMap.Layers(strSearchLayer)。Selection.Count > 0或iTimesThrough的> 10 “测试,看看有什么选择, 如果objMap.Layers(strSearchLayer)。Selection.Count = 0,然后 最近 如果 “查找最近的功能选择集合 = 每英尺=假 退出功能结束选择objMap.Layers(strSearchLayer)。 “ 得到的距离选定的对象 sngTemp objMap.Distance(dblX,dblY,ft.CenterX,ft.CenterY)的 “这是最近这么远吗? 如果第一或(sngTemp <sngLowestDist)的,然后 “ 如果替换功能的细节 sngLowestDist = sngTemp strItemName = ft.Name “矩形ft.bounds X1 = ft.Bounds.XMin Y1 = ft.Bounds.YMin X2 = ft.Bounds.XMax Y2 = ft.Bounds.YMax 结束 第一= 最近= 端的功能 私人小组Form_Load() Map1.CreateCustomTool 101,miToolTypePoint,miRadiusSelectCursor 完子 私人的假 下一步 “清除的选择,这样你就看不到的的高亮模式 objMap.Layers(strSearchLayer)。Selection.ClearSelection 返回成功::小Map1_ToolUsed(双'双'Shift键,BYVAL CTRL键,布尔,布尔EnableDefault由于布尔的距离)的BYVAL ToolNum作为整数,BYVAL X1为DOUBLE,由于双BYVAL Y1,由于双BYVAL X2,Y2 BYVAL, 如果ToolNum = 作为字符串 昏暗的XA 由于昏暗的ITEMNAME 单101 昏暗的半径,双 昏暗的雅双 昏暗的预算外由于双 昏暗的YB由于 昏暗的strLyr 双作为字符串 strLyr =“美国主要城市” 半径= 500 (最近(MAP1,strLyr,X1, Y1,半径,项目名称,XA,亚,XB,YB)),然后 文本1 =项目名称 其它 文本1 =“附近有没有大的城市!” 结束如果 结束如果 END SUB


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|物探论坛 ( 鄂ICP备12002012号 微信号:iwutan )

GMT+8, 2024-5-10 20:02 , Processed in 0.074248 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表