#1 Fri 26 September 2003 17:15
- Annabel Gravier
- Invité
connexion arcview - BDD MySQL
De: gravier
Bonjour,
Je vais disposer d'une Base de donnees MySQL. Je voudrais creer des liens avec un projet Arcview.
j'aurais voulu avoir des informations sur les points suivants (sur lesquels l'aide d'arcview m'a laissee perplexe) :
1. n'importe quelle base de donnees (MySQL ?) peut-elle etre utilisee du moment qu'elle est parametree dans ODBC ?
2. quelle difference existe-t-il entre (dans le menu Projet) ??
- ajouter une table de base de donnees
- connexion SQL
3. Les mises a jour se font dans la base de donnees et sont prises en compte dans arcview. Est-ce que l'utilisation de scripts (SQL ?, Avenue ?) peuvent permettre de faire des mises a jour dans arcview qui seraient prises en compte dans la base de donnees externes ?
Merci, cordialement.
Annabel
*** BE SIG-carto ONF Nice ***
#2 Fri 26 September 2003 18:02
- Ludo Pro
- Invité
Re: connexion arcview - BDD MySQL
> j'aurais voulu avoir des informations sur les points suivants (sur lesquels l'aide d'arcview m'a laissee perplexe) :
> 1. n'importe quelle base de donnees (MySQL ?) peut-elle etre utilisee du moment qu'elle est parametree dans ODBC ?
Normalement oui, c'est tout l'interet d'ODBC, de rendre transparent la
BD attaquee.
> 2. quelle difference existe-t-il entre (dans le menu Projet) ??
>
> - ajouter une table de base de donnees
Permet d'ouvrir une table classique au format texte, dbase ou info
>
> - connexion SQL
Permet de creer une ou des table(s) virtuelle(s) (notion de Vtab dans
ArcView) a partir d'une base de donnees declaree dans ODBC.
> 3. Les mises a jour se font dans la base de donnees et sont prises en compte dans
> arcview. Est-ce que l'utilisation de scripts (SQL ?, Avenue ?)
peuvent permettre
> de faire des mises a jour dans arcview qui seraient prises en compte
> dans la base de donnees externes ?
Il est possible d'envoyer des requetes SQL pour modifier, supprimer ou
ajouter des enregistrements dans la base distante. Attention toutefois
si vos donnees sont couplees a une representation geometrique (leur
Unite Spatiale), ce genre de manip ne gere pas la coherence entre vos
donnees et sa reprentation spatiale dans un shapefile. A vous de mettre
en place des procedures pour blinder le systeme.
Autre soucis, si un projet arcView est ouvert et appelle une base via la
connexion SQL, les modifications qui peuvent etre apportees dans la base
simultanement par ailleurs ne seront pas prise en compte. En effet, la
connexion SQL d'une table cree en quelque sorte un cache de votre base.
Elle ne sera a jour que si vous deconnectez la table et que vous la
reconnectez.
En clair, d'apres mon experience, cette solution n'est pas adaptee a un
travail temps reel sur une base de donnee exogene et necessite une
grande rigueur dans la methode de travail.
Esperant vous avoir aider.
Cordialement
Ludovic
#3 Fri 10 October 2003 20:30
- Annabel Gravier
- Invité
Re: connexion arcview - BDD MySQL
De: cokelico
Bonjour ludo pro et merci pour ta reponse,
j'aimerais faire un test de connection bdd-arcview. J'utilise access97.
J'ai un theme de points (.shp, .dbf, .shx), appelons-le toto. je voudrais creer un 'database theme' a partir de toto. Comment faire ?
1. je cree une BDD access97 a partir de toto.dbf mais comment la lier a un fichier d'entites spatiales, a un .shp ??? Faut-il partir de la vue ???
2. si je passe par 'vue'/'ajouter un theme base de donnees...', j'ai une fenetre qui me propose de creer une nouvelle connection mais il s'agit d'une connection SDE et non pas ODBC...
Est-ce que tu aurais des exemples de bases de donnees externes correspondant a des themes base de donnees que je vois a quoi cela ressemble. (notamment la colonne qui contient l'information shape).
Merci encore, a+.
annabel
#4 Mon 13 October 2003 17:48
- Ludovic L
- Invité
Re: connexion arcview - BDD MySQL
> j'aimerais faire un test de connection bdd-arcview. J'utilise access97.
>
> J'ai un theme de points (.shp, .dbf, .shx), appelons-le toto. je voudrais creer un 'database theme' a partir de toto. Comment faire ?
Hummm...
Attention, on ne parle plus tout a fait de la meme chose.
Il existe plusiquers familles de SGBD dans le cadre des SIG, entre
autres :
- ceux qui savent stocker de la donnee geographique (des objets
geometriques lignes, pts, surfaces) comme oracle SDE ou postGIS
- ceux qui n'en stocke pas et ne servent donc qu'a des donnees
alpha-numerique (ou multimedia = images, sons...)
MySQL (autant que je le sache) fait parti de la deuxieme famille. Access
en standard, fait parti de la meme famille (un peu plus complique si on
prend en compte le format mdb utilise par ArcGis).
Les database themes ne peuvent etre crees qu'a partir de la premiere
famille, ceux stockant la geometrie.
> 1. je cree une BDD access97 a partir de toto.dbf mais comment la lier a un fichier d'entites spatiales, a un .shp ??? Faut-il partir de la vue ???
Donc la demarche est la suivante.
- Ouvrir un theme (shapefile) contenant les unites spatiales avec
identifiants.
- creer une connexion SQL(menu projet>connexion SQL) avec la base
declare dans ODBC, selectionner les tables que vous desirez ouvrir.
- creer une liaison (menu table>liaison) entre la table de votre
shapefile et la table issu de la connexion SQL sur le champ commun
d'identification.
A la suite de quoi, la selection d'ojets geographiques du theme entraine
la selection des enregistrements correspondants dans votre table issu de
votre base externe.
Tel que, cette relation est uniquement dans ce sens.
Vous pouvez egalement envisager de faire une jointure plutot qu'une
liaison (a tester, je ne pense pas que ca pose de soucis).
> 2. si je passe par 'vue'/'ajouter un theme base de donnees...', j'ai une fenetre qui me propose de creer une nouvelle connection mais il s'agit d'une connection SDE et non pas ODBC...
Il faut activer votre fenetre de gestion des objets du projet pour
obtenir le menu de projet dans lequel se trouve la connexion SQL.
> Est-ce que tu aurais des exemples de bases de donnees externes correspondant
> a des themes base de donnees que je vois a quoi cela ressemble.
> (notamment la colonne qui contient l'information shape).
Pour ton theme (shapefile), tu as deux champs dans la table attribuaire :
- shape : contenant les objets geometriques indiques par leur nature
(polygon, polyline, point)
- code : le champ d'identification
Pour ta table issu de la connexion SQL :
- code : contenant les identifiants
- xxxx : tous les autres champs de ta table
- zzzzz : idem...
Dans toutes ces informations, on ne parle que de lecture, il n'est pas
possible de modifier les donnees contenus dans la base issu de la
connexion SQL. C'est une toute autre demarche.
J'espere ne pas vous avoir trop perdu.
Cordialement
Ludovic