Esempio n. 1
0
// static
size_t RegionsBuilder::GetWeight(Region const & region)
{
  switch (region.GetPlaceType())
  {
  case PlaceType::City:
  case PlaceType::Town:
  case PlaceType::Village:
  case PlaceType::Hamlet:
    return 3;
  case PlaceType::Suburb:
  case PlaceType::Neighbourhood:
    return 2;
  case PlaceType::Locality:
  case PlaceType::IsolatedDwelling:
    return 1;
  case PlaceType::Unknown:
    break;
  }

  switch (region.GetAdminLevel())
  {
  case AdminLevel::Two:
    return 6;
  case AdminLevel::Four:
    return 5;
  case AdminLevel::Six:
    return 4;
  default:
    break;
  }

  return 0;
}
Esempio n. 2
0
// static
PlaceLevel RegionsBuilder::GetLevel(Region const & region)
{
  switch (region.GetPlaceType())
  {
  case PlaceType::City:
  case PlaceType::Town:
  case PlaceType::Village:
  case PlaceType::Hamlet:
    return PlaceLevel::Locality;
  case PlaceType::Suburb:
  case PlaceType::Neighbourhood:
    return PlaceLevel::Suburb;
  case PlaceType::Locality:
  case PlaceType::IsolatedDwelling:
    return PlaceLevel::Sublocality;
  case PlaceType::Unknown:
    break;
  }

  switch (region.GetAdminLevel())
  {
  case AdminLevel::Two:
    return PlaceLevel::Country;
  case AdminLevel::Four:
    return PlaceLevel::Region;
  case AdminLevel::Six:
    return PlaceLevel::Subregion;
  default:
    break;
  }

  return PlaceLevel::Unknown;
}