Upload
vuongnhu
View
213
Download
0
Embed Size (px)
Citation preview
BUREAU DE RECHERCHES GÉOLOGIQUES ET MINIÈRES
74, rue de la Fédération - 75-PARIS-15e - Tél. 783 94-00
DIRECTION DU SERVICE GÉOLOGIQUE NATIONAL
B.P. 818 - 48-Orléans-La Source - Tél. 66-06-60
CARTOGRAPHIE AUTOMATIQUE
ÉLABORATION D'UNE CARTE DE COURBES ISOVALEURS
A L'AIDE D'UN ORDINATEUR :
LE PROGRAMME ISOVA
par
M. CAO THO-TRANG
Département de Géophysique
et de prospection géochimique
70 SGN 328 GPH OCTOBRE 1970
RESUME
Ce rapport présente une méthode d'obtention d'une carte de cour¬
bes isovaleurs depuis des données brutes à l'aide d'un ordinateur.
A partir d'un ensemble de mesures z d'un champ effectuées en des
points (x, y) répartis de façon quelconque, un modèle d'interpolation a été
élaboré en vue d'obtenir des valeurs du même champ aux sommets d'une grille
à maille carrée ou rectangulaire.
L'interpolation se fait en ajustant localement par une méthode
de moindres carrés une fonction du second degré en (x, y]. Ceci est réalisé,
sans inversion de matrice, en orthogonalisant une base de l'espace des fonc¬
tions polynômes convenablement normé. La norme choisie dérive d'un produit
scalaire fonction pondérée de la distribution locale des points expérimen¬
taux.
Le tracé des courbes z = constante s'effectue ensuite a partir
des valeurs de grille précédemment calculées. Les mailles sont examinées
les unes après les autres et les intersections des courbes à tracer avec
les côtés de chaque maille sont interpolées linéairement et jointes ensuite
par un segment de droite.
Cette méthode de cartographie automatique est utilisable notam¬
ment pour des données gravimétriques, piézométriques, éventuellement magné¬
tiques.
A l'entrée, les données (x, y, z] sont entrées en vrac sur cartes
perforées.
A la sortie, on a sur traceur la carte des courbes isovaleurs
z = constante.
Aucune intervention manuelle n'est nécessaire depuis l'entrée des
données Jusqu'à la sortie de la carte finale.
SOMMAIRE
Pages
I - INTRODUCTION1
II - PARTIE THEORIQUE
II. A. - MODELE MATHEMATIQUE 3
II.A.l - Principe d'interpolation par moindres carrés .... 3
II. A. 2 - Généralisation des polynômes orthogonaux - Métho¬
de de Gram-Schmidt 5
II.A. 3 - Remarque sur la densité et la répartition des
points de mesure 9
II. B. - PROCEDE DE CONTOURAGE10
III - PARTIE PRATIQUE
III. A. - GENERALITES13
III. B. - PREMIER MODULE : ISOV 1 (Interpolation) 14
III. C. - DEUXIEME MODULE : ISOV 2 (Edition des résultats) 17
III. D. - TROISIEME MODULE : ISOV 3 (Contourage) 18
IV - CONCLUSION23
V - BIBLIOGRAPHIE25
o
o o
INTRODUCTION
I - INTRODUCTION
Le procédé classique d'élaboration des cartes demande de longs
travaux fastidieux. Les données : positions topographiques (x, y] des points
de mesure et les valeurs z du champ qui leur sont affectées sont repérées
par rapport a une grille régulière. Le processus de report non seulement
consomme du temps, mais est assujetti souvent à des erreprs dues au facteur
humain. De même, le contourage varie suivant l'habileté du dessinateur,
d'autant plus que les points de mesure sont disposés irrégulièrement.
Nous proposons dans ce rapport un programme de calcul sur ordina¬
teur permettant d'automatiser un grand nombre d'opérations que nécessite le
procédé classique. Notamment l'interpolation à vue est remplacée par une
interpolation calculée selon un algorithme relativement simple.
La première partie du rapport présente le modèle mathématique,
ainsi que la technique de contourage des valeurs théoriques obtenues.
La deuxième partie décrit en détail le programme d'ordinateur réa¬
lisant les phases d'interpolation et de contourage. Le mode d'emploi de ce
prograrmie, baptisé ISOVA, est exposé dans CAO T. T. (5).
En annexe se trouvent la notice d'emploi de ISOVA et les documents
obtenus sur un exemple traité [listings deâ données, paramètres, résultats
des calculs et carte obtenue] .
II - PARTIE THEORIQUE
A - MODELE MATHEMATIQUE
B - PROCEDE DE CONTOURAGE
II. A. - MODELE MATHEMATIQUE
Une surface expérimentale définie par les valeurs z. = f(x., y.]111
n'est connue qu'en un nombre fini i de points N.(x, , y.], i = 1, i dis-o 1 i 1 o
posés de façon irrégulière. Il s'agit d'établir un processus de calcul per¬
mettant d'attribuer une cote théorique z à tout point Q de coordonnées a et 3.
Le modèle proposé fait appel à la méthode de moindres carrés.
Soit 0(a,B) le point où l'on désire effectuer l'interpolation. Pour négli¬
ger dans les calculs les points de mesure ri.(x.,y.!) trop éloignés de 0, on111
se limite à ceux qui sont situés à l'intérieur d'un cercle centré en Q et
de rayon R. On est ainsi amené à affecter chaque point M. d'un poids W(x.,y.)
qui est donc fonction de (x., y.] et qui est d'autant plus grand que M. est
plus proche de Q. Nous avons choisi le poids proposé par LAPORTE (2] qui
donne de bons résultats :
W[x.,y.31
r2 - d. ^ 2
T7t ou
R
d.
rayon du cercle
distance du poir
terme de lissage.
distance du point ri.Cx.,y.] au centre du cercle111
II.A.l - Principe d'interpolation par moindres carrés
Par souci de clarté et en vue des notations, rappelons d'abord
brièvement la méthode des moindres carrés.
Considérons une fonction d'interpolation du type :
F(x,y] = y A P [x, y)n=1 " ^
Les A sont des coefficients inconnus et P des polynômes quen n "^ ^ ^
nous définirons dans le paragraphe suivant. La fonction F(x, y] définit la
surface théorique que l'on doit ajuster aux données expérimentales.
Posons pour simplifier W. = W(x.,y.) et PCn,i] = P (x.,y.).1 11 nil
Soit e. = F(x.,y.!l-z. l'écart vertical du point M. à la surface F(x,y). La1 1 1 "^1 -^
méthode des moindres carrés consiste à déterminer les A de façon à mini-n
miser la somme (pondérée] des écarts quadratiques :
i i
o 2 °D = y W.e. = y W.
/. 1 1 11=1 1=1
y A P(n,i) - z.
n=1
La condition de minimalité pour chaque A,^ , K = 1 , n se traduit alors par^ K o
90
8A,.0, soit
io
i=1 ^
r n
y A P(n,i) - z.n=1 "
PCK,i) =0 ; K = 1, n
ou
io
y w.1
1 = 1
( n
y A P[n,i]A n
n=1
P(K,i] = y W.z.P(K,i) ; K = 1,n
i=1
d'où le système
(1) y Atr r
y w. P(n,i)P(K,i)r 1
y W.z.P(K,i] ; K = 1,n^11 c
Le système d '"équations normales" (1] peut se mettre sous la forme matri¬
cielle :
CI') (B) (A) = (C)
ou A = matrice colonne des coefficients A j n = 1,n_^n 0
C = matrice colonne dont le K élément est de la forme
y W.z.P(K,i)
1=1
B = matrice carrée n xn dont l'élément d'indices (n,K} s'écritG 0
i0
(2) l VI. P(n,i}P[K,i)i=1 ^
On obtient les coefficients A , n = 1,n en résolvant le système CI'). Lano
valeur théorique z au point Ota, g] est donnée par :
no
z = F (a, g) = y A P (a,e)tJ n n., n n
n=1
La résolution du système (1') nécessite l'inversion de la matrice
B, opération à éviter autant que possible. L'idée vient donc de rendre dia¬
gonale la matrice B en utilisant des polynômes orthogonaux. Les coefficients
A s'obtiennent alors simplement par :n 1-1-
io
y W.z.P(n,i]i=1 ^ ^
(3) A = ^n 1
,2y w. P
1=1
II. A. 2 - Génération des polynômes orthogonaux - Méthode de Gram-Schmidt
. Parmi les surfaces théoriques FCx,y), choisissons par commo¬
dité et parce qu'elle conduit au meilleur résultat, une quadrique du type
paraboloide, définie par une fonction du 2ème degré en (x,y). Faisons donc
ici n =6 et alors :o
6
(4] FCx.,y.} = y A P(n,i)11 A ^
n=1
. Dans l'espace vectoriel V de dimension 6 des fonctions conti-b
nues définies sur |r , prenons pour base le système linéairement indépen-
2 2dant {1, u, V, u , uV, V } = {H } ; n = 1,6. Nous noterons par H(n,l) la va-
n
leur de la fonction polynomiale H prise au point ri.(x.,y.]. Ainsi par
exemple :
HC3,i} = y., H(5,i) = x.y., H(6,i] = y^ etc..
Au moyen de la base {H }, engendrons les fonctions P de [4]n n
de la façon suivante, en posant
P, =1
^2 = S2^ ^ ^2^2
^3 = Sb^ ' ^3^2 ^ ^33^3
^6 = ^6^ ^ ^26^2^ ^ ^56^5^ ^BB^G-
Les P sont donc des polynômes combinaisons linéaires des H .n "^ -^ n
. Déterminons les coefficients C ; k = 1 ,n et n = 1 ,6 de façonKn
que les P soient orthogonaux. Pour obtenir une matrice B orthogonale, il
suffit d'annuler [2) pour n =} K, ce qui nous conduit à la condition d'ortho-
gonalité :
io
(B] l W.P[n,i]PCK,i) = 0 pour n =f K.i=1 ^
On vérifie que le premier membre de CB) définit bien un produit
scalaire dans l'espace vectoriel V Le produit scalaire de P et P, sera^ 6 n k
noté :
io
< P ,P^ > = y W.PCn,i)PCk,i)n k ^^^1
V sera muni de la normeb
1
,2,|P II = y w. P Cn,i).' n ' ' . ^. 1
1=1
. Déterminons les coefficients C, en tenant compte de CB)kn
- Pour simplifier, prenons d'abord C = 1 pour n = 1,6
- Pour calculer C , effectuons le produit scalaire < P.,»P.-, >'
< P^,P2 > = o = C^^IIPiN - ^22 ' ^'^2 =- = IIPjl ^ ^22 < P^. H^ >
IIPjsoit
'22 < P^,H2 >
et on a
P = P +2 1
1^< P^.Hj >
Déterminons P en calculant C , puis C
<^y^^> - °- \\^,\\ *o ^ ^33 ^^'^3 ^
IPjl'33 < P^,H2 >
<P2'^3> = °^ ^2311^211 * S3 ^ VS> = °
^^23 " " Ss< ^2'S >
IM
d'où l'expression de P,
^ '< f^2'S ^
33 ^2^IMI 1
^^'S^"
et ainsi de suite
- D'une façon générale, on a :
'nn < P^.H^ >et C
kn nn
< P. ,H >
C ^!^~IL- ; k < n.
IIPJI
Pour la commodité de programmation, nous utiliserons non pas
C, mais C, /, = ~ C . .kn k,n+1 n+1, n+1
< P, .H ^ >k n+1
1^
En résumé, nous avons les formules
C^^ = 1 ; n = 1,6
JPJI
nn < P^,H >1 n
C = - Ck,n+1 n+1, n + 1
< P, 'H ^ >k n+1
|p,ll
soit, en remarquant que ||P^|| = ^ W. ,
i=1
C7)
C^ = 1 ; n = 1,6In
i0
y w.1
C - ^"^nn 1
0
y W.PC1,i)HCn,i)1
1=1
i
y° W^PCk,:
C = - C ^=^ ^k,n+1 n+1, n+1 i
0
I Wi=1
L)HCn+1.
PCk,i)
i. .
i)
2
Les formules (7) définissent complètement les polynômes P
On obtient les A parn
C3)
y W.z. PCn,i)i=1 ^ ^
n 1
y w.1
1=1
PCn.i)
et la valeur z au point QCa,g) par
C8) z = FCa,e) = y A P Coi,3)A n n
n = 1
9 -
II.A. 3 - Remarque sur la densité et la répartition des points de mesure
La surface étant une quadrique et les coefficients A au nombre
de 6, il faut en principe disposer au moins de 6 points expérimentaux dans
le cercle d'interpolation dont le rayon a été fixé arbitrairement à 5 cm
Cl'échelle des données étant supposée ajustée en conséquence).
Dans les zones pauvres, strictement intérieures au domaine à car¬
tographier, nous pallions à la faible densité en convenant d'affecter au
point de grille en cause la dernière valeur z théorique trouvée avec au
moins 6 points.
Dans les zones de forte densité, le programme est prévu pour sup¬
porter jusqu'à 30 points de mesure, mais le résultat peut évidemment laisser
à désirer.
L'emploi des polynômes orthogonaux engendrés suivant la méthode
indiquée offre, outre l'absence d'inversion de matrice, d'autres avantages,
en particulier :
1) l'algorithme est facile à programmer ¡
2) il permet un gain de temps de calcul. La génération
des polygones orthogonaux est assez rapide et intro¬
duit peu d'erreurs d'arrondi ;
3) il est assez souple pour permettre l'adjonction d'au¬
tres termes polynomiaux, si l'on désire utiliser une
surface de degré supérieur.
L'introduction d'un poids qui s'annule progressivement en s 'éloi¬
gnant du point d'interpolation contrôle l'influence des points éloignés
sur celle des points plus proches et augmente en outre la rapidité de conver¬
gence du processus de génération des polynômes orthogonaux C CHAIN- BHATTA-
CHARYYA CD).
o -
- 10
B2=W
bi = H
B5 = «
>-X
II. B. - PROCEDE DE CONTOURAGE
La méthode que nous utilisons pour contourer les
valeurs théoriques z obtenues aux sommets d'un mail¬
lage rectangulaire avec le modèle précédent est très
simple : elle est basée sur l'interpolation liné¬
aire.
Soient B., i = 1,4 les valeurs z calculées aux
sommets d'une maille CFig. 1), et soit C la valeur
du contour que l'on désire tracer.
Voici les phases successives du tracé :
1) On calcule les différences D^ B.-C ; i = 1,4 dans le sens
indiqué sur la figure 1.
2) Si D. et D. sont de signe contraire, une interpolation liné¬
aire est effectuée pour déterminer les coordonnées du point d'intersection
de la courbe avec le côté de la maille.
3) Si, comme c'est le cas le plus fréquent, on trouve deux points
d'intersection E et S pour la maille, ces points sont reliés ensuite par un
segment de droite.
En cas de dégénérescence :
a) Si le nombre d'intersections trouvées est 1 ou 3,
aucun tracé n'est effectué dans la maille pour le contour en ques¬
tion. Nous pensons en effet qu'il est préférable de laisser à
l'utilisateur le soin de décider lui-même a posteriorit
b) S'il existe 4 points d'intersection, ils sont joints
2 à 2 sans se croiser. Des deux possibilités qui s'offrent, nous
avons choisi arbitrairement celle représentée par la figure 2.
4) On traite ainsi toutes les courbes pour une maille donnée avant
de passer à la maille suivante.
11
Cette technique de tracé peut évidemment servir à contourer n'im¬
porte quel échantillonnage régulier, qu'il dérive du modèle d'interpolation
précédent ou d'un autre ou soit dérivé en dehors de toute interpolation pro¬
prement dite. Elle est d'ailleurs programmée de façon indépendante comme on
le verra plus loin.
Malgré la simplicité de l'algorithme utilisé pour déterminer les
intersections des courbes avec les côtés des mailles, cette méthode apporte
fidélité et précision. Elle permet en particulier de localiser rapidement
les anomalies et les valeurs douteuses des points de grille.
Ill - PARTIE PRATIQUE
LE PROGRAMME ISOVA
A - GENERALITES
B - PREMIER MODULE : ISOV 1 (Interpolation)
C - DEUXIEME MODULE : ISOV 2 (Edition des résultats)
D - TROISIEME MODULE : ISOV 3 (Contourage)
13
III. A. - GENERALITES
L'ensemble des deux phases : interpolation et contourage est
traité par un programme d'ordinateur baptisé ISOVA Clsovaleurs) .
Ecrit en langage FORTRAN IV, il est conçu pour passer sur l'or¬
dinateur IBM 1130, 8 K équipé du traceur de courbes BENSON 121. Vu les
contraintes machine, il a été divisé en trois modules : ISOV 1 Clnterpola-
tion), ISOV 2 [Edition des résultats de calcul) et ISOV 3 C Contourage ) .
Ces trois modules sont reliés ensemble par "Linkage" : l'enchaînement d'un
module à l'autre se fait automatiquement. Il en résulte que depuis l'entrée
des données en machine jusqu'à la sortie de la carte finale, aucune inter¬
vention humaine n'est nécessaire, sauf bien entendu lorsqu'il y a interrup¬
tion due à un paramètre incompatible, auquel cas on peut entrer en mode
conversationnel avec la machine pour effectuer les corrections nécessaires.
Le lecteur est prié de consulter en Annexe la notice d'emploi
du programme ISOVA CAO T. T. C5) où lui sont fournis les rensei¬
gnements quant à la préparation des cartes perforées, le choix des options,
etc. .
o -
14
III.B. - PREMIER MODULE ; ISOV 1 (Interpolation)
- lit les paramètres et les données [x,y,z). CMaximum : 200 tri¬
plets) J
- trie les données suivant les x croissants et les consignes dans
un fichier sur disque Cfichier FITRA) ;
- contrôle la validité des paramètres j
- effectue l'interpolation aux sommets de la grille ¡
- inscrit les résultats dans un fichier sur disque Cfichier VALIN) ,
a) Après la lecture des paramètres et des données, et avant le traitement
mathématique, le programme contrôle la finesse du maillage C grille maxima¬
le 25 X 25) et prévoit le temps global d'exécution Cinterpolation + contou¬
rage) Cenviron 8 secondes par point de grille, suivant la densité des points
de mesure et tenant compte de la technique du Linkage) .
b) Schéma général du traitement mathématique :
1) Centrer le cercle d'interpolation sur le point de grille.
2) Localiser les points de mesure situés à l'intérieur du cercle
CR = 5 cm) .
3) Calculer le poids affecté à chacun d'eux.
4) Effectuer l'interpolation
- formation des polygones orthogonaux
- valeur théorique z au centre du cercle
Cvoir les sections c/ et d/ ci-après).
5) Déplacer le cercle au point de grille suivant.
Les formules C7) n'ont de sens que si les dénominateurs ne
sont pas nuls. Nous choisissons par conséquent un système
d'axes de référence Cox,oy) orthonormés, et plaçons l'origine
au point SW de sorte que J W.HCn,i) > o. Le cheminement sur
la grille se fait alors parallèlement aux axes de référence,
toujours dans le sens positif [déplacement en colonnes) du
Sud au Nord et de l'Ouest à l'Est.
15 -
c) Notations définitives pour la programmation :
Dans la partie programmation, nous adoptons pour des raisons de
commodité et de compatibilité avec le langage FORTRAN, les notations suivan¬
tes :
1) MU au lieu de i Cindice des points de mesure),
2) NPCER au lieu de i Cnombre de points de mesure dans le cercle
d'interpolation) ; donc MU = 1, NPCER.
3) POIDSCMU) au lieu de W^ [poids affecté au point M.).i '^ ^1
RO[MU) au lieu de d. [distance de M. au centre du cercle).1 1
4) ACN) au lieu de A Ccoefficients des polynômes dans la fonctionn
d'interpolation) .
5) Les tableaux U,V,W contiennent respectivement les données x,
y, z.
UCNPCER+1) et VCNPCER+1) désignent les coordonnées du centre
du cercle d'interpolation.
WCNPCER+1) =0 et ROCNPCER+1) = o
B) P(N,MU) et HCN,MU) au lieu de PCn,i) et HCn,i) ; N = 1.6.
7) P1HN, PKHN, PKHN1 désignent respectivement les produits sca-
laires < P^ .H^ >, < P^,H^ >, < P,>H^^^ >.
8) PNDRMCN) = 1 |P II ; N = 1,6.
d) Nous indiquons maintenant comment nous appliquons, dans l'ordre, les
formules C7), C3), (8), écrites en notation définitive, telles qu'on les
trouve dans les listings de programme, pour obtenir finalement la valeur
théorique ZC de z au centre du cercle d'interpolation. [Les chiffres entre
parenthèses, en fin de ligne, désignent les numéros des instructions FORTRAN
correspondantes) .
1^ I |Pj | = IpOIDS[MU) j MU=1, NPCER [304-1)
P,Cx.,y.)=1 correspond à PC1,MU)=1 C304)111
2) CC1.N)=1. J N=1,6 C303)
3) H,Cx.,yJ=1 correspond à HC1,MU) = 1. C300)111
HCN,MU)=UCMU)iKi«iîKVCMU)«*J Cvoir e/ ci-après) C3B0-1)
Par la formule précédente, on forme la base Hn
et on calcule en même temps leurs valeurs aux
points de mesure.
- 16 -
4) <P.,H > = JP0IDSCMU)9(HCN,MU) ; MU = 1, NPCER C360)
5) CCN,N) = -PN0RMC1)/P1HN C305)
6) AC1) = ^PDIDSCMU)s<WCMU)/PNORMCl) j MU=1, NPCER [370+1)
7) P[N,MU) = ^C(K.N)*P[K,MU) + C[N,N)íkHCN,MU) ; N=2,6 [360+1)
8) A(N) = J^POIDSCMU)*WCMU)s<PCN,MU)/PNORM[N) [307+1)
9) C[K,N+1) = -C[N+1,N+1)iKPKHN1/PN0RM[K) ; N=1,5 [309)
10) ZC = );A[N)*P[N, NPCER) j N = 1,6 [320)
e) Tableau de variation des diverses variables dans la formation des H
lOG
ND
NF
CI, J)
0
1
1
C0,0)
1
2
3
C1.0) C0,1) C2,0)
UV
2
4
6
C1,1) CO, 2)
- 0
17 -
III.C. - DEUXIEME MODULE : ISOV 2 (Edition des résultats)
édite
la liste des données triées par rapport à x ;
les résultats des calculs
.coordonnées des points de grille,
.la valeur z trouvée en ces points,
.le nombre de points expérimentaux qui ont servi dans
le calcul de cette valeur z ;
la liste des paramètres Coption choisie, orientation des axes,
facteur d'agrandissement, échelle de la carte départ, etc.)j
les labels d'identification du travail en cours.
prépare le travail du module suivant :
en calculant éventuellement, suivant l'option, les valeurs maxi¬
male et minimale des contours, l'intervalle entre contours ;
en contrôlant la Compatibilité du facteur d'agrandissement AGRAN
avec la largeur du papier du traceur.
Si AGRAN est trop fort, un message et communiqué, suivi d'une
halte. Pour corriger, il suffit d'entrer par clavier une nou¬
velle valeur plus petite.
- o
18 -
III.D. - TROISIEME MODULE ; ISOV 3 (Contourage)
Schéma général des opérations :
1) Valoriser les points de grille, i.e. placer en ces points les
valeurs z fournies par ISOV 1.
2) Tracer les courbes isovaleurs
a) tester si la maille contient la courbe considérée ;
b) si oui, déterminer les intersections avec les côtés
de la maille par interpolation linéaire ; aller en
c.
Si non, passer à la courbe suivante ; aller en a j
c) en cas de non dégénérescence C2 points d'intersec¬
tion) ou s'il y a 4 points d'intersection, réunir
Cconvenablement) les intersections, après définition
des points d'entrée et de sortie, en fonction de la
maille précédente.
Centrée de la maille=sortie de la maille précédente) ;
d) annoter éventuellement les courbes ;
e) passer à la maille suivante.
Le cheminement se fait comme dans ISOV 1 , lors
des calculs des valeurs aux points de grille, à la
différence près que les déplacements verticaux s'ef¬
fectuent alternativement de bas eh haut et de haut
en bas pour minimiser les mouvements à plume haute ;
f) tracer les cadres et les titres j
g) reporter les points de mesure avec leurs valeurs z
expérimentales correspondantes, en superposition sur
les courbes qui viennent d'être tracées.
Comme il a été mentionné dans la partie théorique, nous avons
conçu le module ISOV 3 indépendant des autres modules. Il peut ainsi servir
à deux fins principales :
19
1) En tant que 3ème module de la chaîne ISOVA, il peut contourer
la même grille avec des paramètres différents. L'utilisateur
pourra par exemple, après une première carte d'essai, désirer
en obtenir d'autres :
.ou en changeant le facteur d'agrandissement AGRAN,
.ou en contourant seulement une portion de la 1ère car¬
te,
.ou en changeant l'intervalle entre courbes ;
tout cela sans avoir besoin bien entendu de refaire les cal¬
culs d'interpolation.
2) En tant que programme de tracé autonome, il peut contourer
tout échantillonnage régulier, disposé en grille régulière ne
dépassant pas 25 x 25 CKX x LY).
Nous avons élaboré pour ces deux usages un programme d'appel de
ISOV 3, baptisé 'CATCH' dont on trouvera un listing en annexe et dont voici
le mode d'emploi.
Mode d'emploi du programme 'CATCH' CProgramme d'appel de ISOV 3)
Composition des cartes dans l'ordre :
Usage 1 : Contourage répété d'une grille obtenue par ISOV 1
1°) //JOB
2°) //XEQ CATCH 01
3°) *FILESC4, FITRA), C5, VALIN)
ou '<FILESC5,VALIN)
suivant que l'on désire ou non faire reporter les points de
mesure .
4°) Carte titre C format 30A2)
5°) Deux cartes paramètres
a) NTD,DX,DY, CINC, ECHEL, AGRAN Cformat I10,5F10.2)
b) IAXE,IOPT,XINF,YINF,XSUP,YSUP,CMIN,CSUP Cformat I1,3X,I1,
5X,6F10.2).
- 20
6°) Deux cartes vierges.
Remarque : ces cartes sont les mêmes que celles déjà utilisées pour lancer
le module ISOV 1, sauf évidemment qu'elles contiennent de nou¬
velles valeurs pour les paramètres cités Cvoir notice d'emploi
du programme ISOVA).
Usage 2 : Contourage d'un échantillonnage régulier, ou d'une grille obtenue
par une autre méthode d'interpolation
1°) //JOB
2°) //XEQ CATCH 01
3°) *FILES[5, VALIN)
4°) Carte titre
5°) Deux cartes paramètres :
a) On donnera seulement les valeurs de DX,DY, CINC. ECHEL, AGRAN
Cformat 10X.5F10.2).
b) On laissera en blanc IAXE.IOPT,XINF,YINF.
Les dimensions KX.LY de la grille, inférieures à 25, seront
communiquées par l'intermédiaire de XSUP et YSUP. Ces der¬
niers paramètres seront par conséquent déterminés au préa¬
lable à l'aide des formules suivantes :
XSUP CKX-1)«DX+10
;
YSUP = CLY-1)ï<DY + 10
ECHELM
100
ECHEL
100
6°) Carte avec 1 en colonne 1.
Entrée des données
Seules les valeurs z aux points de grille seront entrées. Soit
BCL,K) L=1,LY ; K.=1 ,KX, la grille à contourer CLY$25 ; KX<;25).
Dn perforera ligne par ligne, c'est-à-dire : Cfig. 3)
21 -
sur la 1ère carte C+ éventuellement une carte suite)
BC1,1), BC1.2), BC1,3), etc..
sur la 2ème carte :
BC2,1), BC2,2), BC2,3), etc..
Pour faire lire la grille B, nous CFig. 3)
utilisons un programme d'exploitation créé au Département Informatique,
nommé JULES, qui permet d'utiliser des formats "variables".
Les formats de lecture et d'impression Csur l'imprimante) de la
grille B sont, en suivant le programme JULES, indiqués sur des cartes à in¬
sérer dans le paquet des données.
Dn a donc :
7°) Carte format de lecture :
en colonne 7 : FORMAT C) COn écrira entre les pa¬
renthèses le format des cartes contenant les valeurs de grille
à contourer :
Exemple 1 : 16F5.2, si Kx = 16
Exemple 2 : 16F5.2/4F5.2, si Kx = 20
8°) Les cartes Données Cvaleurs de grille)
9°) Carte format d'impression
en colonne 7 : FORMAT C) COn écrira entre les paren¬
thèses le format d'impression voulu. Par exemple : 12X,16F6.2
pour l'exemple 1 et 20F6.2 pour l'exemple 2).
10°) Deux cartes vierges.
IV CONCLUSION
23 -
IV - CONCLUSION
Le modèle présenté a permis d'élaborer des cartes gravimétriques
et piézométriques. On pourrait l'appliquer dans certains cas aux cartes
magnétiques.
Le programme est assez souple pour permettre d'éventuelles modi¬
fications. Parmi les améliorations possibles, nous prévoyons les suivantes :
1) définir un test pour détecter les données "douteuses" avant le
traitement mathématique j
2) faire varier suivant la densité de points de mesure le rayon du
cercle d'interpolation actuellement fixé à 5 cm j
3) essayer d'autres fonctions de poids ;
4) évaluer le degré d'ajustement de la surface théorique par des
paramètres statistiques CCRAIN-BHATTACHARYYA CD) ;
5) lisser les courbes isovaleurs
.soit toujours par interpolation linéaire, mais sur des trian¬
gles à l'intérieur de chaque maille CBATCHA-REESE [3)) j
.soit en utilisant des fonctions spline par exemple.
Au stade actuel, le modèle proposé a fourni des résultats satis¬
faisants, La technique du contourage a été appliquée de façon systématique
pour constituer un atlas de cartes de champ d'un prisme [voir le rapport
de GERARD, "Interprétation de carte de champ et de gradient vertical par modè¬
le tridimensionnel").
Le lecteur intéressé pourra consulter avec profit l'article de
CRAIN [4) où il trouvera un résumé assez complet des techniques récentes de
cartographie automatique.
L'intérêt de ce travail dépasse le cadre du Département Géophysi¬
que et au cours de la mise au point des programmes au Département Informa¬
tique, celui-ci nous a prêté concours et expérience qui ont été très appré¬
ciés ,
BIBLIOGRAPHIE
- 25 -
V - BIBLIOGRAPHIE
CD CRAIN I.K. et BHATTACHARYYA B.K. - Treatment of non-equispaced two-
dimensional data with a digital computer.
Geoexploration, vol. 5, n° 4, (1967). p. 173-194.
C2) LAPORTE M. - Elaboration des cartes gravimétriques déduites de I'ano-«
malie de Bouguer à l'aide d'une calculatrice électronique.
Geophysical Prospecting, vol. 10, n° 3, C1962), pp. 238-257.
C3) BATCHA J.B. et REESE J.R, - Surface determination and contouring for
minerai exploration, extraction and processing.
Colorado School of Mines, Quart., vol, 59. (1964), p, 1-14.
(4) CRAIN I.K. - Computer interpolation and contouring of tvjo- dimensional
data : a review.
Geoexploration, vol. 8, (1970), p. 71-86,
C5) CAO THO TRANG - Cartographie automatique. Notice d'Emploi du programme
ISOVA - Rapport GPH n° 70 GPH 029,
BRGM 1970,
o
0 o
- ANNEXE A -
NOTICE D'EMPLOI DU PROGRAMME
ISOVA
I - INTRODUCTION
Le programme de cartographie automatique ISOVA se compose de
3 modules : ISOVl , IS0V2 , ISOV3.
l) - ISOVl : - lit les données (x, y, z)
- les trie suivant les x croissants
- calcule à partir des données les valeurs z aux points
d'une grille régulière.
2 ) - ISOV2 : édite :
- la liste des données
- les résultats des calculs
- la liste des paramètres utilisés
3) - IS0V3 : trace les courbes isovaleurs à partir des valeurs interpolées
aux points de grille.
Ces 3 modules sont reliés par la technique du "Linkage". Il
suffit pour démarrer d'appeler ISOVl .
II - PREPARATION DES CARTES
l) - Cartes de contrôle : (dans l'ordre)
// JOB
// XEQ ISOVl 01
Z -16
* FILES (4, FITRA), (5, VALIN)
- 2
2 ) - Carte Titre : Format (30A2)
Colonnes
1 - 20
21 - 40
41 - 60
Variables
LAB 1
LAB 2
LAB 3
Signification
1er titre
2 e titre
3 e titre
Exemple
CARTE PIEZOMETRIQUE
SAHARA * NORD
ECH = 1/100 000
Ces titres seront imprimés :
a) sur le listing des résultats
b) comme légende finale de la carte à tracer
N.B. - Il est recommandé de bien cadrer chacun des titres à l'intérieur des
zones.
3) - Cartes Paramètres
a) 1ère carte paramètre : Format (110, 5F10.2)
Colonnes
1 - 10
11-20
21 - 30
31 - 40
41 - 50
51 - 60
Variables
NTD
DX
DY
CINC
ECHEL
AGRAN
Signification
Nombre total des données (^ 200)
Dimension de la maille, directior> ox >(en cm)
Dimension maille, direction oy (en cm)
Intervalle (ou pas) des courbes à tracer
Echelle de la carte (Ex. l/l 00 000
perforer 100. - 1/5 000 perforer 5. )
Facteur d'agrandissement (longueur
unitaire sur le traceur, en cm)
Exemple
87
1.
1.
10.
100.
2.
- 3 -
b) 2e carte paramètre : Format (II, 3X, II, 5X, 6F10.2)
Colonnes
1
5
11-20
21 - 30
31 - 40
41 - 50
51 - 60
61 - 70
Variables
lAXE
lOPT
XI NF
YINF
XSUP
YSUP
CMIN
CSUP
Signification
Indique l'orientation des axes (cf. fig. l)
Indique l'option choisie (= 1 , ou 2, ou 3, ou 4)
(cf. tab. 1)
Valeur minimale des x (en cm)
Valeur minimale des y (en cm)
Valeur maximale des x (en cm )
Valeur maximale des y (en cm )
Valeur minimale des courbes
Valeur maximale des courbes
Ces 6 variables
sont ou ne sont
pas perforées
selon l'option
choisie
(cf. tab. 1)
Exemple
2
4
1.75
0.
27.70
18.70
30.00
150.00
y I
lAXE = 1
^^->- X
V-HX
lAXE = 2
Fig. 1
lOPT
1
2
3
4
XINF, YINF, XSUP, YSUP
inconnus
inconnus
connus
connus
CMIN, CSUP
inconnus
connus
inconnus
connus
Tab. 1
N.B. Il est recommandé de travailler autant que possible en option 4 qui
donne généralement le meilleur résultat.
4) - Cartes données : Format (3F10.2), en nombre inférieur ou égal à
200 (version actuelle) - Un triplet (x, y, z) parearte.
Colonnes
1 - 10
11 - 20
21 - 30
Variables
X
Y
Z
Signification
Coordonnées géogra¬
phiques du point de
mesure
Valeur de la fonction
z = f (x,y) étudiée
(champ gravi, piézo, . .)
Exemple
1.75
7.10
147.00
5) - Deux cartes vierges
III - SCHEMA GENERAL
Cartes vierges
( Carte paramètre 2
r Carte paramètre 1
{Carte titre
/* FILES ( 4 , FITRA ) , ( 5 , VALlÑj.1^// XEQ ISOVl 01
- 5 -
IV - REMARQUES DIVERSES
1 ) - Report des mesures
En fin d'exécution du dernier module (IS0V3, Tracé des
courbes isovaleurs), après l'écriture des titres, l'ordinateur reporte sur
la carte qui vient d'être tracée les points de mesure avec les valeurs z
mesurées en ces points. Seuls sont reportés les points qui se trouvent à
l'intérieur du domaine contenant les courbes.
Si l'on désire, il est possible, pendant les essais, de faire
arrêter manuellement l'ordinateur et supprimer ainsi la partie "Report des
mesures" .
2) - Contraintes
a) En entrée :
- le nombre des données (x, y, z) ne doit pas dépasser 200;
- le résultat est d'autant meilleur que les données sont
suffisamment abondantes et réparties de façon homogène. En règle géné¬
rale, il faut, sur la carte départ, au moins 5 points données dans tout
cercle de rayon 5 cm . Si cette règle (nombre et répartition des données)
n'est pas satisfaite, le programme tournera quand même, mais le résultat
est laissé à l'appréciation de l'utilisateur.
b) En sqrtie^ :
On est limité à la fois par la largeur du papier du traceur et
par le nombre maximum des points de grille à calculer.
- La largeur utilisable du Traceur Benson, Modèle 121, étant
de 70 cm, le nombre des points de grille dans la direction oy (LY) et le
facteur d'agrandissement (AGRAN) doivent obéir à l'inégalité :
LY X AGRAN < 70. L'ordinateur enverra un message sur le console si
- 6
cette condition n'est pas respectée. Pour modifier, il suffira alors d'entrer
par clavier une nouvelle valeur de AGRAN plus petite.
- Avec la version actuelle, les nombres maximaux des points
de grille sont limités à 27 dans la direction oy et à 20 dans la direction ox.
Si le maillage est trop fin, un message sera communiqué avant tout calcul.
Le remède sera d'augmenter les dimensions DX et DY des mailles, l'une ou
les deux à la fois.
3 ) - Performances
Le temps total d'exécution est lié beaucoup plus au maillage
qu'à d'autres paramètres. D'après nos propres essais, toute la chaîne
exige 2 à 3 secondes par point de grille. Evidemment, on pourrait améliorer
les performances après examen des résultats du premier essai (listing et
carte sortie), en travaillant en option 4 (fournir les paramètres XINF,
YINF, XSUP, YSUP, CMIN, CSUP) et en choisissant au mieux DX, DY,
AGRAN.
En_annexe_ :
- 1 carte exemple
- listing correspondant
ANNEXE B -
Un exemple
CARTE PIEZOMETRIQUE DU SAHARA NORD
(partie)
t j
' • y í
._L
CAKTE PIEZOMETRIQUE SAHARA * NCRD ECHEL = 1/100.000
* » * » «
NOMD^E TOTAL DES DONNEES
VALEUR MINI DES X
VALEUR MAXI CES X
VALEUR MINI DES Y
VALEUR MAXI DES Y
VALEUR MINI DES COURBES
VALEUR MAXI DES COURBES
INTERVALLE DES COURBES
CIMENS DE LA MAILLE EN X
DIMENS DE LA MAILLE EN Y
NOMBRE DE COLONNES
NOMBRE ÜE LIGNES
AGRANDISSEMENT
NTD
XINF
XSUP
YINF
YSUP
CMIN
CSUP
CINC
DX
DY
KX
LY
AGRAN
=
=
=
=
=
=
=
=
=
=
=
=
87
1.75
27.70
0.00
18.70
30.00
150.00
10.00
1.00
1.00
16
9
1.00
CARTE PIEZOMETRIwUE SAHARA * NORD
DONNEES
(TRIEES EN X)
ECHEL = 1/100.000
Y
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2P
29
30
31
32
33
34
35
36
37
3«
39
40
41
42
43
44
45
46
47
4P
^9
1.75
1.75
1.80
1.80
2.00
2.20
2.25
2.70
3.00
4.25
4.90
5.05
5.75
6. 10
7.00
7.05
7.20
8.00
8.30
8.65
9.00
9.00
9.40
9.50
9.70
10.20
10.40
10.90
11.05
11.30
11.50
11.70
11.70
12.30
12.50
13.55
13.65
14.40
15.20
15.45
15.75
16.10
16.10
16. 10
16.50
16.60
16.90
17.00 ,
17.25
7.10
9.75
6.2 0
8.30
11. 75
4.6 5
5.30
4.80
11.90
8.95
4.70
10.15
9.20
11.00
9. 30
16.35
5.80
9.45
12.90
9.50
7.75
12.90
13.40
0.70
9.40
0.75
9.75
11.50-
6.70
12.10
7.00
13.60
16.65
2.0Û
3.30
8.05
9. 50
8.70
6.20
8.90
6.25
4.30
13.85
15.40
O.OJ
10.30
6.00
9.65
1.05
147.00
54.00
160.00
117.00
95.00
190.00
175.00
208.00
59.00
35.00
293.00
35.00
14.00
45.00
24.00
64.06
157.00
30.00
73.00
40.00
72.50
76.00
80.00
550.00
50.00
434.00
61.00
106.00
103.00
106.00
105.00
106.00
100.00
300.00
198.40
86.00
102.00
108.50
116.00
112.00
122.00
145.80
108.00
109.00
223.00
112.00
131.60
117.00
226.00
50
51
5 2
5 3
54
55
56
57
58
5 9
60
61
62
6 3
6 4
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
8 2
83
8 4
85
86
8 7
17.30
17.30
17.75
17.90
17.90
18.25
18.30
18.60
18.60
19.20
19.20
19.20
19.60
19.80
19. 90
19.90
20.20
20.20
21.00
21.40
21.90
22.20
22.40
22.50
22.90
23. 10
23.30
23.40
23.50
24.00
24.60
24.70
24.05
25.90
26.20
27.00
27.50
27.70
6.00
8.50
16.80
9.00
1 2 . 8 'j
18.70
9.2 5
9.35
9.90
4.35
9.60
17.20
14.40
4.90
2.90
9.00
2.90
14.10
14.10
11.20
11.10
15.20
15.70
8.50
7.90
11.90
11.40
13.40
9.60
12.10
7.20
11.80
1.75
11.30
15.30
13.00
12.00
11.20
135.00
12 7.00
116.00
12 0.50
121.00
110.80
12 5.00
128.00
126.00
152.00
131.00
119.00
127.00
146.00
185.00
140.00
187.00
122.00
128.00
133.50
135.50
13 8.00
136.00
145.00
147.60
146.40
145.00
147.00
150.00
146.50
154.70
154.56
168.75
159.00
152.00
162.00
165.00
167.60
VALEURS CALCULEES
AUX POINTS DE GRILLE
CALCULEE NB CE PCINTS UTILISES
1
2
3
4
5
6
7
P
9
263. C8
104.04
70.21
33.11
14.38
27. 17
44.89
53.61
62.08
12
13
15
16
17
17
17
16
13
2
2
2
2
2
2
2
2
2
1
2
3
4
5
6
7
8
9
270.01
155.02
8 P . 2 2
42.30
25.28
26.34
43.69
58.59
68.36
14
13
15
14
18
17
16
18
17
3
3
3
3
3
3
3
3
3
1
2
3
4
5
6
7
8
9
196.82
135.00
95.00
57.99
34.06
30.95
44.07
64.14
72.38
13
12
14
16
18
18
16
17
15
4
4
4
4
4
4
4
4
4
178.95
124.23
93.33
65.98
46.96
42.38
57.39
73.48
76.4 5
14
13
14
18
19
20
18
16
15
5
5
5
5
5
5
5
5
5
1
2
3
4
5
6
7
8
9
161.33
118.30
92.89
71.63
56.06
55.39
84.74
96.01
85.86
13
12
15
16
20
19
19
15
14
6
6
6
6
6
6
6
6
6
1
2
3
4
5
6
7
8
9
150.31
116.36
99.42
84.07
68.22
72.11
102.25
107.07
102.39
13
15
17
17
19
18
19
16
12
128.13 15
7
7
7
7
7
7
7
7
2
3
4
5
6
7
8
9
123.77
108.30
86,
78,
PR,
106,
110,
109,
22
16
83
99
ñ&
11
17
17
16
18
19
19
17
14
8
8
8
8
8
8
8
8
8
1
2
3
4
5
6
7
8
9
122.26
115.00
94.41
81.11
86,
100,
106,
07
25
9 8
118.26
113.48
14
17
19
21
20
21
18
17
16
9
9
9
9
9
9
9
9
9
1
2
3
4
5
6
7
8
9
130,
113,
96,
93,
104,
106,
29
78
85
09
08
06
109.83
107.66
102.72
14
16
19
23
21
23
21
15
14
10
10
10
10
10
10
10
10
10
1
2
3
4
5
6
7
8
9
132.60
116.33
109.12
109.31
110.23
109.59
106.22
103.09
103.37
18
21
21
19
24
22
20
18
17
1
2
3
4
5
6
7
8
9
135.37
125.93
120,
119,
115,
110,
106,
106,
55
39
12
54
76
33
107.44
20
22
20
20
20
19
19
18
17
12
12
12
1
2
3
142.32
132.57
128.23
20
23
20
12
12
12
12
12
12
4
5
6
7
8
9
127.83
121.39
115,
113,
114,
115.
63
04
53
28
21
22
20
21
21
20
13
13
13
13
13
13
13
13
13
1
2
3
4
5
6
7
8
9
144.60
137.56
134.64
131.48
121.33
121.32
120.46
122.13
122.77
19
20
22
24
22
23
20
20
21
14
14
14
14
14
14
14
14
14
1
2
3
4
5
6
7
8
9
142.61
135.50
137.06
136.22
132.20
128,
125,
125,
124,
25
24
47
46
19
21
23
24
24
26
22
24
24
15
15
15
15
15
15
15
15
15
1
2
3
4
5
6
7
8
9
145,
134,
139,
144,
140,
07
96
64
59
49
133.83
128.58
123.99
120.34
18
19
23
22
22
23
25
25
26
16
16
16
16
16
16
16
16
16
1
2
3
4
5
6
7
R
9
150.49
139.02
144.01
146.05
143.71
136.49
131.88
130.06
127.42
13
17
21
20
22
23
25
24
21
- ANNEXE C -
COMPARAISON ENTRE LE CONTOURAGE
AUTOMATIQUE
ET
LE CONTOURAGE MANUEL
Qöntourage atitOTi»tiqxr5> AA" r EXEMPLE DE
é
• f ' -M