2015-05-28 8 views
6

ich eine Linie auf der ganzen Welt mit Höhendarstellung, so etwas zeichnen will:Wie eine Linie mit Pfeilhöhendarstellung in Worldwind ziehen

Elevation representation sketch

Ich weiß, dass ich Polylinie verwenden, um eine Linie zu vertreten, aber wie kann man den Raum unterhalb der Linie füllen?

+0

Macht der Globus hier einen Unterschied, ich meine, kann es auch eine Ebene sein? Sollte der gefüllte Bereich segmentiert sein? –

+0

Absolut keine Notwendigkeit der Segmentierung, das Ziel ist nur die Höhe der Linie darzustellen –

+1

Ist das wirklich mit javafx verbunden? – gontard

Antwort

2

Sie einen Pfad verwenden, um die Linie zu zeichnen. Das setOutlineMaterial zeichnet einen "Vorhang" ähnlich wie Sie es wünschen.

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); 

betrachten Sie Path Höhenmodus, wie Sie wollen, folgen Sie dem Boden.

1

können Sie einen Polygon verwenden, nur geben sie Punkte mit dem gleichen Breitengrad und Längengrad, aber unterschiedlichen Höhen:

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); 
+1

Und verwenden Sie SetExtrude auch, um die Höhe zu zeichnen. –