|
AS400 based... Eric ----- Original Message ----- From: "Karen Brasier" <karen.brasier@xxxxxxxxx> To: "'RPG programming on the AS400 / iSeries'" <rpg400-l@xxxxxxxxxxxx> Sent: Wednesday, January 12, 2005 11:44 AM Subject: RE: longitude / latitude distance calculations > Is this software for AS400 or for server? And thanks so much.... I will > check it out.... > Karen Brasier > I.T. Department - Software Analyst > Standard Furniture Manufacturing Co. > Bay Minette, Alabama 36507 > (251) 937-6741 ext 8848 > There are 10 kinds of people in the world, those that understand binary and > those that do not. > > -----Original Message----- > From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] > On Behalf Of Eric A. Wolf > Sent: Wednesday, January 12, 2005 1:35 PM > To: RPG programming on the AS400 / iSeries > Subject: Re: longitude / latitude distance calculations > > There is a product available on the market by a company called WorksRight > Software that has software that does this called Z4LAT/LON. I have not used > it but do use their Address Verification system to validate that addresses > and zip codes are entered correctly. You may want to check it out at > www.worksright.com. > > I am not in anyway affiliated with WorksRight - just a satisfied user of > their software at two customer sites. > > Eric > > ----- Original Message ----- > From: "Karen Brasier" <karen.brasier@xxxxxxxxx> > To: "'RPG programming on the AS400 / iSeries'" <rpg400-l@xxxxxxxxxxxx> > Sent: Wednesday, January 12, 2005 11:23 AM > Subject: longitude / latitude distance calculations > > > > Working on a project and need to know the distance in miles between two > > locations. The information that I have in the file to use to do this is > the > > longitude and latitude. I have seen the code in PC jargon, but have not > > been able to find anything about how to accomplish this in RPG. Any > > suggestions would be appreciated... I am cutting/pasting the calc to > > accomplish this below... as I look at this, I am lost! (or worse, lol) > > surely, there is an easier way, but in searching the archives, I found > > nothing on this... > > > > > > > > const pi = 3.14159265358979323846 > > > > Function distance(lat1, lon1, lat2, lon2, unit) > > Dim theta, dist > > theta = lon1 - lon2 > > dist = sin(deg2rad(lat1)) * sin(deg2rad(lat2)) + cos(deg2rad(lat1)) * > > cos(deg2rad(lat2)) * cos(deg2rad(theta)) > > response.write "dist = " & dist & "<br>" > > dist = acos(dist) > > dist = rad2deg(dist) > > response.write "dist = " & dist & "<br>" > > distance = dist * 60 * 1.1515 > > Select Case ucase(unit) > > Case "k" > > distance = distance * 1.609344 > > Case "n" > > distance = distance * 0.8684 > > End Select > > End Function > > > > > > ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: > > '::: this function get the arccos function using arctan function ::: > > ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: > > Function acos(rad) > > If abs(rad) <> 1 Then > > acos = pi/2 - atn(rad / sqr(1 - rad * rad)) > > ElseIf rad = -1 Then > > acos = pi > > End If > > End function > > > > > > ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: > > '::: this function converts decimal degrees to radians ::: > > ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: > > Function deg2rad(deg) > > deg2rad = cdbl(deg * pi / 180) > > End Function > > > > ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: > > '::: this function converts radians to decimal degrees ::: > > ':::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: > > Function rad2deg(rad) > > rad2deg = cdbl(rad * 180 / pi) > > End Function > > > > msgbox(distance(32.9697, -96.80322, 29.46786, -98.53506, "m") & " > > miles<br>") > > msgbox(distance(32.9697, -96.80322, 29.46786, -98.53506, "k") & " > > kilometers<br>") > > msgbox(distance(32.9697, -96.80322, 29.46786, -98.53506, "n") & " nautical > > miles<br>") > > > > Karen Brasier > > I.T. Department - Software Analyst > > Standard Furniture Manufacturing Co. > > Bay Minette, Alabama 36507 > > (251) 937-6741 ext 8848 > > There are 10 kinds of people in the world, those that understand binary > and > > those that do not. > > > > > > > > -- > > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > > To post a message email: RPG400-L@xxxxxxxxxxxx > > To subscribe, unsubscribe, or change list options, > > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > > or email: RPG400-L-request@xxxxxxxxxxxx > > Before posting, please take a moment to review the archives > > at http://archive.midrange.com/rpg400-l. > > > > > -- > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > or email: RPG400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > > > > -- > This is the RPG programming on the AS400 / iSeries (RPG400-L) mailing list > To post a message email: RPG400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > or email: RPG400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-l. > >
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.