TopoSat Rinex Editorv1.06
Aide

TopoSat Rinex Editor

Édition, analyse et contrôle des fichiers d’observation RINEX 2, 3 et 4 — interface graphique et ligne de commande.

v1.06Interface graphique + CLIRINEX 2.10 → 4.02

1Avertissement

Le logiciel est fourni « tel quel », sans garantie d’aucune sorte. L’auteur ne pourra être tenu responsable des dommages liés à son utilisation.

Il appartient à l’utilisateur de contrôler l’exactitude des conversions de coordonnées par un autre moyen avant toute utilisation, et de vérifier la compatibilité des fichiers créés avec ses besoins.

2Fonctionnalités principales

TopoSat Rinex Editor est un utilitaire qui permet d’éditer les fichiers RINEX (formats 2, 3 et 4) pour analyser les constellations présentes, les satellites et signaux utilisés, et modifier certaines informations contenues dans l’entête. Il peut être utilisé avec une interface graphique ou en ligne de commande.

Il est disponible en anglais, espagnol, français et portugais (Europe et Brésil).

Ses points forts sont :

  • Analyse du fichier source et affichage synthétique de cette analyse.
  • Export avec désactivation de constellations, de satellites ou de signaux spécifiques.
  • Coordonnées ECEF de l’entête saisissables à partir de coordonnées géographiques ou projetées (avec ou sans utilisation d’un modèle de géoïde).
  • Lecture de rapports de calcul en ligne : IGN France, Trimble RTX, SCRS-PPP (Canada).
  • Conversion directe des coordonnées ECEF en coordonnées géographiques ou projetées.
  • Affichage de ces coordonnées ECEF dans un visualiseur KML, et export KML/KMZ.
  • Conversion d’un RINEX 3 ou 4 dans une version antérieure.

Il permet d’apporter également les modifications suivantes :

  • Intervalle d’enregistrement.
  • Heures de début et de fin d’enregistrement.
  • Marker Name, Marker Number et Marker Type.
  • Observer / Agency.
  • Hauteur d’antenne.

Après modification des bornes temporelles, de l’intervalle d’enregistrement et des constellations ou satellites utilisés, la taille du fichier à exporter est estimée (valeur indicative).

Note
La documentation complète sur les formats RINEX peut être téléchargée sur files.igs.org/pub/data/format.

3Première utilisation

L’application avec l’interface graphique se lance avec l’exécutable TopoSat_Rinex_Editor.exe. Pour l’utilisation en ligne de commande, voir le chapitre « Utilisation en ligne de commande ».

À la première utilisation, le programme crée un sous-répertoire « TopoSat Rinex Editor » dans le répertoire « Documents » de l’utilisateur Windows. Ce répertoire permet de sauvegarder :

Dans un sous-répertoire /Config :

  • Un fichier config.ini (langue, thème, répertoires, seuils de contrôle, priorité des canaux, …).
  • Un fichier custom_projections.json avec les paramètres des projections renseignées par l’utilisateur.

Dans un sous-répertoire /Data :

  • Diverses données produites par le programme lors de son utilisation (fichiers textes, KML, …).

4Sélection du fichier source

Les extensions acceptées sont .rnx, .obs et .??o. Les fichiers zippés ou comprimés Hatanaka ne sont pas pris en compte.

À l’ouverture du fichier, plusieurs informations sont directement listées en dessous du nom du fichier : format RINEX, nombre d’époques et taille de l’entête.

Les modifications effectuées sur les valeurs éditables n’affectent pas le fichier source. Elles sont appliquées uniquement sur un nouveau fichier créé par le bouton « Enregistrer », en bas à droite de la fenêtre.

Le bouton « Recharger » sert à relire le fichier source et à réinitialiser l’affichage si des modifications ont été apportées, sans avoir à le rechercher à nouveau dans l’arborescence du PC. Ce bouton reste inactif tant qu’aucune modification n’a été apportée.

5Sélection du fichier de destination

La taille du fichier de destination est estimée en prenant en compte les différentes modifications envisagées. Elle est recalculée après chaque modification, en cliquant sur une autre valeur modifiable ou sur le bouton « Rafraîchir ».

Certains fichiers RINEX contiennent des marqueurs de données cinématiques. Ces marqueurs peuvent être supprimés pour utiliser le fichier comme un fichier statique, ou pour de la trajectographie pure.

5.1Sans conversion RINEX

Par défaut, le fichier de destination porte le nom du fichier source complété de « _edited », et l’extension du fichier source.

Il est enregistré dans le même répertoire que le fichier source. Le nom et le répertoire peuvent être choisis différemment (bouton « Modifier »).

5.2Avec conversion RINEX

5.2.1Mise en œuvre

La conversion RINEX d’un fichier peut se faire depuis la version 4.02 vers toute version antérieure valide.

Dans le cas d’une conversion RINEX 3 ou 4 vers RINEX 2, le fichier de destination porte un nom composé du MARKER NAME sur 4 caractères, du numéro du jour de l’année, du chiffre 1 représentant le numéro de session et de l’extension du fichier source. En l’absence de MARKER NAME, les 4 premiers caractères du nom du fichier source sont utilisés.

Il est enregistré dans le même répertoire que le fichier source. Le nom et le répertoire peuvent être choisis différemment (bouton « Modifier »).

5.2.2Pertes de signaux liées à la conversion vers RINEX 2.nn

Attention
Une perte de signal est parfois inévitable : RINEX 2 n’a qu’une seule case par fréquence et par type d’observable (une pour la phase L2, une pour le code C2…), alors que RINEX 3/4 peut recevoir plusieurs canaux sur la même fréquence à la fois (par exemple L2C civil et L2W précis en même temps). Si cela arrive, un seul canal peut être conservé — le plus prioritaire — et l’autre est perdu : c’est une limite du format RINEX 2 lui-même, pas du convertisseur.

L’ordre de priorité entre canaux se règle dans le menu Options / Priorité des canaux RINEX 2….

Il peut également être modifié avec un éditeur de texte dans config.ini (Documents/TopoSat Rinex Editor/Config/), section [rnx_downgrade], clé channel_priority.

  • Par défaut : CPWYMNSLXIQ. Cet ordre privilégie le canal le plus universel et le plus ancien (C) en cas de doublon, puis les codes précis (P/W/Y/M/N, historiquement ceux que les logiciels RINEX 2 attendaient), puis seulement en dernier les canaux modernisés (S/L/X/I/Q).
  • Pour privilégier au contraire les canaux civils modernisés (par exemple L2C plutôt que L2W) : channel_priority = SLXIQCPWYMN.
  • Cette clé est lue au lancement de l’application et sauvegardée à sa fermeture, comme le reste des indications figurant dans config.ini. Pour la modifier et qu’elle soit prise en compte, il faut fermer l’application avant de la modifier manuellement. Si elle n’est pas conforme (lettre absente, canal non prévu, caractère quelconque…), elle est automatiquement remise à sa valeur par défaut. Elle est affichée dans le cadre « Fichier de destination » lorsque la conversion vers RINEX 2.nn est sélectionnée.

Ces lettres décrivent quel canal ou quel code a été suivi par le récepteur pour produire l’observation. Pour plus de précisions sur leur signification, se reporter à la liste des signaux.

6Intervalle et bornes temporelles

Les informations affichées sont extraites de l’analyse ligne par ligne du fichier, sans se fier aux lignes TIME OF FIRST/LAST OBS.

Le bouton « Réinitialiser » rétablit l’intervalle et les bornes temporelles d’origine du fichier. Il ne réinitialise pas toute la page (le bouton « Recharger » du cadre de gauche est là pour cela), mais seulement ce cadre. Il reste inactif tant qu’aucune modification n’a été apportée.

Si une des lignes TIME OF FIRST/LAST OBS est absente de l’entête, il est possible de la rajouter.

6.1Intervalle d’enregistrement

Il est exprimé en secondes. Il est possible de changer cet intervalle à condition d’en utiliser un qui soit un multiple exact de l’intervalle d’origine et qui lui soit supérieur (par exemple 60 secondes pour 15 secondes à l’origine).

6.2Bornes temporelles

L’affichage et la modification des heures de début et de fin d’enregistrement acceptent :

  • L’heure GPS (par défaut).
  • L’heure locale (celle de l’ordinateur).
  • Celle d’un fuseau UTC quelconque.

Le fichier RINEX créé conserve les heures GPS. Les heures locales ou UTC ne servent qu’à faciliter la saisie ou la lecture.

Les heures de FIRST et LAST OBS sont systématiquement recalées sur les époques compatibles : la suivante pour FIRST OBS, la précédente pour LAST OBS.

7Aperçu du fichier source

Trois onglets sont disponibles.

7.1Onglet « Journal »

Cet onglet liste les modifications successives apportées à l’entête, dans un fichier .log créé à l’enregistrement du fichier modifié.

7.2Onglet « Contrôle Qualité »

Cet onglet liste le nombre de données disponibles dans le fichier, constellation par constellation, et signale le cas échéant les anomalies. Ces informations sont également reprises dans le fichier .log enregistré avec le fichier créé.

7.3Onglet « Entête »

Cet onglet permet de visualiser les lignes d’entête du fichier source. Il n’est pas éditable.

8Données diverses éditables

8.1Markers et opérateur

  • MARKER NAME : 60 caractères max. (colonnes 1 à 60 de la ligne RINEX)
  • MARKER NUMBER : 20 caractères max. (colonnes 1 à 20 de la ligne RINEX)
  • MARKER TYPE : 20 caractères max. (colonnes 1 à 20 de la ligne RINEX) — non saisissable en RINEX 2.xx
  • OBSERVER : 20 caractères max. (colonnes 1 à 20 de la ligne RINEX)
  • AGENCY : 40 caractères max. (colonnes 21 à 60 de la ligne RINEX)

Le nombre de caractères utilisés / autorisés est affiché. La saisie d’un nombre de caractères supérieur au quota est interdite.

8.2Récepteur / Antenne

Le nombre de caractères utilisés / autorisés est affiché. La saisie d’un nombre de caractères supérieur au quota est interdite.

Il n’y a pas de contrôle du type d’antenne si celui-ci est changé, mais l’affichage d’un message d’avertissement.

  • La hauteur d’antenne doit être inférieure à 99,9999 m.
  • Le décalage E/N est limité à 50 mm.

9APPROX POSITION XYZ (coordonnées ECEF)

Les coordonnées ECEF peuvent être saisies manuellement dans la fenêtre éditable. Un contrôle de cohérence vérifie les limites physiques de chaque composante (X, Y, Z), la distance au centre de la Terre, l’altitude géodésique au-dessus de l’ellipsoïde GRS80 et l’écart par rapport à la position approchée indiquée dans l’entête du fichier source.

Elles peuvent également être :

  • Saisies en valeurs géographiques ou projetées.
  • Importées depuis différents formats.
  • Exportées en KML/KMZ ou affichées dans un visualiseur KML.
  • Converties en valeurs géographiques ou projetées.

9.1Contrôle de cohérence des coordonnées XYZ

Les contrôles suivants sont effectués :

ContrôleSeuilConséquence
Composante X, Y ou Z hors limites|X|, |Y| > a + 50 km ; |Z| > b + 50 kmAvertissement
Distance au centre de la Terre trop faibleD < min_distance_mConversion bloquée
Distance au centre de la Terre trop grandeD > a + max_margin_mConversion bloquée
Altitude géodésique très élevée (au-dessus de l’ellipsoïde)HAE > 10 kmAvertissement
Altitude géodésique très négativeHAE < −200 mAvertissement
Déplacement par rapport à la position d’origine> 10 mAvertissement
  • a et b représentent respectivement le demi-grand axe et le demi-petit axe de l’ellipsoïde.
  • min_distance_m est la distance en mètres au centre de la Terre à partir de laquelle une distance est considérée comme trop faible.
  • max_margin_m est la hauteur ellipsoïdale à partir de laquelle cette hauteur est considérée comme trop importante.
  • min_distance_m et max_margin_m sont sauvegardées dans config.ini et peuvent être modifiées manuellement par l’utilisateur.

Les avertissements ne sont pas bloquants, mais une information erronée peut poser des problèmes lors de son traitement par un logiciel de post-traitement GNSS.

9.2Saisie manuelle de coordonnées géographiques — LLH (°)

9.2.1Format

Les coordonnées latitude / longitude / hauteur ellipsoïdale peuvent être saisies en valeurs décimales ou sexagésimales. Elles sont calculables pour les ellipsoïdes GRS80 ou WGS84. Les formats acceptés sont :

  • Longitude :
    • 2.24981292 ou 2 14 59.3265 (valeur positive pour l’Est)
    • -2.24981292 ou -2 14 59.3265 (valeur négative pour l’Ouest)
  • Latitude :
    • 48.5909138 ou 48 35 27.2895 (valeur positive pour le Nord)
    • -48.5909138 ou -48 35 27.2895 (valeur négative pour le Sud)

9.2.2Interface de saisie

9.3Saisie manuelle de coordonnées projetées — NEH (m)

9.3.1Coordonnées planimétriques

Systèmes géodésiques et projections

Les coordonnées projetées peuvent être saisies dans les systèmes et projections suivants :

  • Projection UTM, avec le choix entre les ellipsoïdes GRS80 (par défaut) et WGS84.
    • Il faut renseigner le fuseau UTM et l’hémisphère (Nord ou Sud).
  • Projection Transverse Mercator.
    • Il faut renseigner les paramètres de la projection.
    • Ces paramètres peuvent être sauvegardés dans le fichier custom_projections.json du répertoire « Documents / TopoSat Rinex Editor / Config ». Ce fichier est relu automatiquement lors des appels suivants.
  • Lambert conique.
    • Fonctionnement identique à la projection Transverse Mercator.
  • Projections françaises métropolitaines :
    • RGF93 / Lambert 93
    • RGF93 / Lambert zone CC
  • Projections françaises outremarines :
    • Guadeloupe (RGAF09 — UTM 20N)
    • Guyane (RGFG95 — UTM 22N)
    • La Réunion (RGR92 — UTM 40S)
    • Martinique (RGAF09 — UTM 20N)
    • Mayotte (RGM04 — UTM 38S)
    • Nouvelle-Calédonie — Grande Terre et îles Loyauté (RGNC91-93 / Lambert NC)
    • Nouvelle-Calédonie — zone maritime (RGNC91-93 — UTM 57S)
    • Nouvelle-Calédonie — zone maritime (RGNC91-93 — UTM 58S)
    • Nouvelle-Calédonie — zone maritime (RGNC91-93 — UTM 59S)
    • Polynésie française (RGPF — UTM 5S)
    • Polynésie française (RGPF — UTM 6S)
    • Polynésie française (RGPF — UTM 7S)
    • Polynésie française (RGPF — UTM 8S)
  • Belgique (ETRF2000 / Lambert 2008)
Note
Seuls les territoires les plus peuplés ont été intégrés. L’utilisateur peut compléter cette liste au besoin avec des projections « Transverse Mercator » en renseignant les paramètres adéquats : une projection UTM est une projection Transverse Mercator avec des paramètres standardisés, mais les formules mathématiques sont les mêmes.
Interface de saisie

L’interface de saisie des coordonnées planimétriques est la suivante :

9.3.2Composante verticale

Interface de saisie

Elle peut être saisie en hauteur ellipsoïdale (HAE), en élévation (MSL), ou avec une hauteur ellipsoïdale et une constante représentant la valeur de l’ondulation du géoïde à l’endroit du point observé.

Pour une saisie en élévation (MSL), un modèle de géoïde doit être sélectionné.

  • Choisir le modèle dans la liste déroulante, ou
  • utiliser « Parcourir » pour sélectionner un nouveau modèle disponible sur le PC. Il peut être situé dans le répertoire de votre choix.
  • « Sauvegarder » permet d’enregistrer le chemin d’accès du modèle dans config.ini. La grille sera automatiquement proposée dans le menu déroulant au prochain démarrage.
  • « Supprimer » supprime l’entrée dans config.ini, mais ne supprime pas le fichier.
Disponibilité des grilles

Aucune grille n’est fournie avec le logiciel. Il appartient à l’utilisateur de se les procurer directement auprès des producteurs de données.

Quelques exemples de sites de téléchargement des grilles (juillet 2026) :

  • France (métropole et outre-mer) : geodesie.ign.fr
  • Belgique : cconvert.geo.be
  • États-Unis : geodesy.noaa.gov
  • Les grilles au format Trimble .ggf sont disponibles dans le répertoire C:\ProgramData\Trimble\GeoData\ (installation Windows 11) pour les utilisateurs d’un logiciel Trimble (Trimble Business Center, Trimble Coordinate System Manager, …).
Formats de modèles de géoïdes reconnus
ExtensionOrigineParamètres à saisir au chargement
.datFormat générique, point par pointOui (organisation des colonnes, sens de tri)
.mntIGN (France)Aucun — détectés automatiquement
.tacIGN (France)Aucun — détectés automatiquement
.gtxNOAA / PROJAucun — détectés automatiquement
.ggfTrimbleAucun — détectés automatiquement
.graGRAVSOFT (DTU, Danemark)Aucun — détectés automatiquement
.grdGolden Software (Surfer)Aucun — détectés automatiquement
.dat — format point générique

Fichier texte simple, une ligne par point (deux coordonnées et une valeur d’ondulation). Comme ce format ne comporte aucun entête, l’application demande comment l’interpréter au moment du chargement :

  • Signification de la première colonne (latitude ou longitude).
  • Ordre dans lequel les valeurs sont triées.
Exemple : latitude en première colonne, longitudes croissantes à latitude fixe, puis latitudes croissantes.
48.5000000 1.0000000 43.316
48.5000000 1.0150000 43.306
...
48.5000000 6.9850000 46.685
48.5000000 7.0000000 46.724
48.5100000 1.0000000 43.318
48.5100000 1.0150000 43.308
...
52.5000000 6.9850000 40.434
52.5000000 7.0000000 40.443
.mnt et .tac — grilles IGN (France)

Format retenu par l’Institut national de l’information géographique et forestière (France), utilisé en particulier pour ses grilles de conversion altimétrique en France métropolitaine et outremarine (RAF, grilles NTF↔RGF93, etc.). Pour plus de détails, voir la description des formats de grilles IGN.

.gtx — format NOAA / PROJ

Format binaire compact, largement diffusé par la bibliothèque cartographique PROJ et par l’agence américaine NOAA. Pour plus de détails, voir la documentation GDAL.

.ggf — format Trimble

Format binaire utilisé par certains logiciels topographiques Trimble (Trimble Business Center notamment). Pour plus de détails, voir la description du format GGF.

.gra — format GRAVSOFT

Format texte du logiciel GRAVSOFT, développé par l’université technique du Danemark (DTU), utilisé notamment pour certaines grilles de géoïde outremarines (La Réunion). Pour plus de détails, voir le manuel GRAVSOFT.

.grd — Golden Software ASCII Grid

Format texte des logiciels Golden Software (Surfer, Grapher, Voxler), identifiable par le mot-clé DSAA en début de fichier. Pour plus de détails, voir la documentation Surfer.

9.4Importation

Les coordonnées peuvent être extraites de plusieurs sources.

9.4.1Fichier texte

Le fichier peut contenir plusieurs lignes, mais une seule ligne peut être sélectionnée. Il est possible d’indiquer le séparateur de liste (plusieurs possibilités) ou de découper le fichier en colonnes.

Avec séparateur : choisir le séparateur si la détection automatique ne fonctionne pas, puis procéder à l’affectation des colonnes aux champs X, Y et Z.

Avec colonnage : cliquer dans la ligne supérieure et faire glisser le trait de séparation jusqu’à l’endroit souhaité, puis procéder à l’affectation des colonnes aux champs X, Y et Z.

9.4.2Rapport de calcul réseau IGN France

Ces rapports sont issus d’un calcul en ligne effectué sur le site rgp.ign.fr.

Typiquement, après décompression du rapport au format .tar.gz, le nom du fichier analysé est de la forme cr_STAT_AAMMJJi_rd.txt, avec STAT pour l’identifiant de la station, AAMMJJ pour la date et i pour l’indice de session.

Le logiciel recherche les valeurs indiquées au paragraphe « IV/ RESULTATS » du rapport et propose les solutions dans plusieurs référentiels (dépendant de la date de mesure et de la localisation du point observé).

9.4.3Rapport de calcul PPP France

Ces rapports sont issus d’un calcul en ligne effectué sur le site rgp.ign.fr. Typiquement, après décompression du rapport au format .tar.gz, le nom du fichier analysé est report.txt.

Le logiciel recherche les valeurs finales, après application du calcul de marée terrestre et de la surcharge océanique (MEAN XYZ with O_LOAD applied).

Il propose les solutions dans plusieurs référentiels (dépendant de la date de mesure et de la localisation du point observé).

9.4.4Rapport de calcul Trimble RTX Positioning

Ces rapports sont issus d’un calcul en ligne effectué sur le site trimblepositioninghub.trimble.com.

Typiquement, après décompression du rapport au format .zip, les fichiers analysés sont de la forme Report_nnnnnnnn.xml, où « nnnnnnnn » est un numéro interne à Trimble. Le logiciel recherche les valeurs contenues dans les éléments POSITION de type « INTERNAL » ou « CUSTOM », ce dernier correspondant au choix de l’utilisateur. Il propose les solutions dans deux référentiels :

  • « INTERNAL » dans un référentiel ITRF générique, époque de la mesure.
  • « CUSTOM » dans le référentiel sélectionné par l’utilisateur.

9.4.5Rapport de calcul SCRS-PPP (Canada)

Ces rapports sont issus d’un calcul en ligne effectué sur le site webapp.csrs-scrs.nrcan-rncan.gc.ca. Typiquement, après décompression du rapport au format .zip, les fichiers analysés sont de la forme fichier.sum, où « fichier » est le nom du fichier RINEX calculé.

Le logiciel recherche les valeurs contenues dans les lignes « POS X », « POS Y » et « POS Z » du rapport, colonne « ESTIMATED ». Il propose une solution unique dans le référentiel ITRF.

Le site propose plusieurs options de calcul :

  • NAD83 ou ITRF pour le référentiel de référence. La valeur prise en compte dépend du système choisi.
  • Statique ou cinématique. Seul le mode statique est exploitable : le rapport de calcul cinématique avec extension .sum ne contient pas de position « ESTIMATED », et TopoSat Rinex Editor n’en extrait donc aucune position.

Il faut cliquer sur le résultat pour utiliser les valeurs.

9.5Localiser

L’action sur ce bouton crée un fichier Marker_Name.kml dans le répertoire « Documents/TopoSat Rinex Editor/Data ». Ce fichier est utilisé en argument par un visualiseur externe, à sélectionner parmi la liste des sites en ligne proposés ou à choisir parmi les programmes installés.

Le lien personnalisé et le programme choisi (par « Autre programme… ») sont sauvegardés dans le fichier kml_viewer.json du répertoire « Documents/TopoSat Rinex Editor/Config ».

9.6Exporter KML/KMZ

Permet de créer un fichier contenant la position XYZ dans le répertoire de son choix. Contrairement à « Localiser », cette action ne lance pas le visualiseur.

9.7Conversion en valeurs géographiques ou projetées

Les boutons « Convertir LLH » et « Convertir NEH » permettent la conversion des coordonnées XYZ affichées dans l’entête en coordonnées géographiques ou projetées.

Se reporter à la description et au fonctionnement de ces fenêtres dans les paragraphes précédents.

10Constellations et signaux

10.1Suppression d’enregistrements

TopoSat Rinex Editor permet de désactiver :

  • Des constellations entières, en décochant une constellation.
Note
RINEX 2 historique : lors d’une conversion RINEX 3 ou 4 vers RINEX 2 destinée à un logiciel ancien qui n’accepte que le GPS, il faut décocher GLONASS avant de lancer la production du RINEX 2 (ou retirer cette constellation du RINEX 2 créé dans un traitement ultérieur).
  • Des satellites un par un, en affichant la liste des satellites d’une constellation donnée.
  • Des signaux un par un.
  • En cochant « Purger constellations non disponibles », les lignes de l’entête correspondant aux constellations absentes sont supprimées de l’entête.
  • En cochant « Supprimer lignes aberrantes », les lignes du corps du fichier correspondant aux enregistrements concernés ne sont pas écrites dans le fichier RINEX produit. Décoché par défaut.
  • Le bouton « Tout réactiver » réactive en bloc tous les éléments désactivés (constellations entières, satellites individuels, signaux observés).

10.2Liste des signaux

Code civil classique
C
C/A (Coarse/Acquisition), le code civil historique, présent depuis les débuts du GPS. C’est le canal le plus universellement supporté.
Codes précis / militaires (chiffrés ou semi-accessibles)
P
Code P direct, non chiffré (rare aujourd’hui, la plupart des systèmes chiffrent ce code).
Y
Code Y, la version chiffrée du code P, suivie directement — nécessite une clé de déchiffrement (récepteurs autorisés ou militaires).
W
Suivi « semi-codeless » (Z-tracking) du code Y chiffré — technique utilisée par les récepteurs civils et géodésiques pour accéder malgré tout à ces mesures sans posséder la clé.
M
Code M, la génération militaire moderne (plus résistante au brouillage).
N
Suivi « codeless » générique, technique plus ancienne, même finalité que W mais non normalisée comme le Z-tracking.
Codes civils modernisés (signaux L2C, L5, L1C — apparus après 2005)
S
Composante « courte » ou « données » du signal modernisé (par exemple L2C(M), ou la composante « données » de L1C).
L
Composante « longue » ou pilote du signal modernisé (par exemple L2C(L), la composante pilote de L1C) — porte les mesures mais pas de données de navigation, donc souvent plus propre.
X
Suivi combiné des deux composantes S+L (ou I+Q) ensemble, en un seul canal.
I
Composante « en phase » (porte les données) des signaux structurés I/Q (par exemple L5I).
Q
Composante « en quadrature » (pilote, sans données) des signaux I/Q (par exemple L5Q).
A, B
Canaux spécifiques Galileo / BeiDou / QZSS / IRNSS (service public réglementé, ou composantes données/pilote selon le système).

11Utilisation en ligne de commande

L’utilisation en ligne de commande permet de modifier les fichiers RINEX en effectuant un traitement automatisé, fichier par fichier ou au sein d’une commande batch. Elle se fait en utilisant l’exécutable TopoSat_Rinex_Editor_cli.exe.

La structure générale d’une ligne de commande est la suivante :

TopoSat_Rinex_Editor_cli.exe /IN -fichier_lu.rnx /OUT -fichier_produit.rnx /CMD -argument

Avec, pour /CMD -argument, les possibilités suivantes :

/IN

Fichier à traiter. Doit être suivi du nom complet du fichier.

  • /IN -C:/Data/fichier_lu.rnx
  • /IN -"C:/Data/mon fichier_lu.rnx" (guillemets s’il y a un espace dans le nom du fichier ou de l’arborescence)
/OUT

Nom complet du fichier à produire. Commande optionnelle : en son absence, le nom est celui du fichier lu complété de « _edited ».

  • Si elle est utilisée, elle doit être suivie du nom du fichier à créer en argument.
  • Si le fichier à créer est déjà présent dans le répertoire cible, cela provoque une erreur.
  • Si le répertoire cible n’existe pas, cela provoque une erreur.
/OUTX

Identique à /OUT, mais force l’écrasement d’un fichier existant.

  • /OUT et /OUTX ne peuvent pas être présentes toutes les deux dans la même ligne de commande.
/RNX

Conversion du fichier RINEX vers un autre format RINEX. La conversion ne peut se faire que vers une version antérieure. Exemple : /RNX -2.11.

  • L’argument de version est obligatoire.
  • L’argument de nom est facultatif ; s’il est présent, il vient obligatoirement après le numéro de version.
  • Si le fichier à créer est déjà présent dans le répertoire cible, cela provoque une erreur.
  • Si le répertoire cible n’existe pas, cela provoque une erreur.
/RNXX

Identique à /RNX, mais force l’écrasement d’un fichier existant.

  • /RNX et /RNXX ne peuvent pas être présentes toutes les deux dans la même ligne de commande.
/MNA

Marker Name. Exemple : /MNA -CORS. Limité à 60 caractères.

/MNU

Marker Number. Exemple : /MNU -18256M001. Limité à 20 caractères.

/MTY

Marker Type. Exemple : /MTY -GEODETIC. Limité à 20 caractères, RINEX 3/4 uniquement.

/OBS

Observer. Exemple : /OBS -Bertrand.

/AGE

Agency. Exemple : /AGE -TopoSat.

/NUR

Numéro de série du récepteur. Exemple : /NUR -4503789.

/TYR

Type du récepteur. Exemple : /TYR -"TRIMBLE NETR9".

/VER

Version du récepteur. Exemple : /VER -4.85.

/NAN

Numéro de série de l’antenne. Exemple : /NAN -231312.

/TYA

Type d’antenne. Exemple : /TYA -TRM7991.00.

/TYAX

Type d’antenne, en évitant l’affichage du message d’avertissement signalant une modification du type d’antenne.

/XYZ

Les 3 valeurs X, Y, Z de la position, séparées par un espace et groupées entre parenthèses.

  • /XYZ -(3381677.0832 4910158.6366 -2258516.1187)
/ADH

Delta H : hauteur verticale du point de référence d’antenne (ARP) au-dessus du marqueur. Exemple : /ADH -2.000.

/ADE

Delta E : excentricité horizontale Est de l’ARP par rapport au marqueur. Exemple : /ADE -0.00.

/ADN

Delta N : excentricité horizontale Nord de l’ARP par rapport au marqueur. Exemple : /ADN -0.00.

/INT

Intervalle d’enregistrement en secondes. Exemple : /INT -30.

  • /INT doit venir avant /OUT, /OUTX, /RNX ou /RNXX pour pouvoir être prise en compte.
/TFO

Time of First Observation.

  • /TFO -2026-03-12 — si aucune heure n’est indiquée, l’enregistrement démarre à la première époque disponible de la journée.
  • /TFO -2026-03-12T17:18:25 (seconde entière)
  • /TFO -2026-03-12T17:18:25.32 (avec fraction de seconde)
  • /TFO -20260312171825.32 (sans séparateur)
  • /TFO -"2026-03-12 17:18:25" (guillemets si un espace remplace le T)
  • Si /TFO est présente en même temps que /INT, /INT doit la précéder.
/TFO+

Insère une ligne « TIME OF FIRST OBS » dans l’entête si cette ligne est absente. Sans argument.

  • Ne modifie rien si la ligne existe déjà dans le fichier.
  • Si /TFO est également présente, /TFO+ doit venir après.
/TLO

Time of Last Observation. Formats identiques à /TFO.

  • Le dernier enregistrement est celui de la dernière époque valide respectant l’heure indiquée.
  • Si /TLO est présente en même temps que /INT ou /TFO, celles-ci doivent la précéder.
/TLO+

Insère une ligne « TIME OF LAST OBS » dans l’entête si cette ligne est absente. Sans argument.

  • Cette ligne est optionnelle en RINEX : son absence n’est pas une anomalie.
  • Si /TLO est également présente, /TLO+ doit venir après.
/-X

Supprime tous les satellites d’une constellation (X = G, R, E, C, J, I, S…). Exemple : /-S pour supprimer les SBAS.

  • Supprime également dans l’entête les informations relatives à cette constellation.
  • Pour une conversion de RINEX 3 ou 4 vers RINEX 2 avec suppression de GLONASS, insérer /-R avant /RNX ou /RNXX.
/-Xnn

Supprime un satellite unique. Exemple : /-E11.

  • Si tous les satellites réels d’une constellation sont ainsi supprimés un par un, l’entête est nettoyée comme avec /-X (détection automatique).
/DMSW

Convertit les coordonnées XYZ de l’entête en coordonnées géographiques sexagésimales, ellipsoïde WGS84.

  • /DMSW (sans argument) ou /DMSW -32 : séparateur espace.
  • /DMSW -44 : séparateur virgule.
  • /DMSW -58 : séparateur deux-points.
  • /DMSW -59 : séparateur point-virgule.
  • Le fichier texte est créé dans le répertoire « Documents/TopoSat Rinex Editor/Data », avec le nom du point si MARKER NAME est renseigné, ou le nom du fichier RINEX à défaut.
/DMSG

Identique à /DMSW pour l’ellipsoïde GRS80.

/DDW

Identique à /DMSW, mais export en degrés décimaux (ellipsoïde WGS84).

/DDG

Identique à /DMSG, mais export en degrés décimaux (ellipsoïde GRS80).

/KML

Crée un fichier KML à la position XYZ.

  • Sans nom précisé, le fichier est créé dans le répertoire « Documents/TopoSat Rinex Editor/Data », avec le MARKER NAME s’il est renseigné, ou le nom du fichier RINEX s’il est vide.
/KMZ

Identique à /KML, mais produit une archive compressée .kmz.

/WIP

Purge de l’entête les informations relatives aux constellations déclarées mais non disponibles dans les données. Sans argument, RINEX 3/4 uniquement.

  • Lignes SYS / # / OBS TYPES
  • Lignes SYS / PHASE SHIFT
/?

Affiche l’aide sur les commandes et quitte. Sans argument.

Note
Les arguments nécessitant un espace, comme TRM57971.00 NONE, doivent être saisis entre guillemets, par exemple /TYA -"TRM57971.00 NONE". Une seule commande erronée bloque toute la ligne : aucun fichier n’est écrit et un message précise le fichier source et la cause. Code de retour : 0 = succès, 1 = erreur.

L’application indique un code de retour dans la console :

  • 0 = succès
  • 1 = erreur dans la formulation de la commande
  • 2 = utilisation du mauvais exécutable

12Licence d’utilisation

Copyright © 2026 — Bertrand Boullard

12.1Autorisation d’utilisation

Le logiciel est fourni gratuitement et peut être utilisé à des fins personnelles et professionnelles.

12.2Forme de distribution

Le logiciel est distribué exclusivement sous forme de code exécutable (binaire compilé). Aucune obligation de fourniture du code source n’incombe à l’auteur.

Le logiciel peut être distribué sous forme de plusieurs versions adaptées à différents systèmes d’exploitation (Windows, Linux ou autres). Les présentes conditions s’appliquent à l’ensemble de ces versions, quelle que soit la plateforme cible.

12.3Distribution

La redistribution est autorisée, à condition que :

  • le logiciel soit distribué gratuitement ;
  • cette licence soit incluse ;
  • le nom de l’auteur et les mentions de copyright soient conservés.

12.4Restrictions

Il est strictement interdit de :

  • modifier, adapter, traduire ou créer des œuvres dérivées du logiciel ;
  • décompiler, désassembler ou tenter d’extraire le code source, sauf disposition légale contraire ;
  • intégrer, incorporer, compiler conjointement, appeler via API/librairie, ou inclure tout ou partie du code source, des exécutables ou des ressources du présent logiciel au sein d’un autre programme, module, plugin ou service tiers, sans l’autorisation écrite préalable et expresse de l’auteur. Cette interdiction s’applique que l’intégration soit effectuée à des fins commerciales ou non commerciales.

12.5Composants tiers

Ce logiciel intègre l’interpréteur Python ainsi que les bibliothèques tierces suivantes, chacune soumise à sa propre licence open source :

  • Python — interpréteur et bibliothèque standard, incluant le module tkinter (Python Software Foundation License Version 2 — PSF-2.0) ;
  • Tcl/Tk — bibliothèque graphique pilotée par tkinter (Tcl/Tk License, licence de type BSD) ;
  • PyInstaller — outil d’empaquetage, dont le bootloader est embarqué dans l’exécutable (GNU General Public License version 2 ou ultérieure, avec l’exception « Bootloader Exception »).

Le texte complet de ces licences est disponible dans le fichier THIRD-PARTY-LICENSES.txt fourni avec le logiciel.

12.6Propriété

Le logiciel reste la propriété exclusive de l’auteur.

12.7Responsabilité

Le logiciel est fourni « tel quel », sans garantie d’aucune sorte. L’auteur ne pourra être tenu responsable des dommages liés à son utilisation.

Il appartient à l’utilisateur de contrôler l’exactitude des conversions de coordonnées par un autre moyen avant toute utilisation, et de vérifier la compatibilité des fichiers créés avec ses besoins.

Help

TopoSat Rinex Editor

Edit, analyse and check RINEX 2, 3 and 4 observation files — graphical interface and command line.

v1.06GUI + command lineRINEX 2.10 → 4.02

1Disclaimer

The software is provided “as is”, without warranty of any kind. The author cannot be held liable for any damage arising from its use.

It is the user’s responsibility to check the accuracy of coordinate conversions by another means before any use, and to verify that the files produced suit their needs.

2Main features

TopoSat Rinex Editor is a utility for editing RINEX files (formats 2, 3 and 4) in order to analyse the constellations present, the satellites and signals used, and to modify some of the information held in the header. It can be used through a graphical interface or from the command line.

It is available in English, Spanish, French and Portuguese (Europe and Brazil).

Its strengths are:

  • Analysis of the source file, with a summary display of that analysis.
  • Export with specific constellations, satellites or signals disabled.
  • Header ECEF coordinates that can be entered from geographic or projected coordinates (with or without a geoid model).
  • Reading of online processing reports: IGN France, Trimble RTX, SCRS-PPP (Canada).
  • Direct conversion of ECEF coordinates into geographic or projected coordinates.
  • Display of those ECEF coordinates in a KML viewer, plus KML/KMZ export.
  • Conversion of a RINEX 3 or 4 file to an earlier version.

It also allows the following changes:

  • Recording interval.
  • Start and end times of the recording.
  • Marker Name, Marker Number and Marker Type.
  • Observer / Agency.
  • Antenna height.

After changing the time bounds, the recording interval and the constellations or satellites used, the size of the file to be exported is estimated (indicative value).

Note
The complete documentation on RINEX formats can be downloaded from files.igs.org/pub/data/format.

3First run

The graphical interface is launched with the TopoSat_Rinex_Editor.exe executable. For command-line use, see the “Command-line use” chapter.

On first use, the program creates a “TopoSat Rinex Editor” subfolder in the Windows user’s “Documents” folder. This folder is used to store:

In a /Config subfolder:

  • A config.ini file (language, theme, folders, check thresholds, channel priority, and so on).
  • A custom_projections.json file holding the parameters of the projections defined by the user.

In a /Data subfolder:

  • Various data produced by the program while it is used (text files, KML files, …).

4Selecting the source file

The accepted extensions are .rnx, .obs and .??o. Zipped files and Hatanaka-compressed files are not supported.

When the file is opened, several pieces of information are listed directly below the file name: RINEX format, number of epochs and header size.

Changes made to the editable values do not affect the source file. They are applied only to a new file created by the “Save” button at the bottom right of the window.

The “Reload” button re-reads the source file and resets the display if changes have been made, without having to look for the file again in the PC’s folder tree. This button stays inactive until a change has been made.

5Selecting the destination file

The size of the destination file is estimated taking the various planned changes into account. It is recalculated after each change, when you click on another editable value or on the “Refresh” button.

Some RINEX files contain kinematic data markers. These markers can be removed in order to use the file as a static file, or for pure trajectory work.

5.1Without RINEX conversion

By default, the destination file takes the name of the source file with “_edited” appended, and the extension of the source file.

It is saved in the same folder as the source file. The name and folder can be chosen differently (“Modify” button).

5.2With RINEX conversion

5.2.1How it works

RINEX conversion of a file can be carried out from version 4.02 down to any earlier valid version.

When converting RINEX 3 or 4 to RINEX 2, the destination file is named using the first 4 characters of the MARKER NAME, the day of the year, the digit 1 standing for the session number, and the extension of the source file. If there is no MARKER NAME, the first 4 characters of the source file name are used instead.

It is saved in the same folder as the source file. The name and folder can be chosen differently (“Modify” button).

5.2.2Signal loss caused by conversion to RINEX 2.nn

Caution
Signal loss is sometimes unavoidable: RINEX 2 has only one slot per frequency and per observable type (one for the L2 phase, one for the C2 code, and so on), whereas RINEX 3/4 can hold several channels on the same frequency at once (for example civil L2C and precise L2W together). When that happens, only one channel can be kept — the one with the highest priority — and the other is lost: this is a limitation of the RINEX 2 format itself, not of the converter.

The priority order between channels is set from the Options / RINEX 2 channel priority… menu.

It can also be changed with a text editor in config.ini (Documents/TopoSat Rinex Editor/Config/), section [rnx_downgrade], key channel_priority.

  • Default: CPWYMNSLXIQ. This order favours the most universal and oldest channel (C) when there is a duplicate, then the precise codes (P/W/Y/M/N, historically the ones RINEX 2 software expected), and only last the modernised channels (S/L/X/I/Q).
  • To favour the modernised civil channels instead (for example L2C rather than L2W): channel_priority = SLXIQCPWYMN.
  • This key is read when the application starts and saved when it closes, like everything else stored in config.ini. To change it and have the change taken into account, close the application before editing it by hand. If the value is invalid (missing letter, unknown channel, stray character, and so on) it is automatically reset to its default. It is displayed in the “Destination file” panel when conversion to RINEX 2.nn is selected.

These letters describe which channel or code the receiver tracked to produce the observation. For more detail on what they mean, see the list of signals.

6Interval and time bounds

The information shown is taken from a line-by-line analysis of the file, without relying on the TIME OF FIRST/LAST OBS lines.

The “Reset” button restores the file’s original interval and time bounds. It does not reset the whole page (the “Reload” button in the left-hand panel does that), only this panel. It stays inactive until a change has been made.

If one of the TIME OF FIRST/LAST OBS lines is missing from the header, it can be added.

6.1Recording interval

It is expressed in seconds. This interval can be changed, provided the new value is an exact multiple of the original interval and larger than it (for example 60 seconds where the original was 15 seconds).

6.2Time bounds

The display and editing of the start and end times accepts:

  • GPS time (default).
  • Local time (that of the computer).
  • Any UTC offset.

The RINEX file produced keeps GPS times. Local or UTC times only serve to make entry or reading easier.

FIRST and LAST OBS times are always snapped to compatible epochs: the next one for FIRST OBS, the previous one for LAST OBS.

7Source file preview

Three tabs are available.

7.1“Journal” tab

This tab lists the successive changes made to the header, in a .log file created when the modified file is saved.

7.2“Quality Check” tab

This tab lists the amount of data available in the file, constellation by constellation, and reports any anomalies. This information is also included in the .log file saved alongside the file produced.

7.3“Header” tab

This tab shows the header lines of the source file. It is not editable.

8Other editable data

8.1Markers and operator

  • MARKER NAME: 60 characters max. (columns 1 to 60 of the RINEX line)
  • MARKER NUMBER: 20 characters max. (columns 1 to 20 of the RINEX line)
  • MARKER TYPE: 20 characters max. (columns 1 to 20 of the RINEX line) — cannot be entered in RINEX 2.xx
  • OBSERVER: 20 characters max. (columns 1 to 20 of the RINEX line)
  • AGENCY: 40 characters max. (columns 21 to 60 of the RINEX line)

The number of characters used / allowed is displayed. Entering more characters than the quota allows is not possible.

8.2Receiver / Antenna

The number of characters used / allowed is displayed. Entering more characters than the quota allows is not possible.

The antenna type is not validated when it is changed, but a warning message is displayed.

  • The antenna height must be less than 99.9999 m.
  • The E/N offset is limited to 50 mm.

9APPROX POSITION XYZ (ECEF coordinates)

ECEF coordinates can be entered by hand in the editable field. A consistency check verifies the physical limits of each component (X, Y, Z), the distance to the centre of the Earth, the geodetic height above the GRS80 ellipsoid, and the difference from the approximate position given in the header of the source file.

They can also be:

  • Entered as geographic or projected values.
  • Imported from various formats.
  • Exported to KML/KMZ, or displayed in a KML viewer.
  • Converted into geographic or projected values.

9.1Consistency check on XYZ coordinates

The following checks are carried out:

CheckThresholdConsequence
X, Y or Z component out of range|X|, |Y| > a + 50 km ; |Z| > b + 50 kmWarning
Distance to the centre of the Earth too smallD < min_distance_mConversion blocked
Distance to the centre of the Earth too largeD > a + max_margin_mConversion blocked
Very high geodetic height (above the ellipsoid)HAE > 10 kmWarning
Very negative geodetic heightHAE < −200 mWarning
Shift from the original position> 10 mWarning
  • a and b are the semi-major and semi-minor axes of the ellipsoid respectively.
  • min_distance_m is the distance in metres to the centre of the Earth below which a distance is considered too small.
  • max_margin_m is the ellipsoidal height above which that height is considered too large.
  • min_distance_m and max_margin_m are stored in config.ini and can be edited by hand by the user.

Warnings are not blocking, but incorrect information may cause problems when the file is processed by GNSS post-processing software.

9.2Entering geographic coordinates by hand — LLH (°)

9.2.1Format

Latitude / longitude / ellipsoidal height coordinates can be entered as decimal or sexagesimal values. They can be computed for the GRS80 or WGS84 ellipsoids. The accepted formats are:

  • Longitude:
    • 2.24981292 or 2 14 59.3265 (positive for East)
    • -2.24981292 or -2 14 59.3265 (negative for West)
  • Latitude:
    • 48.5909138 or 48 35 27.2895 (positive for North)
    • -48.5909138 or -48 35 27.2895 (negative for South)

9.2.2Entry dialog

9.3Entering projected coordinates by hand — NEH (m)

9.3.1Horizontal coordinates

Geodetic systems and projections

Projected coordinates can be entered in the following systems and projections:

  • UTM projection, with a choice between the GRS80 (default) and WGS84 ellipsoids.
    • The UTM zone and the hemisphere (North or South) must be given.
  • Transverse Mercator projection.
    • The projection parameters must be given.
    • These parameters can be saved in the custom_projections.json file in the “Documents / TopoSat Rinex Editor / Config” folder. That file is read back automatically on subsequent calls.
  • Lambert conformal conic.
    • Works in the same way as the Transverse Mercator projection.
  • Mainland France projections:
    • RGF93 / Lambert 93
    • RGF93 / Lambert CC zone
  • French overseas projections:
    • Guadeloupe (RGAF09 — UTM 20N)
    • French Guiana (RGFG95 — UTM 22N)
    • Réunion (RGR92 — UTM 40S)
    • Martinique (RGAF09 — UTM 20N)
    • Mayotte (RGM04 — UTM 38S)
    • New Caledonia — Grande Terre and Loyalty Islands (RGNC91-93 / Lambert NC)
    • New Caledonia — maritime zone (RGNC91-93 — UTM 57S)
    • New Caledonia — maritime zone (RGNC91-93 — UTM 58S)
    • New Caledonia — maritime zone (RGNC91-93 — UTM 59S)
    • French Polynesia (RGPF — UTM 5S)
    • French Polynesia (RGPF — UTM 6S)
    • French Polynesia (RGPF — UTM 7S)
    • French Polynesia (RGPF — UTM 8S)
  • Belgium (ETRF2000 / Lambert 2008)
Note
Only the most populated territories have been included. Users can extend this list as needed with “Transverse Mercator” projections by entering the appropriate parameters: a UTM projection is a Transverse Mercator projection with standardised parameters, but the mathematical formulas are the same.
Entry dialog

The dialog for entering horizontal coordinates is as follows:

9.3.2Vertical component

Entry dialog

It can be entered as an ellipsoidal height (HAE), as an elevation (MSL), or as an ellipsoidal height plus a constant standing for the geoid undulation at the observed point.

To enter an elevation (MSL), a geoid model must be selected.

  • Choose the model from the drop-down list, or
  • use “Browse” to select a new model available on the PC. It may be held in any folder you like.
  • “Save” stores the path to the model in config.ini. The grid will then be offered in the drop-down list at the next startup.
  • “Delete” removes the entry from config.ini, but does not delete the file.
Where to get the grids

No grid is supplied with the software. It is up to the user to obtain them directly from the data producers.

A few examples of grid download sites (July 2026):

  • France (mainland and overseas): geodesie.ign.fr
  • Belgium: cconvert.geo.be
  • United States: geodesy.noaa.gov
  • Trimble .ggf grids are available in the C:\ProgramData\Trimble\GeoData\ folder (Windows 11 installation) for users of Trimble software (Trimble Business Center, Trimble Coordinate System Manager, and so on).
Supported geoid model formats
ExtensionOriginParameters to enter when loading
.datGeneric point-by-point formatYes (column layout, sort order)
.mntIGN (France)None — detected automatically
.tacIGN (France)None — detected automatically
.gtxNOAA / PROJNone — detected automatically
.ggfTrimbleNone — detected automatically
.graGRAVSOFT (DTU, Denmark)None — detected automatically
.grdGolden Software (Surfer)None — detected automatically
.dat — generic point format

A plain text file, one line per point (two coordinates and an undulation value). As this format has no header, the application asks how to interpret it when loading:

  • Meaning of the first column (latitude or longitude).
  • Order in which the values are sorted.
Example: latitude in the first column, increasing longitudes at a fixed latitude, then increasing latitudes.
48.5000000 1.0000000 43.316
48.5000000 1.0150000 43.306
...
48.5000000 6.9850000 46.685
48.5000000 7.0000000 46.724
48.5100000 1.0000000 43.318
48.5100000 1.0150000 43.308
...
52.5000000 6.9850000 40.434
52.5000000 7.0000000 40.443
.mnt and .tac — IGN grids (France)

The format adopted by the French national mapping agency (IGN), used in particular for its vertical conversion grids in mainland and overseas France (RAF, NTF↔RGF93 grids, and so on). For more detail, see the IGN grid format description.

.gtx — NOAA / PROJ format

A compact binary format, widely distributed by the PROJ cartographic library and by the American agency NOAA. For more detail, see the GDAL documentation.

.ggf — Trimble format

A binary format used by some Trimble surveying software (Trimble Business Center in particular). For more detail, see the GGF format description.

.gra — GRAVSOFT format

The text format of the GRAVSOFT software developed by the Technical University of Denmark (DTU), used in particular for some overseas geoid grids (Réunion). For more detail, see the GRAVSOFT manual.

.grd — Golden Software ASCII Grid

The text format of Golden Software products (Surfer, Grapher, Voxler), identified by the DSAA keyword at the start of the file. For more detail, see the Surfer documentation.

9.4Import

Coordinates can be extracted from several sources.

9.4.1Text file

The file may contain several lines, but only one line can be selected. You can either specify the list separator (several options are available) or split the file into columns.

With a separator: choose the separator if automatic detection fails, then assign the columns to the X, Y and Z fields.

With fixed columns: click in the top line and drag the separating rule to the position you want, then assign the columns to the X, Y and Z fields.

9.4.2IGN France network processing report

These reports come from an online computation carried out on rgp.ign.fr.

Typically, once the .tar.gz report has been unpacked, the name of the file to be read is of the form cr_STAT_YYMMDDi_rd.txt, where STAT is the station identifier, YYMMDD the date and i the session index.

The software looks for the values given in section “IV/ RESULTATS” of the report and offers solutions in several reference frames (depending on the date of measurement and the location of the observed point).

9.4.3PPP France processing report

These reports come from an online computation carried out on rgp.ign.fr. Typically, once the .tar.gz report has been unpacked, the file to be read is named report.txt.

The software looks for the final values, after the solid Earth tide and ocean loading corrections have been applied (MEAN XYZ with O_LOAD applied).

It offers solutions in several reference frames (depending on the date of measurement and the location of the observed point).

9.4.4Trimble RTX Positioning report

These reports come from an online computation carried out on trimblepositioninghub.trimble.com.

Typically, once the .zip report has been unpacked, the files to be read are of the form Report_nnnnnnnn.xml, where “nnnnnnnn” is an internal Trimble number. The software looks for the values held in the POSITION elements of type “INTERNAL” or “CUSTOM”, the latter matching the user’s own choice. It offers solutions in two reference frames:

  • “INTERNAL” in a generic ITRF frame, at the epoch of measurement.
  • “CUSTOM” in the frame selected by the user.

9.4.5SCRS-PPP processing report (Canada)

These reports come from an online computation carried out on webapp.csrs-scrs.nrcan-rncan.gc.ca. Typically, once the .zip report has been unpacked, the files to be read are of the form file.sum, where “file” is the name of the RINEX file that was processed.

The software looks for the values held in the “POS X”, “POS Y” and “POS Z” lines of the report, column “ESTIMATED”. It offers a single solution in the ITRF frame.

The site offers several processing options:

  • NAD83 or ITRF as the reference frame. The value used depends on the system chosen.
  • Static or kinematic. Only static mode can be used: the kinematic report with the .sum extension contains no “ESTIMATED” position, so TopoSat Rinex Editor extracts no position from it.

Click on the result to use the values.

9.5Locate

Clicking this button creates a Marker_Name.kml file in the “Documents/TopoSat Rinex Editor/Data” folder. That file is passed as an argument to an external viewer, to be picked from the list of online map sites offered or chosen among the installed programs.

The custom link and the program selected (through “Other program…”) are saved in the kml_viewer.json file in the “Documents/TopoSat Rinex Editor/Config” folder.

9.6Export KML/KMZ

Creates a file holding the XYZ position in the folder of your choice. Unlike “Locate”, this action does not launch the viewer.

9.7Conversion to geographic or projected values

The “Convert LLH” and “Convert NEH” buttons convert the XYZ coordinates shown in the header into geographic or projected coordinates.

See the description of these dialogs and how they work in the sections above.

10Constellations and signals

10.1Removing records

TopoSat Rinex Editor can disable:

  • Whole constellations, by clearing a constellation checkbox.
Note
Legacy RINEX 2: when converting RINEX 3 or 4 to RINEX 2 for older software that only accepts GPS, clear GLONASS before producing the RINEX 2 file (or remove that constellation from the RINEX 2 file later in the workflow).
  • Individual satellites, by displaying the satellite list of a given constellation.
  • Individual signals.
  • Ticking “Purge unavailable constellations” removes the header lines belonging to constellations that are not present.
  • Ticking “Remove aberrant lines” means the lines in the body of the file belonging to the records concerned are not written to the RINEX file produced. Cleared by default.
  • The “Re-enable all” button restores every disabled item at once (whole constellations, individual satellites, observed signals).

10.2List of signals

Classic civil code
C
C/A (Coarse/Acquisition), the historical civil code, present since the early days of GPS. It is the most universally supported channel.
Precise / military codes (encrypted or semi-accessible)
P
Direct, unencrypted P code (rare today, as most systems encrypt this code).
Y
Y code, the encrypted version of the P code, tracked directly — requires a decryption key (authorised or military receivers).
W
“Semi-codeless” tracking (Z-tracking) of the encrypted Y code — the technique used by civil and geodetic receivers to reach those measurements without holding the key.
M
M code, the modern military generation (more resistant to jamming).
N
Generic “codeless” tracking, an older technique with the same purpose as W but not standardised in the way Z-tracking is.
Modernised civil codes (L2C, L5, L1C signals — introduced after 2005)
S
“Short” or data component of the modernised signal (for example L2C(M), or the data component of L1C).
L
“Long” or pilot component of the modernised signal (for example L2C(L), the pilot component of L1C) — it carries the measurements but no navigation data, so it is often cleaner.
X
Combined tracking of both S+L (or I+Q) components together, on a single channel.
I
“In-phase” component (carrying the data) of structured I/Q signals (for example L5I).
Q
“Quadrature” component (pilot, no data) of I/Q signals (for example L5Q).
A, B
Channels specific to Galileo / BeiDou / QZSS / IRNSS (public regulated service, or data/pilot components depending on the system).

11Command-line use

Command-line use makes it possible to modify RINEX files as automated processing, file by file or inside a batch command. It is done using the TopoSat_Rinex_Editor_cli.exe executable.

The general structure of a command line is as follows:

TopoSat_Rinex_Editor_cli.exe /IN -fichier_lu.rnx /OUT -fichier_produit.rnx /CMD -argument

Where /CMD -argument can be any of the following:

/IN

File to process. Must be followed by the full file name.

  • /IN -C:/Data/source_file.rnx
  • /IN -"C:/Data/my source file.rnx" (quotes if the file name or path contains a space)
/OUT

Full name of the file to produce. Optional command: without it, the name is that of the file read with “_edited” appended.

  • If it is used, it must be followed by the name of the file to create as its argument.
  • If the file to create already exists in the target folder, this raises an error.
  • If the target folder does not exist, this raises an error.
/OUTX

Same as /OUT, but forces an existing file to be overwritten.

  • /OUT and /OUTX cannot both be present on the same command line.
/RNX

Converts the RINEX file to another RINEX format. Conversion is only possible to an earlier version. Example: /RNX -2.11.

  • The version argument is mandatory.
  • The name argument is optional; if present, it must come after the version number.
  • If the file to create already exists in the target folder, this raises an error.
  • If the target folder does not exist, this raises an error.
/RNXX

Same as /RNX, but forces an existing file to be overwritten.

  • /RNX and /RNXX cannot both be present on the same command line.
/MNA

Marker Name. Example: /MNA -CORS. Limited to 60 characters.

/MNU

Marker Number. Example: /MNU -18256M001. Limited to 20 characters.

/MTY

Marker Type. Example: /MTY -GEODETIC. Limited to 20 characters, RINEX 3/4 only.

/OBS

Observer. Example: /OBS -Bertrand.

/AGE

Agency. Example: /AGE -TopoSat.

/NUR

Receiver serial number. Example: /NUR -4503789.

/TYR

Receiver type. Example: /TYR -"TRIMBLE NETR9".

/VER

Receiver version. Example: /VER -4.85.

/NAN

Antenna serial number. Example: /NAN -231312.

/TYA

Antenna type. Example: /TYA -TRM7991.00.

/TYAX

Antenna type, without displaying the warning message that reports a change of antenna type.

/XYZ

The 3 position values X, Y, Z, separated by spaces and grouped in brackets.

  • /XYZ -(3381677.0832 4910158.6366 -2258516.1187)
/ADH

Delta H: vertical height of the antenna reference point (ARP) above the marker. Example: /ADH -2.000.

/ADE

Delta E: horizontal eastward eccentricity of the ARP relative to the marker. Example: /ADE -0.00.

/ADN

Delta N: horizontal northward eccentricity of the ARP relative to the marker. Example: /ADN -0.00.

/INT

Recording interval in seconds. Example: /INT -30.

  • /INT must come before /OUT, /OUTX, /RNX or /RNXX to be taken into account.
/TFO

Time of First Observation.

  • /TFO -2026-03-12 — if no time is given, recording starts at the first epoch available that day.
  • /TFO -2026-03-12T17:18:25 (whole second)
  • /TFO -2026-03-12T17:18:25.32 (with fractional second)
  • /TFO -20260312171825.32 (no separator)
  • /TFO -"2026-03-12 17:18:25" (quotes if a space replaces the T)
  • If /TFO is used together with /INT, /INT must come first.
/TFO+

Inserts a “TIME OF FIRST OBS” line in the header if that line is missing. No argument.

  • Changes nothing if the line is already present in the file.
  • If /TFO is also present, /TFO+ must come after it.
/TLO

Time of Last Observation. Same formats as /TFO.

  • The last record is the last valid epoch that meets the given time.
  • If /TLO is used together with /INT or /TFO, those must come first.
/TLO+

Inserts a “TIME OF LAST OBS” line in the header if that line is missing. No argument.

  • This line is optional in RINEX: its absence is not an anomaly.
  • If /TLO is also present, /TLO+ must come after it.
/-X

Removes every satellite of a constellation (X = G, R, E, C, J, I, S…). Example: /-S to remove SBAS.

  • Also removes the header information relating to that constellation.
  • When converting RINEX 3 or 4 to RINEX 2 with GLONASS removed, place /-R before /RNX or /RNXX.
/-Xnn

Removes a single satellite. Example: /-E11.

  • If every real satellite of a constellation is removed this way, one by one, the header is cleaned as it would be with /-X (automatic detection).
/DMSW

Converts the header XYZ coordinates into sexagesimal geographic coordinates, WGS84 ellipsoid.

  • /DMSW (no argument) or /DMSW -32: space separator.
  • /DMSW -44: comma separator.
  • /DMSW -58: colon separator.
  • /DMSW -59: semicolon separator.
  • The text file is created in the “Documents/TopoSat Rinex Editor/Data” folder, named after the point if MARKER NAME is filled in, or after the RINEX file otherwise.
/DMSG

Same as /DMSW for the GRS80 ellipsoid.

/DDW

Same as /DMSW, but exports decimal degrees (WGS84 ellipsoid).

/DDG

Same as /DMSG, but exports decimal degrees (GRS80 ellipsoid).

/KML

Creates a KML file at the XYZ position.

  • With no name given, the file is created in the “Documents/TopoSat Rinex Editor/Data” folder, using the MARKER NAME if it is filled in, or the RINEX file name if it is empty.
/KMZ

Same as /KML, but produces a compressed .kmz archive.

/WIP

Purges from the header the information relating to constellations that are declared but not available in the data. No argument, RINEX 3/4 only.

  • SYS / # / OBS TYPES lines
  • SYS / PHASE SHIFT lines
/?

Displays the help on commands and exits. No argument.

Note
Arguments that contain a space, such as TRM57971.00 NONE, must be enclosed in quotes, for example /TYA -"TRM57971.00 NONE". A single invalid command blocks the whole line: no file is written and a message identifies the source file and the cause. Return code: 0 = success, 1 = error.

The application reports a return code in the console:

  • 0 = success
  • 1 = error in how the command was written
  • 2 = wrong executable used

12Licence

Copyright © 2026 — Bertrand Boullard

12.1Permission to use

The software is supplied free of charge and may be used for personal and professional purposes.

12.2Form of distribution

The software is distributed exclusively as executable code (compiled binary). The author is under no obligation to supply the source code.

The software may be distributed as several versions suited to different operating systems (Windows, Linux or others). These terms apply to all such versions, whatever the target platform.

12.3Redistribution

Redistribution is permitted, provided that:

  • the software is distributed free of charge;
  • this licence is included;
  • the author’s name and the copyright notices are kept.

12.4Restrictions

It is strictly forbidden to:

  • modify, adapt, translate or create derivative works of the software;
  • decompile, disassemble or attempt to extract the source code, except where the law provides otherwise;
  • integrate, incorporate, compile together, call through an API or library, or include all or part of the source code, executables or resources of this software within another program, module, plug-in or third-party service, without the author’s prior express written permission. This prohibition applies whether the integration is for commercial or non-commercial purposes.

12.5Third-party components

This software embeds the Python interpreter as well as the following third-party libraries, each subject to its own open-source licence:

  • Python — interpreter and standard library, including the tkinter module (Python Software Foundation License Version 2 — PSF-2.0);
  • Tcl/Tk — the graphical library driven by tkinter (Tcl/Tk License, a BSD-style licence);
  • PyInstaller — packaging tool, whose bootloader is embedded in the executable (GNU General Public License version 2 or later, with the “Bootloader Exception”).

The full text of these licences is available in the THIRD-PARTY-LICENSES.txt file supplied with the software.

12.6Ownership

The software remains the exclusive property of the author.

12.7Liability

The software is provided “as is”, without warranty of any kind. The author cannot be held liable for any damage arising from its use.

It is the user’s responsibility to check the accuracy of coordinate conversions by another means before any use, and to verify that the files produced suit their needs.

Ayuda

TopoSat Rinex Editor

Edición, análisis y control de ficheros de observación RINEX 2, 3 y 4 — interfaz gráfica y línea de comandos.

v1.06Interfaz gráfica + línea de comandosRINEX 2.10 → 4.02

1Advertencia

El software se suministra «tal cual», sin garantía de ningún tipo. El autor no podrá ser considerado responsable de los daños derivados de su uso.

Corresponde al usuario comprobar la exactitud de las conversiones de coordenadas por otro medio antes de cualquier uso, y verificar que los ficheros creados se ajustan a sus necesidades.

2Funciones principales

TopoSat Rinex Editor es una utilidad que permite editar ficheros RINEX (formatos 2, 3 y 4) para analizar las constelaciones presentes, los satélites y señales utilizados, y modificar cierta información contenida en la cabecera. Puede utilizarse con una interfaz gráfica o en línea de comandos.

Está disponible en inglés, español, francés y portugués (Europa y Brasil).

Sus puntos fuertes son:

  • Análisis del fichero de origen y presentación resumida de ese análisis.
  • Exportación con desactivación de constelaciones, satélites o señales concretas.
  • Coordenadas ECEF de la cabecera introducibles a partir de coordenadas geográficas o proyectadas (con o sin uso de un modelo de geoide).
  • Lectura de informes de cálculo en línea: IGN Francia, Trimble RTX, SCRS-PPP (Canadá).
  • Conversión directa de las coordenadas ECEF en coordenadas geográficas o proyectadas.
  • Visualización de esas coordenadas ECEF en un visor KML, y exportación KML/KMZ.
  • Conversión de un RINEX 3 o 4 a una versión anterior.

También permite realizar las modificaciones siguientes:

  • Intervalo de registro.
  • Horas de inicio y de fin de registro.
  • Marker Name, Marker Number y Marker Type.
  • Observer / Agency.
  • Altura de antena.

Tras modificar los límites temporales, el intervalo de registro y las constelaciones o satélites utilizados, se estima el tamaño del fichero que se va a exportar (valor indicativo).

Nota
La documentación completa sobre los formatos RINEX puede descargarse en files.igs.org/pub/data/format.

3Primer uso

La aplicación con interfaz gráfica se inicia con el ejecutable TopoSat_Rinex_Editor.exe. Para el uso en línea de comandos, véase el capítulo «Uso en línea de comandos».

En el primer uso, el programa crea un subdirectorio «TopoSat Rinex Editor» en la carpeta «Documentos» del usuario de Windows. Ese directorio permite guardar:

En un subdirectorio /Config:

  • Un fichero config.ini (idioma, tema, directorios, umbrales de control, prioridad de canales, etc.).
  • Un fichero custom_projections.json con los parámetros de las proyecciones definidas por el usuario.

En un subdirectorio /Data:

  • Diversos datos producidos por el programa durante su uso (ficheros de texto, KML, …).

4Selección del fichero de origen

Las extensiones admitidas son .rnx, .obs y .??o. Los ficheros comprimidos en zip o con Hatanaka no se tienen en cuenta.

Al abrir el fichero, varios datos aparecen directamente debajo del nombre del fichero: formato RINEX, número de épocas y tamaño de la cabecera.

Las modificaciones realizadas en los valores editables no afectan al fichero de origen. Se aplican únicamente a un nuevo fichero creado con el botón «Guardar», en la parte inferior derecha de la ventana.

El botón «Recargar» sirve para volver a leer el fichero de origen y reiniciar la presentación si se han realizado modificaciones, sin tener que buscarlo de nuevo en el árbol de carpetas del PC. Este botón permanece inactivo mientras no se haya realizado ninguna modificación.

5Selección del fichero de destino

El tamaño del fichero de destino se estima teniendo en cuenta las distintas modificaciones previstas. Se recalcula tras cada modificación, al hacer clic en otro valor modificable o en el botón «Actualizar».

Algunos ficheros RINEX contienen marcadores de datos cinemáticos. Esos marcadores pueden eliminarse para utilizar el fichero como fichero estático, o para trabajos de trayectoria pura.

5.1Sin conversión RINEX

Por defecto, el fichero de destino lleva el nombre del fichero de origen seguido de «_edited», y la extensión del fichero de origen.

Se guarda en el mismo directorio que el fichero de origen. El nombre y el directorio pueden elegirse de otro modo (botón «Modificar»).

5.2Con conversión RINEX

5.2.1Funcionamiento

La conversión RINEX de un fichero puede hacerse desde la versión 4.02 hacia cualquier versión anterior válida.

En el caso de una conversión de RINEX 3 o 4 a RINEX 2, el fichero de destino recibe un nombre compuesto por los 4 primeros caracteres del MARKER NAME, el número del día del año, la cifra 1 que representa el número de sesión y la extensión del fichero de origen. A falta de MARKER NAME, se utilizan los 4 primeros caracteres del nombre del fichero de origen.

Se guarda en el mismo directorio que el fichero de origen. El nombre y el directorio pueden elegirse de otro modo (botón «Modificar»).

5.2.2Pérdidas de señal ligadas a la conversión a RINEX 2.nn

Atención
A veces la pérdida de señal es inevitable: RINEX 2 solo dispone de una casilla por frecuencia y por tipo de observable (una para la fase L2, una para el código C2…), mientras que RINEX 3/4 puede acoger varios canales en la misma frecuencia a la vez (por ejemplo L2C civil y L2W preciso al mismo tiempo). Si eso ocurre, solo puede conservarse un canal — el de mayor prioridad — y el otro se pierde: es una limitación del propio formato RINEX 2, no del convertidor.

El orden de prioridad entre canales se ajusta en el menú Opciones / Prioridad de canales RINEX 2….

También puede modificarse con un editor de texto en config.ini (Documentos/TopoSat Rinex Editor/Config/), sección [rnx_downgrade], clave channel_priority.

  • Por defecto: CPWYMNSLXIQ. Este orden favorece el canal más universal y más antiguo (C) en caso de duplicado, después los códigos precisos (P/W/Y/M/N, históricamente los que esperaban los programas RINEX 2), y solo en último lugar los canales modernizados (S/L/X/I/Q).
  • Para favorecer en cambio los canales civiles modernizados (por ejemplo L2C en lugar de L2W): channel_priority = SLXIQCPWYMN.
  • Esta clave se lee al iniciar la aplicación y se guarda al cerrarla, igual que el resto de las indicaciones que figuran en config.ini. Para modificarla y que se tenga en cuenta, hay que cerrar la aplicación antes de editarla manualmente. Si no es válida (letra ausente, canal no previsto, carácter cualquiera…), se restablece automáticamente a su valor por defecto. Se muestra en el marco «Fichero de destino» cuando se selecciona la conversión a RINEX 2.nn.

Estas letras describen qué canal o qué código ha seguido el receptor para producir la observación. Para más detalles sobre su significado, consulte la lista de señales.

6Intervalo y límites temporales

La información mostrada se extrae del análisis línea por línea del fichero, sin basarse en las líneas TIME OF FIRST/LAST OBS.

El botón «Restablecer» restablece el intervalo y los límites temporales originales del fichero. No reinicia toda la página (para eso está el botón «Recargar» del marco de la izquierda), sino solo este marco. Permanece inactivo mientras no se haya realizado ninguna modificación.

Si falta una de las líneas TIME OF FIRST/LAST OBS en la cabecera, es posible añadirla.

6.1Intervalo de registro

Se expresa en segundos. Es posible cambiar este intervalo siempre que el nuevo valor sea un múltiplo exacto del intervalo original y superior a él (por ejemplo 60 segundos cuando el original era de 15 segundos).

6.2Límites temporales

La visualización y la modificación de las horas de inicio y de fin de registro admiten:

  • La hora GPS (por defecto).
  • La hora local (la del ordenador).
  • La de cualquier huso UTC.

El fichero RINEX creado conserva las horas GPS. Las horas locales o UTC solo sirven para facilitar la introducción o la lectura.

Las horas de FIRST y LAST OBS se ajustan siempre a las épocas compatibles: la siguiente para FIRST OBS, la anterior para LAST OBS.

7Vista previa del fichero de origen

Hay tres pestañas disponibles.

7.1Pestaña «Registro»

Esta pestaña enumera las modificaciones sucesivas aplicadas a la cabecera, en un fichero .log creado al guardar el fichero modificado.

7.2Pestaña «Control Calidad»

Esta pestaña enumera la cantidad de datos disponibles en el fichero, constelación por constelación, y señala en su caso las anomalías. Esta información también se recoge en el fichero .log guardado junto con el fichero creado.

7.3Pestaña «Cabecera»

Esta pestaña permite ver las líneas de cabecera del fichero de origen. No es editable.

8Otros datos editables

8.1Markers y operador

  • MARKER NAME: 60 caracteres máx. (columnas 1 a 60 de la línea RINEX)
  • MARKER NUMBER: 20 caracteres máx. (columnas 1 a 20 de la línea RINEX)
  • MARKER TYPE: 20 caracteres máx. (columnas 1 a 20 de la línea RINEX) — no editable en RINEX 2.xx
  • OBSERVER: 20 caracteres máx. (columnas 1 a 20 de la línea RINEX)
  • AGENCY: 40 caracteres máx. (columnas 21 a 60 de la línea RINEX)

Se muestra el número de caracteres utilizados / autorizados. No se permite introducir más caracteres de los que admite la cuota.

8.2Receptor / Antena

Se muestra el número de caracteres utilizados / autorizados. No se permite introducir más caracteres de los que admite la cuota.

No se controla el tipo de antena cuando se cambia, pero se muestra un mensaje de advertencia.

  • La altura de antena debe ser inferior a 99,9999 m.
  • El desplazamiento E/N está limitado a 50 mm.

9APPROX POSITION XYZ (coordenadas ECEF)

Las coordenadas ECEF pueden introducirse manualmente en el campo editable. Un control de coherencia verifica los límites físicos de cada componente (X, Y, Z), la distancia al centro de la Tierra, la altitud geodésica sobre el elipsoide GRS80 y la diferencia respecto a la posición aproximada indicada en la cabecera del fichero de origen.

También pueden ser:

  • Introducidas como valores geográficos o proyectados.
  • Importadas desde distintos formatos.
  • Exportadas a KML/KMZ o mostradas en un visor KML.
  • Convertidas a valores geográficos o proyectados.

9.1Control de coherencia de las coordenadas XYZ

Se efectúan los controles siguientes:

ControlUmbralConsecuencia
Componente X, Y o Z fuera de límites|X|, |Y| > a + 50 km ; |Z| > b + 50 kmAdvertencia
Distancia al centro de la Tierra demasiado pequeñaD < min_distance_mConversión bloqueada
Distancia al centro de la Tierra demasiado grandeD > a + max_margin_mConversión bloqueada
Altitud geodésica muy elevada (sobre el elipsoide)HAE > 10 kmAdvertencia
Altitud geodésica muy negativaHAE < −200 mAdvertencia
Desplazamiento respecto a la posición original> 10 mAdvertencia
  • a y b representan respectivamente el semieje mayor y el semieje menor del elipsoide.
  • min_distance_m es la distancia en metros al centro de la Tierra por debajo de la cual una distancia se considera demasiado pequeña.
  • max_margin_m es la altura elipsoidal por encima de la cual esa altura se considera demasiado grande.
  • min_distance_m y max_margin_m se guardan en config.ini y el usuario puede modificarlas manualmente.

Las advertencias no son bloqueantes, pero una información errónea puede causar problemas durante el tratamiento con un programa de posprocesado GNSS.

9.2Introducción manual de coordenadas geográficas — LLH (°)

9.2.1Formato

Las coordenadas latitud / longitud / altura elipsoidal pueden introducirse en valores decimales o sexagesimales. Son calculables para los elipsoides GRS80 o WGS84. Los formatos admitidos son:

  • Longitud:
    • 2.24981292 o 2 14 59.3265 (valor positivo para el Este)
    • -2.24981292 o -2 14 59.3265 (valor negativo para el Oeste)
  • Latitud:
    • 48.5909138 o 48 35 27.2895 (valor positivo para el Norte)
    • -48.5909138 o -48 35 27.2895 (valor negativo para el Sur)

9.2.2Ventana de introducción

9.3Introducción manual de coordenadas proyectadas — NEH (m)

9.3.1Coordenadas planimétricas

Sistemas geodésicos y proyecciones

Las coordenadas proyectadas pueden introducirse en los sistemas y proyecciones siguientes:

  • Proyección UTM, con elección entre los elipsoides GRS80 (por defecto) y WGS84.
    • Hay que indicar el huso UTM y el hemisferio (Norte o Sur).
  • Proyección Transversa de Mercator.
    • Hay que indicar los parámetros de la proyección.
    • Estos parámetros pueden guardarse en el fichero custom_projections.json del directorio «Documentos / TopoSat Rinex Editor / Config». Ese fichero se lee automáticamente en las llamadas siguientes.
  • Cónica conforme de Lambert.
    • Funciona igual que la proyección Transversa de Mercator.
  • Proyecciones de la Francia metropolitana:
    • RGF93 / Lambert 93
    • RGF93 / Lambert zona CC
  • Proyecciones de los territorios franceses de ultramar:
    • Guadalupe (RGAF09 — UTM 20N)
    • Guayana Francesa (RGFG95 — UTM 22N)
    • La Reunión (RGR92 — UTM 40S)
    • Martinica (RGAF09 — UTM 20N)
    • Mayotte (RGM04 — UTM 38S)
    • Nueva Caledonia — Grande Terre e islas Lealtad (RGNC91-93 / Lambert NC)
    • Nueva Caledonia — zona marítima (RGNC91-93 — UTM 57S)
    • Nueva Caledonia — zona marítima (RGNC91-93 — UTM 58S)
    • Nueva Caledonia — zona marítima (RGNC91-93 — UTM 59S)
    • Polinesia Francesa (RGPF — UTM 5S)
    • Polinesia Francesa (RGPF — UTM 6S)
    • Polinesia Francesa (RGPF — UTM 7S)
    • Polinesia Francesa (RGPF — UTM 8S)
  • Bélgica (ETRF2000 / Lambert 2008)
Nota
Solo se han integrado los territorios más poblados. El usuario puede completar esta lista si lo necesita con proyecciones «Transversa de Mercator» indicando los parámetros adecuados: una proyección UTM es una proyección Transversa de Mercator con parámetros estandarizados, pero las fórmulas matemáticas son las mismas.
Ventana de introducción

La ventana de introducción de las coordenadas planimétricas es la siguiente:

9.3.2Componente vertical

Ventana de introducción

Puede introducirse como altura elipsoidal (HAE), como elevación (MSL), o como altura elipsoidal más una constante que representa el valor de la ondulación del geoide en el punto observado.

Para introducir una elevación (MSL), debe seleccionarse un modelo de geoide.

  • Elegir el modelo en la lista desplegable, o
  • utilizar «Examinar» para seleccionar un nuevo modelo disponible en el PC. Puede estar en el directorio que se desee.
  • «Guardar» permite registrar la ruta de acceso del modelo en config.ini. La rejilla se ofrecerá automáticamente en el menú desplegable en el próximo arranque.
  • «Eliminar» suprime la entrada en config.ini, pero no borra el fichero.
Disponibilidad de las rejillas

No se suministra ninguna rejilla con el software. Corresponde al usuario obtenerlas directamente de los productores de datos.

Algunos ejemplos de sitios de descarga de rejillas (julio de 2026):

  • Francia (metrópoli y ultramar): geodesie.ign.fr
  • Bélgica: cconvert.geo.be
  • Estados Unidos: geodesy.noaa.gov
  • Las rejillas en formato Trimble .ggf están disponibles en el directorio C:\ProgramData\Trimble\GeoData\ (instalación de Windows 11) para los usuarios de un programa Trimble (Trimble Business Center, Trimble Coordinate System Manager, etc.).
Formatos de modelos de geoide reconocidos
ExtensiónOrigenParámetros a indicar durante la carga
.datFormato genérico, punto por puntoSí (organización de las columnas, orden de clasificación)
.mntIGN (Francia)Ninguno — detectados automáticamente
.tacIGN (Francia)Ninguno — detectados automáticamente
.gtxNOAA / PROJNinguno — detectados automáticamente
.ggfTrimbleNinguno — detectados automáticamente
.graGRAVSOFT (DTU, Dinamarca)Ninguno — detectados automáticamente
.grdGolden Software (Surfer)Ninguno — detectados automáticamente
.dat — formato de puntos genérico

Fichero de texto simple, una línea por punto (dos coordenadas y un valor de ondulación). Como este formato no tiene cabecera, la aplicación pregunta cómo interpretarlo en el momento de la carga:

  • Significado de la primera columna (latitud o longitud).
  • Orden en el que están clasificados los valores.
Ejemplo: latitud en la primera columna, longitudes crecientes a latitud fija, después latitudes crecientes.
48.5000000 1.0000000 43.316
48.5000000 1.0150000 43.306
...
48.5000000 6.9850000 46.685
48.5000000 7.0000000 46.724
48.5100000 1.0000000 43.318
48.5100000 1.0150000 43.308
...
52.5000000 6.9850000 40.434
52.5000000 7.0000000 40.443
.mnt y .tac — rejillas IGN (Francia)

Formato adoptado por el Instituto nacional de información geográfica y forestal de Francia (IGN), utilizado en particular para sus rejillas de conversión altimétrica en la Francia metropolitana y de ultramar (RAF, rejillas NTF↔RGF93, etc.). Para más detalles, consulte la descripción de los formatos de rejillas IGN.

.gtx — formato NOAA / PROJ

Formato binario compacto, muy difundido por la biblioteca cartográfica PROJ y por la agencia estadounidense NOAA. Para más detalles, consulte la documentación de GDAL.

.ggf — formato Trimble

Formato binario utilizado por algunos programas topográficos de Trimble (Trimble Business Center en particular). Para más detalles, consulte la descripción del formato GGF.

.gra — formato GRAVSOFT

Formato de texto del programa GRAVSOFT, desarrollado por la Universidad Técnica de Dinamarca (DTU), utilizado en particular para algunas rejillas de geoide de ultramar (La Reunión). Para más detalles, consulte el manual de GRAVSOFT.

.grd — Golden Software ASCII Grid

Formato de texto de los programas de Golden Software (Surfer, Grapher, Voxler), identificable por la palabra clave DSAA al principio del fichero. Para más detalles, consulte la documentación de Surfer.

9.4Importación

Las coordenadas pueden extraerse de varias fuentes.

9.4.1Fichero de texto

El fichero puede contener varias líneas, pero solo puede seleccionarse una. Es posible indicar el separador de lista (varias posibilidades) o dividir el fichero en columnas.

Con separador: elegir el separador si la detección automática no funciona y proceder a la asignación de las columnas a los campos X, Y y Z.

Con columnas fijas: hacer clic en la línea superior y arrastrar la línea de separación hasta el lugar deseado, y después proceder a la asignación de las columnas a los campos X, Y y Z.

9.4.2Informe de cálculo de red IGN Francia

Estos informes proceden de un cálculo en línea realizado en el sitio rgp.ign.fr.

Normalmente, tras descomprimir el informe en formato .tar.gz, el nombre del fichero analizado tiene la forma cr_STAT_AAMMDDi_rd.txt, con STAT como identificador de la estación, AAMMDD como fecha e i como índice de sesión.

El programa busca los valores indicados en el apartado «IV/ RESULTATS» del informe y propone las soluciones en varios sistemas de referencia (dependientes de la fecha de medida y de la localización del punto observado).

9.4.3Informe de cálculo PPP Francia

Estos informes proceden de un cálculo en línea realizado en el sitio rgp.ign.fr. Normalmente, tras descomprimir el informe en formato .tar.gz, el fichero analizado se llama report.txt.

El programa busca los valores finales, tras aplicar el cálculo de marea terrestre y de la carga oceánica (MEAN XYZ with O_LOAD applied).

Propone las soluciones en varios sistemas de referencia (dependientes de la fecha de medida y de la localización del punto observado).

9.4.4Informe de cálculo Trimble RTX Positioning

Estos informes proceden de un cálculo en línea realizado en el sitio trimblepositioninghub.trimble.com.

Normalmente, tras descomprimir el informe en formato .zip, los ficheros analizados tienen la forma Report_nnnnnnnn.xml, donde «nnnnnnnn» es un número interno de Trimble. El programa busca los valores contenidos en los elementos POSITION de tipo «INTERNAL» o «CUSTOM», este último correspondiente a la elección del usuario. Propone las soluciones en dos sistemas de referencia:

  • «INTERNAL» en un sistema ITRF genérico, época de la medida.
  • «CUSTOM» en el sistema seleccionado por el usuario.

9.4.5Informe de cálculo SCRS-PPP (Canadá)

Estos informes proceden de un cálculo en línea realizado en el sitio webapp.csrs-scrs.nrcan-rncan.gc.ca. Normalmente, tras descomprimir el informe en formato .zip, los ficheros analizados tienen la forma fichero.sum, donde «fichero» es el nombre del fichero RINEX calculado.

El programa busca los valores contenidos en las líneas «POS X», «POS Y» y «POS Z» del informe, columna «ESTIMATED». Propone una solución única en el sistema ITRF.

El sitio ofrece varias opciones de cálculo:

  • NAD83 o ITRF como sistema de referencia. El valor tenido en cuenta depende del sistema elegido.
  • Estático o cinemático. Solo el modo estático es aprovechable: el informe de cálculo cinemático con extensión .sum no contiene ninguna posición «ESTIMATED», por lo que TopoSat Rinex Editor no extrae de él ninguna posición.

Hay que hacer clic en el resultado para utilizar los valores.

9.5Localizar

Al pulsar este botón se crea un fichero Marker_Name.kml en el directorio «Documentos/TopoSat Rinex Editor/Data». Ese fichero se pasa como argumento a un visor externo, que se selecciona entre la lista de sitios en línea propuestos o entre los programas instalados.

El enlace personalizado y el programa elegido (mediante «Otro programa…») se guardan en el fichero kml_viewer.json del directorio «Documentos/TopoSat Rinex Editor/Config».

9.6Exportar KML/KMZ

Permite crear un fichero con la posición XYZ en el directorio que se desee. A diferencia de «Localizar», esta acción no abre el visor.

9.7Conversión a valores geográficos o proyectados

Los botones «Convertir LLH» y «Convertir NEH» permiten convertir las coordenadas XYZ mostradas en la cabecera en coordenadas geográficas o proyectadas.

Consulte la descripción y el funcionamiento de estas ventanas en los apartados anteriores.

10Constelaciones y señales

10.1Supresión de registros

TopoSat Rinex Editor permite desactivar:

  • Constelaciones enteras, desmarcando una constelación.
Nota
RINEX 2 histórico: en una conversión de RINEX 3 o 4 a RINEX 2 destinada a un programa antiguo que solo admite GPS, hay que desmarcar GLONASS antes de generar el RINEX 2 (o retirar esa constelación del RINEX 2 creado en un tratamiento posterior).
  • Satélites uno a uno, mostrando la lista de satélites de una constelación dada.
  • Señales una a una.
  • Al marcar «Purgar constelaciones no disponibles», las líneas de la cabecera correspondientes a las constelaciones ausentes se suprimen de la cabecera.
  • Al marcar «Eliminar líneas aberrantes», las líneas del cuerpo del fichero correspondientes a los registros afectados no se escriben en el fichero RINEX generado. Desmarcado por defecto.
  • El botón «Reactivar todo» reactiva en bloque todos los elementos desactivados (constelaciones enteras, satélites individuales, señales observadas).

10.2Lista de señales

Código civil clásico
C
C/A (Coarse/Acquisition), el código civil histórico, presente desde los inicios del GPS. Es el canal con soporte más universal.
Códigos precisos / militares (cifrados o semiaccesibles)
P
Código P directo, sin cifrar (raro hoy en día, ya que la mayoría de los sistemas cifran este código).
Y
Código Y, la versión cifrada del código P, seguida directamente — requiere una clave de descifrado (receptores autorizados o militares).
W
Seguimiento «semi-codeless» (Z-tracking) del código Y cifrado — técnica utilizada por los receptores civiles y geodésicos para acceder a pesar de todo a esas medidas sin poseer la clave.
M
Código M, la generación militar moderna (más resistente a las interferencias).
N
Seguimiento «codeless» genérico, técnica más antigua, con la misma finalidad que W pero no normalizada como el Z-tracking.
Códigos civiles modernizados (señales L2C, L5, L1C — aparecidas después de 2005)
S
Componente «corta» o de datos de la señal modernizada (por ejemplo L2C(M), o la componente de datos de L1C).
L
Componente «larga» o piloto de la señal modernizada (por ejemplo L2C(L), la componente piloto de L1C) — lleva las medidas pero no datos de navegación, por lo que suele ser más limpia.
X
Seguimiento combinado de las dos componentes S+L (o I+Q) juntas, en un solo canal.
I
Componente «en fase» (que lleva los datos) de las señales estructuradas I/Q (por ejemplo L5I).
Q
Componente «en cuadratura» (piloto, sin datos) de las señales I/Q (por ejemplo L5Q).
A, B
Canales específicos de Galileo / BeiDou / QZSS / IRNSS (servicio público regulado, o componentes de datos/piloto según el sistema).

11Uso en línea de comandos

El uso en línea de comandos permite modificar los ficheros RINEX mediante un tratamiento automatizado, fichero por fichero o dentro de un comando batch. Se realiza utilizando el ejecutable TopoSat_Rinex_Editor_cli.exe.

La estructura general de una línea de comandos es la siguiente:

TopoSat_Rinex_Editor_cli.exe /IN -fichier_lu.rnx /OUT -fichier_produit.rnx /CMD -argument

Donde /CMD -argumento puede ser:

/IN

Fichero a tratar. Debe ir seguido del nombre completo del fichero.

  • /IN -C:/Data/fichero_leido.rnx
  • /IN -"C:/Data/mi fichero leido.rnx" (comillas si hay un espacio en el nombre del fichero o en la ruta)
/OUT

Nombre completo del fichero a generar. Comando opcional: en su ausencia, el nombre será el del fichero leído con «_edited» añadido.

  • Si se utiliza, debe ir seguida del nombre del fichero a crear como argumento.
  • Si el fichero a crear ya existe en el directorio de destino, se produce un error.
  • Si el directorio de destino no existe, se produce un error.
/OUTX

Idéntica a /OUT, pero fuerza la sobrescritura de un fichero existente.

  • /OUT y /OUTX no pueden estar presentes las dos en la misma línea de comandos.
/RNX

Conversión del fichero RINEX a otro formato RINEX. La conversión solo puede hacerse hacia una versión anterior. Ejemplo: /RNX -2.11.

  • El argumento de versión es obligatorio.
  • El argumento de nombre es opcional; si está presente, va obligatoriamente después del número de versión.
  • Si el fichero a crear ya existe en el directorio de destino, se produce un error.
  • Si el directorio de destino no existe, se produce un error.
/RNXX

Idéntica a /RNX, pero fuerza la sobrescritura de un fichero existente.

  • /RNX y /RNXX no pueden estar presentes las dos en la misma línea de comandos.
/MNA

Marker Name. Ejemplo: /MNA -CORS. Limitado a 60 caracteres.

/MNU

Marker Number. Ejemplo: /MNU -18256M001. Limitado a 20 caracteres.

/MTY

Marker Type. Ejemplo: /MTY -GEODETIC. Limitado a 20 caracteres, solo RINEX 3/4.

/OBS

Observer. Ejemplo: /OBS -Bertrand.

/AGE

Agency. Ejemplo: /AGE -TopoSat.

/NUR

Número de serie del receptor. Ejemplo: /NUR -4503789.

/TYR

Tipo de receptor. Ejemplo: /TYR -"TRIMBLE NETR9".

/VER

Versión del receptor. Ejemplo: /VER -4.85.

/NAN

Número de serie de la antena. Ejemplo: /NAN -231312.

/TYA

Tipo de antena. Ejemplo: /TYA -TRM7991.00.

/TYAX

Tipo de antena, evitando la presentación del mensaje de advertencia que señala una modificación del tipo de antena.

/XYZ

Los 3 valores X, Y, Z de la posición, separados por un espacio y agrupados entre paréntesis.

  • /XYZ -(3381677.0832 4910158.6366 -2258516.1187)
/ADH

Delta H: altura vertical del punto de referencia de la antena (ARP) por encima del marcador. Ejemplo: /ADH -2.000.

/ADE

Delta E: excentricidad horizontal Este del ARP respecto al marcador. Ejemplo: /ADE -0.00.

/ADN

Delta N: excentricidad horizontal Norte del ARP respecto al marcador. Ejemplo: /ADN -0.00.

/INT

Intervalo de registro en segundos. Ejemplo: /INT -30.

  • /INT debe ir antes de /OUT, /OUTX, /RNX o /RNXX para que se tenga en cuenta.
/TFO

Time of First Observation.

  • /TFO -2026-03-12 — si no se indica hora, el registro comienza en la primera época disponible del día.
  • /TFO -2026-03-12T17:18:25 (segundo entero)
  • /TFO -2026-03-12T17:18:25.32 (con fracción de segundo)
  • /TFO -20260312171825.32 (sin separador)
  • /TFO -"2026-03-12 17:18:25" (comillas si un espacio sustituye a la T)
  • Si /TFO se usa junto con /INT, /INT debe ir antes.
/TFO+

Inserta una línea «TIME OF FIRST OBS» en la cabecera si falta. Sin argumento.

  • No modifica nada si la línea ya existe en el fichero.
  • Si /TFO también está presente, /TFO+ debe ir después.
/TLO

Time of Last Observation. Formatos idénticos a /TFO.

  • El último registro es el de la última época válida que respeta la hora indicada.
  • Si /TLO se usa junto con /INT o /TFO, estas deben ir antes.
/TLO+

Inserta una línea «TIME OF LAST OBS» en la cabecera si falta. Sin argumento.

  • Esta línea es opcional en RINEX: su ausencia no es una anomalía.
  • Si /TLO también está presente, /TLO+ debe ir después.
/-X

Suprime todos los satélites de una constelación (X = G, R, E, C, J, I, S…). Ejemplo: /-S para suprimir los SBAS.

  • Suprime también en la cabecera la información relativa a esa constelación.
  • Para una conversión de RINEX 3 o 4 a RINEX 2 con supresión de GLONASS, colocar /-R antes de /RNX o /RNXX.
/-Xnn

Suprime un único satélite. Ejemplo: /-E11.

  • Si todos los satélites reales de una constelación se suprimen así, uno a uno, la cabecera se limpia igual que con /-X (detección automática).
/DMSW

Convierte las coordenadas XYZ de la cabecera en coordenadas geográficas sexagesimales, elipsoide WGS84.

  • /DMSW (sin argumento) o /DMSW -32: separador espacio.
  • /DMSW -44: separador coma.
  • /DMSW -58: separador dos puntos.
  • /DMSW -59: separador punto y coma.
  • El fichero de texto se crea en el directorio «Documentos/TopoSat Rinex Editor/Data», con el nombre del punto si MARKER NAME está indicado, o el nombre del fichero RINEX en su defecto.
/DMSG

Idéntica a /DMSW para el elipsoide GRS80.

/DDW

Idéntica a /DMSW, pero exporta en grados decimales (elipsoide WGS84).

/DDG

Idéntica a /DMSG, pero exporta en grados decimales (elipsoide GRS80).

/KML

Crea un fichero KML en la posición XYZ.

  • Sin nombre indicado, el fichero se crea en el directorio «Documentos/TopoSat Rinex Editor/Data», con el MARKER NAME si está indicado, o el nombre del fichero RINEX si está vacío.
/KMZ

Idéntica a /KML, pero genera un archivo comprimido .kmz.

/WIP

Purga de la cabecera la información relativa a las constelaciones declaradas pero no disponibles en los datos. Sin argumento, solo RINEX 3/4.

  • Líneas SYS / # / OBS TYPES
  • Líneas SYS / PHASE SHIFT
/?

Muestra la ayuda sobre los comandos y sale. Sin argumento.

Nota
Los argumentos que necesitan un espacio, como TRM57971.00 NONE, deben escribirse entre comillas, por ejemplo /TYA -"TRM57971.00 NONE". Un solo comando erróneo bloquea toda la línea: no se escribe ningún fichero y un mensaje precisa el fichero de origen y la causa. Código de retorno: 0 = éxito, 1 = error.

La aplicación indica un código de retorno en la consola:

  • 0 = éxito
  • 1 = error en la formulación del comando
  • 2 = uso del ejecutable incorrecto

12Licencia de uso

Copyright © 2026 — Bertrand Boullard

12.1Autorización de uso

El software se suministra gratuitamente y puede utilizarse con fines personales y profesionales.

12.2Forma de distribución

El software se distribuye exclusivamente en forma de código ejecutable (binario compilado). El autor no tiene ninguna obligación de suministrar el código fuente.

El software puede distribuirse en varias versiones adaptadas a distintos sistemas operativos (Windows, Linux u otros). Las presentes condiciones se aplican a todas esas versiones, sea cual sea la plataforma de destino.

12.3Distribución

La redistribución está autorizada, siempre que:

  • el software se distribuya gratuitamente;
  • esta licencia se incluya;
  • se conserven el nombre del autor y las menciones de copyright.

12.4Restricciones

Está estrictamente prohibido:

  • modificar, adaptar, traducir o crear obras derivadas del software;
  • descompilar, desensamblar o intentar extraer el código fuente, salvo disposición legal en contrario;
  • integrar, incorporar, compilar conjuntamente, llamar mediante API/biblioteca o incluir la totalidad o parte del código fuente, los ejecutables o los recursos de este software dentro de otro programa, módulo, plugin o servicio de terceros, sin la autorización escrita previa y expresa del autor. Esta prohibición se aplica tanto si la integración se realiza con fines comerciales como no comerciales.

12.5Componentes de terceros

Este software integra el intérprete Python así como las bibliotecas de terceros siguientes, cada una sujeta a su propia licencia de código abierto:

  • Python — intérprete y biblioteca estándar, incluido el módulo tkinter (Python Software Foundation License Version 2 — PSF-2.0);
  • Tcl/Tk — biblioteca gráfica controlada por tkinter (Tcl/Tk License, licencia de tipo BSD);
  • PyInstaller — herramienta de empaquetado, cuyo bootloader va integrado en el ejecutable (GNU General Public License versión 2 o posterior, con la excepción «Bootloader Exception»).

El texto completo de estas licencias está disponible en el fichero THIRD-PARTY-LICENSES.txt suministrado con el software.

12.6Propiedad

El software sigue siendo propiedad exclusiva del autor.

12.7Responsabilidad

El software se suministra «tal cual», sin garantía de ningún tipo. El autor no podrá ser considerado responsable de los daños derivados de su uso.

Corresponde al usuario comprobar la exactitud de las conversiones de coordenadas por otro medio antes de cualquier uso, y verificar que los ficheros creados se ajustan a sus necesidades.

Ajuda

TopoSat Rinex Editor

Edição, análise e controlo de ficheiros de observação RINEX 2, 3 e 4 — interface gráfica e linha de comandos.

v1.06Interface gráfica + linha de comandosRINEX 2.10 → 4.02

1Aviso

O software é fornecido «tal como está», sem garantia de qualquer tipo. O autor não pode ser responsabilizado por danos decorrentes da sua utilização.

Cabe ao utilizador verificar a exatidão das conversões de coordenadas por outro meio antes de qualquer utilização, e confirmar que os ficheiros criados são compatíveis com as suas necessidades.

2Funcionalidades principais

O TopoSat Rinex Editor é um utilitário que permite editar ficheiros RINEX (formatos 2, 3 e 4) para analisar as constelações presentes, os satélites e sinais utilizados, e modificar algumas informações contidas no cabeçalho. Pode ser utilizado com uma interface gráfica ou na linha de comandos.

Está disponível em inglês, espanhol, francês e português (Europa e Brasil).

Os seus pontos fortes são:

  • Análise do ficheiro de origem e apresentação resumida dessa análise.
  • Exportação com desativação de constelações, satélites ou sinais específicos.
  • Coordenadas ECEF do cabeçalho introduzíveis a partir de coordenadas geográficas ou projetadas (com ou sem utilização de um modelo de geoide).
  • Leitura de relatórios de cálculo em linha: IGN França, Trimble RTX, SCRS-PPP (Canadá).
  • Conversão direta das coordenadas ECEF em coordenadas geográficas ou projetadas.
  • Visualização dessas coordenadas ECEF num visualizador KML, e exportação KML/KMZ.
  • Conversão de um RINEX 3 ou 4 para uma versão anterior.

Permite também introduzir as seguintes modificações:

  • Intervalo de registo.
  • Horas de início e de fim de registo.
  • Marker Name, Marker Number e Marker Type.
  • Observer / Agency.
  • Altura de antena.

Após a modificação dos limites temporais, do intervalo de registo e das constelações ou satélites utilizados, o tamanho do ficheiro a exportar é estimado (valor indicativo).

Nota
A documentação completa sobre os formatos RINEX pode ser descarregada em files.igs.org/pub/data/format.

3Primeira utilização

A aplicação com interface gráfica é iniciada com o executável TopoSat_Rinex_Editor.exe. Para a utilização em linha de comandos, consulte o capítulo «Utilização na linha de comandos».

Na primeira utilização, o programa cria uma subpasta «TopoSat Rinex Editor» na pasta «Documentos» do utilizador do Windows. Essa pasta permite guardar:

Numa subpasta /Config:

  • Um ficheiro config.ini (idioma, tema, pastas, limiares de controlo, prioridade dos canais, etc.).
  • Um ficheiro custom_projections.json com os parâmetros das projeções definidas pelo utilizador.

Numa subpasta /Data:

  • Diversos dados produzidos pelo programa durante a sua utilização (ficheiros de texto, KML, …).

4Seleção do ficheiro de origem

As extensões aceites são .rnx, .obs e .??o. Os ficheiros comprimidos em zip ou com Hatanaka não são suportados.

Ao abrir o ficheiro, várias informações são apresentadas diretamente abaixo do nome do ficheiro: formato RINEX, número de épocas e tamanho do cabeçalho.

As modificações efetuadas nos valores editáveis não afetam o ficheiro de origem. São aplicadas apenas a um novo ficheiro criado pelo botão «Guardar», no canto inferior direito da janela.

O botão «Recarregar» serve para reler o ficheiro de origem e reinicializar a apresentação se tiverem sido efetuadas modificações, sem ter de o procurar novamente na árvore de pastas do PC. Este botão permanece inativo enquanto não for efetuada qualquer modificação.

5Seleção do ficheiro de destino

O tamanho do ficheiro de destino é estimado tendo em conta as várias modificações previstas. É recalculado após cada modificação, ao clicar noutro valor modificável ou no botão «Atualizar».

Alguns ficheiros RINEX contêm marcadores de dados cinemáticos. Esses marcadores podem ser removidos para utilizar o ficheiro como ficheiro estático, ou para trabalhos de trajetória pura.

5.1Sem conversão RINEX

Por predefinição, o ficheiro de destino tem o nome do ficheiro de origem seguido de «_edited», e a extensão do ficheiro de origem.

É guardado na mesma pasta que o ficheiro de origem. O nome e a pasta podem ser escolhidos de outra forma (botão «Modificar»).

5.2Com conversão RINEX

5.2.1Funcionamento

A conversão RINEX de um ficheiro pode ser feita a partir da versão 4.02 para qualquer versão anterior válida.

No caso de uma conversão de RINEX 3 ou 4 para RINEX 2, o ficheiro de destino recebe um nome composto pelos 4 primeiros caracteres do MARKER NAME, pelo número do dia do ano, pelo dígito 1 que representa o número da sessão e pela extensão do ficheiro de origem. Na ausência de MARKER NAME, são utilizados os 4 primeiros caracteres do nome do ficheiro de origem.

É guardado na mesma pasta que o ficheiro de origem. O nome e a pasta podem ser escolhidos de outra forma (botão «Modificar»).

5.2.2Perdas de sinal associadas à conversão para RINEX 2.nn

Atenção
Às vezes a perda de sinal é inevitável: o RINEX 2 tem apenas um espaço por frequência e por tipo de observável (um para a fase L2, um para o código C2…), enquanto o RINEX 3/4 pode acolher vários canais na mesma frequência ao mesmo tempo (por exemplo L2C civil e L2W preciso simultaneamente). Se isso acontecer, apenas um canal pode ser conservado — o de maior prioridade — e o outro é perdido: é uma limitação do próprio formato RINEX 2, não do conversor.

A ordem de prioridade entre canais define-se no menu Opções / Prioridade dos canais RINEX 2….

Também pode ser alterada com um editor de texto em config.ini (Documentos/TopoSat Rinex Editor/Config/), secção [rnx_downgrade], chave channel_priority.

  • Por predefinição: CPWYMNSLXIQ. Esta ordem privilegia o canal mais universal e mais antigo (C) em caso de duplicação, depois os códigos precisos (P/W/Y/M/N, historicamente aqueles que o software RINEX 2 esperava), e só em último lugar os canais modernizados (S/L/X/I/Q).
  • Para privilegiar, ao contrário, os canais civis modernizados (por exemplo L2C em vez de L2W): channel_priority = SLXIQCPWYMN.
  • Esta chave é lida ao iniciar a aplicação e guardada ao fechá-la, tal como as restantes indicações que constam em config.ini. Para a modificar e que seja tida em conta, é preciso fechar a aplicação antes de a editar manualmente. Se não for válida (letra ausente, canal não previsto, carácter qualquer…), é automaticamente reposta no seu valor predefinido. É apresentada no painel «Ficheiro de destino» quando a conversão para RINEX 2.nn está selecionada.

Estas letras descrevem qual o canal ou o código que o recetor seguiu para produzir a observação. Para mais detalhes sobre o seu significado, consulte a lista dos sinais.

6Intervalo e limites temporais

As informações apresentadas resultam da análise linha por linha do ficheiro, sem depender das linhas TIME OF FIRST/LAST OBS.

O botão «Repor» restabelece o intervalo e os limites temporais originais do ficheiro. Não repõe toda a página (o botão «Recarregar» do painel da esquerda serve para isso), mas apenas este painel. Permanece inativo enquanto não for efetuada qualquer modificação.

Se faltar uma das linhas TIME OF FIRST/LAST OBS no cabeçalho, é possível acrescentá-la.

6.1Intervalo de registo

É expresso em segundos. É possível alterar este intervalo, desde que o novo valor seja um múltiplo exato do intervalo original e superior a ele (por exemplo 60 segundos quando o original era de 15 segundos).

6.2Limites temporais

A apresentação e a modificação das horas de início e de fim de registo aceitam:

  • A hora GPS (predefinição).
  • A hora local (a do computador).
  • A de qualquer fuso UTC.

O ficheiro RINEX criado conserva as horas GPS. As horas locais ou UTC servem apenas para facilitar a introdução ou a leitura.

As horas de FIRST e LAST OBS são sempre ajustadas às épocas compatíveis: a seguinte para FIRST OBS, a anterior para LAST OBS.

7Pré-visualização do ficheiro de origem

Existem três separadores.

7.1Separador «Registo»

Este separador lista as modificações sucessivas aplicadas ao cabeçalho, num ficheiro .log criado ao guardar o ficheiro modificado.

7.2Separador «Controlo de Qualidade»

Este separador lista a quantidade de dados disponíveis no ficheiro, constelação por constelação, e assinala eventualmente as anomalias. Estas informações são também incluídas no ficheiro .log guardado com o ficheiro criado.

7.3Separador «Cabeçalho»

Este separador permite ver as linhas de cabeçalho do ficheiro de origem. Não é editável.

8Outros dados editáveis

8.1Markers e operador

  • MARKER NAME: 60 caracteres no máx. (colunas 1 a 60 da linha RINEX)
  • MARKER NUMBER: 20 caracteres no máx. (colunas 1 a 20 da linha RINEX)
  • MARKER TYPE: 20 caracteres no máx. (colunas 1 a 20 da linha RINEX) — não editável em RINEX 2.xx
  • OBSERVER: 20 caracteres no máx. (colunas 1 a 20 da linha RINEX)
  • AGENCY: 40 caracteres no máx. (colunas 21 a 60 da linha RINEX)

É apresentado o número de caracteres utilizados / autorizados. Não é permitido introduzir mais caracteres do que a quota admite.

8.2Recetor / Antena

É apresentado o número de caracteres utilizados / autorizados. Não é permitido introduzir mais caracteres do que a quota admite.

Não existe controlo do tipo de antena quando este é alterado, mas é apresentada uma mensagem de aviso.

  • A altura de antena deve ser inferior a 99,9999 m.
  • O desvio E/N está limitado a 50 mm.

9APPROX POSITION XYZ (coordenadas ECEF)

As coordenadas ECEF podem ser introduzidas manualmente no campo editável. Um controlo de coerência verifica os limites físicos de cada componente (X, Y, Z), a distância ao centro da Terra, a altitude geodésica acima do elipsoide GRS80 e o desvio relativamente à posição aproximada indicada no cabeçalho do ficheiro de origem.

Podem também ser:

  • Introduzidas em valores geográficos ou projetados.
  • Importadas a partir de diferentes formatos.
  • Exportadas em KML/KMZ ou apresentadas num visualizador KML.
  • Convertidas em valores geográficos ou projetados.

9.1Controlo de coerência das coordenadas XYZ

São efetuados os seguintes controlos:

ControloLimiarConsequência
Componente X, Y ou Z fora dos limites|X|, |Y| > a + 50 km ; |Z| > b + 50 kmAviso
Distância ao centro da Terra demasiado pequenaD < min_distance_mConversão bloqueada
Distância ao centro da Terra demasiado grandeD > a + max_margin_mConversão bloqueada
Altitude geodésica muito elevada (acima do elipsoide)HAE > 10 kmAviso
Altitude geodésica muito negativaHAE < −200 mAviso
Deslocamento relativamente à posição original> 10 mAviso
  • a e b representam respetivamente o semieixo maior e o semieixo menor do elipsoide.
  • min_distance_m é a distância em metros ao centro da Terra abaixo da qual uma distância é considerada demasiado pequena.
  • max_margin_m é a altura elipsoidal acima da qual essa altura é considerada demasiado grande.
  • min_distance_m e max_margin_m são guardadas em config.ini e podem ser modificadas manualmente pelo utilizador.

Os avisos não são bloqueantes, mas uma informação errada pode causar problemas no tratamento por software de pós-processamento GNSS.

9.2Introdução manual de coordenadas geográficas — LLH (°)

9.2.1Formato

As coordenadas latitude / longitude / altura elipsoidal podem ser introduzidas em valores decimais ou sexagesimais. São calculáveis para os elipsoides GRS80 ou WGS84. Os formatos aceites são:

  • Longitude:
    • 2.24981292 ou 2 14 59.3265 (valor positivo para Este)
    • -2.24981292 ou -2 14 59.3265 (valor negativo para Oeste)
  • Latitude:
    • 48.5909138 ou 48 35 27.2895 (valor positivo para Norte)
    • -48.5909138 ou -48 35 27.2895 (valor negativo para Sul)

9.2.2Janela de introdução

9.3Introdução manual de coordenadas projetadas — NEH (m)

9.3.1Coordenadas planimétricas

Sistemas geodésicos e projeções

As coordenadas projetadas podem ser introduzidas nos seguintes sistemas e projeções:

  • Projeção UTM, com escolha entre os elipsoides GRS80 (predefinição) e WGS84.
    • É necessário indicar o fuso UTM e o hemisfério (Norte ou Sul).
  • Projeção Transversa de Mercator.
    • É necessário indicar os parâmetros da projeção.
    • Estes parâmetros podem ser guardados no ficheiro custom_projections.json da pasta «Documentos / TopoSat Rinex Editor / Config». Esse ficheiro é lido automaticamente nas chamadas seguintes.
  • Cónica conforme de Lambert.
    • Funcionamento idêntico ao da projeção Transversa de Mercator.
  • Projeções da França metropolitana:
    • RGF93 / Lambert 93
    • RGF93 / Lambert zona CC
  • Projeções dos territórios franceses de além-mar:
    • Guadalupe (RGAF09 — UTM 20N)
    • Guiana Francesa (RGFG95 — UTM 22N)
    • Reunião (RGR92 — UTM 40S)
    • Martinica (RGAF09 — UTM 20N)
    • Maiote (RGM04 — UTM 38S)
    • Nova Caledónia — Grande Terre e ilhas Lealdade (RGNC91-93 / Lambert NC)
    • Nova Caledónia — zona marítima (RGNC91-93 — UTM 57S)
    • Nova Caledónia — zona marítima (RGNC91-93 — UTM 58S)
    • Nova Caledónia — zona marítima (RGNC91-93 — UTM 59S)
    • Polinésia Francesa (RGPF — UTM 5S)
    • Polinésia Francesa (RGPF — UTM 6S)
    • Polinésia Francesa (RGPF — UTM 7S)
    • Polinésia Francesa (RGPF — UTM 8S)
  • Bélgica (ETRF2000 / Lambert 2008)
Nota
Apenas os territórios mais povoados foram integrados. O utilizador pode completar esta lista, se necessário, com projeções «Transversa de Mercator» indicando os parâmetros adequados: uma projeção UTM é uma projeção Transversa de Mercator com parâmetros normalizados, mas as fórmulas matemáticas são as mesmas.
Janela de introdução

A janela de introdução das coordenadas planimétricas é a seguinte:

9.3.2Componente vertical

Janela de introdução

Pode ser introduzida em altura elipsoidal (HAE), em elevação (MSL), ou com uma altura elipsoidal e uma constante que representa o valor da ondulação do geoide no local do ponto observado.

Para uma introdução em elevação (MSL), deve ser selecionado um modelo de geoide.

  • Escolher o modelo na lista pendente, ou
  • utilizar «Procurar» para selecionar um novo modelo disponível no PC. Pode estar na pasta que quiser.
  • «Guardar» permite registar o caminho de acesso do modelo em config.ini. A grelha passará a ser proposta automaticamente na lista pendente no arranque seguinte.
  • «Eliminar» remove a entrada em config.ini, mas não apaga o ficheiro.
Disponibilidade das grelhas

Não é fornecida nenhuma grelha com o software. Cabe ao utilizador obtê-las diretamente junto dos produtores de dados.

Alguns exemplos de sítios para descarregar grelhas (julho de 2026):

  • França (metrópole e além-mar): geodesie.ign.fr
  • Bélgica: cconvert.geo.be
  • Estados Unidos: geodesy.noaa.gov
  • As grelhas no formato Trimble .ggf estão disponíveis na pasta C:\ProgramData\Trimble\GeoData\ (instalação Windows 11) para os utilizadores de software Trimble (Trimble Business Center, Trimble Coordinate System Manager, etc.).
Formatos de modelos de geoide reconhecidos
ExtensãoOrigemParâmetros a indicar no carregamento
.datFormato genérico, ponto por pontoSim (organização das colunas, ordenação)
.mntIGN (França)Nenhum — detetados automaticamente
.tacIGN (França)Nenhum — detetados automaticamente
.gtxNOAA / PROJNenhum — detetados automaticamente
.ggfTrimbleNenhum — detetados automaticamente
.graGRAVSOFT (DTU, Dinamarca)Nenhum — detetados automaticamente
.grdGolden Software (Surfer)Nenhum — detetados automaticamente
.dat — formato de pontos genérico

Ficheiro de texto simples, uma linha por ponto (duas coordenadas e um valor de ondulação). Como este formato não tem cabeçalho, a aplicação pergunta como interpretá-lo no momento do carregamento:

  • Significado da primeira coluna (latitude ou longitude).
  • Ordem pela qual os valores estão ordenados.
Exemplo: latitude na primeira coluna, longitudes crescentes com latitude fixa, depois latitudes crescentes.
48.5000000 1.0000000 43.316
48.5000000 1.0150000 43.306
...
48.5000000 6.9850000 46.685
48.5000000 7.0000000 46.724
48.5100000 1.0000000 43.318
48.5100000 1.0150000 43.308
...
52.5000000 6.9850000 40.434
52.5000000 7.0000000 40.443
.mnt e .tac — grelhas IGN (França)

Formato adotado pelo Instituto nacional de informação geográfica e florestal de França (IGN), utilizado em particular nas suas grelhas de conversão altimétrica na França metropolitana e de além-mar (RAF, grelhas NTF↔RGF93, etc.). Para mais detalhes, consulte a descrição dos formatos de grelhas IGN.

.gtx — formato NOAA / PROJ

Formato binário compacto, largamente difundido pela biblioteca cartográfica PROJ e pela agência norte-americana NOAA. Para mais detalhes, consulte a documentação do GDAL.

.ggf — formato Trimble

Formato binário utilizado por algum software topográfico da Trimble (Trimble Business Center em particular). Para mais detalhes, consulte a descrição do formato GGF.

.gra — formato GRAVSOFT

Formato de texto do software GRAVSOFT, desenvolvido pela Universidade Técnica da Dinamarca (DTU), utilizado em particular em algumas grelhas de geoide de além-mar (Reunião). Para mais detalhes, consulte o manual do GRAVSOFT.

.grd — Golden Software ASCII Grid

Formato de texto do software da Golden Software (Surfer, Grapher, Voxler), identificável pela palavra-chave DSAA no início do ficheiro. Para mais detalhes, consulte a documentação do Surfer.

9.4Importação

As coordenadas podem ser extraídas de várias fontes.

9.4.1Ficheiro de texto

O ficheiro pode conter várias linhas, mas apenas uma linha pode ser selecionada. É possível indicar o separador de lista (várias possibilidades) ou dividir o ficheiro em colunas.

Com separador: escolher o separador se a deteção automática não funcionar e proceder à atribuição das colunas aos campos X, Y e Z.

Com colunas fixas: clicar na linha superior e arrastar a linha de separação até ao local desejado, e depois proceder à atribuição das colunas aos campos X, Y e Z.

9.4.2Relatório de cálculo de rede IGN França

Estes relatórios resultam de um cálculo em linha efetuado no sítio rgp.ign.fr.

Tipicamente, após a descompressão do relatório no formato .tar.gz, o nome do ficheiro analisado tem a forma cr_STAT_AAMMDDi_rd.txt, em que STAT é o identificador da estação, AAMMDD a data e i o índice da sessão.

O programa procura os valores indicados no parágrafo «IV/ RESULTATS» do relatório e propõe as soluções em vários sistemas de referência (dependentes da data de medição e da localização do ponto observado).

9.4.3Relatório de cálculo PPP França

Estes relatórios resultam de um cálculo em linha efetuado no sítio rgp.ign.fr. Tipicamente, após a descompressão do relatório no formato .tar.gz, o ficheiro analisado chama-se report.txt.

O programa procura os valores finais, após a aplicação do cálculo da maré terrestre e da sobrecarga oceânica (MEAN XYZ with O_LOAD applied).

Propõe as soluções em vários sistemas de referência (dependentes da data de medição e da localização do ponto observado).

9.4.4Relatório de cálculo Trimble RTX Positioning

Estes relatórios resultam de um cálculo em linha efetuado no sítio trimblepositioninghub.trimble.com.

Tipicamente, após a descompressão do relatório no formato .zip, os ficheiros analisados têm a forma Report_nnnnnnnn.xml, em que «nnnnnnnn» é um número interno da Trimble. O programa procura os valores contidos nos elementos POSITION do tipo «INTERNAL» ou «CUSTOM», este último correspondente à escolha do utilizador. Propõe as soluções em dois sistemas de referência:

  • «INTERNAL» num sistema ITRF genérico, época da medição.
  • «CUSTOM» no sistema selecionado pelo utilizador.

9.4.5Relatório de cálculo SCRS-PPP (Canadá)

Estes relatórios resultam de um cálculo em linha efetuado no sítio webapp.csrs-scrs.nrcan-rncan.gc.ca. Tipicamente, após a descompressão do relatório no formato .zip, os ficheiros analisados têm a forma ficheiro.sum, em que «ficheiro» é o nome do ficheiro RINEX calculado.

O programa procura os valores contidos nas linhas «POS X», «POS Y» e «POS Z» do relatório, coluna «ESTIMATED». Propõe uma solução única no sistema ITRF.

O sítio propõe várias opções de cálculo:

  • NAD83 ou ITRF como sistema de referência. O valor tido em conta depende do sistema escolhido.
  • Estático ou cinemático. Apenas o modo estático é aproveitável: o relatório de cálculo cinemático com extensão .sum não contém nenhuma posição «ESTIMATED», pelo que o TopoSat Rinex Editor não extrai dele qualquer posição.

É preciso clicar no resultado para utilizar os valores.

9.5Localizar

A ação neste botão cria um ficheiro Marker_Name.kml na pasta «Documentos/TopoSat Rinex Editor/Data». Esse ficheiro é passado como argumento a um visualizador externo, a selecionar na lista de sítios em linha propostos ou entre os programas instalados.

A ligação personalizada e o programa escolhido (através de «Outro programa…») são guardados no ficheiro kml_viewer.json da pasta «Documentos/TopoSat Rinex Editor/Config».

9.6Exportar KML/KMZ

Permite criar um ficheiro com a posição XYZ na pasta que quiser. Ao contrário de «Localizar», esta ação não inicia o visualizador.

9.7Conversão em valores geográficos ou projetados

Os botões «Converter LLH» e «Converter NEH» permitem converter as coordenadas XYZ apresentadas no cabeçalho em coordenadas geográficas ou projetadas.

Consulte a descrição e o funcionamento destas janelas nos parágrafos anteriores.

10Constelações e sinais

10.1Supressão de registos

O TopoSat Rinex Editor permite desativar:

  • Constelações inteiras, desmarcando uma constelação.
Nota
RINEX 2 histórico: numa conversão de RINEX 3 ou 4 para RINEX 2 destinada a software antigo que apenas aceita GPS, é preciso desmarcar GLONASS antes de gerar o RINEX 2 (ou retirar essa constelação do RINEX 2 criado num tratamento posterior).
  • Satélites um a um, apresentando a lista de satélites de uma dada constelação.
  • Sinais um a um.
  • Ao marcar «Purgar constelações indisponíveis», as linhas do cabeçalho correspondentes às constelações ausentes são suprimidas do cabeçalho.
  • Ao marcar «Eliminar linhas aberrantes», as linhas do corpo do ficheiro correspondentes aos registos em causa não são escritas no ficheiro RINEX produzido. Desmarcado por predefinição.
  • O botão «Reativar tudo» reativa em bloco todos os elementos desativados (constelações inteiras, satélites individuais, sinais observados).

10.2Lista dos sinais

Código civil clássico
C
C/A (Coarse/Acquisition), o código civil histórico, presente desde os inícios do GPS. É o canal com suporte mais universal.
Códigos precisos / militares (cifrados ou semiacessíveis)
P
Código P direto, não cifrado (raro atualmente, já que a maioria dos sistemas cifra este código).
Y
Código Y, a versão cifrada do código P, seguida diretamente — exige uma chave de desencriptação (recetores autorizados ou militares).
W
Seguimento «semi-codeless» (Z-tracking) do código Y cifrado — técnica utilizada pelos recetores civis e geodésicos para acederem apesar de tudo a essas medições sem possuírem a chave.
M
Código M, a geração militar moderna (mais resistente à interferência).
N
Seguimento «codeless» genérico, técnica mais antiga, com a mesma finalidade que W mas não normalizada como o Z-tracking.
Códigos civis modernizados (sinais L2C, L5, L1C — surgidos depois de 2005)
S
Componente «curta» ou de dados do sinal modernizado (por exemplo L2C(M), ou a componente de dados de L1C).
L
Componente «longa» ou piloto do sinal modernizado (por exemplo L2C(L), a componente piloto de L1C) — transporta as medições mas não dados de navegação, sendo por isso frequentemente mais limpa.
X
Seguimento combinado das duas componentes S+L (ou I+Q) em conjunto, num único canal.
I
Componente «em fase» (que transporta os dados) dos sinais estruturados I/Q (por exemplo L5I).
Q
Componente «em quadratura» (piloto, sem dados) dos sinais I/Q (por exemplo L5Q).
A, B
Canais específicos Galileo / BeiDou / QZSS / IRNSS (serviço público regulado, ou componentes de dados/piloto conforme o sistema).

11Utilização na linha de comandos

A utilização na linha de comandos permite modificar os ficheiros RINEX efetuando um tratamento automatizado, ficheiro a ficheiro ou dentro de um comando batch. É feita utilizando o executável TopoSat_Rinex_Editor_cli.exe.

A estrutura geral de uma linha de comandos é a seguinte:

TopoSat_Rinex_Editor_cli.exe /IN -fichier_lu.rnx /OUT -fichier_produit.rnx /CMD -argument

Em que /CMD -argumento pode ser:

/IN

Ficheiro a tratar. Deve ser seguido do nome completo do ficheiro.

  • /IN -C:/Data/ficheiro_lido.rnx
  • /IN -"C:/Data/o meu ficheiro lido.rnx" (aspas se houver um espaço no nome do ficheiro ou no caminho)
/OUT

Nome completo do ficheiro a produzir. Comando opcional: na sua ausência, o nome será o do ficheiro lido com «_edited» acrescentado.

  • Se for utilizada, deve ser seguida do nome do ficheiro a criar como argumento.
  • Se o ficheiro a criar já existir na pasta de destino, isso provoca um erro.
  • Se a pasta de destino não existir, isso provoca um erro.
/OUTX

Idêntica a /OUT, mas força a substituição de um ficheiro existente.

  • /OUT e /OUTX não podem estar ambas presentes na mesma linha de comandos.
/RNX

Conversão do ficheiro RINEX para outro formato RINEX. A conversão só pode ser feita para uma versão anterior. Exemplo: /RNX -2.11.

  • O argumento de versão é obrigatório.
  • O argumento de nome é facultativo; se estiver presente, vem obrigatoriamente depois do número de versão.
  • Se o ficheiro a criar já existir na pasta de destino, isso provoca um erro.
  • Se a pasta de destino não existir, isso provoca um erro.
/RNXX

Idêntica a /RNX, mas força a substituição de um ficheiro existente.

  • /RNX e /RNXX não podem estar ambas presentes na mesma linha de comandos.
/MNA

Marker Name. Exemplo: /MNA -CORS. Limitado a 60 caracteres.

/MNU

Marker Number. Exemplo: /MNU -18256M001. Limitado a 20 caracteres.

/MTY

Marker Type. Exemplo: /MTY -GEODETIC. Limitado a 20 caracteres, apenas RINEX 3/4.

/OBS

Observer. Exemplo: /OBS -Bertrand.

/AGE

Agency. Exemplo: /AGE -TopoSat.

/NUR

Número de série do recetor. Exemplo: /NUR -4503789.

/TYR

Tipo do recetor. Exemplo: /TYR -"TRIMBLE NETR9".

/VER

Versão do recetor. Exemplo: /VER -4.85.

/NAN

Número de série da antena. Exemplo: /NAN -231312.

/TYA

Tipo de antena. Exemplo: /TYA -TRM7991.00.

/TYAX

Tipo de antena, evitando a apresentação da mensagem de aviso que assinala uma modificação do tipo de antena.

/XYZ

Os 3 valores X, Y, Z da posição, separados por um espaço e agrupados entre parênteses.

  • /XYZ -(3381677.0832 4910158.6366 -2258516.1187)
/ADH

Delta H: altura vertical do ponto de referência da antena (ARP) acima do marcador. Exemplo: /ADH -2.000.

/ADE

Delta E: excentricidade horizontal Este do ARP relativamente ao marcador. Exemplo: /ADE -0.00.

/ADN

Delta N: excentricidade horizontal Norte do ARP relativamente ao marcador. Exemplo: /ADN -0.00.

/INT

Intervalo de registo em segundos. Exemplo: /INT -30.

  • /INT deve vir antes de /OUT, /OUTX, /RNX ou /RNXX para ser tida em conta.
/TFO

Time of First Observation.

  • /TFO -2026-03-12 — se não for indicada nenhuma hora, o registo começa na primeira época disponível do dia.
  • /TFO -2026-03-12T17:18:25 (segundo inteiro)
  • /TFO -2026-03-12T17:18:25.32 (com fração de segundo)
  • /TFO -20260312171825.32 (sem separador)
  • /TFO -"2026-03-12 17:18:25" (aspas se um espaço substituir o T)
  • Se /TFO for usada em conjunto com /INT, /INT deve vir antes.
/TFO+

Insere uma linha «TIME OF FIRST OBS» no cabeçalho se essa linha estiver ausente. Sem argumento.

  • Não modifica nada se a linha já existir no ficheiro.
  • Se /TFO também estiver presente, /TFO+ deve vir depois.
/TLO

Time of Last Observation. Formatos idênticos aos de /TFO.

  • O último registo é o da última época válida que respeita a hora indicada.
  • Se /TLO for usada em conjunto com /INT ou /TFO, estas devem vir antes.
/TLO+

Insere uma linha «TIME OF LAST OBS» no cabeçalho se essa linha estiver ausente. Sem argumento.

  • Esta linha é opcional em RINEX: a sua ausência não é uma anomalia.
  • Se /TLO também estiver presente, /TLO+ deve vir depois.
/-X

Suprime todos os satélites de uma constelação (X = G, R, E, C, J, I, S…). Exemplo: /-S para suprimir os SBAS.

  • Suprime também no cabeçalho as informações relativas a essa constelação.
  • Para uma conversão de RINEX 3 ou 4 para RINEX 2 com supressão do GLONASS, inserir /-R antes de /RNX ou /RNXX.
/-Xnn

Suprime um único satélite. Exemplo: /-E11.

  • Se todos os satélites reais de uma constelação forem assim suprimidos um a um, o cabeçalho é limpo como com /-X (deteção automática).
/DMSW

Converte as coordenadas XYZ do cabeçalho em coordenadas geográficas sexagesimais, elipsoide WGS84.

  • /DMSW (sem argumento) ou /DMSW -32: separador espaço.
  • /DMSW -44: separador vírgula.
  • /DMSW -58: separador dois pontos.
  • /DMSW -59: separador ponto e vírgula.
  • O ficheiro de texto é criado na pasta «Documentos/TopoSat Rinex Editor/Data», com o nome do ponto se MARKER NAME estiver preenchido, ou o nome do ficheiro RINEX na sua falta.
/DMSG

Idêntica a /DMSW para o elipsoide GRS80.

/DDW

Idêntica a /DMSW, mas exporta em graus decimais (elipsoide WGS84).

/DDG

Idêntica a /DMSG, mas exporta em graus decimais (elipsoide GRS80).

/KML

Cria um ficheiro KML na posição XYZ.

  • Sem nome indicado, o ficheiro é criado na pasta «Documentos/TopoSat Rinex Editor/Data», com o MARKER NAME se estiver preenchido, ou o nome do ficheiro RINEX se estiver vazio.
/KMZ

Idêntica a /KML, mas produz um arquivo comprimido .kmz.

/WIP

Purga do cabeçalho as informações relativas às constelações declaradas mas não disponíveis nos dados. Sem argumento, apenas RINEX 3/4.

  • Linhas SYS / # / OBS TYPES
  • Linhas SYS / PHASE SHIFT
/?

Apresenta a ajuda sobre os comandos e sai. Sem argumento.

Nota
Os argumentos que necessitam de um espaço, como TRM57971.00 NONE, devem ser escritos entre aspas, por exemplo /TYA -"TRM57971.00 NONE". Um único comando errado bloqueia toda a linha: não é escrito nenhum ficheiro e uma mensagem indica o ficheiro de origem e a causa. Código de retorno: 0 = sucesso, 1 = erro.

A aplicação indica um código de retorno na consola:

  • 0 = sucesso
  • 1 = erro na formulação do comando
  • 2 = utilização do executável errado

12Licença de utilização

Copyright © 2026 — Bertrand Boullard

12.1Autorização de utilização

O software é fornecido gratuitamente e pode ser utilizado para fins pessoais e profissionais.

12.2Forma de distribuição

O software é distribuído exclusivamente sob a forma de código executável (binário compilado). Não recai sobre o autor qualquer obrigação de fornecer o código-fonte.

O software pode ser distribuído sob a forma de várias versões adaptadas a diferentes sistemas operativos (Windows, Linux ou outros). As presentes condições aplicam-se a todas essas versões, qualquer que seja a plataforma de destino.

12.3Distribuição

A redistribuição é autorizada, desde que:

  • o software seja distribuído gratuitamente;
  • esta licença seja incluída;
  • o nome do autor e as menções de copyright sejam conservados.

12.4Restrições

É estritamente proibido:

  • modificar, adaptar, traduzir ou criar obras derivadas do software;
  • descompilar, desmontar ou tentar extrair o código-fonte, salvo disposição legal em contrário;
  • integrar, incorporar, compilar conjuntamente, chamar através de API/biblioteca, ou incluir a totalidade ou parte do código-fonte, dos executáveis ou dos recursos deste software noutro programa, módulo, plug-in ou serviço de terceiros, sem a autorização escrita prévia e expressa do autor. Esta proibição aplica-se quer a integração seja efetuada com fins comerciais ou não comerciais.

12.5Componentes de terceiros

Este software integra o interpretador Python bem como as seguintes bibliotecas de terceiros, cada uma sujeita à sua própria licença de código aberto:

  • Python — interpretador e biblioteca padrão, incluindo o módulo tkinter (Python Software Foundation License Version 2 — PSF-2.0);
  • Tcl/Tk — biblioteca gráfica controlada pelo tkinter (Tcl/Tk License, licença do tipo BSD);
  • PyInstaller — ferramenta de empacotamento, cujo bootloader está embutido no executável (GNU General Public License versão 2 ou posterior, com a exceção «Bootloader Exception»).

O texto completo destas licenças está disponível no ficheiro THIRD-PARTY-LICENSES.txt fornecido com o software.

12.6Propriedade

O software continua a ser propriedade exclusiva do autor.

12.7Responsabilidade

O software é fornecido «tal como está», sem garantia de qualquer tipo. O autor não pode ser responsabilizado por danos decorrentes da sua utilização.

Cabe ao utilizador verificar a exatidão das conversões de coordenadas por outro meio antes de qualquer utilização, e confirmar que os ficheiros criados são compatíveis com as suas necessidades.

Ajuda

TopoSat Rinex Editor

Edição, análise e verificação de arquivos de observação RINEX 2, 3 e 4 — interface gráfica e linha de comando.

v1.06Interface gráfica + linha de comandoRINEX 2.10 → 4.02

1Aviso

O software é fornecido “no estado em que se encontra”, sem garantia de nenhum tipo. O autor não pode ser responsabilizado por danos decorrentes de seu uso.

Cabe ao usuário verificar a exatidão das conversões de coordenadas por outro meio antes de qualquer uso, e conferir se os arquivos criados são compatíveis com suas necessidades.

2Funcionalidades principais

O TopoSat Rinex Editor é um utilitário que permite editar arquivos RINEX (formatos 2, 3 e 4) para analisar as constelações presentes, os satélites e sinais utilizados, e alterar algumas informações contidas no cabeçalho. Pode ser usado com interface gráfica ou na linha de comando.

Está disponível em inglês, espanhol, francês e português (Europa e Brasil).

Seus pontos fortes são:

  • Análise do arquivo de origem e exibição resumida dessa análise.
  • Exportação com desativação de constelações, satélites ou sinais específicos.
  • Coordenadas ECEF do cabeçalho que podem ser informadas a partir de coordenadas geográficas ou projetadas (com ou sem uso de um modelo de geoide).
  • Leitura de relatórios de processamento online: IGN França, Trimble RTX, SCRS-PPP (Canadá).
  • Conversão direta das coordenadas ECEF em coordenadas geográficas ou projetadas.
  • Exibição dessas coordenadas ECEF em um visualizador KML, além de exportação KML/KMZ.
  • Conversão de um RINEX 3 ou 4 para uma versão anterior.

Ele permite também fazer as seguintes alterações:

  • Intervalo de gravação.
  • Horários de início e de fim da gravação.
  • Marker Name, Marker Number e Marker Type.
  • Observer / Agency.
  • Altura de antena.

Depois de alterar os limites de tempo, o intervalo de gravação e as constelações ou satélites utilizados, o tamanho do arquivo a exportar é estimado (valor indicativo).

Nota
A documentação completa sobre os formatos RINEX pode ser baixada em files.igs.org/pub/data/format.

3Primeiro uso

O aplicativo com interface gráfica é iniciado com o executável TopoSat_Rinex_Editor.exe. Para o uso em linha de comando, veja o capítulo “Uso na linha de comando”.

No primeiro uso, o programa cria uma subpasta “TopoSat Rinex Editor” na pasta “Documentos” do usuário do Windows. Essa pasta permite salvar:

Em uma subpasta /Config:

  • Um arquivo config.ini (idioma, tema, pastas, limites de verificação, prioridade dos canais etc.).
  • Um arquivo custom_projections.json com os parâmetros das projeções definidas pelo usuário.

Em uma subpasta /Data:

  • Diversos dados produzidos pelo programa durante o uso (arquivos de texto, KML, …).

4Seleção do arquivo de origem

As extensões aceitas são .rnx, .obs e .??o. Arquivos compactados em zip ou com Hatanaka não são aceitos.

Ao abrir o arquivo, várias informações aparecem logo abaixo do nome do arquivo: formato RINEX, número de épocas e tamanho do cabeçalho.

As alterações feitas nos valores editáveis não afetam o arquivo de origem. Elas são aplicadas somente a um novo arquivo criado pelo botão “Salvar”, no canto inferior direito da janela.

O botão “Recarregar” serve para ler novamente o arquivo de origem e reiniciar a exibição caso alterações tenham sido feitas, sem precisar procurá-lo outra vez nas pastas do computador. Esse botão fica inativo enquanto nenhuma alteração for feita.

5Seleção do arquivo de destino

O tamanho do arquivo de destino é estimado levando em conta as diversas alterações previstas. Ele é recalculado após cada alteração, ao clicar em outro valor modificável ou no botão “Atualizar”.

Alguns arquivos RINEX contêm marcadores de dados cinemáticos. Esses marcadores podem ser removidos para usar o arquivo como arquivo estático, ou para trabalhos de trajetória pura.

5.1Sem conversão RINEX

Por padrão, o arquivo de destino recebe o nome do arquivo de origem seguido de “_edited”, e a extensão do arquivo de origem.

Ele é salvo na mesma pasta do arquivo de origem. O nome e a pasta podem ser escolhidos de outra forma (botão “Modificar”).

5.2Com conversão RINEX

5.2.1Funcionamento

A conversão RINEX de um arquivo pode ser feita a partir da versão 4.02 para qualquer versão anterior válida.

No caso de uma conversão de RINEX 3 ou 4 para RINEX 2, o arquivo de destino recebe um nome formado pelos 4 primeiros caracteres do MARKER NAME, pelo número do dia do ano, pelo dígito 1 que representa o número da sessão e pela extensão do arquivo de origem. Na ausência de MARKER NAME, são usados os 4 primeiros caracteres do nome do arquivo de origem.

Ele é salvo na mesma pasta do arquivo de origem. O nome e a pasta podem ser escolhidos de outra forma (botão “Modificar”).

5.2.2Perdas de sinal ligadas à conversão para RINEX 2.nn

Atenção
Às vezes a perda de sinal é inevitável: o RINEX 2 tem apenas um espaço por frequência e por tipo de observável (um para a fase L2, um para o código C2…), enquanto o RINEX 3/4 pode receber vários canais na mesma frequência ao mesmo tempo (por exemplo L2C civil e L2W preciso simultaneamente). Se isso acontecer, apenas um canal pode ser mantido — o de maior prioridade — e o outro é perdido: é uma limitação do próprio formato RINEX 2, não do conversor.

A ordem de prioridade entre canais é definida no menu Opções / Prioridade dos canais RINEX 2….

Também pode ser alterada com um editor de texto no config.ini (Documentos/TopoSat Rinex Editor/Config/), seção [rnx_downgrade], chave channel_priority.

  • Padrão: CPWYMNSLXIQ. Essa ordem privilegia o canal mais universal e mais antigo (C) em caso de duplicidade, depois os códigos precisos (P/W/Y/M/N, historicamente os que os programas RINEX 2 esperavam), e apenas por último os canais modernizados (S/L/X/I/Q).
  • Para privilegiar, ao contrário, os canais civis modernizados (por exemplo L2C em vez de L2W): channel_priority = SLXIQCPWYMN.
  • Essa chave é lida na inicialização do aplicativo e salva ao fechá-lo, como as demais informações do config.ini. Para alterá-la e que a alteração seja considerada, é preciso fechar o aplicativo antes de editá-la manualmente. Se não estiver válida (letra ausente, canal não previsto, caractere qualquer…), ela volta automaticamente ao valor padrão. Ela é exibida no quadro “Arquivo de destino” quando a conversão para RINEX 2.nn está selecionada.

Essas letras descrevem qual canal ou código o receptor rastreou para produzir a observação. Para mais detalhes sobre o significado delas, consulte a lista dos sinais.

6Intervalo e limites de tempo

As informações exibidas vêm da análise linha por linha do arquivo, sem se basear nas linhas TIME OF FIRST/LAST OBS.

O botão “Repor” restaura o intervalo e os limites de tempo originais do arquivo. Ele não repõe a página inteira (o botão “Recarregar” do quadro à esquerda faz isso), apenas este quadro. Fica inativo enquanto nenhuma alteração for feita.

Se uma das linhas TIME OF FIRST/LAST OBS estiver ausente do cabeçalho, é possível acrescentá-la.

6.1Intervalo de gravação

É expresso em segundos. É possível alterar esse intervalo, desde que o novo valor seja um múltiplo exato do intervalo original e maior que ele (por exemplo 60 segundos quando o original era de 15 segundos).

6.2Limites de tempo

A exibição e a alteração dos horários de início e de fim da gravação aceitam:

  • O horário GPS (padrão).
  • O horário local (o do computador).
  • O de qualquer fuso UTC.

O arquivo RINEX criado mantém os horários GPS. Os horários locais ou UTC servem apenas para facilitar a digitação ou a leitura.

Os horários de FIRST e LAST OBS são sempre ajustados às épocas compatíveis: a seguinte para FIRST OBS, a anterior para LAST OBS.

7Visualização do arquivo de origem

Há três abas.

7.1Aba “Registro”

Esta aba lista as alterações sucessivas feitas no cabeçalho, em um arquivo .log criado ao salvar o arquivo modificado.

7.2Aba “Controlo de Qualidade”

Esta aba lista a quantidade de dados disponíveis no arquivo, constelação por constelação, e aponta eventuais anomalias. Essas informações também constam no arquivo .log salvo junto com o arquivo criado.

7.3Aba “Cabeçalho”

Esta aba permite ver as linhas de cabeçalho do arquivo de origem. Ela não é editável.

8Outros dados editáveis

8.1Markers e operador

  • MARKER NAME: 60 caracteres no máx. (colunas 1 a 60 da linha RINEX)
  • MARKER NUMBER: 20 caracteres no máx. (colunas 1 a 20 da linha RINEX)
  • MARKER TYPE: 20 caracteres no máx. (colunas 1 a 20 da linha RINEX) — não editável em RINEX 2.xx
  • OBSERVER: 20 caracteres no máx. (colunas 1 a 20 da linha RINEX)
  • AGENCY: 40 caracteres no máx. (colunas 21 a 60 da linha RINEX)

O número de caracteres usados / permitidos é exibido. Não é possível digitar mais caracteres do que a cota permite.

8.2Receptor / Antena

O número de caracteres usados / permitidos é exibido. Não é possível digitar mais caracteres do que a cota permite.

Não há verificação do tipo de antena quando ele é alterado, mas uma mensagem de aviso é exibida.

  • A altura de antena deve ser menor que 99,9999 m.
  • O deslocamento E/N é limitado a 50 mm.

9APPROX POSITION XYZ (coordenadas ECEF)

As coordenadas ECEF podem ser digitadas manualmente no campo editável. Uma verificação de coerência confere os limites físicos de cada componente (X, Y, Z), a distância ao centro da Terra, a altitude geodésica acima do elipsoide GRS80 e a diferença em relação à posição aproximada indicada no cabeçalho do arquivo de origem.

Elas também podem ser:

  • Digitadas como valores geográficos ou projetados.
  • Importadas de diferentes formatos.
  • Exportadas em KML/KMZ ou exibidas em um visualizador KML.
  • Convertidas em valores geográficos ou projetados.

9.1Verificação de coerência das coordenadas XYZ

São feitas as seguintes verificações:

VerificaçãoLimiteConsequência
Componente X, Y ou Z fora dos limites|X|, |Y| > a + 50 km ; |Z| > b + 50 kmAviso
Distância ao centro da Terra pequena demaisD < min_distance_mConversão bloqueada
Distância ao centro da Terra grande demaisD > a + max_margin_mConversão bloqueada
Altitude geodésica muito elevada (acima do elipsoide)HAE > 10 kmAviso
Altitude geodésica muito negativaHAE < −200 mAviso
Deslocamento em relação à posição original> 10 mAviso
  • a e b representam respectivamente o semieixo maior e o semieixo menor do elipsoide.
  • min_distance_m é a distância em metros ao centro da Terra abaixo da qual uma distância é considerada pequena demais.
  • max_margin_m é a altura elipsoidal acima da qual essa altura é considerada grande demais.
  • min_distance_m e max_margin_m são salvas no config.ini e podem ser alteradas manualmente pelo usuário.

Os avisos não são bloqueantes, mas uma informação errada pode causar problemas no processamento por um software de pós-processamento GNSS.

9.2Entrada manual de coordenadas geográficas — LLH (°)

9.2.1Formato

As coordenadas latitude / longitude / altura elipsoidal podem ser digitadas em valores decimais ou sexagesimais. Elas podem ser calculadas para os elipsoides GRS80 ou WGS84. Os formatos aceitos são:

  • Longitude:
    • 2.24981292 ou 2 14 59.3265 (valor positivo para Leste)
    • -2.24981292 ou -2 14 59.3265 (valor negativo para Oeste)
  • Latitude:
    • 48.5909138 ou 48 35 27.2895 (valor positivo para Norte)
    • -48.5909138 ou -48 35 27.2895 (valor negativo para Sul)

9.2.2Janela de entrada

9.3Entrada manual de coordenadas projetadas — NEH (m)

9.3.1Coordenadas planimétricas

Sistemas geodésicos e projeções

As coordenadas projetadas podem ser digitadas nos seguintes sistemas e projeções:

  • Projeção UTM, com escolha entre os elipsoides GRS80 (padrão) e WGS84.
    • É preciso informar o fuso UTM e o hemisfério (Norte ou Sul).
  • Projeção Transversa de Mercator.
    • É preciso informar os parâmetros da projeção.
    • Esses parâmetros podem ser salvos no arquivo custom_projections.json da pasta “Documentos / TopoSat Rinex Editor / Config”. Esse arquivo é lido automaticamente nas chamadas seguintes.
  • Cônica conforme de Lambert.
    • Funcionamento idêntico ao da projeção Transversa de Mercator.
  • Projeções da França metropolitana:
    • RGF93 / Lambert 93
    • RGF93 / Lambert zona CC
  • Projeções dos territórios franceses de ultramar:
    • Guadalupe (RGAF09 — UTM 20N)
    • Guiana Francesa (RGFG95 — UTM 22N)
    • Reunião (RGR92 — UTM 40S)
    • Martinica (RGAF09 — UTM 20N)
    • Mayotte (RGM04 — UTM 38S)
    • Nova Caledônia — Grande Terre e ilhas Lealdade (RGNC91-93 / Lambert NC)
    • Nova Caledônia — zona marítima (RGNC91-93 — UTM 57S)
    • Nova Caledônia — zona marítima (RGNC91-93 — UTM 58S)
    • Nova Caledônia — zona marítima (RGNC91-93 — UTM 59S)
    • Polinésia Francesa (RGPF — UTM 5S)
    • Polinésia Francesa (RGPF — UTM 6S)
    • Polinésia Francesa (RGPF — UTM 7S)
    • Polinésia Francesa (RGPF — UTM 8S)
  • Bélgica (ETRF2000 / Lambert 2008)
Nota
Somente os territórios mais populosos foram incluídos. O usuário pode completar essa lista, se necessário, com projeções “Transversa de Mercator” informando os parâmetros adequados: uma projeção UTM é uma projeção Transversa de Mercator com parâmetros padronizados, mas as fórmulas matemáticas são as mesmas.
Janela de entrada

A janela de entrada das coordenadas planimétricas é a seguinte:

9.3.2Componente vertical

Janela de entrada

Ela pode ser digitada em altura elipsoidal (HAE), em elevação (MSL), ou como uma altura elipsoidal mais uma constante que representa o valor da ondulação do geoide no local do ponto observado.

Para digitar uma elevação (MSL), é preciso selecionar um modelo de geoide.

  • Escolher o modelo na lista suspensa, ou
  • usar “Procurar” para selecionar um novo modelo disponível no computador. Ele pode estar na pasta que você quiser.
  • “Salvar” permite registrar o caminho do modelo no config.ini. A grade passará a ser oferecida automaticamente na lista suspensa na próxima inicialização.
  • “Excluir” remove a entrada do config.ini, mas não apaga o arquivo.
Disponibilidade das grades

Nenhuma grade é fornecida com o software. Cabe ao usuário obtê-las diretamente com os produtores de dados.

Alguns exemplos de sites para baixar grades (julho de 2026):

  • França (metrópole e ultramar): geodesie.ign.fr
  • Bélgica: cconvert.geo.be
  • Estados Unidos: geodesy.noaa.gov
  • As grades no formato Trimble .ggf estão disponíveis na pasta C:\ProgramData\Trimble\GeoData\ (instalação do Windows 11) para usuários de um software Trimble (Trimble Business Center, Trimble Coordinate System Manager etc.).
Formatos de modelos de geoide reconhecidos
ExtensãoOrigemParâmetros a informar no carregamento
.datFormato genérico, ponto por pontoSim (organização das colunas, ordenação)
.mntIGN (França)Nenhum — detectados automaticamente
.tacIGN (França)Nenhum — detectados automaticamente
.gtxNOAA / PROJNenhum — detectados automaticamente
.ggfTrimbleNenhum — detectados automaticamente
.graGRAVSOFT (DTU, Dinamarca)Nenhum — detectados automaticamente
.grdGolden Software (Surfer)Nenhum — detectados automaticamente
.dat — formato de pontos genérico

Arquivo de texto simples, uma linha por ponto (duas coordenadas e um valor de ondulação). Como esse formato não tem cabeçalho, o aplicativo pergunta como interpretá-lo no momento do carregamento:

  • Significado da primeira coluna (latitude ou longitude).
  • Ordem em que os valores estão classificados.
Exemplo: latitude na primeira coluna, longitudes crescentes com latitude fixa, depois latitudes crescentes.
48.5000000 1.0000000 43.316
48.5000000 1.0150000 43.306
...
48.5000000 6.9850000 46.685
48.5000000 7.0000000 46.724
48.5100000 1.0000000 43.318
48.5100000 1.0150000 43.308
...
52.5000000 6.9850000 40.434
52.5000000 7.0000000 40.443
.mnt e .tac — grades IGN (França)

Formato adotado pelo Instituto nacional de informação geográfica e florestal da França (IGN), usado em particular em suas grades de conversão altimétrica na França metropolitana e de ultramar (RAF, grades NTF↔RGF93 etc.). Para mais detalhes, consulte a descrição dos formatos de grades do IGN.

.gtx — formato NOAA / PROJ

Formato binário compacto, amplamente difundido pela biblioteca cartográfica PROJ e pela agência norte-americana NOAA. Para mais detalhes, consulte a documentação do GDAL.

.ggf — formato Trimble

Formato binário usado por alguns softwares topográficos da Trimble (Trimble Business Center em particular). Para mais detalhes, consulte a descrição do formato GGF.

.gra — formato GRAVSOFT

Formato de texto do software GRAVSOFT, desenvolvido pela Universidade Técnica da Dinamarca (DTU), usado em particular em algumas grades de geoide de ultramar (Reunião). Para mais detalhes, consulte o manual do GRAVSOFT.

.grd — Golden Software ASCII Grid

Formato de texto dos softwares da Golden Software (Surfer, Grapher, Voxler), identificável pela palavra-chave DSAA no início do arquivo. Para mais detalhes, consulte a documentação do Surfer.

9.4Importação

As coordenadas podem ser extraídas de várias fontes.

9.4.1Arquivo de texto

O arquivo pode conter várias linhas, mas apenas uma linha pode ser selecionada. É possível indicar o separador de lista (várias opções) ou dividir o arquivo em colunas.

Com separador: escolher o separador se a detecção automática não funcionar e depois atribuir as colunas aos campos X, Y e Z.

Com colunas fixas: clicar na linha superior e arrastar a linha de separação até o local desejado, e depois atribuir as colunas aos campos X, Y e Z.

9.4.2Relatório de processamento de rede IGN França

Esses relatórios vêm de um processamento online feito no site rgp.ign.fr.

Normalmente, após descompactar o relatório no formato .tar.gz, o nome do arquivo analisado tem a forma cr_STAT_AAMMDDi_rd.txt, em que STAT é o identificador da estação, AAMMDD a data e i o índice da sessão.

O programa procura os valores indicados no item “IV/ RESULTATS” do relatório e propõe as soluções em vários sistemas de referência (dependentes da data de medição e da localização do ponto observado).

9.4.3Relatório de processamento PPP França

Esses relatórios vêm de um processamento online feito no site rgp.ign.fr. Normalmente, após descompactar o relatório no formato .tar.gz, o arquivo analisado se chama report.txt.

O programa procura os valores finais, após a aplicação do cálculo da maré terrestre e da sobrecarga oceânica (MEAN XYZ with O_LOAD applied).

Ele propõe as soluções em vários sistemas de referência (dependentes da data de medição e da localização do ponto observado).

9.4.4Relatório de processamento Trimble RTX Positioning

Esses relatórios vêm de um processamento online feito no site trimblepositioninghub.trimble.com.

Normalmente, após descompactar o relatório no formato .zip, os arquivos analisados têm a forma Report_nnnnnnnn.xml, em que “nnnnnnnn” é um número interno da Trimble. O programa procura os valores contidos nos elementos POSITION do tipo “INTERNAL” ou “CUSTOM”, este último correspondendo à escolha do usuário. Ele propõe as soluções em dois sistemas de referência:

  • “INTERNAL” em um sistema ITRF genérico, época da medição.
  • “CUSTOM” no sistema selecionado pelo usuário.

9.4.5Relatório de processamento SCRS-PPP (Canadá)

Esses relatórios vêm de um processamento online feito no site webapp.csrs-scrs.nrcan-rncan.gc.ca. Normalmente, após descompactar o relatório no formato .zip, os arquivos analisados têm a forma arquivo.sum, em que “arquivo” é o nome do arquivo RINEX processado.

O programa procura os valores contidos nas linhas “POS X”, “POS Y” e “POS Z” do relatório, coluna “ESTIMATED”. Ele propõe uma solução única no sistema ITRF.

O site oferece várias opções de processamento:

  • NAD83 ou ITRF como sistema de referência. O valor considerado depende do sistema escolhido.
  • Estático ou cinemático. Apenas o modo estático é aproveitável: o relatório de processamento cinemático com extensão .sum não contém nenhuma posição “ESTIMATED”, e por isso o TopoSat Rinex Editor não extrai dele nenhuma posição.

É preciso clicar no resultado para usar os valores.

9.5Localizar

Ao clicar nesse botão, é criado um arquivo Marker_Name.kml na pasta “Documentos/TopoSat Rinex Editor/Data”. Esse arquivo é passado como argumento a um visualizador externo, a escolher na lista de sites on-line oferecidos ou entre os programas instalados.

O link personalizado e o programa escolhido (por “Outro programa…”) são salvos no arquivo kml_viewer.json da pasta “Documentos/TopoSat Rinex Editor/Config”.

9.6Exportar KML/KMZ

Permite criar um arquivo com a posição XYZ na pasta que você quiser. Diferentemente de “Localizar”, essa ação não abre o visualizador.

9.7Conversão em valores geográficos ou projetados

Os botões “Converter LLH” e “Converter NEH” permitem converter as coordenadas XYZ exibidas no cabeçalho em coordenadas geográficas ou projetadas.

Consulte a descrição e o funcionamento dessas janelas nos itens anteriores.

10Constelações e sinais

10.1Remoção de registros

O TopoSat Rinex Editor permite desativar:

  • Constelações inteiras, desmarcando uma constelação.
Nota
RINEX 2 histórico: em uma conversão de RINEX 3 ou 4 para RINEX 2 destinada a um software antigo que só aceita GPS, é preciso desmarcar GLONASS antes de gerar o RINEX 2 (ou retirar essa constelação do RINEX 2 criado em um processamento posterior).
  • Satélites um a um, exibindo a lista de satélites de uma determinada constelação.
  • Sinais um a um.
  • Ao marcar “Purgar constelações indisponíveis”, as linhas do cabeçalho correspondentes às constelações ausentes são removidas do cabeçalho.
  • Ao marcar “Excluir linhas aberrantes”, as linhas do corpo do arquivo correspondentes aos registros em questão não são escritas no arquivo RINEX produzido. Desmarcado por padrão.
  • O botão “Reativar tudo” reativa em bloco todos os elementos desativados (constelações inteiras, satélites individuais, sinais observados).

10.2Lista dos sinais

Código civil clássico
C
C/A (Coarse/Acquisition), o código civil histórico, presente desde o início do GPS. É o canal com suporte mais universal.
Códigos precisos / militares (criptografados ou semiacessíveis)
P
Código P direto, sem criptografia (raro hoje, pois a maioria dos sistemas criptografa esse código).
Y
Código Y, a versão criptografada do código P, rastreada diretamente — exige uma chave de descriptografia (receptores autorizados ou militares).
W
Rastreamento “semi-codeless” (Z-tracking) do código Y criptografado — técnica usada pelos receptores civis e geodésicos para acessar essas medições mesmo sem ter a chave.
M
Código M, a geração militar moderna (mais resistente a interferências).
N
Rastreamento “codeless” genérico, técnica mais antiga, com a mesma finalidade que W mas não padronizada como o Z-tracking.
Códigos civis modernizados (sinais L2C, L5, L1C — surgidos depois de 2005)
S
Componente “curta” ou de dados do sinal modernizado (por exemplo L2C(M), ou a componente de dados de L1C).
L
Componente “longa” ou piloto do sinal modernizado (por exemplo L2C(L), a componente piloto de L1C) — carrega as medições mas não os dados de navegação, sendo por isso muitas vezes mais limpa.
X
Rastreamento combinado das duas componentes S+L (ou I+Q) juntas, em um único canal.
I
Componente “em fase” (que carrega os dados) dos sinais estruturados I/Q (por exemplo L5I).
Q
Componente “em quadratura” (piloto, sem dados) dos sinais I/Q (por exemplo L5Q).
A, B
Canais específicos Galileo / BeiDou / QZSS / IRNSS (serviço público regulado, ou componentes de dados/piloto conforme o sistema).

11Uso na linha de comando

O uso na linha de comando permite alterar os arquivos RINEX com um processamento automatizado, arquivo por arquivo ou dentro de um comando batch. Isso é feito usando o executável TopoSat_Rinex_Editor_cli.exe.

A estrutura geral de uma linha de comando é a seguinte:

TopoSat_Rinex_Editor_cli.exe /IN -fichier_lu.rnx /OUT -fichier_produit.rnx /CMD -argument

Em que /CMD -argumento pode ser:

/IN

Arquivo a processar. Deve ser seguido do nome completo do arquivo.

  • /IN -C:/Data/arquivo_lido.rnx
  • /IN -"C:/Data/meu arquivo lido.rnx" (aspas se houver espaço no nome do arquivo ou no caminho)
/OUT

Nome completo do arquivo a produzir. Comando opcional: sem ele, o nome será o do arquivo lido com “_edited” acrescentado.

  • Se for usada, deve ser seguida do nome do arquivo a criar como argumento.
  • Se o arquivo a criar já existir na pasta de destino, isso gera um erro.
  • Se a pasta de destino não existir, isso gera um erro.
/OUTX

Idêntica a /OUT, mas força a substituição de um arquivo existente.

  • /OUT e /OUTX não podem estar as duas na mesma linha de comando.
/RNX

Conversão do arquivo RINEX para outro formato RINEX. A conversão só pode ser feita para uma versão anterior. Exemplo: /RNX -2.11.

  • O argumento de versão é obrigatório.
  • O argumento de nome é opcional; se estiver presente, vem obrigatoriamente depois do número da versão.
  • Se o arquivo a criar já existir na pasta de destino, isso gera um erro.
  • Se a pasta de destino não existir, isso gera um erro.
/RNXX

Idêntica a /RNX, mas força a substituição de um arquivo existente.

  • /RNX e /RNXX não podem estar as duas na mesma linha de comando.
/MNA

Marker Name. Exemplo: /MNA -CORS. Limitado a 60 caracteres.

/MNU

Marker Number. Exemplo: /MNU -18256M001. Limitado a 20 caracteres.

/MTY

Marker Type. Exemplo: /MTY -GEODETIC. Limitado a 20 caracteres, apenas RINEX 3/4.

/OBS

Observer. Exemplo: /OBS -Bertrand.

/AGE

Agency. Exemplo: /AGE -TopoSat.

/NUR

Número de série do receptor. Exemplo: /NUR -4503789.

/TYR

Tipo do receptor. Exemplo: /TYR -"TRIMBLE NETR9".

/VER

Versão do receptor. Exemplo: /VER -4.85.

/NAN

Número de série da antena. Exemplo: /NAN -231312.

/TYA

Tipo de antena. Exemplo: /TYA -TRM7991.00.

/TYAX

Tipo de antena, evitando a exibição da mensagem de aviso que sinaliza uma alteração do tipo de antena.

/XYZ

Os 3 valores X, Y, Z da posição, separados por um espaço e agrupados entre parênteses.

  • /XYZ -(3381677.0832 4910158.6366 -2258516.1187)
/ADH

Delta H: altura vertical do ponto de referência da antena (ARP) acima do marco. Exemplo: /ADH -2.000.

/ADE

Delta E: excentricidade horizontal Leste do ARP em relação ao marco. Exemplo: /ADE -0.00.

/ADN

Delta N: excentricidade horizontal Norte do ARP em relação ao marco. Exemplo: /ADN -0.00.

/INT

Intervalo de gravação em segundos. Exemplo: /INT -30.

  • /INT deve vir antes de /OUT, /OUTX, /RNX ou /RNXX para ser considerada.
/TFO

Time of First Observation.

  • /TFO -2026-03-12 — se nenhum horário for indicado, a gravação começa na primeira época disponível do dia.
  • /TFO -2026-03-12T17:18:25 (segundo inteiro)
  • /TFO -2026-03-12T17:18:25.32 (com fração de segundo)
  • /TFO -20260312171825.32 (sem separador)
  • /TFO -"2026-03-12 17:18:25" (aspas se um espaço substituir o T)
  • Se /TFO for usada junto com /INT, /INT deve vir antes.
/TFO+

Insere uma linha “TIME OF FIRST OBS” no cabeçalho se essa linha estiver ausente. Sem argumento.

  • Não altera nada se a linha já existir no arquivo.
  • Se /TFO também estiver presente, /TFO+ deve vir depois.
/TLO

Time of Last Observation. Formatos idênticos aos de /TFO.

  • O último registro é o da última época válida que respeita o horário indicado.
  • Se /TLO for usada junto com /INT ou /TFO, estas devem vir antes.
/TLO+

Insere uma linha “TIME OF LAST OBS” no cabeçalho se essa linha estiver ausente. Sem argumento.

  • Essa linha é opcional em RINEX: sua ausência não é uma anomalia.
  • Se /TLO também estiver presente, /TLO+ deve vir depois.
/-X

Remove todos os satélites de uma constelação (X = G, R, E, C, J, I, S…). Exemplo: /-S para remover os SBAS.

  • Remove também do cabeçalho as informações relativas a essa constelação.
  • Para uma conversão de RINEX 3 ou 4 para RINEX 2 com remoção do GLONASS, inserir /-R antes de /RNX ou /RNXX.
/-Xnn

Remove um único satélite. Exemplo: /-E11.

  • Se todos os satélites reais de uma constelação forem removidos assim, um a um, o cabeçalho é limpo como com /-X (detecção automática).
/DMSW

Converte as coordenadas XYZ do cabeçalho em coordenadas geográficas sexagesimais, elipsoide WGS84.

  • /DMSW (sem argumento) ou /DMSW -32: separador espaço.
  • /DMSW -44: separador vírgula.
  • /DMSW -58: separador dois-pontos.
  • /DMSW -59: separador ponto e vírgula.
  • O arquivo de texto é criado na pasta “Documentos/TopoSat Rinex Editor/Data”, com o nome do ponto se MARKER NAME estiver preenchido, ou o nome do arquivo RINEX caso contrário.
/DMSG

Idêntica a /DMSW para o elipsoide GRS80.

/DDW

Idêntica a /DMSW, mas exporta em graus decimais (elipsoide WGS84).

/DDG

Idêntica a /DMSG, mas exporta em graus decimais (elipsoide GRS80).

/KML

Cria um arquivo KML na posição XYZ.

  • Sem nome indicado, o arquivo é criado na pasta “Documentos/TopoSat Rinex Editor/Data”, com o MARKER NAME se estiver preenchido, ou o nome do arquivo RINEX se estiver vazio.
/KMZ

Idêntica a /KML, mas produz um arquivo compactado .kmz.

/WIP

Remove do cabeçalho as informações relativas às constelações declaradas mas não disponíveis nos dados. Sem argumento, apenas RINEX 3/4.

  • Linhas SYS / # / OBS TYPES
  • Linhas SYS / PHASE SHIFT
/?

Exibe a ajuda sobre os comandos e sai. Sem argumento.

Nota
Os argumentos que precisam de um espaço, como TRM57971.00 NONE, devem ser escritos entre aspas, por exemplo /TYA -"TRM57971.00 NONE". Um único comando errado bloqueia a linha inteira: nenhum arquivo é escrito e uma mensagem indica o arquivo de origem e a causa. Código de retorno: 0 = sucesso, 1 = erro.

O aplicativo indica um código de retorno no console:

  • 0 = sucesso
  • 1 = erro na formulação do comando
  • 2 = uso do executável errado

12Licença de uso

Copyright © 2026 — Bertrand Boullard

12.1Autorização de uso

O software é fornecido gratuitamente e pode ser usado para fins pessoais e profissionais.

12.2Forma de distribuição

O software é distribuído exclusivamente na forma de código executável (binário compilado). O autor não tem nenhuma obrigação de fornecer o código-fonte.

O software pode ser distribuído em várias versões adaptadas a diferentes sistemas operacionais (Windows, Linux ou outros). As presentes condições se aplicam a todas essas versões, qualquer que seja a plataforma de destino.

12.3Distribuição

A redistribuição é permitida, desde que:

  • o software seja distribuído gratuitamente;
  • esta licença seja incluída;
  • o nome do autor e os avisos de copyright sejam mantidos.

12.4Restrições

É estritamente proibido:

  • modificar, adaptar, traduzir ou criar obras derivadas do software;
  • descompilar, desmontar ou tentar extrair o código-fonte, salvo disposição legal em contrário;
  • integrar, incorporar, compilar em conjunto, chamar via API/biblioteca, ou incluir todo ou parte do código-fonte, dos executáveis ou dos recursos deste software em outro programa, módulo, plug-in ou serviço de terceiros, sem a autorização escrita prévia e expressa do autor. Essa proibição se aplica tanto se a integração for para fins comerciais como não comerciais.

12.5Componentes de terceiros

Este software integra o interpretador Python bem como as seguintes bibliotecas de terceiros, cada uma sujeita à sua própria licença de código aberto:

  • Python — interpretador e biblioteca padrão, incluindo o módulo tkinter (Python Software Foundation License Version 2 — PSF-2.0);
  • Tcl/Tk — biblioteca gráfica controlada pelo tkinter (Tcl/Tk License, licença do tipo BSD);
  • PyInstaller — ferramenta de empacotamento, cujo bootloader está embutido no executável (GNU General Public License versão 2 ou posterior, com a exceção “Bootloader Exception”).

O texto completo dessas licenças está disponível no arquivo THIRD-PARTY-LICENSES.txt fornecido com o software.

12.6Propriedade

O software continua sendo propriedade exclusiva do autor.

12.7Responsabilidade

O software é fornecido “no estado em que se encontra”, sem garantia de nenhum tipo. O autor não pode ser responsabilizado por danos decorrentes de seu uso.

Cabe ao usuário verificar a exatidão das conversões de coordenadas por outro meio antes de qualquer uso, e conferir se os arquivos criados são compatíveis com suas necessidades.