Forum SIG - Systèmes d'Information Géographique et Géomatique  

Programmation Espace dédié aux questions et à l'entraide sur la programmation réalisable avec les produits ESRI (langages Avenue, VBA, Python, SQL, ...)

Réponse
 
Outils de la discussion Rechercher Modes d'affichage
(#1)
Vieux
satyrium84 satyrium84 est déconnecté
satyrium84 est un(e) apprenti(e) sigiste
 
Messages: 11
Date d'inscription: juin 2009
Par défaut [ArcGIS 9.x] Etiquetter en fonction de la valeur - 30/06/2009, 15h07

Bonjour,
Je voudrais afficher les étiquettes à mes points uniquement quand la valeur - de l'étiquette - est supérieure à 0.
J'ai donc une colonne débit :
DEBIT
0
5
5
4
3
0
...

Et là, je ne veux que les cases > 0.
Je m'emmèle les pinceaux dans des formules...que faut il écrire dans expression pour que ça marche?
merci!
Réponse avec citation Haut de page
(#2)
Vieux
Avatar de Spacejo
Spacejo Spacejo est actuellement connecté
FAQeur MI-ESRI / Rédacteur
Spacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigiste
 
Messages: 2 813
Date d'inscription: mars 2008
Emploi: Technicien géomaticen
Localisation: Nancy
Par défaut 30/06/2009, 15h52

Salut Satyrium84 et bienvenue,

Essaye ceci:

Code:
Function FindLabel([DEBIT])

If [DEBIT]<> 0 Then
  FindLabel = [DEBIT]
else
  FindLabel = "" 
End If
En espérant que ça marche
A+
Joël
Réponse avec citation Haut de page
(#3)
Vieux
Avatar de Warg
Warg Warg est déconnecté
Boulet ferroviaire-aérien
Warg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigiste
 
Messages: 2 386
Date d'inscription: janvier 2007
Emploi: Poney addict
Localisation: Schilick(67)
Âge: 24
Par défaut 30/06/2009, 16h11

Bonjour et bienvenue sur le forum,
merci de préciser la version du logiciel utilisé, et essayez de penser à baliser le titre ([ArcGIS X.x] )

A plus
Marc


••(¯`·..Phyto Fan Club ..·´¯)••

•>Merci de lire les règles du forum avant de poster<•
Réponse avec citation Haut de page
(#4)
Vieux
satyrium84 satyrium84 est déconnecté
satyrium84 est un(e) apprenti(e) sigiste
 
Messages: 11
Date d'inscription: juin 2009
Par défaut arcview 9.3 - programmation sur les étiquettes - 01/07/2009, 10h05

Bonjour,
En insérant la fonction :

Code:
Function FindLabel([DEBIT])

If [DEBIT]<> 0 Then
  FindLabel = [DEBIT]
else
  FindLabel = "" 
End If
Un fenêtre s'affiche avec : "les retours chariots ne sont pas autorisés dans les expressions simples".
rq : j'ai essayé les deux analyseurs, VBscript et Javascript

Que faut il faire dans ce cas là?
merci d'avance!!

Dernière modification par Warg ; 01/07/2009 à 10h14..
Réponse avec citation Haut de page
(#5)
Vieux
Avatar de Spacejo
Spacejo Spacejo est actuellement connecté
FAQeur MI-ESRI / Rédacteur
Spacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigiste
 
Messages: 2 813
Date d'inscription: mars 2008
Emploi: Technicien géomaticen
Localisation: Nancy
Par défaut 01/07/2009, 10h21

Salut,

Esaye ceci:

Code:
Function FindLabel([DEBIT])
  
 If ([DEBIT] > 0) Then
    FindLabel = [DEBIT]
  End If
End Function
Un lien qui pourra t'en dire plus:
http://webhelp.esri.com/arcgisdeskto...el_expressions

A+
Joël
Réponse avec citation Haut de page
(#6)
Vieux
Avatar de Warg
Warg Warg est déconnecté
Boulet ferroviaire-aérien
Warg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigisteWarg est un(e) ultime sigiste
 
Messages: 2 386
Date d'inscription: janvier 2007
Emploi: Poney addict
Localisation: Schilick(67)
Âge: 24
Par défaut 01/07/2009, 10h23

Bonjour,
il faut aller dans les propriétés de la couche / Etiquette.

Dans la liste ou il y a la valeur Etiqueter toutes les entités de la même manière, changez la valeur, et mettez Utiliser différentes classes d'étiquettes.

Ensuite, sur le bouton Requête SQL, mettez le code suivant:

Code:
[DEBIT]<> 0
A plus
Marc


••(¯`·..Phyto Fan Club ..·´¯)••

•>Merci de lire les règles du forum avant de poster<•
Réponse avec citation Haut de page
(#7)
Vieux
Avatar de Elmo
Elmo Elmo est déconnecté
Elmo est un(e) maître sigisteElmo est un(e) maître sigisteElmo est un(e) maître sigisteElmo est un(e) maître sigisteElmo est un(e) maître sigisteElmo est un(e) maître sigisteElmo est un(e) maître sigisteElmo est un(e) maître sigisteElmo est un(e) maître sigisteElmo est un(e) maître sigisteElmo est un(e) maître sigiste
 
Messages: 403
Date d'inscription: août 2005
Emploi: Chargée d'études
Localisation: Caen
Par défaut 01/07/2009, 11h53

Bonjour,

pense à cocher la case Advanced dans Label l'expression
puis tape le code de Spacejo :
Code:
Function FindLabel([DEBIT])
  
 If ([DEBIT] > 0) Then
    FindLabel = [DEBIT]
  End If
End Function


Elmo
Réponse avec citation Haut de page
(#8)
Vieux
satyrium84 satyrium84 est déconnecté
satyrium84 est un(e) apprenti(e) sigiste
 
Messages: 11
Date d'inscription: juin 2009
Par défaut 01/07/2009, 14h23

Oki oki,
Merci à tous pour toutes ses solutions.

Est ce que je pourrais rajouter le sigle % à mes débits?
Qu'est ce que je dois marquer après avoir inséré le code de Spacejo ?

Function FindLabel([DEBIT])

If ([DEBIT] > 0) Then
FindLabel = [DEBIT]
End If
End Function

De plus, est ce que je peux rajouter l'annotation d'une autre colonne juste après ma valeur de débit?
merci
Réponse avec citation Haut de page
(#9)
Vieux
Avatar de Spacejo
Spacejo Spacejo est actuellement connecté
FAQeur MI-ESRI / Rédacteur
Spacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigiste
 
Messages: 2 813
Date d'inscription: mars 2008
Emploi: Technicien géomaticen
Localisation: Nancy
Par défaut 01/07/2009, 14h39

Essaye voir ceci:

Code:
Function FindLabel([DEBIT])
  
 If ([DEBIT] > 0) Then
    FindLabel = [DEBIT] & chr(37)
  End If
End Function
chr(37) étant le code ascii de "%"

Si tu veux d'autres colonnes:

Code:
Function FindLabel([DEBIT], [autres_colonnes1], [autres_colonnes2])
  
 If ([DEBIT] > 0) Then
    FindLabel = [DEBIT] & [autres_colonnes1] & [autres_colonnes2]
  End If
End Function
Maintenant si tu les veux les unes en dessous des autres
---> utiliser la fonction "vb newline" ------> [DEBIT] & vbnewline & [autres_colonnes1] & vbnewline & [autres_colonnes1]
Regarde le lien que je t'ai envoyé
A+
Joël

Ah voilà aussi un lien:
http://webhelp.esri.com/arcgisdeskto...text_of_labels
A+
Joël

Dernière modification par Spacejo ; 02/07/2009 à 09h23.. Motif: Fusion automatique des messages postés à la suite
Réponse avec citation Haut de page
(#10)
Vieux
satyrium84 satyrium84 est déconnecté
satyrium84 est un(e) apprenti(e) sigiste
 
Messages: 11
Date d'inscription: juin 2009
Par défaut 01/07/2009, 15h39

Re,
Et si je ne veux pas que la nouvelle étiquette soit tributaire de la fonction if - donc du choix du débit - , comment je dois écrire la fonction?
pfff...je vais y arriver, j'y crois!
Pour résumé, je voudrais une étiquette avec :
- le nom pour chaque point,
- le débit quand il est différent de 0 inscrit pour ces points.
Merci pour le lien. Il me sera utile.
Réponse avec citation Haut de page
(#11)
Vieux
Avatar de Spacejo
Spacejo Spacejo est actuellement connecté
FAQeur MI-ESRI / Rédacteur
Spacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigisteSpacejo est un(e) maître sigiste
 
Messages: 2 813
Date d'inscription: mars 2008
Emploi: Technicien géomaticen
Localisation: Nancy
Par défaut 02/07/2009, 10h46

Salut,

Une soluce possible:

Crée un champs "texte" [Debit_Texte] avec la toolbox qui sera une copie de ton champs [Debit]
---> avec la calculette en mode avancé remplir ce champs --->
Code:
Dim A as Integer
Dim B as string

A=[Debit]

If A=0 then
B="-" 'ou ""
Else
B=A
End If
Placer B dans le champs en dessous du code ----> [Debit_Texte]= B

Enfin dans etiquette --> expression

Code:
Function FindLabel ([Nom_Points], [DEBIT_Texte])
  
    FindLabel = [Nom_Points] & vbnewline & [Debit_Texte]

End Function
ou encore mieux:

Code:
Function FindLabel ([Nom_Points], [DEBIT_Texte])
  
    FindLabel = [Nom_Points] & vbnewline & "Débit = " &  [Debit_Texte]

End Function
A+
Joël

Dernière modification par Spacejo ; 02/07/2009 à 11h02..
Réponse avec citation Haut de page
Réponse

Tags
afficher, choisir, étiquettes

Outils de la discussion Rechercher
Rechercher:

Recherche avancée
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Navigation rapide

Discussions similaires
Discussion Auteur Forum Réponses Dernier message
[ArcGIS 9.x] Calculer une valeur en fonction de celles de plusieurs enregistrements _Yvain Programmation 7 27/03/2009 10h15
[ArcGIS 9.x] Assigner une valeur point à raster laurent73 Assistance Technique 0 17/02/2009 13h47
[ArcGIS 9.x] Sélection d'un des doublons en fonction d'une valeur Eric3810 Assistance Technique 4 17/01/2009 06h01
[ArcGIS 9.x] Calculer un champ en fonction des entités de la même couche JoFX Assistance Technique 2 30/07/2008 10h12
[ArcGIS 9.x] Fonction combinaison beb Programmation 0 09/01/2006 14h55



Flux RSS pour ArcGIS Desktop, ArcGIS Serveur, Programmation VBA, etc. Flux RSS pour MapInfo, MapBasic, MapX, etc Flux RSS pour GeoConcept et GeoMedia Flux RSS sur les SIG Libres et OpenSource : GRASS, QGIS, GeoTools,GDAL, etc. Flux RSS pour MapServer, CartoWeb, PHP MapScript, MapGuide OS, OpenLayer, etc. Flux RSS pour AutoCAD, Adobe Illustrator, Inkscape, etc. Flux RSS pour PostGreSQL, PostGIS, Access, MySQL, Excel,
Powered by vBulletin® Version 3.7.7
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Version française #19 par l'association vBulletin francophone
vBulletin Skin developed by: vBStyles.com
Aider le ForumSIG Aider le ForumSIG

Le Forum SIG a fait l'objet d'une déclaration à la CNIL sous la référence 1050269.
L'ensemble de ce site relève de la législation française et internationale sur le droit d'auteur et la propriété intellectuelle.