banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Fri 11 February 2005 09:27

RPREST
Invité

Synthèse: fonctions dans les requetes SQL, ou la fenetre mapbasic...

greg a écrit:

Bonjour !
je ne suis pas tres fort en mapbasic et j'aimerai savoir comment faire pour
ne retenir que les 2 ou 3 derniers caracteres d'un champ.
Effectivement, pour mes parcelles j'ai un geocode de type 14487 AC 21 et
j'aimerai n'afficher sur les cartes que l'identifiant de fin (qui va de 1 a
3 chiffres) (dans cet exemple le 21)
Merci a toutes et a tous de votre attention bienveillante !

greg


Bonjour,

Comme les questions sur les extractions de chaines, ou autres manipulations
reviennent souvent, dans differentes formes, je me permet de citer ces pages
du manuel de reference mapinfo (p259) sur les fonctions qui depanneront
surement de nombreuses personnes dans le meme cas.
En farfouillant dans les manuels on trouve pleins de choses tres
interessantes. Et comme il y a maintenant des versions numeriques en PDF, on
peut aussi y faire des recherches textuelles tres fructueuses. Au passage,
n'hesitez pas a consulter le guide de reference mapbasic, il y a aussi des
indications assez interessantes, meme pour ceux qui n'ont pas mabasic

Geomatiquement,
Robin PREST.

Fonctions

Role des fonctions :

creer des expressions.

La liste des fonctions est active quand :

la boite de dialogue Expression ou Selection SQL est affichee.

Utilisation

Une expression peut faire appel a une ou plusieurs fonctions. Dans le
tableau ci-apres, num represente une
expression numerique quelconque (par ex., 5), ch, une expression chaine (par
ex., km ) et obj, une expression
objet (par ex., Dept.obj represente les objets graphiques associes aux
enregistrements de Dept.).

Fonctions mathematiques

Abs( num ) Retourne la valeur absolue d'un nombre.
Cos( num ) Retourne le cosinus d'un nombre ; num est exprime en radians.
Int( num ) Retourne la partie entiere d'un nombre.
Maximum( num1 , num2 ) Retourne le plus grand des deux nombres.
Minimum( num1 , num2 ) Retourne le plus petit des deux nombres.
Round( num1, num2 ) Retourne un nombre (num1), avec l'arrondi num2 (par ex.,
si num2 est
egal a dix, num1 est arrondi a la dizaine la plus proche).
Sin( num ) Retourne le sinus d'un nombre ; num est exprime en radians.
Tan( num ) Retourne la tangente d'un nombre ; num est exprime en radians.

Fonctions de date

CurDate( ) Retourne la date courante.
Day( date ) Retourne le quantieme du mois (1 - 31).
Month( date ) Retourne le mois (1 - 12).
Weekday( date ) Retourne le jour de la semaine (1 - 7) ; 1 represente le
Dimanche.
Year( date ) Retourne l'annee (par ex., 1994).

Fonctions chaine

Chr( num ) Retourne le caractere qui correspond au code caractere (par ex.,
Chr(65) retourne A ).
DeformatNumber( str ) Inverse de la fonction FormatNumber ; retourne une
chaine ne
comportant pas de separateur de milliers.
Format( num , ch ) Retourne une chaine representant un nombre mis en forme.
Exemple :
Format(12345.678, ,#.## ) retourne ,345.68 .
FormatNumber( num , ch ) Retourne une chaine representant un nombre mis en
forme. Cette
fonction est plus simple a utiliser que Format, mais offre un controle
moindre sur le format (par exemple, vous obtenez toujours des
separateurs de milliers).
InStr( num , ch1 , ch2 ) Recherche, dans la chaine ch1 a partir de la
position num, une
occurrence de la chaine ch2. Retourne la position a laquelle ch2 a ete
trouvee, ou le chiffre zero si cette chaine est introuvable. Pour
commencer la recherche au debut de la chaine, attribuez a num la valeur
un (1).
LCase( ch ) Retourne la chaine ch en caracteres minuscules.
Left( ch , num ) Retourne les num premiers caracteres de la chaine ch.
Len( ch ) Retourne le nombre de caracteres d'une chaine.
LTrim( ch ) Supprime les espaces eventuels au debut de ch et retourne le
resultat
obtenu.
Mid( ch, num1, num2 ) Retourne num2 caracteres de la chaine ch a partir de
la position num1.
Proper( ch ) Retourne une chaine avec la premiere lettre de chaque mot en
majuscules.
Right( ch , num ) Retourne les num derniers caracteres de la chaine ch.
RTrim( ch ) Supprime les espaces eventuels a la fin de ch et retourne le
resultat
obtenu.
Str( expr ) Retourne une chaine, approximation d'une expression numerique.
UCase( ch ) Retourne la chaine ch en caracteres majuscules.
Val( ch ) Retourne la valeur numerique de la chaine ; par exemple, Val( 18 )
retourne le nombre 18. La chaine concernee ne doit pas etre formatee
(par exemple etre dotee de separateurs de milliers) ; Pour supprimer la
mise en forme, appelez la fonction DeformatNumber

Fonctions retournant des calculs geographiques

Area( obj , ch ) Retourne la superficie d'un objet. Le parametre ch indique
l'unite de
superficie, telle que  sq mi  (miles carre)ou sq km'' (Kilometres
carre).
CentroidX( obj ) Retourne l'abscisse (coordonnee X) du centroide d'un objet.
CentroidY( obj ) Retourne l'ordonnee (coordonnee Y) du centroide d'un objet.
Distance( num_x1 , num_y1 , num_x2
, num_y2 , ch )
Retourne la distance entre deux points. Les deux premiers parametres
indiquent les coordonnees x et y du point de depart ; les deux parametres
suivants indiquent les coordonnees x et y du point d'arrivee ; le
parametre ch est l'unite de distance, telle que mi ou km .
Perimeter( obj , ch ) Retourne le perimetre d'un objet. La valeur ch indique
un nom d'unite de
distance, telle que mi ou km . Seuls les objets polygones, ellipses et
rectangles ont des perimetres differents de zero.

Fonctions retournant des objets

Chacune de ces fonctions retourne un objet graphique. Si vous tapez une
commande de mise a jour dans la fenetre
MapBasic, vous pouvez utiliser ces fonctions pour creer des objets pour
chaque ligne de votre table. Ainsi, par
exemple, si votre table contient les colonnes x1, y1, x2 et y2, la commande
ci-dessous cree un objet ligne pour
chaque enregistrement de votre table :
Update tablename Set Obj = CreateLine (x1, y1, x2, y2)
Remarque : Cette commande de mise a jour redefinit chaque objet graphique de
votre table. Par consequent, il
peut etre preferable de faire une copie de votre table et de travailler sur
la copie.

Buffer( obj , res_num, larg_num, ch ) Retourne un objet polygone
representant un tampon. res_num indique la
resolution, en termes de noeuds par cercle ; larg_num indique le rayon du
tampon ; ch designe le nom de l'unite de distance (par ex., mi ou km )
s'appliquant a larg_num.
Centroid( obj ) Retourne un objet point situe au centroide d'obj.
CreateCircle( num_x, num_y,
rayon_num )
Retourne un objet cercle. rayon_num indique la valeur du rayon et
num_x et num_y indiquent les coordonnees du centre du cercle.
CreateLine( num_x1 , num_y1 ,
num_x2 , num_y2 )
Retourne un objet ligne. Les deux premiers parametres representent les
coordonnees du point de depart et les deux derniers, celles du point
d'arrivee.
CreatePoint( num_x , num_y ) Retourne un objet point num_x et num_y
representent les coordonnees
du point.

 

Pied de page des forums

Powered by FluxBB