#1 Tue 16 September 2008 14:51
- Fabius
- Participant actif
- Date d'inscription: 19 Mar 2008
- Messages: 130
[Map Basic 7.0]Analyse thématique a deux conditions
Bonjour à tous et à toutes.
De retour pour une question qui me taraude.
Tout d'abord situons le problème je dispose d'une table mise a jour assez fréquemment ou des territoires sont répertoriés par des id unique pour chacun. A l'interieur de ses teritoires on trouve des communes qui sont codés en binaire (impossible de faire autrement). Je voudrais pouvoir effectuer une analyse thématique pour un territoire donné en affichant une couleur pour le codage 1 et une autre pour le codage 0.
j'ai essayé ceci comme code
Code:
xx="shade window " + MapWindowID + " 16 with cib*int(id="+str$(idsel) + ") values 0 Brush (2,16760960,16777215) Pen (1,1,0), " xx=xx+"1 Brush (2,12632319,16777215) Pen (1,1,0) "
La variable cib correspond a mon codage binaire,id à l'id du territoire et idsel à l'id du territoire précédemment récupérer dans le programme.
Le soucis qui se pose est que pour la valeur de l'id sélectionné l'analyse s'effectue correctement, malheureusement l'une des deux valeurs étant zero, les autres territoire et ce quelque soit leur valeur prenne la valeur 0 aux yeux de ma requête donc tout les territoires proche de celui sélectionné prenne la même couleur que la zone à 0 de mon territoire. Comment pourrais remedier à ce probleme sans modifier ma table d'origine ?
Merci d'avance
Fabius
Hors ligne
#2 Tue 16 September 2008 15:57
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [Map Basic 7.0]Analyse thématique a deux conditions
Pas compris...
mais ce que je vois c'est une mauvaise syntaxe de la commande, en particulier int(id="+str$(idsel)
Si vous faites un print xx, ça vous aidera à voir les éventuelles erreurs
Hors ligne
#3 Tue 16 September 2008 16:06
- Fabius
- Participant actif
- Date d'inscription: 19 Mar 2008
- Messages: 130
Re: [Map Basic 7.0]Analyse thématique a deux conditions
En fait j'ai des zones avec des numéros, je veux faire une analyse pour chaque zones indépendamment des autres. Lorsque je lance ma commande cib(variable binaire) *int (id=idsel) (ce qui me permet de faire l'anlyse pour la zone numéroté voulue) celle ci s'effectue sans probleme sur la zone. Le probleme vient du fait que l'analyse thématique considere comme nulle les valeurs de ma variable cib à 0 mais également les valeurs des autres zones et donc les "colorie" de la meme maniere que les parties de la zone retenus ou cib est à zero.
Je me demande si c'est plus clair ou plus compliqué comme ca....
Hors ligne
#4 Tue 16 September 2008 16:33
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [Map Basic 7.0]Analyse thématique a deux conditions
Mais int(id=idsel) prend les valeurs 1 quand id=idsel et zéro quand id<>idsel
C'est voulu? En plus la première ligne mélange constantes et variables de façon incorrecte: je suis même surpris que ça marche!
Passer par une variable intermédiaire serait prident
Comme il y a confusion possible avec les deux sens du zéro...le plus simple serait de faire l'analyse du territoire donné, sélectionné et ajouté aux couches, plutôt que sur l'ensemble
Hors ligne
#5 Tue 16 September 2008 16:41
- Fabius
- Participant actif
- Date d'inscription: 19 Mar 2008
- Messages: 130
Re: [Map Basic 7.0]Analyse thématique a deux conditions
Non ce n'est pas voulu, mais je ne vois pas comment faire, a part bien sur creer une selection mais que je prefererais éviter afin de ne pas augmenter le nombre de couches présente dans le document
Hors ligne
#6 Tue 16 September 2008 17:14
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: [Map Basic 7.0]Analyse thématique a deux conditions
Je ne vois pas d'autre méthode: on ne peut pas faire autrement une analyse sur une partie des objets
Sauf à la faire sur tout et utiliser ensuite un pochoir...c'est encore plus lourd pour le WOR
Et la méthode par sélection n'augmente pas le nombre de couche ouvertes dans le document, seulement le nombre de couches dans lla fenêtre carte...c'est juste un selec...qui sera enregistré dans le WOR
Hors ligne