我只能取到跟踪图层,这个线段最后一段2个端点的几何对象。我如何取到这个整个线段然后转成几何类对象。
String lineTag = "line"; TrackingLayer trackingLayer = m_mapControl.getMap().getTrackingLayer(); int id = trackingLayer.GetEvent(lineTag); split_line = trackingLayer.get(id);
这是现在取得代码
是添加到跟踪图层的
如果这个“line”是简单线对像,那么我这个代码是正常能够获取到整个线对像的,ps:我测试用的10.2.1版本。
int id = trackingLayer.GetEvent("line"); GeoLine geo = (GeoLine) trackingLayer.get(id);
如果要取线对像的节点数,则参考
GeoLine geo = (GeoLine) trackingLayer.get(id); System.out.println(geo.getPart(0).getCount()+"个节点");
1.上述代码+10.2.1IMB是能够获取到多节点的线的,节点数打出来与我实际绘制的节点一直都是5个节点的线,如果结果不一致建议用10.2.1版本
线对象构造:
Random ran = new Random(); Point2Ds point2Ds = new Point2Ds(); point2Ds.add(new Point2D((ran.nextInt(180)),( ran.nextInt(90)))); point2Ds.add(new Point2D((ran.nextInt(180)),( ran.nextInt(90)))); point2Ds.add(new Point2D((ran.nextInt(180)),( ran.nextInt(90)))); point2Ds.add(new Point2D((ran.nextInt(180)),( ran.nextInt(90)))); point2Ds.add(new Point2D((ran.nextInt(180)),( ran.nextInt(90)))); GeoLine geoLine=new GeoLine(point2Ds); mapControl.getMap().getTrackingLayer().add(geoLine,"line");
2."删除一个GeoRegion面的几何对象" 这个问题,你想问怎么删除面对像是吗?面是数据集里面的还是跟踪图层呢?前者用Recordset记录集删——delete() ,后者用trackinglayer跟踪图层删——remove(int index)