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 Sat 21 May 2011 12:08

Meha
Juste Inscrit !
Date d'inscription: 16 May 2011
Messages: 3

bug "could not convert data"

bonjour ,
je travaille sur une application sur mapbasic 9.0 , après extraction de données a partir de deux tables (fichier.tab) , j'ai effectué un calcul dans le but de faire une simulation. La compilation était un succés, mais lors de l'exécution, mapinfo m'affiche un message d'erreur "could not convert data". je n'ai pas compris quels sont les données qu'il n'a pas pu convertir, sachant que dans les calculs effectués, il n' y avait aucune conversion. y'a t'il une solution possible ,merci d'avance.

Hors ligne

 

#2 Sat 21 May 2011 19:00

Spacejo
Membre
Lieu: Nancy
Date d'inscription: 17 Aug 2008
Messages: 2511

Re: bug "could not convert data"

Salut,

Peux tu nous en dire plus sur ton .tab et sur ton .mbx?
A+
Joël

Hors ligne

 

#3 Sat 21 May 2011 20:31

Meha
Juste Inscrit !
Date d'inscription: 16 May 2011
Messages: 3

Re: bug "could not convert data"

salut,
c'est mon code pour la simulation:

Code:

include"mapbasic.def"
include"menu.def"
include"icons.def"
declare sub calcul

diaLog title "simulation"
control button title "simuler"
calling calcul

sub calcul
dim alpha,j as integer
dim PA,k,rcouv,tl,Az,x,y,hi,f,hr,pc,ls,pind,pf,s,m,di,eval,rad,gn as float
dim aa,bb,cc,pire,Aaa,gama,xf,xh,PL1,PR,a,b as float
dim purple as integer
purple = RGB (210,25,255)

define gr 0
open table "c:\BS.TAB" 
open table "c:\orientation.TAB" as o
open table "c:\Rxleve1.TAB" as r
set map layer 1 editable on
k = frontwindow()

fetch first from BS 
  while not eot (BS)
     PA= BS.PA_Power
     rcouv= BS.Rayon_couverture
     tl= BS.Tilt
     Az= BS.Azimuth
     x= BS.X_coord
     y= BS.Y_coord
     hi= BS.Hauteur_Bs
     f=  BS.Fréquence
     hr= BS.Hauteur_R
     pc=BS.Affaiblissement
     ls= BS.P_masque
     pind = BS.P_indoor
     pf= BS.P_fading
     s= BS.Shadowing
     m= BS.Marge
     di= BS.distance_incrément
     eval=  BS.Evaluation
     rad= BS.Radials     
                                                  
    Az= Az-180

  
fetch first from o
  for alpha =0 to 17 step 1 
    gn= o.gain
      [url][/url][url][/url]
      for j= 1 to (rcouv*1000) step 50
      j=j*1000
        Pire= PA + gn - pc
Aaa = 32.4 + 20* (Log(100)/Log(10)) + 20*(Log(f)/Log(10))
gama = aa - bb * hi + cc/hi 
xf =6 * (Log (f/1900)/Log(10))
xh =-10.7 * (Log (hr/2)/Log(10))
aa= 4.6
bb= 0.0075
cc=12.6

PL1= 32.4 + 20 * (Log(j)/Log(10)) +20*(Log(f)/Log(10))
PR = Pire + Gr- PL1- ls- pf -m -pind

a=j * cos((alpha + Az)* deg_2_rad) + x
b=j * sin((alpha + Az)* deg_2_rad) + y





insert into r ( X_coord,Y_coord, Rxlev)values (a,b,PR)
            if PR>=-55 then 
                 create rect
                 into window K
                 (a-25,b+25) (a+25,b+25)
                  pen makepen(0,1,purple)
                  brush makebrush (02,red,red)

            elseif PR>=-65 then 
                 create rect
                 into window K
                 (a-25,b+25) (a+25,b+25)
                  pen makepen(0,1,purple)
                  brush makebrush (02,yellow,yellow)

           elseif PR>=-75 then 
                  create rect
                  into window K
                  (a-25,b+25) (a+25,b+25)
                   pen makepen(0,1,purple)
                   brush makebrush (02,blue,blue)

          elseif PR>=-85 then 
                   create rect
                   into window K
                   (a-25,b+25) (a+25,b+25)
                   pen makepen(0,1,purple)
                   brush makebrush (02,green,green)

           end if
    j=j/1000
   fetch next from  o
           next   
   fetch next from BS 
      next 
   wend
end sub

j'ai 3  fichiers.TAB
"BS.TAB" contient des données avec lesquels j'effectue les calculs en utilisant aussi les données de la table "orientation.TAB"
"orientation.TAB" contient deux champs l'un est numéroté de 0 jusqu'a 17 et pour chaque numero est associé une valeur
"Rxlevel.TAB" est une table d'insertion des resultats obtenus
merci

Hors ligne

 

Pied de page des forums

Powered by FluxBB