::: content
[;{.source}]{.comments} {.source}[; NOSA HEADER START{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; The contents of this file are subject to the terms of the NASA Open {.source}]{.comments} {.source}[; Source Agreement (NOSA), Version 1.3 only (the "Agreement"). You may {.source}]{.comments} {.source}[; not use this file except in compliance with the Agreement.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; You can obtain a copy of the agreement at{.source}]{.comments} {.source}[; docs/NASA_Open_Source_Agreement_1.3.txt{.source}]{.comments} {.source}[; or {.source}]{.comments} {.source}[; http://sscweb.gsfc.nasa.gov/WebServices/NASA_Open_Source_Agreement_1.3.txt.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; See the Agreement for the specific language governing permissions{.source}]{.comments} {.source}[; and limitations under the Agreement.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; When distributing Covered Code, include this NOSA HEADER in each{.source}]{.comments} {.source}[; file and include the Agreement file at {.source}]{.comments} {.source}[; docs/NASA_Open_Source_Agreement_1.3.txt. If applicable, add the {.source}]{.comments} {.source}[; following below this NOSA HEADER, with the fields enclosed by {.source}]{.comments} {.source}[; brackets "[]" replaced with your own identifying information: {.source}]{.comments} {.source}[; Portions Copyright [yyyy] [name of copyright owner]{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; NOSA HEADER END{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; Copyright (c) 2014 United States Government as represented by the {.source}]{.comments} {.source}[; National Aeronautics and Space Administration. No copyright is claimed {.source}]{.comments} {.source}[; in the United States under Title 17, U.S.Code. All Other Rights Reserved.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[;+{.source}]{.comments} {.source}[; This class is an IDL representation of the FormatOptions{.source}]{.comments} {.source}[; element from the{.source}]{.comments} {.source}[; <a href="http://sscweb.gsfc.nasa.gov/">Satellite Situation Center</a>{.source}]{.comments} {.source}[; (SSC) XML schema.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @copyright Copyright (c) 2014 United States Government as represented{.source}]{.comments} {.source}[; by the National Aeronautics and Space Administration. No{.source}]{.comments} {.source}[; copyright is claimed in the United States under Title 17,{.source}]{.comments} {.source}[; U.S.Code. All Other Rights Reserved.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @author B. Harris{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[;+{.source}]{.comments} {.source}[; Creates an SpdfFormatOptions object.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @keyword dateFormat {in} {optional} {type=string} {default='yyyy_ddd'}{.source}]{.comments} {.source}[; specifies the format for date values ('yyyy_ddd', {.source}]{.comments} {.source}[; 'yy_mm_dd', 'yy_Mmm_dd', 'yy_CMMM_dd'){.source}]{.comments} {.source}[; @keyword timeFormat {in} {optional} {type=string} {default='hh_hhhh'}{.source}]{.comments} {.source}[; specifies the format for time values ('hh_hhhh', {.source}]{.comments} {.source}[; 'hh_mm_ss', 'hh_mm'){.source}]{.comments} {.source}[; @keyword distanceFormat {in} {optional} {type=string} {default='Km'}{.source}]{.comments} {.source}[; specifies the units for distance values ('Re', 'Km', {.source}]{.comments} {.source}[; 'IntegerKm', 'ScientificNotationKm'){.source}]{.comments} {.source}[; @keyword distanceDigits {in} {optional} {type=int} {default=2}{.source}]{.comments} {.source}[; specifies the number of decimal places to include when {.source}]{.comments} {.source}[; displaying distance values in scientific notation.{.source}]{.comments} {.source}[; @keyword degreeFormat{in} {optional} {type=string} {default='Decimal'}{.source}]{.comments} {.source}[; specifies the format for degree values ('Decimal', {.source}]{.comments} {.source}[; 'Minutes', 'MinutesSeconds'){.source}]{.comments} {.source}[; @keyword degreeDigits {in} {optional} {type=int} {default=2}{.source}]{.comments} {.source}[; specifies the number of decimal places to include when {.source}]{.comments} {.source}[; displaying degree values.{.source}]{.comments} {.source}[; @keyword latLonFormat {in} {optional} {type=string} {.source}]{.comments} {.source}[; {default='Lat90Lon360'}{.source}]{.comments} {.source}[; specifies the format for direction/range values{.source}]{.comments} {.source}[; ('Lat90Lon360', 'Lat90Lon180', 'Lat90SnLon180We'){.source}]{.comments} {.source}[; @keyword cdf {in} {optional} {type=boolean} {default=false}{.source}]{.comments} {.source}[; boolean value indicating whether the output should be a{.source}]{.comments} {.source}[; CDF file.{.source}]{.comments} {.source}[; @keyword linesPerPage {in} {optional} {type=int} {default=55}{.source}]{.comments} {.source}[; specifies the number of lines per page for text output.{.source}]{.comments} {.source}[; @returns reference to an SpdfFormatOptions object.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfFormatOptions::init:source}function SpdfFormatOptions::init, $ dateFormat = dateFormat, $ timeFormat = timeFormat, $ distanceFormat = distanceFormat, $ distanceDigits = distanceDigits, $ degreeFormat = degreeFormat, $ degreeDigits = degreeDigits, $ latLonFormat = latLonFormat, $ cdf = cdf, $ linesPerPage = linesPerPage compile_opt idl2 if keyword_set(dateFormat) then begin self.dateFormat = dateFormat endif else begin self.dateFormat = 'yyyy_ddd' endelse if keyword_set(timeFormat) then begin self.timeFormat = timeFormat endif else begin self.timeFormat = 'hh_hhhh' endelse if keyword_set(distanceFormat) then begin self.distanceFormat = distanceFormat endif else begin self.distanceFormat = 'Km' endelse if keyword_set(distanceDigits) then begin self.distanceDigits = distanceDigits endif else begin self.distanceDigits = 2 endelse if keyword_set(degreeFormat) then begin self.degreeFormat = degreeFormat endif else begin self.degreeFormat = 'Decimal' endelse if keyword_set(degreeDigits) then begin self.degreeDigits = degreeDigits endif else begin self.degreeDigits = 2 endelse if keyword_set(latLonFormat) then begin self.latLonFormat = latLongFormat endif else begin self.latLonFormat = 'Lat90Lon360' endelse if keyword_set(cdf) then begin self.cdf = cdf endif else begin self.cdf = 0b endelse if keyword_set(linesPerPage) then begin self.linesPerPage = linesPerPage endif else begin self.linesPerPage = 55 endelse return, self end {.source}[;+{.source}]{.comments} {.source}[; Performs cleanup operations when this object is destroyed.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfFormatOptions::cleanup:source}pro SpdfFormatOptions::cleanup compile_opt idl2 end {.source}[;+{.source}]{.comments} {.source}[; Gets the dateFormat value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns dateFormat value.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfFormatOptions::getDateFormat:source}function SpdfFormatOptions::getDateFormat compile_opt idl2 return, self.dateFormat end {.source}[;+{.source}]{.comments} {.source}[; Gets the timeFormat value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns timeFormat value.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfFormatOptions::getTimeFormat:source}function SpdfFormatOptions::getTimeFormat compile_opt idl2 return, self.timeFormat end {.source}[;+{.source}]{.comments} {.source}[; Gets the distanceFormat value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns distanceFormat value.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfFormatOptions::getDistanceFormat:source}function SpdfFormatOptions::getDistanceFormat compile_opt idl2 return, self.distanceFormat end {.source}[;+{.source}]{.comments} {.source}[; Gets the distanceDigits value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns distanceDigits value.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfFormatOptions::getDistanceDigits:source}function SpdfFormatOptions::getDistanceDigits compile_opt idl2 return, self.distanceDigits end {.source}[;+{.source}]{.comments} {.source}[; Gets the degreeFormat value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns degreeFormat value.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfFormatOptions::getDegreeFormat:source}function SpdfFormatOptions::getDegreeFormat compile_opt idl2 return, self.degreeFormat end {.source}[;+{.source}]{.comments} {.source}[; Gets the degreeDigits value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns degreeDigits value.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfFormatOptions::getDegreeDigits:source}function SpdfFormatOptions::getDegreeDigits compile_opt idl2 return, self.degreeDigits end {.source}[;+{.source}]{.comments} {.source}[; Gets the latLonFormat value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns latLonFormat value.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfFormatOptions::getLatLonFormat:source}function SpdfFormatOptions::getLatLonFormat compile_opt idl2 return, self.latLonFormat end {.source}[;+{.source}]{.comments} {.source}[; Gets the cdf value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns cdf value.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfFormatOptions::getCdf:source}function SpdfFormatOptions::getCdf compile_opt idl2 return, self.cdf end {.source}[;+{.source}]{.comments} {.source}[; Gets the linesPerPage value.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @returns linesPerPage value.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfFormatOptions::getLinesPerPage:source}function SpdfFormatOptions::getLinesPerPage compile_opt idl2 return, self.linesPerPage end {.source}[;+{.source}]{.comments} {.source}[; Creates an FormatOptions element using the given XML DOM document {.source}]{.comments} {.source}[; with the values of this object.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @param doc {in} {type=IDLffXMLDOMDocument}{.source}]{.comments} {.source}[; document in which to create the DataRequest element.{.source}]{.comments} {.source}[; @returns a reference to a new IDLffXMLDOMElement representation of{.source}]{.comments} {.source}[; this object.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfFormatOptions::createDomElement:source}function SpdfFormatOptions::createDomElement, $ doc compile_opt idl2 formatOptionsElement = doc->createElement('FormatOptions') dateFormatElement = doc->createElement('DateFormat') ovoid = formatOptionsElement->appendChild(dateFormatElement) dateFormatNode = doc->createTextNode(self.dateFormat) ovoid = dateFormatElement->appendChild(dateFormatNode) timeFormatElement = doc->createElement('TimeFormat') ovoid = formatOptionsElement->appendChild(timeFormatElement) timeFormatNode = doc->createTextNode(self.timeFormat) ovoid = timeFormatElement->appendChild(timeFormatNode) distanceFormatElement = doc->createElement('DistanceFormat') ovoid = formatOptionsElement->appendChild(distanceFormatElement) distanceFormatNode = doc->createTextNode(self.distanceFormat) ovoid = distanceFormatElement->appendChild(distanceFormatNode) distanceDigitsElement = doc->createElement('DistanceDigits') ovoid = formatOptionsElement->appendChild(distanceDigitsElement) distanceDigitsNode = $ doc->createTextNode( $ string(self.distanceDigits, format='(%"%d")')) ovoid = distanceDigitsElement->appendChild(distanceDigitsNode) degreeFormatElement = doc->createElement('DegreeFormat') ovoid = formatOptionsElement->appendChild(degreeFormatElement) degreeFormatNode = doc->createTextNode(self.degreeFormat) ovoid = degreeFormatElement->appendChild(degreeFormatNode) degreeDigitsElement = doc->createElement('DegreeDigits') ovoid = formatOptionsElement->appendChild(degreeDigitsElement) degreeDigitsNode = $ doc->createTextNode( $ string(self.degreeDigits, format='(%"%d")')) ovoid = degreeDigitsElement->appendChild(degreeDigitsNode) latLonFormatElement = doc->createElement('LatLonFormat') ovoid = formatOptionsElement->appendChild(latLonFormatElement) latLonFormatNode = doc->createTextNode(self.latLonFormat) ovoid = latLonFormatElement->appendChild(latLonFormatNode) cdfElement = doc->createElement('Cdf') ovoid = formatOptionsElement->appendChild(cdfElement) if self.cdf eq 1b then begin cdfText = 'true' endif else begin cdfText = 'false' endelse cdfNode = doc->createTextNode(cdfText) ovoid = cdfElement->appendChild(cdfNode) linesPerPageElement = doc->createElement('LinesPerPage') ovoid = formatOptionsElement->appendChild(linesPerPageElement) linesPerPageNode = $ doc->createTextNode( $ string(self.linesPerPage, format='(%"%d")')) ovoid = linesPerPageElement->appendChild(linesPerPageNode) return, formatOptionsElement end {.source}[;+{.source}]{.comments} {.source}[; Defines the SpdfFormatOptions class.{.source}]{.comments} {.source}[;{.source}]{.comments} {.source}[; @field dateFormat value indicating the format for date values{.source}]{.comments} {.source}[; ('yyyy_ddd', 'yy_mm_dd', 'yy_Mmm_dd', 'yy_CMMM_dd'){.source}]{.comments} {.source}[; @field timeFormat value indicating the format for time values{.source}]{.comments} {.source}[; ('hh_hhhh', 'hh_mm_ss', 'hh_mm'){.source}]{.comments} {.source}[; @field distanceFormat value indicating the format for distance values{.source}]{.comments} {.source}[; ('Re', 'Km', 'IntegerKm', 'ScientificNotationKm'){.source}]{.comments} {.source}[; @field distanceDigits integer value specifying the number of decimal{.source}]{.comments} {.source}[; digits to include when displaying distance values in{.source}]{.comments} {.source}[; scientific notation.{.source}]{.comments} {.source}[; @field degreeFormat value indicating the format for degree values{.source}]{.comments} {.source}[; ('Decimal', 'Minutes', 'MinutesSeconds'){.source}]{.comments} {.source}[; @field degreeDigits integer value specifying the number of decimal{.source}]{.comments} {.source}[; places to include when displaying degree values.{.source}]{.comments} {.source}[; @field latLonFormat value indicating the format for direction/range {.source}]{.comments} {.source}[; values ('Lat90Lon360', 'Lat90Lon180', 'Lat90SnLon180We'){.source}]{.comments} {.source}[; @field cdf boolean value indicating whether the output should be a{.source}]{.comments} {.source}[; CDF file.{.source}]{.comments} {.source}[; @field linesPerPage integer value indicating the number of lines per{.source}]{.comments} {.source}[; page for text output.{.source}]{.comments} {.source}[;-{.source}]{.comments} {.source}[]{#SpdfFormatOptions__define:source}pro SpdfFormatOptions__define compile_opt idl2 struct = { SpdfFormatOptions, $ dateFormat:'yyyy_ddd', $ timeFormat:'hh_hhhh', $ distanceFormat:'Km', $ distanceDigits:2, $ degreeFormat:'Decimal', $ degreeDigits:2, $ latLonFormat:'Lat90Lon360', $ cdf:0b, $ linesPerPage:55 $ } end {.source}
:::