public string MakeSearchQuery() { //Returns a url string for querying the TNS website //figure out site location string scrubbedTargetName = ScrubSmallBodyName(TgtName); string siteLong = (360 - MPC_Observatory.BestObservatory.MySiteLong).ToString("0.000"); //converted to the 0-360 form that MPC likes it string siteLat = MPC_Observatory.BestObservatory.MySiteLat.ToString("0.000"); string siteElev = MPC_Observatory.BestObservatory.MySiteElev.ToString("0.000"); string center = siteLong + ":" + siteLat + ":" + siteElev; string startTime = EphStart.ToString("yyyy-MMM-dd"); string endTime = EphEnd.ToString("yyyy-MMM-dd"); NameValueCollection queryString = System.Web.HttpUtility.ParseQueryString(string.Empty); queryString[hFormat] = hFormatTypeText; queryString[hCommand] = "\'NAME=" + scrubbedTargetName + "\'"; // ";" means that it is a small body search for name queryString[hMakeEphemeris] = hYes; queryString[hEphemerisType] = hObserverType; queryString[hCenter] = "399"; //Earth queryString[hSiteCoordinate] = center; //e-long(degrees):lat(degrees):elevation(km) queryString[hStartTime] = startTime; // "2021-01-12"; queryString[hStopTime] = endTime; // "2021-01-13"; queryString[hStepSize] = "1m"; // shortest time that horizons can do queryString[hAngleFormat] = hAngleFormatDegrees; queryString[hTimeDigits] = "Seconds"; //queryString[hQuantities ] = "'1,9,20,23,24,29'"; queryString[hOutUnits] = hUnitTypeKMS; queryString[hExtraPrecisionFormat] = hYes; string q = queryString.ToString(); //fix bug where queryString inserts %2f instead of %2F for the "/" char q = q.Replace("%2f", "%2F"); return(q); // Returns "key1=value1&key2=value2", all URL-encoded }
private string MakeSearchQuery(string tgtName, string mpc_observatory_code = "500") { //Returns a url query string for Scout website // "key1=value1&key2=value2", all URL-encoded // MPC observation code is optional. If not filled in, then geocentric is used. NameValueCollection queryString = System.Web.HttpUtility.ParseQueryString(string.Empty); queryString["tdes"] = tgtName; queryString["n-orbits"] = "1"; queryString["eph-start"] = EphStart.ToString("yyyy-MM-ddTHH:mm:ss"); queryString["eph-stop"] = EphEnd.ToString("yyyy-MM-ddTHH:mm:ss"); queryString["eph-step"] = EphStep.Minutes.ToString("0") + "m"; queryString["obs-code"] = mpc_observatory_code; queryString["ranges"] = "true"; return(queryString.ToString()); }
const string mSuppressHorizon = "igd"; // igd = “y” or “n” (default) Suppress output if target is below horizon //Ephemeris Specific Parameters #endregion public string MakeSearchQuery() { //Returns a url string for querying the TNS website string scrubbedTgtName = ScrubSmallBodyName(TgtName); //figure out site location string siteLong = (360 - MPC_Observatory.BestObservatory.MySiteLong).ToString("0.000"); //converted to the 0-360 form that MPC likes it string siteLat = MPC_Observatory.BestObservatory.MySiteLat.ToString("0.000"); string siteElev = MPC_Observatory.BestObservatory.MySiteElev.ToString("0.000"); string center = siteLong + ":" + siteLat + ":" + siteElev; NameValueCollection queryString = System.Web.HttpUtility.ParseQueryString(string.Empty); queryString[mEphemerisType] = "e"; queryString[mTarget] = scrubbedTgtName; queryString[mStartDate] = EphStart.ToString("yyyy-MM-dd"); // "2021-01-12"; queryString[mNumberOfRecords] = "1440"; // one day's worth at 1 min queryString[mInterval] = "1"; queryString[mIntervalUnits] = "m"; queryString[mUTOffset] = "0"; queryString[mObservatoryCode] = ""; queryString[mSiteLongitude] = MPC_Observatory.BestObservatory.MySiteLong.ToString("0.000"); queryString[mSiteLatitude] = MPC_Observatory.BestObservatory.MySiteLat.ToString("0.000"); queryString[mSiteAltitude] = MPC_Observatory.BestObservatory.MySiteElev.ToString("0"); queryString[mDataType] = "x"; //Decimal data queryString[mRADecMotions] = "s"; //Separate sky coordinates queryString[mDisplayMotion] = "m"; //motion in arcsec/min queryString[mMeasureAzimuth] = "S"; queryString[moed] = ""; queryString[mElementsOutput] = "-2"; //queryString[mForcePerturbed] = "n"; queryString[mresoc] = ""; // = "?"; // don't know queryString[mtit] = ""; // = "?"; // don't know queryString[mbu] = ""; // = "?"; // don't know queryString[mch] = "c"; // set to "c" queryString[mce] = "f"; //set to f queryString[mjs] = "f"; // = "js"; //set to f //queryString[mSuppressSun] = "n"; // = "igd"; // SuppressSun: igd = “y” or “n” (default) Suppress output if sun above horizon //queryString[mSuppressHorizon] = "n"; // = "igd"; // igd = “y” or “n” (default) Suppress output if target is below horizon string q = queryString.ToString(); // May be problem with "/" = %2F rather than %2f q = q.Replace("%2f", "%2F"); return(q); // Returns "key1=value1&key2=value2", all URL-encoded }