Example #1
0
 public abstract POI[] GetPOIList(LocationCoordinate location, float radius, string queryText, LocationCategory category);
Example #2
0
 public abstract Task<POI[]> GetPOIList(LocationCoordinate location, float radius, LocationCategory category);
Example #3
0
        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;
        }
Example #4
0
 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;
 }
Example #5
0
 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 ();
 }
Example #6
0
 public override POI[] GetPOIList(LocationCoordinate location, float radius, string queryText)
 {
     LocationCategory dummyLocCat = new LocationCategory();
     dummyLocCat.Name = ".*";
     return GetPOIList(location, radius, queryText, dummyLocCat);
 }
Example #7
0
 public override POI[] GetPOIList(LocationCoordinate location, float radius, LocationCategory category)
 {
     return GetPOIList (location, radius, ".*", category);
 }
Example #8
0
 public abstract POI[] GetPOIList(LocationCoordinate location, float radius, LocationCategory category);
Example #9
0
 public abstract Task <POI[]> GetPOIList(LocationCoordinate location, float radius, string queryText, LocationCategory category);
Example #10
0
 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();
 }