public abstract POI[] GetPOIList(LocationCoordinate location, float radius, string queryText, LocationCategory category);
public abstract Task<POI[]> GetPOIList(LocationCoordinate location, float radius, LocationCategory category);
private POI getPoiFromId(string id) { POI poi = new POI (); LocationCoordinate locCoord = new LocationCoordinate (); LocationDescription locDesc = new LocationDescription (); LocationCategory locCat = new LocationCategory (); List<LocationCategory> listCategories = new List<LocationCategory> (); string selectFromPOI = "SELECT * FROM \"POI\" WHERE ID='" + id + "'"; IResultSet resultSelectPoi = mapDDBB.ExecuteSQLQuery (mapDDBB.GetDatabase (mapDDBBName), selectFromPOI); if (resultSelectPoi.GetRowCount () > 0) { string selectLocationCoordinateForPoId = "SELECT * FROM \"LOCATIONCOORDINATE\" WHERE POI_ID='" + id + "'"; string selectLocationDescriptionForPoiId = "SELECT * FROM \"LOCATIONDESCRIPTION\" WHERE POI_ID='" + id + "'"; string selectSecondaryCategoryForPoiId = "SELECT * FROM \"SECONDARYCATEGORY\" WHERE POI_ID='" + id + "'"; IResultSet resultSetSelectLocCoord = mapDDBB.ExecuteSQLQuery (mapDDBB.GetDatabase (mapDDBBName), selectLocationCoordinateForPoId); IResultSet resultSetSelectLocDescr = mapDDBB.ExecuteSQLQuery (mapDDBB.GetDatabase (mapDDBBName), selectLocationDescriptionForPoiId); IResultSet resultSetSelectSecondCat = mapDDBB.ExecuteSQLQuery (mapDDBB.GetDatabase (mapDDBBName), selectSecondaryCategoryForPoiId); double latitude = resultSetSelectLocCoord.GetDouble ("LATITUDE"); double longitude = resultSetSelectLocCoord.GetDouble ("LONGITUDE"); double altitude = resultSetSelectLocCoord.GetDouble ("ALTITUDE"); float horAccur = resultSetSelectLocCoord.GetFloat ("HORIZONTALACCURACY"); float verAccur = resultSetSelectLocCoord.GetFloat ("VERTICALACCURACY"); string description = resultSetSelectLocDescr.GetString ("DESCRIPTION"); string name = resultSetSelectLocDescr.GetString ("NAME"); string catMainName = resultSetSelectLocDescr.GetString ("CATEGORYMAINNAME"); poi.ID = id; locCoord.XCoordinate = latitude; locCoord.YCoordinate = longitude; locCoord.ZCoordinate = altitude; locCoord.XDoP = horAccur; locCoord.YDoP = verAccur; poi.Location = locCoord; locDesc.Description = description; locDesc.Name = name; locCat.Name = catMainName; locDesc.CategoryMain = locCat; int numRowsSecCat = resultSetSelectSecondCat.GetRowCount (); for (int i = 0; i < numRowsSecCat; i++) { string secondCatName = resultSetSelectSecondCat.GetString ("SECONDCATEGORYNAME"); LocationCategory locCategory = new LocationCategory (); locCategory.Name = secondCatName; listCategories.Add (locCategory); resultSetSelectSecondCat.MoveToNext (); } locDesc.Categories = listCategories.ToArray (); poi.Description = locDesc; poi.Category = locCat; } else { poi = null; } return poi; }
private List<POI> getPoisMatchCategory(List<POI> inPois, LocationCategory locCat) { List<POI> pois = new List<POI> (); foreach (POI item in inPois) { bool isMatch; if (locCat.Name != null) { Regex pattern = new Regex (locCat.Name, RegexOptions.IgnoreCase); isMatch = pattern.IsMatch (item.Category.Name); if (isMatch) { pois.Add (item); #if DEBUG SystemLogger.Log (SystemLogger.Module.PLATFORM, "getPoisMatchCategory: Added: POI_ID:" + item.ID + "Category:" + item.Category.Name); #endif } } } return pois; }
public override POI[] GetPOIList(LocationCoordinate location, float radius, string queryText, LocationCategory category) { List<POI> poisInRadius = getPoisInRadius (location, radius); List<POI> poisMatchQuery = getPoisMatchQuery (poisInRadius, queryText); List<POI> poisFinal = getPoisMatchCategory (poisMatchQuery, category); return poisFinal.ToArray (); }
public override POI[] GetPOIList(LocationCoordinate location, float radius, string queryText) { LocationCategory dummyLocCat = new LocationCategory(); dummyLocCat.Name = ".*"; return GetPOIList(location, radius, queryText, dummyLocCat); }
public override POI[] GetPOIList(LocationCoordinate location, float radius, LocationCategory category) { return GetPOIList (location, radius, ".*", category); }
public abstract POI[] GetPOIList(LocationCoordinate location, float radius, LocationCategory category);
public abstract Task <POI[]> GetPOIList(LocationCoordinate location, float radius, string queryText, LocationCategory category);
public override POI[] GetPOIList(LocationCoordinate location, float radius, string queryText, LocationCategory category) { throw new NotImplementedException(); }
public override async Task<POI[]> GetPOIList(LocationCoordinate location, float radius, LocationCategory category) { throw new NotImplementedException(); }