Professional Documents
Culture Documents
XVIII-5 Modification de la smiologie dune table DBMS ..........................................................................58 XVIII-6 Requtes SQL sur tables distantes...................................................................................................58 XVIII-7 Cartographier une table sans gomtrie .........................................................................................59
XVIII-7.1 Prparation sous Access:.............................................................................................................................................................................59 XVIII-7.2 Cration dune table MapInfo sans gomtrie mais avec attributs X et Y:..................................................................................................59 XVIII-7.3 Tlchargement de la table Map Info dans Access avec EasyLoader.mbx:.................................................................................................60 XVIII-7.4 Cartographier la table distante ....................................................................................................................................................................60
Les noms de produits et de socits apparaissant dans ce document sont des marques dposes de leurs propritaires respectifs.
P.Barbier
49
ENSG/ Cersig
XVII -
MapInfo autorise et facilite laccs et la manipulation de donnes situes dans des bases distantes grce ses supports de connections ODBC et Oracle Spatial Object. Map Info supporte Oracle Spatial qui permet de stocker la fois des objets spatiaux et des informations attributaires dans la mme base. Accder des bases distantes impliques quelques conditions pralables, car MI ninstalle pas le systme SGBD choisi ( Oracle, Access..) ni son gestionnaire de rseau. En revanche Map Info installe le gestionnaire OBDC de Microsoft et le support OBBC MapInfo Professional. Une fois linstallation de Map Info complte par ces lments il est possible de personnaliser ses sources de donnes dans ladministrateur DBMS sans avoir retourner dans le support dinstallation de MI
P.Barbier
50
ENSG/ Cersig
Le support DBMS copie les pilotes sur le disque. Ceux ci peuvent tre installs, soit la suite, soit au cas par cas.
Il faut choisir les pilotes utiliser avec MapInfo en les cochant. Ds lors, il sera possible de crer des sources de donnes
Linstallation du support DBMS provoque laffichage dun menu flottant supplmentaire louverture de Map Info. Ce menu vous permettra de travailler avec des tables distantes.
P.Barbier
51
ENSG/ Cersig
Comme nous ne sommes actuellement connects aucun serveur de donnes le bouton Choix des Tables est inactif.
Le choix de connexion OBDC ouvre la fentre de slection de la source de donnes. Mais celle ci nexiste pas encore ! Il faut donc choisir le bouton Nouveau !
A partir de l il faut choisir le pilote ncessaire Microsoft Access dans notre cas.
On va alors choisir le niveau de rpertoire et le nom de la source de donnes crer dans la fentre Crer une nouvelle source de donnes . On choisit le rpertoire cible de la cration par le bouton Parcourir On saisit lors le nom du fichier Source de Donnes (.dsn) dans la fentre Enregistrer sous Lexprience montre que Map Info prouve plus de difficults se connecter sur des tables situes dans des rpertoires dots de noms complets possdant des espaces, des points et des lettres accentues. Le bouton Enregistrer permet de fermer la fentre et fait remonter le choix du rpertoire et du nom de fichier dsn dans la fentre Crer une nouvelle source de donnes . En cliquant sur Terminer on achve cette tape.
P.Barbier
52
ENSG/ Cersig
Aucune base Access ntant cre on ne peut pas encore utiliser le bouton Slectionner.. . Si on choisit cette option on saperoit quune base Access nexiste dans le rpertoire spcifi ! Il faut donc la crer.. par le bouton Crer. Nota : Une base de donnes cre de cette faon ne fonctionnera qu'avec Microsoft Access 7.0 et ultrieur.
A cette tape, il faut choisir le rpertoire et le nom de la base Access[qui peut tre diffrent du nom de la table Map Info] Cliquer sur le bouton Ok cre la base de donnes Access, dans le rpertoire spcifi.
Ltape suivante qui va consister lier la base Access au Data Source Name.
On a maintenant une base Access nomme EcolesSaintMaur.mdb qui est lie Map Info via le DSN [Data Source Name] SourceDonnesEcoleSM.dsn. Pour information le contenu de SourceDonnesEcoleSM.dsn est le suivant :
[ODBC] DRIVER=Microsoft Access Driver (*.mdb) UID=admin UserCommitSync=Yes Threads=3 SafeTransactions=0 PageTimeout=5 MaxScanRows=8 MaxBufferSize=2048 FIL=MS Access
P.Barbier
53
ENSG/ Cersig
DriverId=25 DefaultDir=D:\MIACCESSCONNECT DBQ=D:\MIACCESSCONNECT\EcolesSaintMaur.mdb
Le contenu affich du menu principal dEasy Loader change alors comme indiqu ci dessous. Il est possible de choisir la table Map Info associe la source de donnes, par le bouton Choix des Tables . On peut alors lancer lopration dUpload.. cest dire de chargement de la base Access avec les attributs de la table Map Info ainsi que la remonte des coordonnes des points. On rappelle quune table Access ne peut piloter que des objets ponctuels ! Si la table exporte nest pas une table de point ce sont les coordonnes des centrodes qui sont exportes et ensuite cartographies Si tout se passe bien on obtient ce message :
Si on ouvre la base Access on obtient le rsultat suivant : Nous constatons que notre base est constitue de 2 tables. Une table gnrique : MAPINFO_MAPCATALOG Une table Map Info Source : SAINTMAURECOLESPOINT
MAPINFO_MAPCATALOG contient les mta donnes pour assurer la relation entre Map Info et Access. Cette table est aussi appele catalogue de carte elle aura autant de ligne que de tables seront cartographies dans la base Access.
SAINTMAURECOLESPOINT contient les informations attributaires de la table Map Info source plus des informations spcifiques comme les coordonnes X et Y
A Faire !
-Chargez la table SaintMaurEcolesPoint.TAB ( ou nimporte quelle table Map Info de donnes gomtriques ponctuelles) via EasyLoader dans Access.
P.Barbier
54
ENSG/ Cersig Nous nous apercevons que notre table comporte 21 enregistrements.
Slectionner ensuite le DSN cr pralablement pour accder directement la source de donnes associe, via longlet Source de donnes de fichier.
est
maintenant
2) Slection ventuelle des colonnes extraire et slection ventuelle des enregistrements par requte SQL 3)Choix de lendroit o le fichier .tab spcifique va tre cr. Par dfaut le .TAB sera cr dans lemplacement spcifi dans le menu Affichage> Prfrences> Rpertoires > (rubrique Tables Distantes) 4)Choisir entre table lie et accs direct aux donnes travers un cache. Dans le choix table lie ; la table est duplique sur le poste client et reste exploitable avec un poste dconnect du rseau. Dans le cas Accs direct, un fichier .TAB cach aux utilisateurs est cr, et les donnes stockes dans un bloc MetaData ( voir VII .3.2) Une fois valide par le bouton Ok cette configuration permet au menu DBMS flottant devient entirement actif.
P.Barbier
55
ENSG/ Cersig
A Faire !
-Crez un DSN pour la table prcdemment cre sous Access. Noubliez pas de prciser lemplacement du . TAB crer
Sinon ce sont seulement les donnes attributaires qui saffichent. Le nouveau fichier . TAB inclut un bloc metadata qui garde trace des relations de construction de la table (nom et emplacement du DSN ainsi que de la base Access): Il est noter que le fichier . Tab origine nest pas modifi.
!table !version 400 !charset WindowsLatin1 Definition Table Type LINKED Charset "WindowsLatin1" Fields 4 Type Char (12) ; Nature Char (28) ; Toponyme Char (70) ; MI_SQL_REC_NUM Integer ; begin_metadata "\DATALINK" = "" "\DATALINK\ConnectionString" = "DBQ=D:\MiAccessConnect\EcolesSaintMaur.mdb;DefaultDir=D:\MiAccessConnect;Driver={Microsoft Access Driver (*.mdb)};DriverId=25;FIL=MS Access;FILEDSN=D:\MiAccessConnect\SourceDonneesEcolesSM.dsn;MaxBufferSize=2048;MaxScanRows=8;PageTimeou t" "\DATALINK\ConnectionString\+1" = "=5;SafeTransactions=0;Threads=3;UID=admin;UserCommitSync=Yes" "\DATALINK\Query" = "select `Type`, `Nature`, `Toponyme`, `MI_SYMBOLOGY`, `MI_SQL_REC_NUM`, `OBJECT` from `D:\MiAccessConnect\EcolesSaintMaur`.`SAINTMAURECOLESPOINT`" "\IsReadOnly" = "FALSE" end_metadata
P.Barbier
56
ENSG/ Cersig
Lenregistrement de cette modification dans la table Access ne suffit pas faire remonter la modification dans Map Info. Il faut refermer la table. Une modification dune table Access ouverte dans Map Info ne produit pas deffet immdiat, mais, aprs enregistrement et fermeture de la table Access si le bouton Rafrachir Table DBMS du menu flottant DBMS est utilis alors la modification est visible.
En revanche si on souhaite enregistrer la table dans MapInfo, le logiciel demandera si lon souhaite mettre jour la table lie distante par le menu suivant : Dans laffirmative la modification remonte la table Access lie :
P.Barbier
57
ENSG/ Cersig En rsum si une modification dune table lie est effectue sous Access, la prise en compte dans Map Info se fait par Rafrachir . Si la modification est faite sous MapInfo, il y a dtection du conflit et le choix de mise jour est fait la fermeture.
A Faire !
-Ralisez quelques modifications attributaires et gomtriques sur vos tables.
A Faire !
-Modifiez la smiologie de la table SaintMaurEcolesPoint.TAB .
Pour construire une requte SQL avec cette interface il faut cliquer sur Slection SQL qui fait apparatre la fentre de saisie de la requte nomme Slection SQL DataLink .( voir ci dessous :)
Lutilisation de la fentre Slection SQL DataLink ressemble au requteur standard Map Info mais procde dune ergonomie diffrente. On remarquera que les zones de saisie des rubriques Colonnes, Tables Critres etc.. sont prcdes dune case cocher. Toute saisie se fera sous la rubrique qui a la case cocher coche. Certaines erreurs de manipulations interviennent ce niveau. Pour choisir la table de slection on clique sur le bouton Tables qui ouvre le menu de gauche, permettant de choisir la table requter ainsi que davoir comme montr dans lcran de droite ci dessus, une description du modle de la table.
P.Barbier
58
ENSG/ Cersig Aprs avoir choisi la table, les colonnes extraire et le critre de slection comme ci dessous on lance la requte par Ok . Loption daccs permet de Charger le rsultat. Si la requte est rutiliser on peut lenregistrer avec le bouton Chargement dans un fichier xxxx.sql
A Faire !
-Trouvez les toponymes de la table SaintMaurEcolesPoint.TAB dont le nom commence, par exemple, par la lettre H .
A Faire !
-Crez sous Access une table Maternelle comportant une demi-douzaine denregistrements et portant deux informations. Identifiant dcole Nombre denfants Fermez toutes vos connexions DBMS.. et r-ouvrez la table SaintMaurEcolesPoint.TAB Vous obtenez sous Map Info une table sans gomtrie comme illustr droite, car la table Access Maternelle nest pas cartographique :
XVIII-7.2 Cration dune table MapInfo sans gomtrie mais avec attributs X et Y:
A Faire !
-Enregistrez la table Maternelle sous MapInfo en MaternelleXY comportant deux informations supplmentaires les champs X et Y des coordonnes des coles. Pour raliser cette opration, sous MapInfo vous vous aidez de le table SaintMaurEcolesPoint, et vous procdez par la fonction Mise jour de colonnes Nota : Pensez taper linstruction suivante : set coordsys table Saintmaurecolespoint dans la fentre MapBasic si vous voulez faire remonter des coordonnes dans le systme cartographique de SaintMaurEcolesPoint.tab
P.Barbier
59
ENSG/ Cersig La mise jour de colonne se fait comme indiqu dans la capture dcran :
A cet instant nous disposons sous Access dune table dcoles maternelles sans gomtrie et sans attributs X et Y et dans Map Info une table Maternelle nomme MaternelleXY sans gomtrie mais avec attributs X et Y
Quand tout est paramtr le bouton Uploader permet de raliser laction. Nous avons maintenant sous Access une table nomme MaternelleXY qui porte des attributs X et Y mais qui nest pas cartographie ; Pour preuve.. la table MAPINFO_MAPCATALOG ne comporte toujours quune seule ligne.
Les choix illustrs ci contre sont proposs : Chois des champs portant les valeurs X et Y Projection dans laquelle sont exprimes ces valeurs Symbolisation associer la gomtrie. La table MAPINFO_MAPCATALOG saugmente dune nouvelle ligne pour porter les informations de cette table.
On obtient ensuite louverture de la table le rsultat graphique de la table MaternelleXY avec les symboles choisis ltape prcdente ( agrments ici en tiquette du nombre denfants de chaque cole.)
P.Barbier
60
ENSG/ Cersig Dans le cas dune table cache, il y a cration dun .tab mais celui ci ne comporte que la rfrence la base Access associe. Les tableaux suivants font ressortir les diffrences entre les 2 solutions :
XVIII-8.1 Analyse thmatique avec jointure : comparaison table lie- table cache :
Table cache + pas de duplication de .DAT - index numrique ncessaire - pas de rafrachissement Table lie - cration dun .DAT + index pas ncessaire + rafrachissement possible
XVIII-8.4 Conclusions
Fonctions Analyse thmatique Gocodage Cartographie Mise jour Partage Slection sous-ensemble louverture Requtes SQL (MI) Requtes SQL (Access) Duplication . dat
Compte tenu des risques encourus, il vaut mieux (sauf exceptions ) viter les mises jours de bases de donnes externes depuis Map Info.
P.Barbier
61