UN LOGICIEL DE CARTOGRAPHIE ASSISTEE PAR MICRO-ORDINATEUR JEAN-PAUL DONNAY, Université de Liège, Place du XX août 7, Liège, Belgique L INTRODUCTION ES LOGICIELS de cartographie assistée par ordinateur sont le plus fréquemment liés à un hardware imposant (Boyle 1980, Nagy et Wagle 1979). D'une part la masse d'informations à saisir et d'autre part le degré de finition demandé par les agences publiques, généralement à l'origine de ces recherches, imposent en effet un équipement sophistiqué tant au niveau du processeur et des capacités de mémoire qu'au niveau des périphériques graphiques. Cependant, parallèlement à cet essor de l'infographie, l'apparition et la rapide banalisation du microordinateur ont apporté un outil de travail plus à la mesure des petits centres de recherche tels nombre de services universitaires ou de bureaux d'étude privés (Toong et Gupta 1983). Moyennant un équipement minimum, cette génération de micro-ordinateurs est prête à accomplir un travail, sans doute peu en rapport avec les exigences d'une carte topographique, mais très efficace en matière de cartographie thématique. Diverses réalisations du Groupe Image de l'université de Rouen notamment sont là pour le prouver (Leduc 1979). Après s'être essayé à plusieurs appliations cartographiques s'appuyant sur un système informatique relativement puissant (Donay 1981), nous avons imaginé de réaliser un logiciel infographique intégré adapté au micro-ordinateur. Inforaphique car, à terme, ce logiciel doit être en mesure d'exploiter les routines graphiques de base à d'autres fins que la cartographie. Intégré car plusieurs programmes de traitement doivent être disponibles d'une manière transparente pour l'utilisateur et l'ensemble des opérations doit être prévu depuis la saisie de données jusqu'à la réalisation du dessin. UN SYSTEME PORTABLE ET OUVERT Dans la mesure où le logiciel est susceptible d'être utilisé dans divers environnements, il est souhaitable de le rendre indépendant de la machine sur laquelle il a été créé. De plus il est préférable qu'il présente une structure qui permette un enrichissement ultérieur éventuel. Ce sont ces deux notions que nous traduisons par portabilité et ouverture du système.
94 JEAN-PAUL DONNAY Un système portable Rendre le logiciel indépendant de l'ordinateur est en première approximation une question de langage de programmation. Le rendre indépendant des périphériques graphiques utilisés demande une structure de programme adéquate et une nouvelle définition des tâches graphiques élémentaires. En ce qui concerne le langage de programmation, et pour rencontrer une large gamme d'utilisateurs, une version du logiciel est écrite en BASIC étendu APPLESOFT - ordinateur utilisé: Apple II Plus de 48 K de mémoire centrale. Au moment de l'exécution la version interprêtée est abandonnée au profit d'une version compilée. La structure du logiciel nous a d'ailleurs amenés à utiliser les extensions de langage offertes par le compilateur TASC de Microsoft, notamment en ce qui concerne la réservation de variables communes (common). Pour atteindre une portabilité libérée du matériel Apple, une version plus riche mais non encore totalement achevée est opérationnelle en Pascal/z sous CP/M. Structure et place-mémoire y gagnent évidemment beaucoup. Les tables traçantes offertes sur le marché diffèrent par leur degré d'intelligence, en d'autres termes par leur relative richesse en routines graphiques implantées et par l'accès qui leur est accordé. La diversité est particulièrement grande dans les bas de gammes équipant les micro-ordinateurs puisque certains traceurs sont fournis sans software intégré. Pour permettre la portabilité du logiciel au niveau de ce périphérique, nous avons été amenés à créer un nouveau logiciel graphique de base, partie intégrante du logiciel général. Par ce fait, toute librairie éventuelle propre au traceur est court-circuitée. Les routines nécessaires aux applications sont ainsi fournies dans le langage et les conditions voulues. En amont du logiciel de dessin lié à la table traçante, toute une série de modules de saisie et de traitement de données a été développée. Elle constitue un base de données réduite et fait référence à un autre périphérique: le digitaliseur. Il ne nous a pas été permis jusqu'ici de confronter les divers équipements de prise de coordonnées susceptibles d'être connectés online sur une configuration micro-informatique. Dès lors, jusqu'à plus ample informé, cette partie du logiciel reste liée au type de périphérique équipant notre installation, en l'occurrence une simple tablette graphique Apple. Néanmoins les quelques instructions commandant l'enregistrement des couples (x, Y) sont confinées à une seule sous-routine aisément modifiable voire généralisable si la chose s'avère possible. Bien que cela ne soit pas imaginé comme solution alternative, signalons néanmoins que l'introduction de coordonnées peut être réalisée au départ du clavier. Un système ouvert La structure du logiciel doit permettre son enrichissement ultérieur éventuel. Dès le départ, c'est ainsi qu'il a été conçu. Chaque module de programmes ou sous-programmes du logiciel a été mis au point de façon indépendante puis inclus au système. Un structure hiérarchisée de menus permet d'activer isolément chacun des modules. Le logiciel graphique de base doit constituer une librairie de sous-routines accessibles depuis tous les modules. Néanmoins, en BASIC, une telle librairie ne peut être indépendante de son programme principal et il a fallu
LA CARTOGRAPHIE ASSISTÉE PAR MICRO-ORDINATEUR 95 adjoindre à chaque module de tracé les sous-programmes graphiques qu'il est susceptible d'utiliser. Une redondance qui augmente sensiblement la taille des modules et qui est bien sûr évitée dans la version Pascal du logiciel STRUCTURE GENERALE DU LOGICIEL Le logiciel est composé de deux ensembles de modules distincts: la base de données et le logiciel graphique proprement dit. Ce dernier est développé selon trois axes: cartographique, graphique et utilisation conversationnelle des routines graphiques de base. La base de données La première tâche de cet ensemble de modules est de constituer une banque de données géographiques dont dépendra toute application ultérieure. La technique de représentation a été déterminée sur base de trois composantes élémentaires: le noeud, la chaîne et la zone. Des relations de type hiérarchique entre ces trois éléments permettent la représentation de tout objet physique dans un plan. La technique est connue et largement discutée dans la littérature (Kobayashi 1980, Corona Burgeno 1980, Smedley et Aldred 1980). Rappelons que le noeud est un point situé au croisement d'au moins trois segments et qu'il est identifié par ses coordonnées planes. La chaîne est constituée d'une suite de segments - eux mêmes définis par les coordonnées de leurs points limites - entre deux noeuds. Elle porte également dans notre application les caractéristiques du tracé (épaisseur, continuité ou non, opérationnel ou non). La zone est définie par une suite de chaînes. La zone peut être ouverte (route) ou fermée (district) et ne comporter qu'une chaîne (zone fermée à une chaîne: île) ou plusieurs (zone ouverte à plusieurs chaînes: réseau de routes). Il va de soi que les exemples ne sont pas limitatifs. La banque de données s'appuie ainsi sur quelques fichiers élémentaires à accès aléatoire et les interconnections sont réalisées au moyen d'une série de pointeurs (Figure 1). Un effort particulier a été consenti quant aux fonctions d'édition de la banque de données. Ainsi toute introduction ou définition de donnés élémentaires est soumise à une procédure interactive de type 'full screen' et divers algorithmes de contrôle et de présentation standard ont été introduits (par exemple la présentation des chaînes constituant les zones selon le sens horaire). La structure de représentation choisie permet en outre une réalisation aisée des fonctions d'insertion, de correction ou de suppression d'informations élémentaires, notamment par le fait qu'elle interdit toute redondance de l'information. La notion de base de données suppose l'existence de procédures de traitement de la banque de données, conduisant à une utilisation plus efficace de celle-ci. En effet, si la forme sous laquelle se présente la banque de données s'avère pratique pour l'édition et la mise à jour, l'intervention de multiples pointeurs hiérarchisés lors de la phase de lecture d'un élément complet (ainsi la frontière d'une zone) est peu rentable lorsqu'elle se répète de façon continue (lors du hachurage de la zone par exemple). Le premier rôle de la base de données est dès lors de fournir des fichiers
1)6 JEAN-PAUL DONNAY FIGURE i. Banque de données: fichiers élémentaires etpointeurs. distincts sous la forme la plus indiquée à leur utilisation ultérieure (essentiellement: limite en séquentiel, réseau quadrillé de points values, fichier texte et fichier de valeurs). Il est utile de signaler que les nombreuses manipulations de fichiers susceptibles d'être réalisées par la base de données restent transparentes pour l'utilisateur sous couvert d'un nom générique d'application. Telle est en
LA CARTOGRAPHIE ASSISTEE PAR MICRO-ORDINATEUR 97 FIGURE 2. Base de données: exemple de traitement effectué sur la banque de données. tout cas l'option par défaut. En plus de la simple remise en ordre des informations, la base de données peut effectuer quelques traitements préliminaires. Les deux principaux actuellement disponibles sont la généralisation du tracé (optionnelle) lors d'une modification d'échelle et la concaténation d'éléments définis dans la banque de données (agrégation de zones en aires plus vastes de niveau hiérarchique supérieur). L'extraction de fenêtres constitue aussi une tâche importante qu'il est nécessaire d'inclure parmi les fonctions d'une base de données. Dans le cas particulier des zones fermées, l'affectation de labels et leur positionnement automatique au sein de la zone constitue une des facilités offertes par la base de données. Il s'agit en fait de créer un fichier texte particulier et de modifier les caractéristiques de la frontière de la zone pour y inclure une enclave détourant le label en question (Figure 2), Plus simplement et sans détourage, le logiciel prévoit en outre l'affectation de labels aux noeuds du graphe. Enfin les valeurs d'une variable peuvent être associées aux zones ou aux noeuds du système. Ces fichiers de valeurs représentent en fait le phénomène à cartographies Toute constitution de banque de données géographiques est longue et leur relative complexité nécessite une préparation minutieuse qui en augmente encore le coût. Malgré le peu d'attributs présents dans ce système - vis-à-vis des banques de données urbanistiques ou géologiques par exemple - son emploi requiert la
JEAN-PAUI- DONNAY consultation d'un protocole d'utilisation qui peut seul en définir toutes les possibilités et les contraintes. Le logiciel graphique Le coeur de ce logiciel est constitué d'une douzaine de sous-routines dites de base qui permettent de répondre aux spécifications des programmes plus évolués. Dans la version actuelle du logiciel, les principales routines sont les suivantes: - Initialisation d'un espace virtuel de travail; - Déplacement entre deux points par interpolation linéaire (épaisseur et continuité variables des traits); - Définition d'un jeu de 64 caractères et symboles et positionnement de texte quelconque ou hiérarchisé autour d'un point ou d'une forme; - Définition de formes d'orientation et de taille variables; - Tracé d'axes gradués, cotés et commentés. Lors de la mise en route du système, le logiciel passe par une phase d'initialisation. Celle-ci permet la lecture - ou la définition - des paramètres de configuration (caractéristiques du traceur), la définition des variables communes et, seule tâche réservée à l'utilisateur dans cette phase du travail, la définition d'un espace virtuel. Ensuite apparaît le premier aiguillage appelle Menu Général. Il peut être activé soit par la procédure d'initialisation soit par les menus de second ordre en retour d'exécution (Figure 3). Le menu général permet de choisir entre les trois manières d'utiliser le logiciel graphique, à savoir: le module conversationnel, le module cartographique et le module graphique. Rappelons que la structure en arbre adoptée permet d'utiliser successivement ces différents modules lors d'une même application. C'est précisément dans ce but qu'a été développé l'accès conversationnel aux routines de base. Le module conversationnel permet de définir d'une manière interactive les différents arguments nécessaires à l'exécution de chaque routine de base. De la sorte il est possible d'effectuer tout travail graphique selon une procédure pas-à-pas. Mais son utilité essentielle consiste à fournir un outil de finition d'un travail. Ajouter un commentaire, un cadre ou un symbole sont autant de réalisations qui peuvent être effectuées une à une en dehors ou en sus d'un programme d'application traditionnel. Les quelques graphiques illustrant ce texte sont réalisés de cette manière. Le module cartographique prévoit quatre procédures de traitement accompagnées de deux programmes de mise en page. Ceux-ci réalisent d'une part le fond de carte et les écritures et d'autre part l'habillage des cartes (échelles, direction du nord, titre, cadre, commentaires divers). Ces deux programmes peuvent être appelés isolément ou en complément d'une des quatres procédures de traitement cartographique. Ces dernières permettent le tracé de cartes choroplèthes, le positionnement de formes de tailles proportionnelles, le tracé d'isolignes et la perspective 3-D. Chacun de ces traitements a fait l'objet, antérieurement, d'un programme spécifique écrit en Fortran et installé sur une configuration plus importante. Le
LA CARTOGRAPHIE ASSISTEE PAR MICRO-ORDINATEUR 99 FIGURE 3. Structure hiérarchique du logiciel graphique. tracé d'isolignes et la perspective 3-D installés sur micro ne sont d'ailleurs que des traductions plus ou moins bien adaptées de ces programmes originaux. Toutes deux seront améliorées dans un proche avenir. Les procédures de hachurage et de positionnement de formes sont par contre entièrement revues en fonction de leur utilisation sur micro-ordinateur. La première réalise le hachurage de zones suite à la lecture de valeurs préalablement classées. Les trames utilisées sont soit pointées dans une 'banque de 24 trames' standards, soit définies en tous leurs paramètres par l'utilisateur. La même affectation de trames peut être utilisée pour hachurer des formes centrés sur les noeuds de la carte et dont la taille est proportionnelle à la valeur de la variable à cartographier. Cinq formes de base sont prévues: rectangle, triangle equilateral, hexagone, demi-cercle et cercle complet. Les formes asymétriques peuvent être orientées dans deux ou quatre directions. Lorsque la routine de hachurage est appelée, elle propose une légende reprenant les trames utilisées accompagnées de commentaires optionnels. Le tracé d'isolignes suit la technique des moyennes mobiles à deux dimensions. Le semis de points valuées constituant le fond de carte est lissée en un réseau quadrillé lors de la phase 'base de données" (voir supra). La procédure de tracé réalise l'interpolation linéaire entre les sommets du réseau carré. Les cotes des isolignes sont indiquées mais jusqu'ici aucun algorithme de lissage des courbes n'a été introduit. La procédure 3-D est liée au traitement d'isolignes. Le même réseau quadrillé sert de référence de départ et plusieurs routines sont communes. Moyennant quelques paramètres (angles de rabattement et de rotation, exagération des hauteurs,...) une vue classique de perspective axonométrique est dessinée sur traceur. Les lignes cachées n'apparaissent pas et des commentaires sont possibles (échelles spécifiques par exemple). Le module graphique constitue la dernière façon d'utiliser le logiciel. Cette dernière utilisation rassemble quelques programmes réalisant le dessin de diagrammes conventionnels. Les graphes de fonctions mathématiques demandent la definition d'un espace virtuel de travail et de la fonction à dessiner. Ils appellent
100 JEAN-PAUL UONNAY ou peuvent appeler les routines de base de tracé d'axes, de positionnement de texte et les différents types de traits. L'histogramme et le diagramme en quartiers de tarte, qui constituent les deux autres représentations graphiques implantées, peuvent en outre faire appel à la routine de hachurage et à sa légende optionnelle. D'autres diagrammes peuvent être introduits dans le logiciel sans aucune difficulté. CONCLUSION On a pu constater que le logiciel, tout en étant opérationnel, demande encore plusieurs améliorations (traitements d'isolignes et 3-D) ou compléments de fonctions (nouvelles fonctions de la base de données ou nouveaux diagrammes). En fait depuis sa création, le logiciel a connu de multiples mises à jour en fonction des demandes formulées par les utilisateurs. La structure ouverte qui lui a été conférée a toujours permis ces nouvelles implantations. Parmi les tâches qu'il est prévu de réaliser, on retiendra encore la connexion des modules graphiques et cartographiques (association de diagrammes à des éléments du fond de carte) et, à plus long terme, la traduction intégrale du logiciel en Pascal U.C.S.D. qui en permettra notamment une utilisation beaucoup plus souple sur Apple II, équipé seulement d'une carte langage supplémentaire. REFERENCES BOYLE A.R. 1980. Development in equipment and techniques: the computer in contemporary cartography (Taylor D.R.F. éd.). Progress m Contemporary Cartography, vol. i,pp. 38-57. CORONA BURGENO j. F. 1980. A geographical data base: data base techniques for pictorial applications (Blaser A. éd.). Lecture Notes m Computer Science, no. 81, pp. 347-363. DONNAY j.p. 1981. Cartographie par isarithmes. Présentation d'un programme utilisant la méthode des moyennes mobiles à deux dimensions. Bulletin de la Société Géographique de Liège, no. 16-17, pp. 7-17- KOBAYASHI I. 1980. Cartographic databases: pictorial information systems (Chang S.K. et Fu K.S. éd.). Lecture Notes in Computer Science, no. 80, pp. 322-35C. LEDUC A. 1979. Le système CARTOVEC Cahiers Géographiqus de Rouen, no. 10-n,pp. 103-133. NAGYG. et WAGLES. 1979. Geographic data processing. Computing Survey, vol. II, pp. 139-181. SMEDLEY B. et ALDRED s. 1980. Problems with geo-data: data base techniques for pictorial applications (Blaser A. éd.). Lecture Notes in Computer Science, no. 81, pp. 539-554. TOONG H.D. et GUPTA A. 1983. Les odinateurs individuels. Pour la Science (Scientific American), no. 64, pp. 46-61.