Loading ...
Sorry, an error occurred while loading the content.

RE: [ASCOM] Novas Transform

Expand Messages
  • Tim Long
    Peter, I m not certain why that fails, but my guess would be that the code is referencing some older helper components, which might barf if you are on a 64-bit
    Message 1 of 11 , Apr 24 7:10 PM
    View Source
    • 0 Attachment

      Peter, I’m not certain why that fails, but my guess would be that the code is referencing some older helper components, which might barf if you are on a 64-bit system. it might help to use some of the newer ones from Platform 6. JS is quite close to C# in syntax and I managed to get this C# version of your code sample working after referencing ASCOM.Astrometry 6.0.0.0:

       

      using System;

      using ASCOM.Astrometry.NOVASCOM;

       

      namespace NovasTransformTest

      {

          class Program

          {

              static void Main(string[] args)

              {

                  // Site info

                  var lat = 33;       // Latitude

                  var lon = -111;     // Longitude (+ east)

                  var elev = 200;     // Elevation, meters

                  var temp = 25;      // Temperature, deg C

                  // Input J2000 coordinates

                  var raJ = 10.0;     // J2000 RA

                  var deJ = 30.0;     // J2000 Dec

                  // Time for which local topo coordinates should be calculated

                  var epoch = 2454300.12345;  // Julian epoch of conversion //

                  var dt = 65.15;             // Delta-T, seconds (for 2007)

                  // Refraction option

                  var doRef = true;   // True for refraction corr

                  // Set up the NOVAS.Site

                  var site = new Site {Latitude = lat, Longitude = lon, Height = elev, Temperature = temp};

       

                  // Set up the NOVAS.Star (fixed point in space) // This could have proper motion, radial velocity // parallax as well.

                  var objv = new Star {RightAscension = raJ, Declination = deJ, DeltaT = dt};

       

                  var tvec = objv.GetTopocentricPosition(epoch, site, doRef);

                  Console.WriteLine("Local topo RA={0} DE={1}", tvec.RightAscension, tvec.Declination);

                  Console.Read();

              }

          }

      }

       

       

      Output is:

      In the developer help file is a section titled “Which NOVAS?” that may be worth reading. It says there is a new (in Platform 6) Transform class that is specifically designed for converting to and from J2000. I haven’t tried it myself but it has to be worth a look.

       

      --Tim Long

       

      -----Original Message-----
      From: ASCOM-Talk@yahoogroups.com [mailto:ASCOM-Talk@yahoogroups.com] On Behalf Of peschman2001
      Sent: 24 April 2012 20:01
      To: ASCOM-Talk@yahoogroups.com
      Subject: [ASCOM] Novas Transform

       

      I'm trying to ease my way in to working with Novas Transform for converting to and from Epoch J2000 when the source coordinates from the planetarium software are Epoch Local.  I have done some archive searching leading back to ASCOM-Talk messages 26726 and 12536.

       

      In the earlier message, Bob Denny offered this code:

       

      ----------

      Paste this demo script into a file test.js and double-click it.

       

      // Site info

      var lat = 33;       // Latitude

      var lon = -111;     // Longitude (+ east)

      var elev = 200;     // Elevation, meters

      var temp = 25;      // Temperature, deg C

      // Input J2000 coordinates

      var raJ = 10.0;     // J2000 RA

      var deJ = 30.0;     // J2000 Dec

      // Time for which local topo coordinates should be calculated var epoch = 2454300.12345;  // Julian epoch of conversion //

      var dt = 65.15;             // Delta-T, seconds (for 2007)

      // Refraction option

      var doRef = true;   // True for refraction corr

      // Set up the NOVAS.Site

      var site = new ActiveXObject("NOVAS.Site"); site.Latitude = lat; site.Longitude = lon; site.Height = elev; site.Temperature = temp; // Set up the NOVAS.Star (fixed point in space) // This could have proper motion, radial velocity // parallax as well.

      var objv = new ActiveXObject("NOVAS.Star"); objv.RightAscension = raJ; objv.Declination = deJ; objv.DeltaT = dt; var tvec = objv.GetTopocentricPosition(epoch, site, doRef); WScript.Echo("Local topo RA=" + tvec.RightAscension +

                   " DE=" + tvec.Declination);

      ----------

       

      when I attempt to execute the resulting js file, I get this error

      message:

       

      Line 18:

      Automation server can't create this object

       

      where Line 18:

      var site = new ActiveXObject("NOVAS.Site");

       

      I probably missed some important details in ASCOM Platform Developer Help.chm So any specific references are welcome.

       

      Ultimately I'll be implementing this in VB6, but for now it would be nice to get some simple testing done by way of scripting.  Once I get to adding the appropriate code to the VB6 scope driver, I'll probably have more questions.

       

      Thanks,

      Peter Eschman

       

       

       

       

      ------------------------------------

       

      For more information see http://ASCOM-Standards.org/.

       

      To unsubscribe from this group, send an email FROM THE ACCOUNT YOU USED TO SUBSCRIBE(!) to:

      ASCOM-Talk-unsubscribe@yahoogroups.com

       

      Yahoo! Groups Links

       

      <*> To visit your group on the web, go to:

          http://groups.yahoo.com/group/ASCOM-Talk/

       

      <*> Your email settings:

          Individual Email | Traditional

       

      <*> To change settings online go to:

          http://groups.yahoo.com/group/ASCOM-Talk/join

          (Yahoo! ID required)

       

      <*> To change settings via email:

          ASCOM-Talk-digest@yahoogroups.com

          ASCOM-Talk-fullfeatured@yahoogroups.com

       

      <*> To unsubscribe from this group, send an email to:

          ASCOM-Talk-unsubscribe@yahoogroups.com

       

      <*> Your use of Yahoo! Groups is subject to:

          http://docs.yahoo.com/info/terms/

       


      ExchangeDefender Message Security: Check Authenticity
      Complete email hygiene and business continuity solution available from TiGra Networks
      Before replying, please review our email policy



    • peschman2001
      Tim, Thanks very much for your help. I managed to get your C# example working. The error message I saw with the .js example occurred both on a Windows 7
      Message 2 of 11 , Apr 24 10:15 PM
      View Source
      • 0 Attachment
        Tim,

        Thanks very much for your help. I managed to get your C# example
        working.

        The error message I saw with the .js example occurred both on a
        Windows 7 65-bit and on XP Pro 32-bit systems.

        I'm not sure how I can access this given the driver is in VB6.
        I will do a complete driver re-write some time, but that time
        is not now. I'm hoping someone can help with an interim solution.

        I agree that the new Transform class is probably what I need to use.

        Peter Eschman

        --- In ASCOM-Talk@yahoogroups.com, "Tim Long" <Tim@...> wrote:
        > Peter, I'm not certain why that fails, but my guess would be that the
        > code is referencing some older helper components, which might barf if
        > you are on a 64-bit system. it might help to use some of the newer ones
        > from Platform 6. JS is quite close to C# in syntax and I managed to get
        > this C# version of your code sample working after referencing
        > ASCOM.Astrometry 6.0.0.0:
        >
        >
        > using System;
        >
        > using ASCOM.Astrometry.NOVASCOM;
        >
        >
        > namespace NovasTransformTest
        >
        > {
        >
        > class Program
        >
        > {
        >
        > static void Main(string[] args)
        >
        > {
        >
        > // Site info
        >
        > var lat = 33; // Latitude
        >
        > var lon = -111; // Longitude (+ east)
        >
        > var elev = 200; // Elevation, meters
        >
        > var temp = 25; // Temperature, deg C
        >
        > // Input J2000 coordinates
        >
        > var raJ = 10.0; // J2000 RA
        >
        > var deJ = 30.0; // J2000 Dec
        >
        > // Time for which local topo coordinates should be
        > calculated
        >
        > var epoch = 2454300.12345; // Julian epoch of conversion //
        >
        > var dt = 65.15; // Delta-T, seconds (for 2007)
        >
        > // Refraction option
        >
        > var doRef = true; // True for refraction corr
        >
        > // Set up the NOVAS.Site
        >
        > var site = new Site {Latitude = lat, Longitude = lon, Height
        > = elev, Temperature = temp};
        >
        >
        > // Set up the NOVAS.Star (fixed point in space) // This
        > could have proper motion, radial velocity // parallax as well.
        >
        > var objv = new Star {RightAscension = raJ, Declination =
        > deJ, DeltaT = dt};
        >
        >
        > var tvec = objv.GetTopocentricPosition(epoch, site, doRef);
        >
        > Console.WriteLine("Local topo RA={0} DE={1}",
        > tvec.RightAscension, tvec.Declination);
        >
        > Console.Read();
        >
        > }
        >
        > }
        >
        > }
        >
        >
        >
        >
        > Output is:
        > Local topo RA=10.0000954883498 DE=30.0275155360858
        >
        > In the developer help file is a section titled "Which NOVAS?" that may
        > be worth reading. It says there is a new (in Platform 6) Transform class
        > that is specifically designed for converting to and from J2000. I
        > haven't tried it myself but it has to be worth a look.
        >
        >
        > --Tim Long
        >
        >
        > -----Original Message-----
        > From: ASCOM-Talk@yahoogroups.com [mailto:ASCOM-Talk@yahoogroups.com] On
        > Behalf Of peschman2001
        > Sent: 24 April 2012 20:01
        > To: ASCOM-Talk@yahoogroups.com
        > Subject: [ASCOM] Novas Transform
        >
        >
        >
        > I'm trying to ease my way in to working with Novas Transform for
        > converting to and from Epoch J2000 when the source coordinates from the
        > planetarium software are Epoch Local. I have done some archive
        > searching leading back to ASCOM-Talk messages 26726 and 12536.
        >
        >
        >
        > In the earlier message, Bob Denny offered this code:
        >
        >
        >
        > ----------
        >
        > Paste this demo script into a file test.js and double-click it.
        >
        >
        >
        > // Site info
        >
        > var lat = 33; // Latitude
        >
        > var lon = -111; // Longitude (+ east)
        >
        > var elev = 200; // Elevation, meters
        >
        > var temp = 25; // Temperature, deg C
        >
        > // Input J2000 coordinates
        >
        > var raJ = 10.0; // J2000 RA
        >
        > var deJ = 30.0; // J2000 Dec
        >
        > // Time for which local topo coordinates should be calculated var epoch
        > = 2454300.12345; // Julian epoch of conversion //
        >
        > var dt = 65.15; // Delta-T, seconds (for 2007)
        >
        > // Refraction option
        >
        > var doRef = true; // True for refraction corr
        >
        > // Set up the NOVAS.Site
        >
        > var site = new ActiveXObject("NOVAS.Site"); site.Latitude = lat;
        > site.Longitude = lon; site.Height = elev; site.Temperature = temp; //
        > Set up the NOVAS.Star (fixed point in space) // This could have proper
        > motion, radial velocity // parallax as well.
        >
        > var objv = new ActiveXObject("NOVAS.Star"); objv.RightAscension = raJ;
        > objv.Declination = deJ; objv.DeltaT = dt; var tvec =
        > objv.GetTopocentricPosition(epoch, site, doRef); WScript.Echo("Local
        > topo RA=" + tvec.RightAscension +
        >
        > " DE=" + tvec.Declination);
        >
        > ----------
        >
        >
        >
        > when I attempt to execute the resulting js file, I get this error
        >
        > message:
        >
        >
        >
        > Line 18:
        >
        > Automation server can't create this object
        >
        >
        >
        > where Line 18:
        >
        > var site = new ActiveXObject("NOVAS.Site");
        >
        >
        >
        > I probably missed some important details in ASCOM Platform Developer
        > Help.chm So any specific references are welcome.
        >
        >
        >
        > Ultimately I'll be implementing this in VB6, but for now it would be
        > nice to get some simple testing done by way of scripting. Once I get to
        > adding the appropriate code to the VB6 scope driver, I'll probably have
        > more questions.
        >
        >
        >
        > Thanks,
        >
        > Peter Eschman
      • Bob Denny
        I thought the new transform classes were exposed to the OS via COM, so would be accessible to any language including VB6. If not, the interim solution is to
        Message 3 of 11 , Apr 25 9:04 AM
        View Source
        • 0 Attachment
          I thought the new transform classes were exposed to the OS via COM, so would be accessible to any language including VB6. If not, the interim solution is to use the NOVAS-COM objects which are similar and have been available for a long time. The new classes are better in all respects, but the functions provided by NOVAS-COM are correct and stable.

          -- Bob


          On Apr 24, 2012, at 22:15, "peschman2001" <eschman@...> wrote:

          > I'm not sure how I can access this given the driver is in VB6.
          > I will do a complete driver re-write some time, but that time
          > is not now. I'm hoping someone can help with an interim solution.
        • peschman2001
          Hi Bob, If I use Visual Studio C# Express on my test case based on Tim s code, and try to add references: After selecting the COM tab I see ASCOM Astrometry
          Message 4 of 11 , Apr 25 9:22 AM
          View Source
          • 0 Attachment
            Hi Bob,

            If I use Visual Studio C# Express on my test case based on Tim's code,
            and try to add references:

            After selecting the COM tab
            I see
            ASCOM Astrometry
            TypeLib Version 5.5
            and
            TypeLib Version 6.0

            Both are located (on x64 system)
            c:\Windows\assembly\GAC_MSI\ASCOM.Astrometry
            in different sub dirs

            I just need a bit of help on how to correctly reference the COM
            objects from .js or from VB6. I have an XP Pro system I can
            also use for testing .js files

            Thanks,
            Peter E

            --- In ASCOM-Talk@yahoogroups.com, Bob Denny <rdenny@...> wrote:
            > I thought the new transform classes were exposed to the OS via COM, so would be accessible to any language including VB6. If not, the interim solution is to use the NOVAS-COM objects which are similar and have been available for a long time. The new classes are better in all respects, but the functions provided by NOVAS-COM are correct and stable.
            >
            > -- Bob
            >
            >
            > On Apr 24, 2012, at 22:15, "peschman2001" <eschman@...> wrote:
            >
            > > I'm not sure how I can access this given the driver is in VB6.
            > > I will do a complete driver re-write some time, but that time
            > > is not now. I'm hoping someone can help with an interim solution.
            >
          • Peter Simpson
            Hi Peter, Your JScript code doesn t work because you don t have the correct namespaces in front of the Star and Site objects. These lines should be: var site =
            Message 5 of 11 , Apr 25 12:12 PM
            View Source
            • 0 Attachment
              Hi Peter,

              Your JScript code doesn't work because you don't have the correct namespaces in front of the Star and Site objects. These lines should be:

              var site = new ActiveXObject("ASCOM.Astrometry.NOVASCOM.Site");
              var objv = new ActiveXObject("ASCOM.Astrometry.NOVASCOM.Star");

              With these changes I get the expected messagebox at the end of the script. The namespaces are documented  in the additional  help file installed by the Developer Components install. I'm not sure if you intended to use the Transform component, but you are actually already following Bob's advice and are using NOVASCOM.

              I hope this helps, 

              Regards, Peter

              --- In ASCOM-Talk@yahoogroups.com, "peschman2001" <eschman@...> wrote:
              >
              > I'm trying to ease my way in to working with Novas Transform
              > for converting to and from Epoch J2000 when the source coordinates
              > from the planetarium software are Epoch Local. I have done some
              > archive searching leading back to ASCOM-Talk messages 26726 and
              > 12536.
              >
              > In the earlier message, Bob Denny offered this code:
              >
              > ----------
              > Paste this demo script into a file test.js and double-click it.
              >
              > // Site info
              > var lat = 33; // Latitude
              > var lon = -111; // Longitude (+ east)
              > var elev = 200; // Elevation, meters
              > var temp = 25; // Temperature, deg C
              > // Input J2000 coordinates
              > var raJ = 10.0; // J2000 RA
              > var deJ = 30.0; // J2000 Dec
              > // Time for which local topo coordinates should be calculated
              > var epoch = 2454300.12345; // Julian epoch of conversion
              > //
              > var dt = 65.15; // Delta-T, seconds (for 2007)
              > // Refraction option
              > var doRef = true; // True for refraction corr
              > // Set up the NOVAS.Site
              > var site = new ActiveXObject("NOVAS.Site");
              > site.Latitude = lat;
              > site.Longitude = lon;
              > site.Height = elev;
              > site.Temperature = temp;
              > // Set up the NOVAS.Star (fixed point in space)
              > // This could have proper motion, radial velocity
              > // parallax as well.
              > var objv = new ActiveXObject("NOVAS.Star");
              > objv.RightAscension = raJ;
              > objv.Declination = deJ;
              > objv.DeltaT = dt;
              > var tvec = objv.GetTopocentricPosition(epoch, site, doRef);
              > WScript.Echo("Local topo RA=" + tvec.RightAscension +
              > " DE=" + tvec.Declination);
              > ----------
              >
              > when I attempt to execute the resulting js file, I get this error
              > message:
              >
              > Line 18:
              > Automation server can't create this object
              >
              > where Line 18:
              > var site = new ActiveXObject("NOVAS.Site");
              >
              > I probably missed some important details in
              > ASCOM Platform Developer Help.chm
              > So any specific references are welcome.
              >
              > Ultimately I'll be implementing this in VB6, but for now it would be
              > nice to get some simple testing done by way of scripting. Once I get
              > to adding the appropriate code to the VB6 scope driver, I'll probably
              > have more questions.
              >
              > Thanks,
              > Peter Eschman
              >
            • peschman2001
              Thanks Peter, that was the fix for the script. In the mean time, I fired up VB6 and added a reference to ASCOM_Astrometry. Once I did that, I could see the
              Message 6 of 11 , Apr 25 4:04 PM
              View Source
              • 0 Attachment
                Thanks Peter, that was the fix for the script.

                In the mean time, I fired up VB6 and added a reference to ASCOM_Astrometry.
                Once I did that, I could see the newer Transform section. That's the one
                I would prefer to use, so can you offer some suggestions as to how to
                script that one prior to flailing around in VB6 with an actual driver?

                A guess would be
                var trns = new ActiveXObject("ASCOM.Astrometry.NOVASCOM.Transform");

                Does the newer Transform code automatically access the Telescope
                class attributes for SiteLatitude, SiteLongitude, and SiteElevation?
                If so, great, I have them already. I'd need to add SiteTemperature,
                Refraction (if part of the Apparent Coords), and Accuracy = 1 for
                reduced accuracy. This might actually work!

                Peter E.

                --- In ASCOM-Talk@yahoogroups.com, "Peter Simpson" <peter@...> wrote:
                >
                > Hi Peter,
                > Your JScript code doesn't work because you don't have the correct
                > namespaces in front of the Star and Site objects. These lines should be:
                > var site = new ActiveXObject("ASCOM.Astrometry.NOVASCOM.Site");var objv
                > = new ActiveXObject("ASCOM.Astrometry.NOVASCOM.Star");
                > With these changes I get the expected messagebox at the end of the
                > script. The namespaces are documented in the additional help file
                > installed by the Developer Components install. I'm not sure if you
                > intended to use the Transform component, but you are actually already
                > following Bob's advice and are using NOVASCOM.
                > I hope this helps,
                > Regards, Peter
                > --- In ASCOM-Talk@yahoogroups.com, "peschman2001" <eschman@> wrote:
                > >
                > > I'm trying to ease my way in to working with Novas Transform
                > > for converting to and from Epoch J2000 when the source coordinates
                > > from the planetarium software are Epoch Local. I have done some
                > > archive searching leading back to ASCOM-Talk messages 26726 and
                > > 12536.
                > >
                > > In the earlier message, Bob Denny offered this code:
                > >
                > > ----------
                > > Paste this demo script into a file test.js and double-click it.
                > >
                > > // Site info
                > > var lat = 33; // Latitude
                > > var lon = -111; // Longitude (+ east)
                > > var elev = 200; // Elevation, meters
                > > var temp = 25; // Temperature, deg C
                > > // Input J2000 coordinates
                > > var raJ = 10.0; // J2000 RA
                > > var deJ = 30.0; // J2000 Dec
                > > // Time for which local topo coordinates should be calculated
                > > var epoch = 2454300.12345; // Julian epoch of conversion
                > > //
                > > var dt = 65.15; // Delta-T, seconds (for 2007)
                > > // Refraction option
                > > var doRef = true; // True for refraction corr
                > > // Set up the NOVAS.Site
                > > var site = new ActiveXObject("NOVAS.Site");
                > > site.Latitude = lat;
                > > site.Longitude = lon;
                > > site.Height = elev;
                > > site.Temperature = temp;
                > > // Set up the NOVAS.Star (fixed point in space)
                > > // This could have proper motion, radial velocity
                > > // parallax as well.
                > > var objv = new ActiveXObject("NOVAS.Star");
                > > objv.RightAscension = raJ;
                > > objv.Declination = deJ;
                > > objv.DeltaT = dt;
                > > var tvec = objv.GetTopocentricPosition(epoch, site, doRef);
                > > WScript.Echo("Local topo RA=" + tvec.RightAscension +
                > > " DE=" + tvec.Declination);
                > > ----------
                > >
                > > when I attempt to execute the resulting js file, I get this error
                > > message:
                > >
                > > Line 18:
                > > Automation server can't create this object
                > >
                > > where Line 18:
                > > var site = new ActiveXObject("NOVAS.Site");
                > >
                > > I probably missed some important details in
                > > ASCOM Platform Developer Help.chm
                > > So any specific references are welcome.
                > >
                > > Ultimately I'll be implementing this in VB6, but for now it would be
                > > nice to get some simple testing done by way of scripting. Once I get
                > > to adding the appropriate code to the VB6 scope driver, I'll probably
                > > have more questions.
                > >
                > > Thanks,
                > > Peter Eschman
                > >
                >
              • Tim Long
                I think Bob is correct, Peter put a lot of work into making sure everything worked from COM, so it _should_ work from VB6. It s going to come down to finding
                Message 7 of 11 , Apr 26 3:24 AM
                View Source
                • 0 Attachment
                  I think Bob is correct, Peter put a lot of work into making sure
                  everything worked from COM, so it _should_ work from VB6. It's going to
                  come down to finding the right ProgID, which as far as I can tell, is
                  "ASCOM.Astrometry.Transform.Transform" for the Transform class. If you
                  look in RegEdit under HKEY_CLASSES_ROOT/ASCOM.* you can see all the
                  ASCOM ProgID registrations. You'll probably need to look in the Help
                  under "Which NOVAS?" to work out which ones to use.

                  --Tim

                  -----Original Message-----
                  From: ASCOM-Talk@yahoogroups.com [mailto:ASCOM-Talk@yahoogroups.com] On
                  Behalf Of peschman2001
                  Sent: 25 April 2012 17:23
                  To: ASCOM-Talk@yahoogroups.com
                  Subject: Re: [ASCOM] Novas Transform

                  Hi Bob,

                  If I use Visual Studio C# Express on my test case based on Tim's code,
                  and try to add references:

                  After selecting the COM tab
                  I see
                  ASCOM Astrometry
                  TypeLib Version 5.5
                  and
                  TypeLib Version 6.0

                  Both are located (on x64 system)
                  c:\Windows\assembly\GAC_MSI\ASCOM.Astrometry
                  in different sub dirs

                  I just need a bit of help on how to correctly reference the COM objects
                  from .js or from VB6. I have an XP Pro system I can also use for
                  testing .js files

                  Thanks,
                  Peter E

                  --- In ASCOM-Talk@yahoogroups.com, Bob Denny <rdenny@...> wrote:
                  > I thought the new transform classes were exposed to the OS via COM, so
                  would be accessible to any language including VB6. If not, the interim
                  solution is to use the NOVAS-COM objects which are similar and have been
                  available for a long time. The new classes are better in all respects,
                  but the functions provided by NOVAS-COM are correct and stable.
                  >
                  > -- Bob
                  >
                  >
                  > On Apr 24, 2012, at 22:15, "peschman2001" <eschman@...> wrote:
                  >
                  > > I'm not sure how I can access this given the driver is in VB6.
                  > > I will do a complete driver re-write some time, but that time is not

                  > > now. I'm hoping someone can help with an interim solution.
                  >




                  ------------------------------------

                  For more information see http://ASCOM-Standards.org/.

                  To unsubscribe from this group, send an email FROM THE ACCOUNT YOU USED
                  TO SUBSCRIBE(!) to:
                  ASCOM-Talk-unsubscribe@yahoogroups.com

                  Yahoo! Groups Links




                  --
                  ExchangeDefender Message Security: Click below to verify authenticity
                  http://www.exchangedefender.com/verify.asp?id=q3QAOTGT026642&from=tim@...
                  Complete email hygiene and business continuity solution available from http://www.tigranetworks.co.uk
                • peschman2001
                  Thanks to Bob, Peter S. and Tim, I have a script that mostly works. I hope I am not burdening folks with this continuing thread. I am getting an error when I
                  Message 8 of 11 , Apr 26 8:05 AM
                  View Source
                  • 0 Attachment
                    Thanks to Bob, Peter S. and Tim, I have a script that mostly works.
                    I hope I am not burdening folks with this continuing thread.

                    I am getting an error when I attempt to translate to Topocentric
                    RA and Dec: "RA topocentric can not be derived from the information
                    provided. Are site parameters set?"

                    As far as I can tell, the site parameters are set, and the conversion
                    to Apparent does work if the Topocentric sections are commented out.
                    When the Topocentric sections are commented out, WScript.Echo window
                    reads:
                    J2000 Coords RA=10 DE=30
                    Apparent Coords RA= 10.01224138573996 DE=29.93956008746439
                    Topocentric Coords RA=5 DE=5

                    (If you try running this script, you can expect to get slightly
                    different Apparent Coords, since they change as clock time is elapsed
                    -- I saw change in the RA 8th decimal place in a relatively short period
                    of time)

                    I also tried changing = true to = True in the Refraction assignment,
                    but "True" is undefined, where "true" does not trigger an error message.

                    I can't seem to spot the error in the script file, having tried to
                    carefully inspect every variable assignment and spelling. I would have
                    expected that if the Site specific parameters are good enough for the
                    conversion to Apparent, they would be good enough for the conversion
                    to Topocentric.

                    I also tried inserting SetApparent(raA, deA) along with Refresh()
                    prior to accessing the Topocentric RA and DEC, but this did not help.

                    // Novas transform test 03
                    //
                    // Site info
                    var SiteLatitude = 33; // Latitude
                    var SiteLongitude = -111; // Longitude (+ east)
                    var SiteElevation = 200; // Elevation, meters
                    var SiteTemperature = 25; // Temperature, deg C
                    // Refraction option
                    var Refraction = true; // True for refraction corr
                    // Set up the NOVAS.Transform
                    // Input J2000 coordinates
                    var raJ = 10.0; // J2000 RA
                    var deJ = 30.0; // J2000 Dec
                    var trns = new ActiveXObject("ASCOM.Astrometry.Transform.Transform");
                    trns.SetJ2000(raJ, deJ)
                    trns.Refresh()
                    //
                    var raA = trns.RAApparent;
                    var deA = trns.DECApparent;
                    //
                    //trns.SetApparent(raA, deA) // adding this does not help
                    //trns.Refresh() // adding this does not help
                    // values below are dummied out so script does not fail on
                    // desired assignments
                    var raT = 5.0; // desired assignment is trns.RATopocentric;
                    var deT = 5.0; // desired assignment is trns.DECTopocentric;
                    //
                    WScript.Echo("J2000 Coords RA=" + raJ + " DE=" + deJ +
                    "\nApparent Coords RA=" + raA + " DE=" + deA +
                    "\nTopocentric Coords RA=" + raT + " DE=" + deT);

                    --- In ASCOM-Talk@yahoogroups.com, "Tim Long" <Tim@...> wrote:
                    > I think Bob is correct, Peter put a lot of work into making sure
                    > everything worked from COM, so it _should_ work from VB6. It's going to
                    > come down to finding the right ProgID, which as far as I can tell, is
                    > "ASCOM.Astrometry.Transform.Transform" for the Transform class. If you
                    > look in RegEdit under HKEY_CLASSES_ROOT/ASCOM.* you can see all the
                    > ASCOM ProgID registrations. You'll probably need to look in the Help
                    > under "Which NOVAS?" to work out which ones to use.
                    >
                    > --Tim
                  • Peter Simpson
                    Hi Peter, Its certainly true that you are creating variables with the names of the required site properties, but these are JScript variables rather than
                    Message 9 of 11 , Apr 26 12:34 PM
                    View Source
                    • 0 Attachment
                      Hi Peter,

                      Its certainly true that you are creating variables with the names of the required site properties, but these are JScript variables rather than properties of the Transform object. I have added a few lines of code, in bold, to your sample which set the Transform properties; this version  runs as expected and provides Topocentric coordinates in a messagebox.

                      // Novas transform test 03
                      //
                      // Site info
                      var SiteLatitude = 33; // Latitude
                      var SiteLongitude = -111; // Longitude (+ east)
                      var SiteElevation = 200; // Elevation, meters
                      var SiteTemperature = 25; // Temperature, deg C
                      // Refraction option
                      var Refraction = true; // True for refraction corr
                      // Set up the NOVAS.Transform
                      // Input J2000 coordinates
                      var raJ = 10.0; // J2000 RA
                      var deJ = 30.0; // J2000 Dec
                      var trns = new ActiveXObject("ASCOM.Astrometry.Transform.Transform");
                      trns.SetJ2000(raJ, deJ)
                      trns.Refresh()
                      //
                      var raA = trns.RAApparent;
                      var deA = trns.DECApparent;
                      //
                      //trns.SetApparent(raA, deA) // adding this does not help
                      //trns.Refresh() // adding this does not help
                      // values below are dummied out so script does not fail on
                      // desired assignments

                      trns.SiteElevation = SiteElevation;
                      trns.SiteLatitude  = SiteLatitude;
                      trns.SiteLongitude = SiteLongitude;
                      trns.SiteTemperature = SiteTemperature;
                      trns.Refraction = Refraction;

                      var raT = trns.RATopocentric;
                      var deT = trns.DECTopocentric;
                      //
                      WScript.Echo("J2000 Coords RA=" + raJ + " DE=" + deJ + 
                      "\nApparent Coords RA=" + raA + " DE=" + deA + 
                      "\nTopocentric Coords RA=" + raT + " DE=" + deT);

                      Regards, Peter

                      --- In ASCOM-Talk@yahoogroups.com, "peschman2001" <eschman@...> wrote:
                      >
                      > Thanks to Bob, Peter S. and Tim, I have a script that mostly works.
                      > I hope I am not burdening folks with this continuing thread.
                      >
                      > I am getting an error when I attempt to translate to Topocentric
                      > RA and Dec: "RA topocentric can not be derived from the information
                      > provided. Are site parameters set?"
                      >
                      > As far as I can tell, the site parameters are set, and the conversion
                      > to Apparent does work if the Topocentric sections are commented out.
                      > When the Topocentric sections are commented out, WScript.Echo window
                      > reads:
                      > J2000 Coords RA=10 DE=30
                      > Apparent Coords RA= 10.01224138573996 DE=29.93956008746439
                      > Topocentric Coords RA=5 DE=5
                      >
                      > (If you try running this script, you can expect to get slightly
                      > different Apparent Coords, since they change as clock time is elapsed
                      > -- I saw change in the RA 8th decimal place in a relatively short period
                      > of time)
                      >
                      > I also tried changing = true to = True in the Refraction assignment,
                      > but "True" is undefined, where "true" does not trigger an error message.
                      >
                      > I can't seem to spot the error in the script file, having tried to
                      > carefully inspect every variable assignment and spelling. I would have
                      > expected that if the Site specific parameters are good enough for the
                      > conversion to Apparent, they would be good enough for the conversion
                      > to Topocentric.
                      >
                      > I also tried inserting SetApparent(raA, deA) along with Refresh()
                      > prior to accessing the Topocentric RA and DEC, but this did not help.
                      >
                      > // Novas transform test 03
                      > //
                      > // Site info
                      > var SiteLatitude = 33; // Latitude
                      > var SiteLongitude = -111; // Longitude (+ east)
                      > var SiteElevation = 200; // Elevation, meters
                      > var SiteTemperature = 25; // Temperature, deg C
                      > // Refraction option
                      > var Refraction = true; // True for refraction corr
                      > // Set up the NOVAS.Transform
                      > // Input J2000 coordinates
                      > var raJ = 10.0; // J2000 RA
                      > var deJ = 30.0; // J2000 Dec
                      > var trns = new ActiveXObject("ASCOM.Astrometry.Transform.Transform");
                      > trns.SetJ2000(raJ, deJ)
                      > trns.Refresh()
                      > //
                      > var raA = trns.RAApparent;
                      > var deA = trns.DECApparent;
                      > //
                      > //trns.SetApparent(raA, deA) // adding this does not help
                      > //trns.Refresh() // adding this does not help
                      > // values below are dummied out so script does not fail on
                      > // desired assignments
                      > var raT = 5.0; // desired assignment is trns.RATopocentric;
                      > var deT = 5.0; // desired assignment is trns.DECTopocentric;
                      > //
                      > WScript.Echo("J2000 Coords RA=" + raJ + " DE=" + deJ +
                      > "\nApparent Coords RA=" + raA + " DE=" + deA +
                      > "\nTopocentric Coords RA=" + raT + " DE=" + deT);
                      >
                      > --- In ASCOM-Talk@yahoogroups.com, "Tim Long" Tim@ wrote:
                      > > I think Bob is correct, Peter put a lot of work into making sure
                      > > everything worked from COM, so it _should_ work from VB6. It's going to
                      > > come down to finding the right ProgID, which as far as I can tell, is
                      > > "ASCOM.Astrometry.Transform.Transform" for the Transform class. If you
                      > > look in RegEdit under HKEY_CLASSES_ROOT/ASCOM.* you can see all the
                      > > ASCOM ProgID registrations. You'll probably need to look in the Help
                      > > under "Which NOVAS?" to work out which ones to use.
                      > >
                      > > --Tim
                      >
                    • peschman2001
                      Peter, Thanks very much for clarifying the assignment process. I had asked this very question in an earlier post. I assume this means that even though these
                      Message 10 of 11 , Apr 26 1:03 PM
                      View Source
                      • 0 Attachment
                        Peter,

                        Thanks very much for clarifying the assignment process. I had asked this
                        very question in an earlier post. I assume this means that even though
                        these vars are part of a telescope driver, they must specifically be
                        assigned the trns object the way you have shown here.

                        Thanks for everyone's help on this,
                        Peter E.

                        A cleaned up script example:
                        // Novas transform test 04
                        //
                        // Set up the NOVAS.Transform
                        var trns = new ActiveXObject("ASCOM.Astrometry.Transform.Transform");
                        // Site info
                        trns.SiteLatitude = 33; // Latitude
                        trns.SiteLongitude = -111; // Longitude (+ east)
                        trns.SiteElevation = 200; // Elevation, meters
                        trns.SiteTemperature = 25; // Temperature, deg C
                        trns.Refraction = true; // True for refraction correction
                        //
                        var raJ = 10.0; // J2000 RA
                        var deJ = 30.0; // J2000 Dec
                        // Input J2000 coordinates
                        trns.SetJ2000(raJ, deJ)
                        trns.Refresh()
                        //
                        var raA = trns.RAApparent;
                        var deA = trns.DECApparent;
                        //
                        var raT = trns.RATopocentric;
                        var deT = trns.DECTopocentric;
                        //
                        WScript.Echo("J2000 Coords RA=" + raJ + " DE=" + deJ +
                        "\nApparent Coords RA=" + raA + " DE=" + deA +
                        "\nTopocentric Coords RA=" + raT + " DE=" + deT);
                        // end of script

                        --- In ASCOM-Talk@yahoogroups.com, "Peter Simpson" <peter@...> wrote:
                        >
                        > Hi Peter,
                        > Its certainly true that you are creating variables with the names of the
                        > required site properties, but these are JScript variables rather than
                        > properties of the Transform object. I have added a few lines of code, in
                        > bold, to your sample which set the Transform properties; this version
                        > runs as expected and provides Topocentric coordinates in a messagebox.
                      Your message has been successfully submitted and would be delivered to recipients shortly.