Skip to content
This repository has been archived by the owner on Mar 7, 2018. It is now read-only.

Commit

Permalink
Turn if block into match
Browse files Browse the repository at this point in the history
  • Loading branch information
c-w committed Sep 11, 2017
1 parent 94fb918 commit a73d5f7
Showing 1 changed file with 23 additions and 40 deletions.
Expand Up @@ -57,46 +57,29 @@ object Location {
* @see https://github.com/whosonfirst/whosonfirst-placetypes
*/
def layerToInt(layer: String): Int = {
if ("continent".equalsIgnoreCase(layer)) {
1090
} else if ("empire".equalsIgnoreCase(layer)) {
1080
} else if ("country".equalsIgnoreCase(layer)) {
1070
} else if ("dependency".equalsIgnoreCase(layer) || "disputed".equalsIgnoreCase(layer)) {
1065
} else if ("macroregion".equalsIgnoreCase(layer)) {
1060
} else if ("region".equalsIgnoreCase(layer)) {
1050
} else if ("macrocounty".equalsIgnoreCase(layer)){
1040
} else if ("county".equalsIgnoreCase(layer)) {
1030
} else if ("metro area".equalsIgnoreCase(layer) || "localadmin".equalsIgnoreCase(layer)) {
1020
} else if ("locality".equalsIgnoreCase(layer)) {
1010
} else if ("borough".equalsIgnoreCase(layer)) {
1005
} else if ("macrohood".equalsIgnoreCase(layer)) {
1000
} else if ("neighbourhood".equalsIgnoreCase(layer)) {
990
} else if ("microhood".equalsIgnoreCase(layer)) {
980
} else if ("campus".equalsIgnoreCase(layer)) {
970
} else if ("building".equalsIgnoreCase(layer)) {
960
} else if ("address".equalsIgnoreCase(layer)) {
950
} else if ("venue".equalsIgnoreCase(layer)) {
940
} else {
// we usually care about the most granular location values
// so it's fine to treat unknown values as greater than all
99999999
Option(layer).map(_.toLowerCase) match {
case Some("continent") => 4000
case Some("empire") => 3900
case Some("country") => 3800
case Some("dependency") |
Some("disputed") => 3700
case Some("macroregion") => 3600
case Some("region") => 3500
case Some("macrocounty") => 3400
case Some("county") => 3300
case Some("metro area") |
Some("localadmin") => 3200
case Some("locality") => 3100
case Some("borough") => 3000
case Some("macrohood") => 2900
case Some("neighbourhood") => 2800
case Some("microhood") => 2700
case Some("campus") => 2600
case Some("building") => 2500
case Some("address") => 2400
case Some("venue") => 2300
case _ => 999999 // we usually care about the most granular location values
// so it's fine to treat unknown values as greater than all
}
}
}
Expand Down

0 comments on commit a73d5f7

Please sign in to comment.