trimble_geodesy/README.md

129 lines
3.6 KiB
Markdown

# Trimble Geodesy Tool
Ein vollständiges Python-Programm mit grafischer Benutzeroberfläche (GUI) für geodätische Vermessungsarbeiten mit Trimble JXL-Dateien.
## Funktionen
### 1. JXL-Datei Analyse und Bearbeitung
- Trimble JXL-Dateien einlesen und analysieren
- Übersicht über Punkte, Stationen und Messungen
- Passpunkte entfernen
- Prismenkonstanten ändern
- Parameter bearbeiten
### 2. COR-Datei Generierung
- Aus JXL-Dateien Punktdateien im COR-Format berechnen
- Unterstützt zwei Stationierungsarten:
- Erste Stationierung über eine Referenzlinie
- Alle anderen als freie Stationierungen
- Export in verschiedene Formate (COR, CSV, TXT, DXF)
### 3. Koordinatensystem-Transformation
- Rotation um einen wählbaren Punkt
- Verschiebung in XY-Richtung
- Verschiebung in Z-Richtung
- Zwei Eingabemodi:
- Manuelle Eingabe von Transformationsparametern
- Definition über 2 Punkte (Ursprung und Y-Richtung)
- **Keine Maßstabsänderung** (wie gefordert)
### 4. Georeferenzierung
- Mindestens 3 Passpunkte für Transformation
- Rotation und Translation des Koordinatensystems
- **Keine Maßstabsänderung** (keine Helmert-Transformation)
- Restfehler ausgleichen und anzeigen
- Detaillierte Qualitätsparameter (RMSE, Residuen)
### 5. Netzausgleichung
- Methode der kleinsten Quadrate
- Basierend auf Beobachtungen der JXL-Datei
- Automatische Festpunkterkennung
- Ausgabe von:
- Ausgeglichenen Koordinaten
- Standardabweichungen
- Residuen
- Qualitätsparametern (Sigma-0, Chi-Quadrat, RMSE)
## Installation
### Voraussetzungen
- Python 3.8 oder höher
- PyQt5
- NumPy
- SciPy
- lxml
### Installation der Abhängigkeiten
```bash
pip install PyQt5 numpy scipy lxml
```
## Verwendung
### Programm starten
```bash
cd /home/ubuntu/trimble_geodesy
python3 main.py
```
### Workflow
1. **JXL-Analyse Tab**: JXL-Datei laden und analysieren
2. **COR-Generator Tab**: Koordinaten generieren und exportieren
3. **Transformation Tab**: Koordinatensystem rotieren/verschieben
4. **Georeferenzierung Tab**: Mit Passpunkten transformieren
5. **Netzausgleichung Tab**: Netzausgleichung durchführen
## Dateistruktur
```
trimble_geodesy/
├── main.py # Hauptprogramm mit GUI
├── modules/
│ ├── __init__.py
│ ├── jxl_parser.py # JXL-Datei Parser
│ ├── cor_generator.py # COR-Datei Generator
│ ├── transformation.py # Koordinatentransformation
│ ├── georeferencing.py # Georeferenzierung
│ └── network_adjustment.py # Netzausgleichung
├── output/ # Ausgabeverzeichnis
└── README.md
```
## Technische Details
### JXL-Format
Das JXL-Format (Trimble JobXML) ist ein XML-basiertes Format für Vermessungsdaten:
- `<PointRecord>`: Punktdaten mit Koordinaten und Messungen
- `<StationRecord>`: Stationsinformationen
- `<TargetRecord>`: Prismeneinstellungen
- `<BackBearingRecord>`: Orientierungsdaten
### COR-Format
Das COR-Format ist ein einfaches Textformat für Koordinaten:
```
|Punkt |X |Y |Z |
|5001 |0.000 |0.000 |0.000 |
|5002 |0 | 11.407 | -0.035 |
```
### Transformation
Die Transformation verwendet eine 4-Parameter-Transformation:
- Translation X, Y, Z
- Rotation um die Z-Achse
- **Kein Maßstabsfaktor** (Maßstab = 1.0)
### Netzausgleichung
Die Netzausgleichung verwendet:
- Gauß-Markov-Modell
- Beobachtungsgleichungen für Richtungen und Strecken
- Iterative Lösung nach Gauß-Newton
- Varianzfortpflanzung für Genauigkeitsmaße
## Lizenz
Dieses Programm wurde für geodätische Vermessungsarbeiten entwickelt.
## Autor
Entwickelt für geodätische Vermessungsarbeiten mit Trimble-Instrumenten.