Isis 3.0 Application Source Code Reference |
Home |
00001 /** 00002 * @file 00003 * $Revision: 2499 $ 00004 * $Date: 2011-05-23 14:44:14 -0700 (Mon, 23 May 2011) $ 00005 * $Id: SpkKernelWriter.cpp 2499 2011-05-23 21:44:14Z kbecker@GS.DOI.NET $ 00006 * 00007 * Unless noted otherwise, the portions of Isis written by the USGS are 00008 * public domain. See individual third-party library and package descriptions 00009 * for intellectual property information, user agreements, and related 00010 * information. 00011 * 00012 * Although Isis has been used by the USGS, no warranty, expressed or 00013 * implied, is made by the USGS as to the accuracy and functioning of such 00014 * software and related material nor shall the fact of distribution 00015 * constitute any such warranty, and no responsibility is assumed by the 00016 * USGS in connection therewith. 00017 * 00018 * For additional information, launch 00019 * $ISISROOT/doc//documents/Disclaimers/Disclaimers.html 00020 * in a browser or see the Privacy & Disclaimers page on the Isis website, 00021 * http://isis.astrogeology.usgs.gov, and the USGS privacy and disclaimers on 00022 * http://www.usgs.gov/privacy.html. 00023 */ 00024 #include <string> 00025 #include <vector> 00026 #include <iostream> 00027 #include <iomanip> 00028 #include <sstream> 00029 00030 #include "Application.h" 00031 #include "SpkKernelWriter.h" 00032 #include "Pvl.h" 00033 #include "iString.h" 00034 #include "iException.h" 00035 00036 #include "NaifStatus.h" 00037 00038 using namespace std; 00039 00040 namespace Isis { 00041 00042 /** 00043 * @brief Provide general comments for an SPK kernel header 00044 * 00045 * 00046 * @return std::string Comment generated for SPK SPICE kernel header 00047 * 00048 * @internal 00049 * @history 2012-05-23 Kris Becker Added creation of special tag to ID the 00050 * kernel as needing special light time and 00051 * stellar aberration correction in spiceinit 00052 */ 00053 std::string SpkKernelWriter::k_header() const { 00054 ostringstream comment; 00055 comment << "\ 00056 ****************************************************************************\n\ 00057 USGS ISIS (spkwriter) Generated SPK Kernel\n\ 00058 Created By: " << Application::UserName() << "\n\ 00059 Date Created: " << Application::DateTime() << "\n\ 00060 ****************************************************************************\n\ 00061 \n\ 00062 \n\ 00063 Position Data in the File\n\ 00064 -----------------------------------------------------------------------\n\ 00065 \n\ 00066 This file contains time ordered array of geometric states \n\ 00067 (kilometers) and rates of change (kilometers/second) of body\n\ 00068 relative to center, specified relative to frame.\n\ 00069 \n\ 00070 \n\ 00071 Status\n\ 00072 -----------------------------------------------------------------------\n\ 00073 \n\ 00074 This kernel was generated for the purposes of storing C-Smithed\n\ 00075 position updates that may have been generated from ISIS processing\n\ 00076 techniques (controlled imaging, jitter analysis, etc...). These\n\ 00077 SPK kernels are intended to mimick SPKs provided by individual\n\ 00078 missions (or NAV teams).\n\ 00079 \n\ 00080 \n\ 00081 Pedigree\n\ 00082 -----------------------------------------------------------------------\n\ 00083 \n\ 00084 This file was generated by an automated process. The ISIS\n\ 00085 application spkwriter was used to read SPK kernel data\n\ 00086 contained within an ISIS cube file. It then writes it as an\n\ 00087 individual segment in the SPK. Hence, a list of files can be\n\ 00088 written to a single SPK kernel. However, mixing the instruments\n\ 00089 contained in a single SPK kernel is discouraged.\n\ 00090 \n\ 00091 \n\ 00092 Angular Rates\n\ 00093 -----------------------------------------------------------------------\n\ 00094 \n\ 00095 This kernel typically contains state vectors of rates of change\n\ 00096 as a function of time but may only contain position vectors. The\n\ 00097 ephemeris given is for the body moving relative to the center of\n\ 00098 motion.\n\ 00099 \n\ 00100 \n\ 00101 Usage Note\n\ 00102 -----------------------------------------------------------------------\n\ 00103 \n\ 00104 To make use of this file in a typical SPICE based application,\n\ 00105 users must supply at least a leapseconds kernel. This file is\n\ 00106 necessary for time-based conversions. They should be the same\n\ 00107 kernels that were originally used to initialize the image.\n\ 00108 \n\ 00109 Segments in this file are actually individual ISIS files where the\n\ 00110 internally cached SPICE data is extracted and transformed into the\n\ 00111 appropriate content to satisfy NAIF\'s SPICE kernel storage\n\ 00112 requirements.\n\ 00113 \n\ 00114 Note that ISIS defaults to applying light time and stellar\n\ 00115 abberation correction when computing positions relative to s/c and\n\ 00116 target body. Currently, this correction should not be utilized\n\ 00117 for kernels created by the spkwriter application. Therefore the\n\ 00118 computation correcting for light time/stellar abberation is turned\n\ 00119 off. It should be noted that this option applies to all files\n\ 00120 contained herein. (ID:USGS_SPK_ABCORR=NONE)\n\ 00121 \n\ 00122 The contents of this kernel are summarized below.\n\ 00123 \n\ 00124 \n\ 00125 Segment (by file) Summary\n\ 00126 -----------------------------------------------------------------------\n\ 00127 \n\ 00128 The follow sections describe each segment in this SPK kernel. Each\n\ 00129 segment is a file in the input list. When running ISIS spiceinit,\n\ 00130 the kernels listed for each file should be supplied to ensure proper\n\ 00131 geometry can be reproduced accurately.\n\ 00132 \n"; 00133 00134 return (string(comment.str())); 00135 } 00136 00137 00138 00139 00140 }; // namespace Isis 00141 00142