如何在 WorldWind 中绘制带有高程表示的线
How to draw a line with elevation representation in WorldWind
我想在地球上用高程表示画一条线,像这样:
我知道我可以用折线来表示一条线,但是如何填充线下面的space?
您可以使用多边形,只需为其指定经纬度相同但海拔不同的点即可:
ArrayList<Position> pathPositions = new ArrayList<Position>();
pathPositions.add(Position.fromDegrees(28, -106, 3e4));
pathPositions.add(Position.fromDegrees(28, -106, 3e0));
pathPositions.add(Position.fromDegrees(35, -107, 9e0));
pathPositions.add(Position.fromDegrees(35, -107, 9e4));
pathPositions.add(Position.fromDegrees(28, -106, 3e4));
Polygon pgon = new Polygon(pathPositions);
您可以使用路径来画线。 setOutlineMaterial 将绘制一个 "curtain" 类似于您想要的。
Path path = new Path(pathPositions); //Arraylist of positions
final BasicShapeAttributes attrs = new BasicShapeAttributes();
attrs.setInteriorOpacity(0.25);
attrs.setInteriorMaterial(Material.BLACK);
attrs.setOutlineMaterial(new Material(color));
attrs.setOutlineWidth(width);
path.setAttributes(attrs);
path.setDrawVerticals(true);
path.setAltitudeMode(WorldWind.ABSOLUTE);
看看 Path
高度模式,你希望它如何跟随地面。
我想在地球上用高程表示画一条线,像这样:
我知道我可以用折线来表示一条线,但是如何填充线下面的space?
您可以使用多边形,只需为其指定经纬度相同但海拔不同的点即可:
ArrayList<Position> pathPositions = new ArrayList<Position>();
pathPositions.add(Position.fromDegrees(28, -106, 3e4));
pathPositions.add(Position.fromDegrees(28, -106, 3e0));
pathPositions.add(Position.fromDegrees(35, -107, 9e0));
pathPositions.add(Position.fromDegrees(35, -107, 9e4));
pathPositions.add(Position.fromDegrees(28, -106, 3e4));
Polygon pgon = new Polygon(pathPositions);
您可以使用路径来画线。 setOutlineMaterial 将绘制一个 "curtain" 类似于您想要的。
Path path = new Path(pathPositions); //Arraylist of positions
final BasicShapeAttributes attrs = new BasicShapeAttributes();
attrs.setInteriorOpacity(0.25);
attrs.setInteriorMaterial(Material.BLACK);
attrs.setOutlineMaterial(new Material(color));
attrs.setOutlineWidth(width);
path.setAttributes(attrs);
path.setDrawVerticals(true);
path.setAltitudeMode(WorldWind.ABSOLUTE);
看看 Path
高度模式,你希望它如何跟随地面。