Esempio n. 1
0
        /// <summary>
        /// Prints GEOJson dump of Sites
        /// </summary>
        /// <param name="requiredProperties">list of properties to include (if not found in siteproperties an empty string will be inserted)</param>
        public void Execute(string[] requiredProperties, string siteType)
        {
            Console.Write("Content-Type:  application/json\n\n");

              var features = new List<Feature>();
              FeatureCollection fc = new FeatureCollection(features);
              var filter = "";
            if( siteType != "")
                filter = "type = '"+siteType+"'";
              var sites = db.GetSiteCatalog(filter:filter);

             var siteProp = new TimeSeriesDatabaseDataSet.sitepropertiesDataTable(db);

             int id = 0;
              foreach (var s in sites)
              {
              try
              {
                  var pos = new GeographicPosition(s.latitude, s.longitude);
                  var pt = new GeoJSON.Net.Geometry.Point(pos);

                  var props = siteProp.GetDictionary(s.siteid);

                  for (int i = 0; i < requiredProperties.Length; i++)
                  {
                      if (requiredProperties[i].Trim() == "")
                          continue;
                      if (!props.ContainsKey(requiredProperties[i]))
                          props.Add(requiredProperties[i], "");
                  }

                  props.Add("siteid", s.siteid);
                  props.Add("title", s.description);
                  props.Add("state", s.state);
                  props.Add("type", s.type);

                  props.Add("region", s.responsibility.Trim());
                  props.Add("install", s.install);
                  id++;
                  var feature = new Feature(pt, props, id.ToString());

                  fc.Features.Add(feature);
              }
              catch (Exception error)
              {
                  Console.WriteLine("Error at site:"+s);
                  Console.WriteLine(error.Message);
              }
              }

            var settings = new JsonSerializerSettings();
            settings.NullValueHandling = NullValueHandling.Ignore;
              var json = Newtonsoft.Json.JsonConvert.SerializeObject(fc,
              Newtonsoft.Json.Formatting.Indented,settings);

              Console.WriteLine(json);
             //File.WriteAllText(@"c:\temp\test.json", json);
        }
Esempio n. 2
0
        public TimeSeriesDatabaseDataSet.sitepropertiesDataTable GetSiteProperties()
        {
            var tbl =  new TimeSeriesDatabaseDataSet.sitepropertiesDataTable();
            tbl.ExtendedProperties.Add("datetime", DateTime.Now.ToString());

            string sql = "select * from siteproperties ";
            m_server.FillTable(tbl, sql);
            return tbl;
        }
Esempio n. 3
0
 public TimeSeriesTransfer(TimeSeriesDatabase db)
 {
     m_db           = db;
     m_siteproperty = m_db.GetSiteProperties();
 }