项目要求
1.在模型中心点位(已知点位)上(即模型上方)添加一个图标,以此来标记识别模型。
2.获取某个点位(已知点位)的模型高程值。
1.某点位模型高度标记图标
在CreatePosition中,AltitudeType值为4,代表依附于3DML模型;
var l = createImageLabelStyle(0xFF0000,0,"微软雅黑",14,200,true);
var p = SGWorld66.Creator.CreatePosition(x,y,0,4,0,0,0,0);
var c = SGWorld66.Creator.CreateLabel(p, "", localhostPaht + projectName + "/tempPic/zb-r.png", l, group, name);
2.获取某点位模型高程值
在Terrain.GetGroundHeightInfo中,ACCURACY_FORCE_BEST_RENDERED = 2,详查API文档;
var p = SGWorld66.Terrain.GetGroundHeightInfo(x, y, 2,true);
p.Position.Altitude
下面这个方法在测试中并不是提取的高程值,先做个删除标记。
在PixelToWorld中,TypeFilterFlags为8192,代表WPT_3DML;
//8192标记的是3DML
var a = SGWorld66.Window.PixelToWorld(x,y,8192);
a.Position.Altitude