mit VBA Linien erstellen, Koordinaten liegen als Längen- und Breitengrade vor


  
 Bezieht sich auf 
  
 Produkt(e):MicroStation
 Version(en):08.11.09.578
 Umgebung: N\A
 Produktbereich: Programmierung
 Produktunterbereich: VBA
 Ursprünglicher Autor:Artur Goldsweer, Bentley Technical Support Group
  

Hintergrund:

Es liegen Koordinaten im aktuellen GCS als Längen- und Breitengrade vor.
Wie können mit diesen Angaben Elemente in der aktiven Zeichnung erstellt werden?

Lösung:

Für das Platzieren von Elementen werden Koordinaten im XYZ Format benötigt. Wenn die Koordinaten als Längen- und Breitegrade vorliegen, kann man dazu eine Umrechnung über das aktive Geokoordinatensystem vornehmen. Konkret also eine Konvertierung vom Typ GeoPoint3D nach Point3d.
Hier dazu ein Beispiel, wie dies aussehen kann:

Sub latlongtest()


Dim GCS As GeographicCoordinateSystem
Set GCS = ActiveModelReference.GetGCS(True)

Dim pLL1, pLL2 As GeoPoint3D
Dim pXY1, pXY2 As Point3d

' 1. Punkt in GCS Koordinaten:
pLL1.Elevation = 0
pLL1.Latitude = 54.5
pLL1.Longitude = 10.5

' 2. Punkt in GCS Koordinaten:
pLL2.Elevation = 0
pLL2.Latitude = 54
pLL2.Longitude = 9

pXY1 = GCS.CartesianFromLatLong(pLatLong(0))
pXY2 = GCS.CartesianFromLatLong(pLatLong(1))

Dim oLine As LineElement
Set oLine = CreateLineElement2(Nothing, pXY1, pXY2)
ActiveModelReference.AddElement oLine
End Sub