public static AltitudeDatum Get(double latitude, double longitude) { string query = "select * "; query += $"FROM {TableName} "; query += $"WHERE {ColumnLowerLatitude} <= " + latitude + " "; query += $"AND {ColumnUpperLatitude} > " + latitude + " "; query += $"AND {ColumnLowerLongitude} <= " + longitude + " "; query += $"AND {ColumnUpperLongitude} > " + longitude + " "; var result = DatabaseAccesser.GetResult(query); AltitudeDatum resultDatum = new AltitudeDatum(); if (result.Rows.Count > 0) { resultDatum = new AltitudeDatum { LowerLatitude = result.Rows[0].Field <double?>(ColumnLowerLatitude), LowerLongitude = result.Rows[0].Field <double?>(ColumnLowerLongitude), UpperLatitude = result.Rows[0].Field <double?>(ColumnUpperLatitude), UpperLongitude = result.Rows[0].Field <double?>(ColumnUpperLongitude), Altitude = result.Rows[0].Field <float?>(ColumnAltitude) }; } return(resultDatum); }
public static void Insert(int meshId, AltitudeDatum datum) { string query = $"INSERT INTO {TableName}({ColumnMeshId}, {ColumnLowerLatitude}, {ColumnLowerLongitude}, {ColumnUpperLatitude}, {ColumnUpperLongitude}, {ColumnAltitude}) "; query += $"VALUES('{meshId}', '{datum.LowerLatitude}', '{datum.LowerLongitude}', '{datum.UpperLatitude}', '{datum.UpperLongitude}', '{datum.Altitude}') "; DatabaseAccesser.Insert(query); }
/// <summary> /// Create a new altitude /// </summary> /// <param name="value">Height in metres</param> /// <param name="datum">Point of measurement</param> /// <param name="accuracy">Accuracy of value in meters</param> public Altitude(int value, AltitudeDatum datum, ushort accuracy) { this.Accuracy = accuracy; this.Datum = datum; this.Value = value; }