|
|
Points de passage. |
|
Accueil Journal de mission Course à pied Ski de randonnée Alpinisme Voile Ecrits Diaporamas Programmation Carnet des invités |
Accueil > Programmation > Gérance des points de passage pour déroulage. Programme de détermination des coordonnées de points de passage ("waypoints") pour déroulage des stations d'enregistrement sismique. ButGérer, par un programme unique, les points de passage à la fois pour les équipes de déroulage à l'enregistrement terrain et pour le planificateur de l'acquisition. RésuméA l'aide de l'exemple de deux lignes de récepteurs quelconques, disposées en un fichier R, j'explique comment formatter deux fichiers comprenant la position x,y des intertraces positionnés à des multiples de longueur de chapelets sur ces lignes. L'orientation de grille, le type de mission telle que 2D ou 3D n'entre pas en ligne de compte, mais que les premier et dernier points des lignes. 1 - Un exemple de déroulage à réaliserNous planifions, pour les fins de l'acquisition, positionner des stations d'enregistrements sur deux lignes de telle façon;
On remarque à l'écran la présence de 56 récepteurs, ce qui est confirmé par le fichier R associé, ici nommé "exemple.r01"; prompt$ awk '/^R/' exemple.r01 | wc -l
56
Même sans écran, on peut voir ces deux seules lignes; prompt$ awk '/^R/' exemple.r01 | cut -c1-17 | sort -u
R5245
R5255
Et nous pouvons également remarquer que ces lignes 5245 et 5255 comportent respectivement; prompt$ awk '/^R5245/' exemple.r01 | cut -c18-25 | tr -d '\012' | fold -w 64 ; echo "" 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 prompt$ awk '/^R5255/' exemple.r01 | cut -c18-25 | tr -d '\012' | fold -w 64 ; echo "" 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 32 et 24 récepteurs s'étendant aussi respectivement de 1001 à 1032 et de 1021 à 1044. Nous générons les points de passage ainsi; prompt$ waypoints.pl exemple.r01
Ce qui génère deux fichiers dont le premier; prompt$ cat exemple_cables.csv
Hnso_name,cable_line_and_num,modulo2,x,y
CAB0,C5245_0,1,681371.4,8006537.9
CAB0,C5245_0,2,681989.0,8005883.2
CAB1,C5245_1,1,681989.0,8005883.2
CAB1,C5245_1,2,682606.7,8005228.6
CAB0,C5245_2,1,682606.7,8005228.6
CAB0,C5245_2,2,683224.3,8004574.0
CAB0,C5255_0,1,682917.3,8006808.9
CAB0,C5255_0,2,682059.5,8006536.2
CAB1,C5255_1,1,682059.5,8006536.2
CAB1,C5255_1,2,681201.8,8006263.4
est un csv d'objets non-sismiques qu'il est possible, après avoir proprement défini les objets CAB0 et CAB1 sous Géoland, d'importer pour visuellement matérialiser les cables à dérouler. Par exemple, ayant défini ces objets et le format d'import;
On importe les objets non-sismiques sous l'option "Survey" de Geoland;
Et on obtient ensuite à l'écran, les cables pairs en orange et les impairs en bleu. Zoomons sur une partie de ces deux lignes. L'utilisateur habitué aura compris que les labels de l'image suivante sont rajoutés pour expliciter;
L'utilisateur expérimenté aura de suite noté une mauvaise optimisation sur la ligne 5245 puisqu'un déroulage inutile est ici demandé. Il serait sans doute ici intéressant de forcer un premier point de passage au 1000.5 (ou 1000.5 - N * 18) afin d'éviter tout déroulage inutile. Les points de passage sont par défaut posés aux multiples de 18 traces en démarrant de 936.5, soit 936.5, 954.5, 972.5, 990.5, etc... S'il est nécessaire de composer avec de nouvelles contraintes, on éditera l'en-tête du programme. Supposons par exemple que, pour l'ensemble d'une grosse mission de plusieurs lignes récepteurs; on éditera l'en-tête du programme une fois pour la durée de la mission; my $CHAPLET_LENGTH = 18; # (edit eventually) Number of traces per chaplet
my $DEFAULT_WP0_i_POSITION = 936.5; # (edit eventually) Default i position of waypoint nb 0.
my %wp0_i_position = (
# Insert here the i position for WP nb 0 for a certain line IF the default one (as defined in
# $DEFAULT_WP0_i_POSITION above) is not satisfying. This must be written in the form below;
9998 => 936.5,
9999 => 930.5
);
pour obtenir; my $CHAPLET_LENGTH = 12; # (edit eventually) Number of traces per chaplet
my $DEFAULT_WP0_i_POSITION = 1000.5; # (edit eventually) Default i position of waypoint nb 0.
my %wp0_i_position = (
# Insert here the i position for WP nb 0 for a certain line IF the default one (as defined in
# $DEFAULT_WP0_i_POSITION above) is not satisfying. This must be written in the form below;
5200 => 995.5,
5208 => 993.5
);
Outre le fichier de suffixe _cables.csv, le programme donne un _waypoints.txt. Ce dernier contient à toutes fins pratiques la même information cependant présentée de façon à pouvoir la reformatter aisément en une feuille de travail imprimable sur papier pour les pilotes de cablières. Son en-tête, puis-je espérer, dispense de plus d'explications (disons que chaque ligne-fichier décrit un cable); prompt$ cat exemple_waypoints.txt
H Lay out for exemple.r01
H Spread used for each line;
H Line : lo_trace hi_trace intertrace
H 5245 : 1001 1032 50.000
H 5255 : 1021 1044 50.003
H Line,lowp, x, y, lotr, chaplet, hitr,hiwp, x, y,
5245, 3, 681371.4, 8006537.9, 991.0, chaplet 0,1008.0, 4, 681989.0, 8005883.2
5245, 4, 681989.0, 8005883.2, 1009.0, chaplet 1,1026.0, 5, 682606.7, 8005228.6
5245, 5, 682606.7, 8005228.6, 1027.0, chaplet 2,1044.0, 6, 683224.3, 8004574.0
H Line,lowp, x, y, lotr, chaplet, hitr,hiwp, x, y,
5255, 4, 682917.3, 8006808.9, 1009.0, chaplet 0,1026.0, 5, 682059.5, 8006536.2
5255, 5, 682059.5, 8006536.2, 1027.0, chaplet 1,1044.0, 6, 681201.8, 8006263.4
Ce programme fut utilisé avec succès pour deux missions shallow 3D en Tunisie, au printemps 2007. Evidemment, son réel intérêt réside dans la possibilité de manipuler aisément, non pas deux lignes simples, telles que dans l'exemple ci-haut, mais un grand nombre de données rapidement. Ainsi, pour un prospect de 82,688 récepteurs répartis sur 196 lignes tel que suit;
Après exécution du programme, on importe ainsi les quelques 4279 sections de câbles nécessaires pour couvrir le prospect;
Remarquez que les récepteurs ici cartographiés ne sont pas théoriques, mais bien réels. 2 - LimitationsLa ligne récepteur doit être rectiligne. Le programme n'utilise en fait que les coordonnées des premier et dernier points de la ligne et joint ces points extrêmes par autant de câbles que nécessaire. Les lignes de type "snakes" ne sont par conséquent pas gérées. 3 - Licence et téléchargementLe programme est publié sous la GPL. Pour télécharger, faire un clic droit sur le lien ci-dessous, sauvegarder, décompresser, et déplacer dans un répertoire de son choix. Le fichier R du présent exemple est donné à titre d'essai. Par exemple; prompt$ tar xvzf waypoints-0.0.1.tar.gz waypoints/ waypoints/waypoints.pl waypoints/exemple.r01 prompt$ mv waypoints/waypoints.pl $HOME/bin 3 - Idées futuresParamétrer la position des point de passage 0 et longueur de chapelet en un fichier de configuration séparé de façon à mieux compartimenter et sécuriser le code. 4 - AnnexeSur le terrain. Ci-après, câblière et, à poste de cette câblière, le pilote vérifiant les coordonnées sur son récepteur NR109 ainsi que celles, sur papier, qui lui furent acheminées par le département navigation.
|
|
|
Tous droits réservés © 2003-2006 Gaétan Martineau |