Hi Todd, Franz-Josef
This is a more simple way to do the job
I think that Origx, Origy, Destx, desty and Ver_et are attributes in your
table
dim strTabName as string
alter table strTabName (Add Gc_dist Float, Avgsp_nmi_hr Float)
Update strTabName Set GC_DIST = Distance( Origx, Origy, Destx,
desty, "nmi")
Update strTabName Set Avgsp_nmi_hr = GC_DIST/ ( Ver_et/60 )
Peter
"Dr. Franz-Josef Behr" <[EMAIL PROTECTED]> - 09-08-2001 11:40:49
Besvar venligst til "Dr. Franz-Josef Behr" <[EMAIL PROTECTED]>
Til: MapInfo-L <[EMAIL PROTECTED]>
cc: [EMAIL PROTECTED](bcc: Peter Laulund/MI/KMS)
Vedr�rende: Re: MI-L MB: Alter and update table sub procedure
Todd,
I think there are several problems:
1. Put your alter table state before the loop:
alter table strTabName (Add Gc_dist Float, Avgsp_nmi_hr Float, Tmp_ID
Integer)
Tmp_ID is used for the selection (see later)
2. Populate the field Tmp_ID with the RowID
Update strTabName set Tmp_ID = RowId
3. In your lopp use an alias variable to get the values, i.e.
Dim aCol As Alias ' put the dim before the loop
Dim fDistance, fAvgsp_nmi_hr as float
Dim iRowID as Integer
...
And then try thsi:
Fetch First from strTabName
while not EOT(strTabName)
aCol = strTabName + ".Tmp_ID" iRowID = aCol
aCol = strTabName + ".Origx" flx1 = aCol
...
fDistance = Distance(flx1,fly1,flx2,fly2, "nmi")
select * from strTabName where Tmp_ID = iRowID
Update selection Set Gc_dist = fDistance
aCol = strTabName + ".Ver_et" flx1 = flVeret
flVeret = Selection.Ver_et
Update selection Set Avgsp_nmi_hr = fDistance /(flVeret/60)
Fetch Next from strTabName
wend
I hope this helps!
--
Mit freundlichen Gr��en / Best regards / Cordialement
i.A.
Franz-Josef Behr
------------------------------------------------------------------------
We all learn by sharing what we know... (R. DiBlasi)
Dr. Franz-Josef Behr Phone: ++49 / 7243 / 5641-20
GIS-Consultant Fax: ++49 / 7243 / 5641-99
Graphservice GmbH EMail: [EMAIL PROTECTED]
Im Ermlisgrund 18 D-76337 Waldbronn
Author of: Strategisches GIS-Management - http://www.gis-management.de
WWW: http://www.graphservice.de
Personal Home Page: http://home.pages.de/~fjbehr und
http://www.gis-news.de [EMAIL PROTECTED]
------------Original Message ----------------------------------------
From:
"McNeil, Todd W. (TMCNEIL)" <[EMAIL PROTECTED]> on 08/07/2001
04:25 PM AST
Recipients:
"'[EMAIL PROTECTED]'"<[EMAIL PROTECTED]>
Subject:
MI-L MB: Alter and update table sub procedure
Hi all, I'm having trouble getting the following line of code to even
work
on a table after it is compiled correctly. What's the deal?
' Add GC distance and Avg Speed columns and then calculate the values
'
Sub AlterTable
dim flx1, fly1, flx2, fly2 As float
dim flDist, flVeret As float
' repeat for each table object
Fetch First from strTabName
while not EOT(strTabName)
alter table strTabName (Add Gc_dist Float, Avgsp_nmi_hr Float)
flx1 = Selection.Origx
fly1 = Selection.Origy
flx2 = Selection.Destx
fly2 = Selection.Desty
Update strTabName Set Gc_dist = Distance(flx1,fly1,flx2,fly2,
"nmi")
flDist = Selection.Gc_dist
flVeret = Selection.Ver_et
Update strTabName Set Avgsp_nmi_hr = flDist/(flVeret/60)
Fetch Next from strTabName
wend
' save work
commit table strTabName
end sub
_______________________________________________________________________
List hosting provided by Directions Magazine | www.directionsmag.com |
To unsubscribe, send e-mail to [EMAIL PROTECTED] and
put "unsubscribe MapInfo-L" in the message body.
Med venlig hilsen
Peter Laulund
*************************************************************
Kort & Matrikelstyrelsen � www.kms.dk
National Survey and Cadastre - Denmark
Rentemestervej 8 � DK 2400 K�benhavn NV
E-mail: [EMAIL PROTECTED] � Home: [EMAIL PROTECTED]
Phone: +45 3587 5050 � Direct: +45 3587 5173
*************************************************************
_______________________________________________________________________
List hosting provided by Directions Magazine | www.directionsmag.com |
To unsubscribe, send e-mail to [EMAIL PROTECTED] and
put "unsubscribe MapInfo-L" in the message body.