Openadjustment in anderen Programmen integrieren (Programmierung)

Jürgen Friedrich @, Gumpoldskirchen, Freitag, 20. Januar 2017, 06:16 (vor 276 Tagen)

Hej!
Im Wiki steht geschrieben, man kann das Berechnungstool auch in andere, eigene Programme integrieren.

Ich habe mir deinen, sehr schön strukturierten, Quellcode angesehen. Leider ist mir dennoch nicht klar, was alles für den Ausgleich benötigt wird.

Meine Frage nun :

- Wie binde ich die Berechnung ein? Wie ist der Programmablauf zu implemnetieren?

Ist wahrscheinlich eine aufwendigere Antwort, ich danke dir dennoch schon mal dafür!

Avatar

Openadjustment in anderen Programmen integrieren

Micha ⌂, Bad Vilbel, Freitag, 20. Januar 2017, 15:42 (vor 276 Tagen) @ Jürgen Friedrich

Hallo Jürgen,

Ich habe mir deinen, sehr schön strukturierten, Quellcode angesehen.

Ich lese da ein wenig Ironie heraus. ;-)

Meine Frage nun :
- Wie binde ich die Berechnung ein? Wie ist der Programmablauf zu implemnetieren?
Ist wahrscheinlich eine aufwendigere Antwort, ich danke dir dennoch schon mal dafür!

Das hängt von der Art und Weise ab, wie diese Integration ablaufen soll. Die einfachste Variante ist, wenn Du mit Deinen Routinen die JAG3D-Datenbank mit den entsprechenden Daten und Einstellungen füllst und dann an den Rechenkern einfach übergibst. Dann Beschränkt sich der Aufruf auf die Übergabe der Datenbank. Die Ergebnisse stehen am Ende der Berechnung wieder in der DB und können durch geeignete Funktion von Deiner Applikation ausgelesen werden.

Die aufwendigere Variante ist, Du erstellst das Ausgleichungsobjekt selbst. In diesem Fall benötigst Du die Datenbank natürlich nicht mehr, sondern arbeitest mit den Getter/Setter des Rechenkerns.

Viele Grüße
Micha

--
kostenlose Scripte und Software nicht nur für Geodäten || Portal für Geodäten mit angeschlossenem Forum-Vermessung

Openadjustment in anderen Programmen integrieren

Jürgen Friedrich @, Gumpoldskirchen, Freitag, 20. Januar 2017, 16:22 (vor 276 Tagen) @ Micha

Hallo Jürgen,

Ich habe mir deinen, sehr schön strukturierten, Quellcode angesehen.

Ich lese da ein wenig Ironie heraus. ;-)

Sorry, falls es so rüber kam! Nein, ich finde deinen Code sehr gut dokumentiert und strukturiert. Du hast dir auf jeden Fall etwas dabei gedacht. Das sich mir dein Gedankengang nicht vollständig erschließt ist bei diesem komplexen Thema ganz normal!

Meine Frage nun :
- Wie binde ich die Berechnung ein? Wie ist der Programmablauf zu implemnetieren?
Ist wahrscheinlich eine aufwendigere Antwort, ich danke dir dennoch schon mal dafür!


Das hängt von der Art und Weise ab, wie diese Integration ablaufen soll. Die einfachste Variante ist, wenn Du mit Deinen Routinen die JAG3D-Datenbank mit den entsprechenden Daten und Einstellungen füllst und dann an den Rechenkern einfach übergibst. Dann Beschränkt sich der Aufruf auf die Übergabe der Datenbank. Die Ergebnisse stehen am Ende der Berechnung wieder in der DB und können durch geeignete Funktion von Deiner Applikation ausgelesen werden.

Die aufwendigere Variante ist, Du erstellst das Ausgleichungsobjekt selbst. In diesem Fall benötigst Du die Datenbank natürlich nicht mehr, sondern arbeitest mit den Getter/Setter des Rechenkerns.

Mir genügt es, deine Struktur zu verwenden und lediglich die Ergebnisse aus der DB zu ziehen. Da hatte ich schon mehr als gewonnen!!

Dafür müsste ich noch wissen, wie ich die von dir beschriebenen Schritte umsetze.

1. Projekt anlegen
2. PunktKoordinaten einlesen.
3. Messdaten epochenweise (eine Gruppe=eine Epoche)
4. Näherungskoorniaten für NeuPunkte bestimmen
5. Berechnung starten
6. Ergebnis auslesen.

Wie ich diese Schritte im GUI löse ist mir völlig klar. Wie kann ich das über Zb ein bash-Skript realisieren? In der Dokumentation habe ich nach dieser Information gesucht, aber leider nicht gefunden!
Ich freue mich auf jeden Fall über deine Hilfe/Informationen

Lg Jürgen


Viele Grüße
Micha

Avatar

Openadjustment in anderen Programmen integrieren

Micha ⌂, Bad Vilbel, Samstag, 21. Januar 2017, 15:16 (vor 275 Tagen) @ Jürgen Friedrich
bearbeitet von Micha, Samstag, 21. Januar 2017, 15:25

Hallo,

Mir genügt es, deine Struktur zu verwenden und lediglich die Ergebnisse aus der DB zu ziehen. Da hatte ich schon mehr als gewonnen!

Hierfür musst Du doch nur die DB auslesen. Die HSQLDB enthält im Downloadpaket auch das sql-Tool für Kommandozeilenverarbeitung. Damit kannst Du die gewünschten Daten direkt auslesen und natürlich kannst Du damit auf Daten importieren oder manipulieren. Erfahrungen habe ich mit diesem Tool aber keine, die ich teilen könnte.

Dafür müsste ich noch wissen, wie ich die von dir beschriebenen Schritte umsetze.
1. Projekt anlegen

Eine leere Datenbank mit allen Tabellen findet sich im Order db. Kopiere diese an eine Stelle Deiner Wahl und benenne die vier Dateien um. Der (Base-)Name der Datei entspricht dann dem Namen der Datenbank.

2. PunktKoordinaten einlesen.

Das ist Aufgabe Deiner Applikation - per SQL-INSERT

3. Messdaten epochenweise (eine Gruppe=eine Epoche)

Das ist Aufgabe Deiner Applikation - per SQL-INSERT

4. Näherungskoorniaten für NeuPunkte bestimmen

Für diese musst Du selbst sorgen, da dies keine Option im Rahmen der Ausgleichung ist.

5. Berechnung starten

Rufe die com.derletztekick.geodesy.openadjustment.sql.ProjectDatabase auf und übergib dieser die Datenbank. Die Berechnung startet dann automatisch und die Ergebnisse werden in diese DB geschrieben.

6. Ergebnis auslesen.

Das ist Aufgabe Deiner Applikation - per SQL-SELECT

Viele Grüße
Micha

--
kostenlose Scripte und Software nicht nur für Geodäten || Portal für Geodäten mit angeschlossenem Forum-Vermessung

RSS-Feed dieser Diskussion