
tus.sparktree.2.1.0.source-code.MultivariatePredictor.scala Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of sparktree Show documentation
Show all versions of sparktree Show documentation
Decision Tree Data Analysis with Spark SQL
The newest version!
/*
* Copyright (c) 2019 by Andrew Charneski.
*
* The author licenses this file to you under the
* Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance
* with the License. You may obtain a copy
* of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import com.simiacryptus.notebook.NotebookOutput
import com.simiacryptus.sparkbook._
import com.simiacryptus.sparkbook.repl.{SparkRepl, SparkSessionProvider}
import com.simiacryptus.sparkbook.util.Java8Util._
import com.simiacryptus.sparkbook.util.Logging
import org.apache.spark.sql.DataFrame
import org.apache.spark.sql.functions._
import org.apache.spark.storage.StorageLevel
abstract class MultivariatePredictor extends InteractiveSetup[Object] with Logging with SparkSessionProvider {
val targetCol = "Cover_Type"
override def inputTimeoutSeconds = 600
def dataSources: Map[String, String]
def sourceTableName: String
override def postConfigure(log: NotebookOutput): Object = {
log.h1("Data Staging")
log.p("""First, we will stage the initial data and manually perform a data staging query:""")
new SparkRepl() {
override val defaultCmd: String =
s"""%sql
| CREATE TEMPORARY VIEW $sourceTableName AS
| SELECT
| T.*,
| ${functions.map(t => t._2 + " AS " + t._1).mkString(", ")}
| FROM ${dataSources.values.head} AS T
| """.stripMargin
override def shouldContinue(): Boolean = {
sourceDataFrame == null
}
override def init(): Unit = {
log.run(() => {
dataSources.foreach(t => {
val (k, v) = t
val frame = spark.sqlContext.read.parquet(k).persist(StorageLevel.DISK_ONLY)
frame.createOrReplaceTempView(v)
println(s"Loaded ${frame.count()} rows to ${v}")
})
})
}
}.apply(log)
log.p("""This sub-report can be used for concurrent adhoc data exploration:""")
log.subreport("explore", (sublog: NotebookOutput) => {
val thread = new Thread(() => {
new SparkRepl().apply(sublog)
}: Unit)
thread.setName("Data Exploration REPL")
thread.setDaemon(true)
thread.start()
null
})
val Array(trainingData, testingData) = sourceDataFrame.randomSplit(Array(0.9, 0.1))
trainingData.persist(StorageLevel.MEMORY_ONLY_SER)
log.h1("""Tree Parameters""")
log.p("""Now that we have loaded the schema, here are the parameters we will use for tree building:""")
for (sourceCol <- functions.keys) {
val predict_matrix = predictiveMatrix(sourceCol)
predict_matrix.createOrReplaceTempView(s"${sourceCol}_$targetCol")
SparkRepl.out(predict_matrix)(log)
}
val possibleClasses = sourceDataFrame.select(targetCol).rdd.map(_.getAs[Object](0).toString).distinct().collect()
spark.sqlContext.udf.register("max", (a: Double, b: Double) => if (null == a) b else if (null == b) a else Math.max(a, b))
new SparkRepl() {
val maxExpr = possibleClasses.map(category => {
s"IFNULL(T.${targetCol}_${category},0)"
}).reduce((a, b) => s"max($a,$b)")
val predictiveFn = "CASE " + possibleClasses.map(category => {
s"WHEN T.${targetCol}_${category} == T.max THEN '${category}'"
}).mkString("\n ") + " END"
override val defaultCmd: String = {
val predictData = s"SELECT T.${targetCol}, " + possibleClasses.map(category => {
"(" + functions.keys.map(inputCol => {
s"T_$inputCol.${targetCol}_${category}"
}).mkString(" * ") + ")" + " AS " + s"${targetCol}_${category}"
}).mkString(",\n ") + s"\nFROM ${sourceTableName} AS T \n" + functions.keys.map(inputCol => {
s"INNER JOIN ${inputCol}_$targetCol AS T_${inputCol} ON T_${inputCol}.${inputCol} = T.${inputCol}"
}).mkString("\n ")
s"""%sql
|CREATE TEMPORARY VIEW predict AS
|${predictData};
|
|CREATE TEMPORARY VIEW predict_mag AS
|SELECT *, ${possibleClasses.map(category => s"IFNULL(${targetCol}_${category},0.0)").mkString(" + ")} AS magnitude
|FROM predict;
|
|CREATE TEMPORARY VIEW predict_normalized AS
|SELECT ${targetCol}, ${possibleClasses.map(category => s"${targetCol}_${category} / magnitude AS ${targetCol}_${category}").mkString(",\n")}
|FROM predict_mag;
|
|CREATE TEMPORARY VIEW predict_with_max AS
|SELECT *, $maxExpr AS max FROM predict_normalized AS T;
|
|CREATE TEMPORARY VIEW predict_with_label AS
|SELECT *, $predictiveFn AS predict FROM predict_with_max AS T;
|
|WITH A AS (
| SELECT COUNT(1) AS V
| FROM predict_with_label
| WHERE $targetCol == predict
|),
|B AS (
| SELECT COUNT(1) AS V
| FROM predict_with_label
| WHERE $targetCol != predict
|)
|SELECT A.V / (A.V + B.V) AS accuracy FROM A CROSS JOIN B
|;
|
|
""".stripMargin
}
override def shouldContinue(): Boolean = {
true
}
override def init(): Unit = {
log.run(() => {
dataSources.foreach(t => {
val (k, v) = t
val frame = spark.sqlContext.read.parquet(k).persist(StorageLevel.DISK_ONLY)
frame.createOrReplaceTempView(v)
println(s"Loaded ${frame.count()} rows to ${v}")
})
})
}
}.apply(log)
null
}
final def sourceDataFrame: DataFrame = if (spark.sqlContext.tableNames().contains(sourceTableName)) spark.sqlContext.table(sourceTableName).cache() else null
def functions = Map(
"label_a" ->
"""CASE
| WHEN T.Elevation < 2996.0 THEN CASE
| WHEN T.Elevation < 2736.0 THEN CASE
| WHEN T.Elevation < 2562.0 THEN CASE
| WHEN T.Elevation < 2435.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Bullwark%" THEN CASE
| WHEN T.Hillshade_9am < 168.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 700.0 THEN CASE
| WHEN T.Vertical_Distance_To_Hydrology < 61.0 THEN "00000000"
| ELSE "00000001"
| END
| ELSE CASE
| WHEN T.Slope < 27.0 THEN "00000010"
| ELSE "00000011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 582.0 THEN CASE
| WHEN T.Elevation < 2262.0 THEN "00000100"
| ELSE "00000101"
| END
| ELSE CASE
| WHEN T.Elevation < 2323.0 THEN "00000110"
| ELSE "00000111"
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 633.0 THEN CASE
| WHEN T.Hillshade_9am < 225.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 646.0 THEN "00001000"
| ELSE "00001001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 150.0 THEN "00001010"
| ELSE "00001011"
| END
| END
| ELSE CASE
| WHEN T.Elevation < 2314.0 THEN CASE
| WHEN T.Soil_Description LIKE "%stony.%" THEN "00001100"
| ELSE "00001101"
| END
| ELSE CASE
| WHEN T.Elevation < 2376.0 THEN "00001110"
| ELSE "00001111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Elevation < 2514.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 134.0 THEN CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN "00010000"
| ELSE "00010001"
| END
| ELSE CASE
| WHEN T.Elevation < 2475.0 THEN "00010010"
| ELSE "00010011"
| END
| END
| ELSE CASE
| WHEN T.Elevation < 2483.0 THEN CASE
| WHEN T.Slope < 14.0 THEN "00010100"
| ELSE "00010101"
| END
| ELSE CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN "00010110"
| ELSE "00010111"
| END
| END
| END
| ELSE CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 875.0 THEN "00011000"
| ELSE "00011001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1920.0 THEN "00011010"
| ELSE "00011011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1103.0 THEN "00011100"
| ELSE "00011101"
| END
| ELSE CASE
| WHEN T.Soil_Type_4 < 1.0 THEN "00011110"
| ELSE "00011111"
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1572.0 THEN CASE
| WHEN T.Slope < 18.0 THEN CASE
| WHEN T.Soil_Type_11 < 1.0 THEN "00100000"
| ELSE "00100001"
| END
| ELSE CASE
| WHEN T.Elevation < 2649.0 THEN "00100010"
| ELSE "00100011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1567.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 892.0 THEN "00100100"
| ELSE "00100101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2483.0 THEN "00100110"
| ELSE "00100111"
| END
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Ratake%" THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 242.0 THEN CASE
| WHEN T.Hillshade_3pm < 150.0 THEN "00101000"
| ELSE "00101001"
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 236.0 THEN "00101010"
| ELSE "00101011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%complex.%" THEN CASE
| WHEN T.Soil_Type_17 < 1.0 THEN "00101100"
| ELSE "00101101"
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%extremely%" THEN "00101110"
| ELSE "00101111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 170.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Como%" THEN CASE
| WHEN T.Hillshade_9am < 227.0 THEN CASE
| WHEN T.Elevation < 2671.0 THEN "00110000"
| ELSE "00110001"
| END
| ELSE CASE
| WHEN T.Elevation < 2661.0 THEN "00110010"
| ELSE "00110011"
| END
| END
| ELSE CASE
| WHEN T.Elevation < 2690.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1516.0 THEN "00110100"
| ELSE "00110101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2108.0 THEN "00110110"
| ELSE "00110111"
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 272.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Como%" THEN CASE
| WHEN T.Elevation < 2660.0 THEN "00111000"
| ELSE "00111001"
| END
| ELSE CASE
| WHEN T.Vertical_Distance_To_Hydrology < 21.0 THEN "00111010"
| ELSE "00111011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Como%" THEN CASE
| WHEN T.Aspect < 65.0 THEN "00111100"
| ELSE "00111101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1050.0 THEN "00111110"
| ELSE "00111111"
| END
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Elevation < 2902.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1950.0 THEN CASE
| WHEN T.Vertical_Distance_To_Hydrology < 32.0 THEN CASE
| WHEN T.Soil_Description LIKE "%family%" THEN CASE
| WHEN T.Hillshade_9am < 219.0 THEN CASE
| WHEN T.Soil_Description LIKE "%complex,%" THEN "01000000"
| ELSE "01000001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1188.0 THEN "01000010"
| ELSE "01000011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2060.0 THEN CASE
| WHEN T.Elevation < 2817.0 THEN "01000100"
| ELSE "01000101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 108.0 THEN "01000110"
| ELSE "01000111"
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1128.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN CASE
| WHEN T.Soil_Description LIKE "%land%" THEN "01001000"
| ELSE "01001001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 382.0 THEN "01001010"
| ELSE "01001011"
| END
| END
| ELSE CASE
| WHEN T.Slope < 18.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2047.0 THEN "01001100"
| ELSE "01001101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 194.0 THEN "01001110"
| ELSE "01001111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Legault%" THEN CASE
| WHEN T.Hillshade_9am < 223.0 THEN CASE
| WHEN T.Aspect < 223.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2894.0 THEN "01010000"
| ELSE "01010001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2684.0 THEN "01010010"
| ELSE "01010011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Type_12 < 1.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 127.0 THEN "01010100"
| ELSE "01010101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2732.0 THEN "01010110"
| ELSE "01010111"
| END
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Leighcan%" THEN CASE
| WHEN T.Soil_Description LIKE "%family,%" THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2249.0 THEN "01011000"
| ELSE "01011001"
| END
| ELSE CASE
| WHEN T.Soil_Type_33 < 1.0 THEN "01011010"
| ELSE "01011011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2509.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 201.0 THEN "01011100"
| ELSE "01011101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 212.0 THEN "01011110"
| ELSE "01011111"
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Vertical_Distance_To_Hydrology < 31.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 124.0 THEN CASE
| WHEN T.Soil_Description LIKE "%complex,%" THEN CASE
| WHEN T.Aspect < 120.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2546.0 THEN "01100000"
| ELSE "01100001"
| END
| ELSE CASE
| WHEN T.Vertical_Distance_To_Hydrology < 9.0 THEN "01100010"
| ELSE "01100011"
| END
| END
| ELSE CASE
| WHEN T.Elevation < 2952.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2984.0 THEN "01100100"
| ELSE "01100101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2177.0 THEN "01100110"
| ELSE "01100111"
| END
| END
| END
| ELSE CASE
| WHEN T.Elevation < 2949.0 THEN CASE
| WHEN T.Hillshade_Noon < 231.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Leighcan%" THEN "01101000"
| ELSE "01101001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 3445.0 THEN "01101010"
| ELSE "01101011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Legault%" THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 255.0 THEN "01101100"
| ELSE "01101101"
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN "01101110"
| ELSE "01101111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2713.0 THEN CASE
| WHEN T.Hillshade_Noon < 224.0 THEN CASE
| WHEN T.Hillshade_Noon < 207.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 342.0 THEN "01110000"
| ELSE "01110001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1595.0 THEN "01110010"
| ELSE "01110011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 241.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1702.0 THEN "01110100"
| ELSE "01110101"
| END
| ELSE CASE
| WHEN T.Aspect < 216.0 THEN "01110110"
| ELSE "01110111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 231.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 4218.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Como%" THEN "01111000"
| ELSE "01111001"
| END
| ELSE CASE
| WHEN T.Aspect < 75.0 THEN "01111010"
| ELSE "01111011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 366.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Rock%" THEN "01111100"
| ELSE "01111101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 488.0 THEN "01111110"
| ELSE "01111111"
| END
| END
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Elevation < 3160.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 247.0 THEN CASE
| WHEN T.Soil_Description LIKE "%complex,%" THEN CASE
| WHEN T.Hillshade_Noon < 226.0 THEN CASE
| WHEN T.Elevation < 3063.0 THEN CASE
| WHEN T.Slope < 15.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 150.0 THEN "10000000"
| ELSE "10000001"
| END
| ELSE CASE
| WHEN T.Soil_Type_29 < 1.0 THEN "10000010"
| ELSE "10000011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 217.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 153.0 THEN "10000100"
| ELSE "10000101"
| END
| ELSE CASE
| WHEN T.Elevation < 3108.0 THEN "10000110"
| ELSE "10000111"
| END
| END
| END
| ELSE CASE
| WHEN T.Elevation < 3073.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1500.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Leighcan%" THEN "10001000"
| ELSE "10001001"
| END
| ELSE CASE
| WHEN T.Slope < 10.0 THEN "10001010"
| ELSE "10001011"
| END
| END
| ELSE CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 3744.0 THEN "10001100"
| ELSE "10001101"
| END
| ELSE CASE
| WHEN T.Soil_Type_32 < 1.0 THEN "10001110"
| ELSE "10001111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Vertical_Distance_To_Hydrology < 8.0 THEN CASE
| WHEN T.Elevation < 3080.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1471.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 904.0 THEN "10010000"
| ELSE "10010001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2407.0 THEN "10010010"
| ELSE "10010011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2201.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1783.0 THEN "10010100"
| ELSE "10010101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1664.0 THEN "10010110"
| ELSE "10010111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 227.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2100.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1048.0 THEN "10011000"
| ELSE "10011001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 208.0 THEN "10011010"
| ELSE "10011011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 239.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1442.0 THEN "10011100"
| ELSE "10011101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1998.0 THEN "10011110"
| ELSE "10011111"
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 228.0 THEN CASE
| WHEN T.Elevation < 3078.0 THEN CASE
| WHEN T.Elevation < 3032.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 408.0 THEN CASE
| WHEN T.Hillshade_Noon < 215.0 THEN "10100000"
| ELSE "10100001"
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 213.0 THEN "10100010"
| ELSE "10100011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 446.0 THEN CASE
| WHEN T.Hillshade_Noon < 216.0 THEN "10100100"
| ELSE "10100101"
| END
| ELSE CASE
| WHEN T.Slope < 16.0 THEN "10100110"
| ELSE "10100111"
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1966.0 THEN CASE
| WHEN T.Soil_Description LIKE "%family%" THEN CASE
| WHEN T.Soil_Description LIKE "%family,%" THEN "10101000"
| ELSE "10101001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1233.0 THEN "10101010"
| ELSE "10101011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2335.0 THEN CASE
| WHEN T.Aspect < 49.0 THEN "10101100"
| ELSE "10101101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 3034.0 THEN "10101110"
| ELSE "10101111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Elevation < 3071.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 492.0 THEN CASE
| WHEN T.Elevation < 3032.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Rock%" THEN "10110000"
| ELSE "10110001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2554.0 THEN "10110010"
| ELSE "10110011"
| END
| END
| ELSE CASE
| WHEN T.Elevation < 3030.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2831.0 THEN "10110100"
| ELSE "10110101"
| END
| ELSE CASE
| WHEN T.Slope < 9.0 THEN "10110110"
| ELSE "10110111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 240.0 THEN CASE
| WHEN T.Elevation < 3117.0 THEN CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN "10111000"
| ELSE "10111001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 220.0 THEN "10111010"
| ELSE "10111011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Rock%" THEN CASE
| WHEN T.Aspect < 223.0 THEN "10111100"
| ELSE "10111101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1624.0 THEN "10111110"
| ELSE "10111111"
| END
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Elevation < 3269.0 THEN CASE
| WHEN T.Elevation < 3213.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 268.0 THEN CASE
| WHEN T.Soil_Description LIKE "%family,%" THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 120.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2974.0 THEN "11000000"
| ELSE "11000001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1682.0 THEN "11000010"
| ELSE "11000011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 150.0 THEN CASE
| WHEN T.Hillshade_9am < 222.0 THEN "11000100"
| ELSE "11000101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2742.0 THEN "11000110"
| ELSE "11000111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 227.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1967.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1061.0 THEN "11001000"
| ELSE "11001001"
| END
| ELSE CASE
| WHEN T.Slope < 14.0 THEN "11001010"
| ELSE "11001011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 237.0 THEN CASE
| WHEN T.Slope < 8.0 THEN "11001100"
| ELSE "11001101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1974.0 THEN "11001110"
| ELSE "11001111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 301.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1668.0 THEN CASE
| WHEN T.Soil_Description LIKE "%substratum%" THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 4384.0 THEN "11010000"
| ELSE "11010001"
| END
| ELSE CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN "11010010"
| ELSE "11010011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2430.0 THEN CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN "11010100"
| ELSE "11010101"
| END
| ELSE CASE
| WHEN T.Hillshade_3pm < 144.0 THEN "11010110"
| ELSE "11010111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 229.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1929.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1061.0 THEN "11011000"
| ELSE "11011001"
| END
| ELSE CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN "11011010"
| ELSE "11011011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 454.0 THEN CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN "11011100"
| ELSE "11011101"
| END
| ELSE CASE
| WHEN T.Slope < 11.0 THEN "11011110"
| ELSE "11011111"
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Elevation < 3329.0 THEN CASE
| WHEN T.Elevation < 3296.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1910.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2165.0 THEN CASE
| WHEN T.Wilderness_Area_2 < 1.0 THEN "11100000"
| ELSE "11100001"
| END
| ELSE CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN "11100010"
| ELSE "11100011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 231.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Moran%" THEN "11100100"
| ELSE "11100101"
| END
| ELSE CASE
| WHEN T.Vertical_Distance_To_Hydrology < 34.0 THEN "11100110"
| ELSE "11100111"
| END
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Moran%" THEN CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN CASE
| WHEN T.Soil_Type_39 < 1.0 THEN "11101000"
| ELSE "11101001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2166.0 THEN "11101010"
| ELSE "11101011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1964.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2368.0 THEN "11101100"
| ELSE "11101101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1879.0 THEN "11101110"
| ELSE "11101111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Moran%" THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2643.0 THEN "11110000"
| ELSE "11110001"
| END
| ELSE CASE
| WHEN T.Elevation < 3368.0 THEN "11110010"
| ELSE "11110011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1991.0 THEN CASE
| WHEN T.Hillshade_9am < 213.0 THEN "11110100"
| ELSE "11110101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 300.0 THEN "11110110"
| ELSE "11110111"
| END
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2024.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2320.0 THEN "11111000"
| ELSE "11111001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2648.0 THEN "11111010"
| ELSE "11111011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Cryaquolls%" THEN CASE
| WHEN T.Hillshade_Noon < 243.0 THEN "11111100"
| ELSE "11111101"
| END
| ELSE CASE
| WHEN T.Elevation < 3401.0 THEN "11111110"
| ELSE "11111111"
| END
| END
| END
| END
| END
| END
| END
| END""".stripMargin,
"label_b" ->
"""CASE
| WHEN T.Elevation < 2986.0 THEN CASE
| WHEN T.Elevation < 2775.0 THEN CASE
| WHEN T.Soil_Description LIKE "%outcrop%" THEN CASE
| WHEN T.Elevation < 2499.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 711.0 THEN CASE
| WHEN T.Vertical_Distance_To_Hydrology < 45.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 85.0 THEN CASE
| WHEN T.Elevation < 2276.0 THEN "00000000"
| ELSE "00000001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 127.0 THEN "00000010"
| ELSE "00000011"
| END
| END
| ELSE CASE
| WHEN T.Vertical_Distance_To_Hydrology < 92.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 492.0 THEN "00000100"
| ELSE "00000101"
| END
| ELSE CASE
| WHEN T.Vertical_Distance_To_Hydrology < 140.0 THEN "00000110"
| ELSE "00000111"
| END
| END
| END
| ELSE CASE
| WHEN T.Vertical_Distance_To_Hydrology < 47.0 THEN CASE
| WHEN T.Vertical_Distance_To_Hydrology < 14.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 42.0 THEN "00001000"
| ELSE "00001001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 205.0 THEN "00001010"
| ELSE "00001011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_3pm < 142.0 THEN CASE
| WHEN T.Aspect < 91.0 THEN "00001100"
| ELSE "00001101"
| END
| ELSE CASE
| WHEN T.Vertical_Distance_To_Hydrology < 107.0 THEN "00001110"
| ELSE "00001111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN CASE
| WHEN T.Vertical_Distance_To_Hydrology < 39.0 THEN CASE
| WHEN T.Elevation < 2672.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 85.0 THEN "00010000"
| ELSE "00010001"
| END
| ELSE CASE
| WHEN T.Hillshade_3pm < 125.0 THEN "00010010"
| ELSE "00010011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 256.0 THEN CASE
| WHEN T.Vertical_Distance_To_Hydrology < 62.0 THEN "00010100"
| ELSE "00010101"
| END
| ELSE CASE
| WHEN T.Aspect < 69.0 THEN "00010110"
| ELSE "00010111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 220.0 THEN CASE
| WHEN T.Vertical_Distance_To_Hydrology < 45.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 108.0 THEN "00011000"
| ELSE "00011001"
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 248.0 THEN "00011010"
| ELSE "00011011"
| END
| END
| ELSE CASE
| WHEN T.Vertical_Distance_To_Hydrology < 40.0 THEN CASE
| WHEN T.Hillshade_9am < 237.0 THEN "00011100"
| ELSE "00011101"
| END
| ELSE CASE
| WHEN T.Slope < 19.0 THEN "00011110"
| ELSE "00011111"
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN CASE
| WHEN T.Elevation < 2642.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 150.0 THEN CASE
| WHEN T.Elevation < 2535.0 THEN CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN "00100000"
| ELSE "00100001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 225.0 THEN "00100010"
| ELSE "00100011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Type_2 < 1.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1226.0 THEN "00100100"
| ELSE "00100101"
| END
| ELSE CASE
| WHEN T.Slope < 12.0 THEN "00100110"
| ELSE "00100111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 223.0 THEN CASE
| WHEN T.Hillshade_3pm < 122.0 THEN CASE
| WHEN T.Hillshade_Noon < 203.0 THEN "00101000"
| ELSE "00101001"
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 213.0 THEN "00101010"
| ELSE "00101011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 223.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 85.0 THEN "00101100"
| ELSE "00101101"
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Rock%" THEN "00101110"
| ELSE "00101111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Slope < 11.0 THEN CASE
| WHEN T.Slope < 7.0 THEN CASE
| WHEN T.Slope < 5.0 THEN CASE
| WHEN T.Hillshade_Noon < 236.0 THEN "00110000"
| ELSE "00110001"
| END
| ELSE CASE
| WHEN T.Slope < 6.0 THEN "00110010"
| ELSE "00110011"
| END
| END
| ELSE CASE
| WHEN T.Slope < 9.0 THEN CASE
| WHEN T.Slope < 8.0 THEN "00110100"
| ELSE "00110101"
| END
| ELSE CASE
| WHEN T.Slope < 10.0 THEN "00110110"
| ELSE "00110111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_3pm < 116.0 THEN CASE
| WHEN T.Hillshade_3pm < 99.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 600.0 THEN "00111000"
| ELSE "00111001"
| END
| ELSE CASE
| WHEN T.Hillshade_3pm < 109.0 THEN "00111010"
| ELSE "00111011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 218.0 THEN CASE
| WHEN T.Hillshade_Noon < 211.0 THEN "00111100"
| ELSE "00111101"
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 232.0 THEN "00111110"
| ELSE "00111111"
| END
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Rock%" THEN CASE
| WHEN T.Slope < 15.0 THEN CASE
| WHEN T.Slope < 10.0 THEN CASE
| WHEN T.Slope < 7.0 THEN CASE
| WHEN T.Slope < 5.0 THEN CASE
| WHEN T.Hillshade_Noon < 237.0 THEN "01000000"
| ELSE "01000001"
| END
| ELSE CASE
| WHEN T.Slope < 6.0 THEN "01000010"
| ELSE "01000011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_3pm < 142.0 THEN CASE
| WHEN T.Hillshade_3pm < 132.0 THEN "01000100"
| ELSE "01000101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 210.0 THEN "01000110"
| ELSE "01000111"
| END
| END
| END
| ELSE CASE
| WHEN T.Slope < 12.0 THEN CASE
| WHEN T.Slope < 11.0 THEN CASE
| WHEN T.Hillshade_3pm < 135.0 THEN "01001000"
| ELSE "01001001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 228.0 THEN "01001010"
| ELSE "01001011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_3pm < 139.0 THEN CASE
| WHEN T.Hillshade_9am < 237.0 THEN "01001100"
| ELSE "01001101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 201.0 THEN "01001110"
| ELSE "01001111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1510.0 THEN CASE
| WHEN T.Hillshade_9am < 207.0 THEN CASE
| WHEN T.Aspect < 260.0 THEN CASE
| WHEN T.Hillshade_9am < 185.0 THEN "01010000"
| ELSE "01010001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 161.0 THEN "01010010"
| ELSE "01010011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 993.0 THEN CASE
| WHEN T.Soil_Description LIKE "%outcrop%" THEN "01010100"
| ELSE "01010101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 239.0 THEN "01010110"
| ELSE "01010111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 212.0 THEN CASE
| WHEN T.Hillshade_9am < 226.0 THEN CASE
| WHEN T.Hillshade_Noon < 200.0 THEN "01011000"
| ELSE "01011001"
| END
| ELSE CASE
| WHEN T.Aspect < 76.0 THEN "01011010"
| ELSE "01011011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 190.0 THEN CASE
| WHEN T.Slope < 20.0 THEN "01011100"
| ELSE "01011101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 371.0 THEN "01011110"
| ELSE "01011111"
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 218.0 THEN CASE
| WHEN T.Hillshade_9am < 202.0 THEN CASE
| WHEN T.Hillshade_9am < 190.0 THEN CASE
| WHEN T.Hillshade_9am < 178.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1678.0 THEN "01100000"
| ELSE "01100001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 185.0 THEN "01100010"
| ELSE "01100011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 197.0 THEN CASE
| WHEN T.Hillshade_9am < 194.0 THEN "01100100"
| ELSE "01100101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 200.0 THEN "01100110"
| ELSE "01100111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 211.0 THEN CASE
| WHEN T.Hillshade_9am < 207.0 THEN CASE
| WHEN T.Hillshade_9am < 205.0 THEN "01101000"
| ELSE "01101001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 209.0 THEN "01101010"
| ELSE "01101011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 215.0 THEN CASE
| WHEN T.Hillshade_9am < 213.0 THEN "01101100"
| ELSE "01101101"
| END
| ELSE CASE
| WHEN T.Aspect < 30.0 THEN "01101110"
| ELSE "01101111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 231.0 THEN CASE
| WHEN T.Hillshade_9am < 225.0 THEN CASE
| WHEN T.Aspect < 46.0 THEN CASE
| WHEN T.Aspect < 40.0 THEN "01110000"
| ELSE "01110001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 223.0 THEN "01110010"
| ELSE "01110011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 228.0 THEN CASE
| WHEN T.Slope < 9.0 THEN "01110100"
| ELSE "01110101"
| END
| ELSE CASE
| WHEN T.Slope < 9.0 THEN "01110110"
| ELSE "01110111"
| END
| END
| END
| ELSE CASE
| WHEN T.Slope < 14.0 THEN CASE
| WHEN T.Hillshade_9am < 235.0 THEN CASE
| WHEN T.Hillshade_9am < 233.0 THEN "01111000"
| ELSE "01111001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 238.0 THEN "01111010"
| ELSE "01111011"
| END
| END
| ELSE CASE
| WHEN T.Slope < 18.0 THEN CASE
| WHEN T.Hillshade_9am < 242.0 THEN "01111100"
| ELSE "01111101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 792.0 THEN "01111110"
| ELSE "01111111"
| END
| END
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 217.0 THEN CASE
| WHEN T.Aspect < 278.0 THEN CASE
| WHEN T.Hillshade_9am < 207.0 THEN CASE
| WHEN T.Hillshade_3pm < 183.0 THEN CASE
| WHEN T.Hillshade_9am < 203.0 THEN CASE
| WHEN T.Hillshade_9am < 197.0 THEN CASE
| WHEN T.Aspect < 7.0 THEN "10000000"
| ELSE "10000001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 201.0 THEN "10000010"
| ELSE "10000011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 205.0 THEN CASE
| WHEN T.Hillshade_9am < 204.0 THEN "10000100"
| ELSE "10000101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 206.0 THEN "10000110"
| ELSE "10000111"
| END
| END
| END
| ELSE CASE
| WHEN T.Aspect < 251.0 THEN CASE
| WHEN T.Hillshade_3pm < 193.0 THEN CASE
| WHEN T.Hillshade_3pm < 187.0 THEN "10001000"
| ELSE "10001001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 186.0 THEN "10001010"
| ELSE "10001011"
| END
| END
| ELSE CASE
| WHEN T.Aspect < 266.0 THEN CASE
| WHEN T.Aspect < 259.0 THEN "10001100"
| ELSE "10001101"
| END
| ELSE CASE
| WHEN T.Aspect < 272.0 THEN "10001110"
| ELSE "10001111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 213.0 THEN CASE
| WHEN T.Hillshade_9am < 210.0 THEN CASE
| WHEN T.Slope < 13.0 THEN CASE
| WHEN T.Slope < 10.0 THEN "10010000"
| ELSE "10010001"
| END
| ELSE CASE
| WHEN T.Slope < 16.0 THEN "10010010"
| ELSE "10010011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 212.0 THEN CASE
| WHEN T.Hillshade_9am < 211.0 THEN "10010100"
| ELSE "10010101"
| END
| ELSE CASE
| WHEN T.Slope < 11.0 THEN "10010110"
| ELSE "10010111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 215.0 THEN CASE
| WHEN T.Hillshade_9am < 214.0 THEN CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN "10011000"
| ELSE "10011001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1742.0 THEN "10011010"
| ELSE "10011011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 216.0 THEN CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN "10011100"
| ELSE "10011101"
| END
| ELSE CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN "10011110"
| ELSE "10011111"
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 189.0 THEN CASE
| WHEN T.Hillshade_9am < 175.0 THEN CASE
| WHEN T.Hillshade_9am < 161.0 THEN CASE
| WHEN T.Hillshade_9am < 148.0 THEN CASE
| WHEN T.Slope < 29.0 THEN "10100000"
| ELSE "10100001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 156.0 THEN "10100010"
| ELSE "10100011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 170.0 THEN CASE
| WHEN T.Hillshade_9am < 166.0 THEN "10100100"
| ELSE "10100101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 173.0 THEN "10100110"
| ELSE "10100111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 183.0 THEN CASE
| WHEN T.Hillshade_9am < 179.0 THEN CASE
| WHEN T.Hillshade_9am < 177.0 THEN "10101000"
| ELSE "10101001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 181.0 THEN "10101010"
| ELSE "10101011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 186.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1694.0 THEN "10101100"
| ELSE "10101101"
| END
| ELSE CASE
| WHEN T.Elevation < 3197.0 THEN "10101110"
| ELSE "10101111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 200.0 THEN CASE
| WHEN T.Hillshade_9am < 195.0 THEN CASE
| WHEN T.Hillshade_9am < 192.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2382.0 THEN "10110000"
| ELSE "10110001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1651.0 THEN "10110010"
| ELSE "10110011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 198.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1441.0 THEN "10110100"
| ELSE "10110101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 199.0 THEN "10110110"
| ELSE "10110111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 206.0 THEN CASE
| WHEN T.Hillshade_9am < 203.0 THEN CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN "10111000"
| ELSE "10111001"
| END
| ELSE CASE
| WHEN T.Elevation < 3108.0 THEN "10111010"
| ELSE "10111011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 210.0 THEN CASE
| WHEN T.Hillshade_9am < 208.0 THEN "10111100"
| ELSE "10111101"
| END
| ELSE CASE
| WHEN T.Aspect < 339.0 THEN "10111110"
| ELSE "10111111"
| END
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 231.0 THEN CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN CASE
| WHEN T.Hillshade_9am < 224.0 THEN CASE
| WHEN T.Hillshade_9am < 220.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Rock%" THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2040.0 THEN "11000000"
| ELSE "11000001"
| END
| ELSE CASE
| WHEN T.Aspect < 36.0 THEN "11000010"
| ELSE "11000011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 222.0 THEN CASE
| WHEN T.Hillshade_9am < 221.0 THEN "11000100"
| ELSE "11000101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 223.0 THEN "11000110"
| ELSE "11000111"
| END
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN CASE
| WHEN T.Hillshade_9am < 227.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1734.0 THEN "11001000"
| ELSE "11001001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 229.0 THEN "11001010"
| ELSE "11001011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%family,%" THEN CASE
| WHEN T.Hillshade_9am < 227.0 THEN "11001100"
| ELSE "11001101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1591.0 THEN "11001110"
| ELSE "11001111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 225.0 THEN CASE
| WHEN T.Hillshade_9am < 221.0 THEN CASE
| WHEN T.Hillshade_9am < 219.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Legault%" THEN "11010000"
| ELSE "11010001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 220.0 THEN "11010010"
| ELSE "11010011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 223.0 THEN CASE
| WHEN T.Hillshade_9am < 222.0 THEN "11010100"
| ELSE "11010101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 224.0 THEN "11010110"
| ELSE "11010111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 228.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 4032.0 THEN CASE
| WHEN T.Soil_Description LIKE "%family%" THEN "11011000"
| ELSE "11011001"
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Legault%" THEN "11011010"
| ELSE "11011011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 3803.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1972.0 THEN "11011100"
| ELSE "11011101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 5045.0 THEN "11011110"
| ELSE "11011111"
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 238.0 THEN CASE
| WHEN T.Hillshade_9am < 234.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2272.0 THEN CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN "11100000"
| ELSE "11100001"
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Legault%" THEN "11100010"
| ELSE "11100011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 3019.0 THEN CASE
| WHEN T.Soil_Description LIKE "%family%" THEN "11100100"
| ELSE "11100101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 3569.0 THEN "11100110"
| ELSE "11100111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 236.0 THEN CASE
| WHEN T.Hillshade_9am < 235.0 THEN CASE
| WHEN T.Slope < 11.0 THEN "11101000"
| ELSE "11101001"
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%family%" THEN "11101010"
| ELSE "11101011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 237.0 THEN CASE
| WHEN T.Slope < 12.0 THEN "11101100"
| ELSE "11101101"
| END
| ELSE CASE
| WHEN T.Slope < 13.0 THEN "11101110"
| ELSE "11101111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 243.0 THEN CASE
| WHEN T.Hillshade_9am < 240.0 THEN CASE
| WHEN T.Hillshade_9am < 239.0 THEN CASE
| WHEN T.Slope < 13.0 THEN "11110000"
| ELSE "11110001"
| END
| ELSE CASE
| WHEN T.Slope < 13.0 THEN "11110010"
| ELSE "11110011"
| END
| END
| ELSE CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN "11110100"
| ELSE "11110101"
| END
| ELSE CASE
| WHEN T.Soil_Type_29 < 1.0 THEN "11110110"
| ELSE "11110111"
| END
| END
| END
| ELSE CASE
| WHEN T.Slope < 19.0 THEN CASE
| WHEN T.Hillshade_9am < 245.0 THEN CASE
| WHEN T.Hillshade_9am < 244.0 THEN "11111000"
| ELSE "11111001"
| END
| ELSE CASE
| WHEN T.Hillshade_3pm < 98.0 THEN "11111010"
| ELSE "11111011"
| END
| END
| ELSE CASE
| WHEN T.Slope < 23.0 THEN CASE
| WHEN T.Slope < 21.0 THEN "11111100"
| ELSE "11111101"
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%families%" THEN "11111110"
| ELSE "11111111"
| END
| END
| END
| END
| END
| END
| END
| END""".stripMargin,
"label_c" ->
"""CASE
| WHEN T.Soil_Description LIKE "%Leighcan%" THEN CASE
| WHEN T.Hillshade_9am < 214.0 THEN CASE
| WHEN T.Hillshade_9am < 195.0 THEN CASE
| WHEN T.Elevation < 3099.0 THEN CASE
| WHEN T.Soil_Description LIKE "%family%" THEN CASE
| WHEN T.Soil_Description LIKE "%stony.%" THEN CASE
| WHEN T.Hillshade_9am < 179.0 THEN CASE
| WHEN T.Hillshade_3pm < 195.0 THEN "00000000"
| ELSE "00000001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 188.0 THEN "00000010"
| ELSE "00000011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Type_23 < 1.0 THEN CASE
| WHEN T.Hillshade_9am < 184.0 THEN "00000100"
| ELSE "00000101"
| END
| ELSE CASE
| WHEN T.Slope < 15.0 THEN "00000110"
| ELSE "00000111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 175.0 THEN CASE
| WHEN T.Hillshade_9am < 155.0 THEN CASE
| WHEN T.Slope < 29.0 THEN "00001000"
| ELSE "00001001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1362.0 THEN "00001010"
| ELSE "00001011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 186.0 THEN CASE
| WHEN T.Hillshade_9am < 182.0 THEN "00001100"
| ELSE "00001101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 191.0 THEN "00001110"
| ELSE "00001111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1579.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN CASE
| WHEN T.Hillshade_3pm < 191.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 752.0 THEN "00010000"
| ELSE "00010001"
| END
| ELSE CASE
| WHEN T.Aspect < 276.0 THEN "00010010"
| ELSE "00010011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%till%" THEN CASE
| WHEN T.Soil_Type_22 < 1.0 THEN "00010100"
| ELSE "00010101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 3443.0 THEN "00010110"
| ELSE "00010111"
| END
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN CASE
| WHEN T.Hillshade_9am < 182.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2292.0 THEN "00011000"
| ELSE "00011001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 189.0 THEN "00011010"
| ELSE "00011011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%family,%" THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2098.0 THEN "00011100"
| ELSE "00011101"
| END
| ELSE CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN "00011110"
| ELSE "00011111"
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1426.0 THEN CASE
| WHEN T.Elevation < 3131.0 THEN CASE
| WHEN T.Soil_Description LIKE "%family,%" THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1418.0 THEN CASE
| WHEN T.Hillshade_9am < 207.0 THEN "00100000"
| ELSE "00100001"
| END
| ELSE CASE
| WHEN T.Aspect < 283.0 THEN "00100010"
| ELSE "00100011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 205.0 THEN CASE
| WHEN T.Aspect < 238.0 THEN "00100100"
| ELSE "00100101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 969.0 THEN "00100110"
| ELSE "00100111"
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 841.0 THEN CASE
| WHEN T.Hillshade_3pm < 171.0 THEN CASE
| WHEN T.Aspect < 291.0 THEN "00101000"
| ELSE "00101001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 558.0 THEN "00101010"
| ELSE "00101011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_3pm < 168.0 THEN CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN "00101100"
| ELSE "00101101"
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%outcrop%" THEN "00101110"
| ELSE "00101111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 206.0 THEN CASE
| WHEN T.Hillshade_9am < 201.0 THEN CASE
| WHEN T.Hillshade_9am < 198.0 THEN CASE
| WHEN T.Aspect < 286.0 THEN "00110000"
| ELSE "00110001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2190.0 THEN "00110010"
| ELSE "00110011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 203.0 THEN CASE
| WHEN T.Hillshade_9am < 202.0 THEN "00110100"
| ELSE "00110101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2227.0 THEN "00110110"
| ELSE "00110111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 210.0 THEN CASE
| WHEN T.Hillshade_9am < 208.0 THEN CASE
| WHEN T.Hillshade_9am < 207.0 THEN "00111000"
| ELSE "00111001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 209.0 THEN "00111010"
| ELSE "00111011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 212.0 THEN CASE
| WHEN T.Hillshade_9am < 211.0 THEN "00111100"
| ELSE "00111101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 213.0 THEN "00111110"
| ELSE "00111111"
| END
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 227.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN CASE
| WHEN T.Hillshade_9am < 221.0 THEN CASE
| WHEN T.Hillshade_9am < 218.0 THEN CASE
| WHEN T.Elevation < 3096.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1515.0 THEN "01000000"
| ELSE "01000001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 216.0 THEN "01000010"
| ELSE "01000011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1624.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 916.0 THEN "01000100"
| ELSE "01000101"
| END
| ELSE CASE
| WHEN T.Soil_Type_32 < 1.0 THEN "01000110"
| ELSE "01000111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 224.0 THEN CASE
| WHEN T.Slope < 11.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1879.0 THEN "01001000"
| ELSE "01001001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1687.0 THEN "01001010"
| ELSE "01001011"
| END
| END
| ELSE CASE
| WHEN T.Slope < 12.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1725.0 THEN "01001100"
| ELSE "01001101"
| END
| ELSE CASE
| WHEN T.Slope < 17.0 THEN "01001110"
| ELSE "01001111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Soil_Type_23 < 1.0 THEN CASE
| WHEN T.Soil_Description LIKE "%till%" THEN CASE
| WHEN T.Hillshade_9am < 222.0 THEN CASE
| WHEN T.Aspect < 40.0 THEN "01010000"
| ELSE "01010001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 225.0 THEN "01010010"
| ELSE "01010011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Moran%" THEN CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN "01010100"
| ELSE "01010101"
| END
| ELSE CASE
| WHEN T.Aspect < 43.0 THEN "01010110"
| ELSE "01010111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 221.0 THEN CASE
| WHEN T.Hillshade_9am < 217.0 THEN CASE
| WHEN T.Aspect < 30.0 THEN "01011000"
| ELSE "01011001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 219.0 THEN "01011010"
| ELSE "01011011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 224.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1826.0 THEN "01011100"
| ELSE "01011101"
| END
| ELSE CASE
| WHEN T.Slope < 7.0 THEN "01011110"
| ELSE "01011111"
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1717.0 THEN CASE
| WHEN T.Hillshade_9am < 237.0 THEN CASE
| WHEN T.Hillshade_9am < 232.0 THEN CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN CASE
| WHEN T.Hillshade_9am < 229.0 THEN "01100000"
| ELSE "01100001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1222.0 THEN "01100010"
| ELSE "01100011"
| END
| END
| ELSE CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN CASE
| WHEN T.Hillshade_9am < 235.0 THEN "01100100"
| ELSE "01100101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 234.0 THEN "01100110"
| ELSE "01100111"
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1717.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Rock%" THEN CASE
| WHEN T.Hillshade_9am < 243.0 THEN "01101000"
| ELSE "01101001"
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Moran%" THEN "01101010"
| ELSE "01101011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1045.0 THEN CASE
| WHEN T.Slope < 16.0 THEN "01101100"
| ELSE "01101101"
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN "01101110"
| ELSE "01101111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Elevation < 3199.0 THEN CASE
| WHEN T.Hillshade_9am < 234.0 THEN CASE
| WHEN T.Hillshade_9am < 230.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1983.0 THEN "01110000"
| ELSE "01110001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 232.0 THEN "01110010"
| ELSE "01110011"
| END
| END
| ELSE CASE
| WHEN T.Slope < 16.0 THEN CASE
| WHEN T.Hillshade_9am < 238.0 THEN "01110100"
| ELSE "01110101"
| END
| ELSE CASE
| WHEN T.Slope < 20.0 THEN "01110110"
| ELSE "01110111"
| END
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Moran%" THEN CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN CASE
| WHEN T.Aspect < 94.0 THEN "01111000"
| ELSE "01111001"
| END
| ELSE CASE
| WHEN T.Aspect < 104.0 THEN "01111010"
| ELSE "01111011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 236.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1788.0 THEN "01111100"
| ELSE "01111101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2656.0 THEN "01111110"
| ELSE "01111111"
| END
| END
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Wilderness_Area_1 < 1.0 THEN CASE
| WHEN T.Elevation < 2730.0 THEN CASE
| WHEN T.Wilderness_Area_3 < 1.0 THEN CASE
| WHEN T.Hillshade_3pm < 154.0 THEN CASE
| WHEN T.Hillshade_9am < 226.0 THEN CASE
| WHEN T.Vertical_Distance_To_Hydrology < 50.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 85.0 THEN "10000000"
| ELSE "10000001"
| END
| ELSE CASE
| WHEN T.Vertical_Distance_To_Hydrology < 93.0 THEN "10000010"
| ELSE "10000011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%families%" THEN CASE
| WHEN T.Elevation < 2384.0 THEN "10000100"
| ELSE "10000101"
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%family%" THEN "10000110"
| ELSE "10000111"
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 730.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 408.0 THEN CASE
| WHEN T.Elevation < 2211.0 THEN "10001000"
| ELSE "10001001"
| END
| ELSE CASE
| WHEN T.Hillshade_3pm < 194.0 THEN "10001010"
| ELSE "10001011"
| END
| END
| ELSE CASE
| WHEN T.Elevation < 2346.0 THEN CASE
| WHEN T.Hillshade_Noon < 218.0 THEN "10001100"
| ELSE "10001101"
| END
| ELSE CASE
| WHEN T.Aspect < 315.0 THEN "10001110"
| ELSE "10001111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Ratake%" THEN CASE
| WHEN T.Vertical_Distance_To_Hydrology < 34.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1101.0 THEN CASE
| WHEN T.Vertical_Distance_To_Hydrology < 10.0 THEN "10010000"
| ELSE "10010001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Hydrology < 108.0 THEN "10010010"
| ELSE "10010011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_3pm < 141.0 THEN CASE
| WHEN T.Aspect < 122.0 THEN "10010100"
| ELSE "10010101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 204.0 THEN "10010110"
| ELSE "10010111"
| END
| END
| END
| ELSE CASE
| WHEN T.Aspect < 83.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1237.0 THEN CASE
| WHEN T.Elevation < 2628.0 THEN "10011000"
| ELSE "10011001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1710.0 THEN "10011010"
| ELSE "10011011"
| END
| END
| ELSE CASE
| WHEN T.Aspect < 211.0 THEN CASE
| WHEN T.Elevation < 2627.0 THEN "10011100"
| ELSE "10011101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1294.0 THEN "10011110"
| ELSE "10011111"
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Catamount%" THEN CASE
| WHEN T.Hillshade_9am < 224.0 THEN CASE
| WHEN T.Aspect < 225.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1321.0 THEN CASE
| WHEN T.Hillshade_9am < 209.0 THEN "10100000"
| ELSE "10100001"
| END
| ELSE CASE
| WHEN T.Aspect < 45.0 THEN "10100010"
| ELSE "10100011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1361.0 THEN CASE
| WHEN T.Slope < 20.0 THEN "10100100"
| ELSE "10100101"
| END
| ELSE CASE
| WHEN T.Aspect < 284.0 THEN "10100110"
| ELSE "10100111"
| END
| END
| END
| ELSE CASE
| WHEN T.Soil_Type_13 < 1.0 THEN CASE
| WHEN T.Aspect < 99.0 THEN CASE
| WHEN T.Hillshade_9am < 233.0 THEN "10101000"
| ELSE "10101001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 238.0 THEN "10101010"
| ELSE "10101011"
| END
| END
| ELSE CASE
| WHEN T.Slope < 21.0 THEN CASE
| WHEN T.Slope < 16.0 THEN "10101100"
| ELSE "10101101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1413.0 THEN "10101110"
| ELSE "10101111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Elevation < 2934.0 THEN CASE
| WHEN T.Soil_Description LIKE "%Ratake%" THEN CASE
| WHEN T.Hillshade_Noon < 247.0 THEN CASE
| WHEN T.Elevation < 2805.0 THEN "10110000"
| ELSE "10110001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1350.0 THEN "10110010"
| ELSE "10110011"
| END
| END
| ELSE CASE
| WHEN T.Soil_Description LIKE "%Typic%" THEN "1011010"
| ELSE CASE
| WHEN T.Soil_Type_17 < 1.0 THEN "10110110"
| ELSE "10110111"
| END
| END
| END
| ELSE CASE
| WHEN T.Elevation < 3389.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 2221.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1357.0 THEN "10111000"
| ELSE "10111001"
| END
| ELSE CASE
| WHEN T.Soil_Type_34 < 1.0 THEN "10111010"
| ELSE "10111011"
| END
| END
| ELSE CASE
| WHEN T.Elevation < 3475.0 THEN CASE
| WHEN T.label LIKE "%11111111%" THEN "10111100"
| ELSE "10111101"
| END
| ELSE CASE
| WHEN T.Aspect < 115.0 THEN "10111110"
| ELSE "10111111"
| END
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 223.0 THEN CASE
| WHEN T.Slope < 11.0 THEN CASE
| WHEN T.Slope < 7.0 THEN CASE
| WHEN T.Hillshade_9am < 217.0 THEN CASE
| WHEN T.Slope < 5.0 THEN CASE
| WHEN T.Hillshade_9am < 214.0 THEN "11000000"
| ELSE "11000001"
| END
| ELSE CASE
| WHEN T.Aspect < 285.0 THEN "11000010"
| ELSE "11000011"
| END
| END
| ELSE CASE
| WHEN T.Slope < 4.0 THEN CASE
| WHEN T.Hillshade_Noon < 236.0 THEN "11000100"
| ELSE "11000101"
| END
| ELSE CASE
| WHEN T.Aspect < 45.0 THEN "11000110"
| ELSE "11000111"
| END
| END
| END
| ELSE CASE
| WHEN T.Slope < 9.0 THEN CASE
| WHEN T.Slope < 8.0 THEN CASE
| WHEN T.Hillshade_9am < 214.0 THEN "11001000"
| ELSE "11001001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2291.0 THEN "11001010"
| ELSE "11001011"
| END
| END
| ELSE CASE
| WHEN T.Slope < 10.0 THEN CASE
| WHEN T.Hillshade_9am < 209.0 THEN "11001100"
| ELSE "11001101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 207.0 THEN "11001110"
| ELSE "11001111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Aspect < 257.0 THEN CASE
| WHEN T.Hillshade_9am < 211.0 THEN CASE
| WHEN T.Slope < 16.0 THEN CASE
| WHEN T.Hillshade_9am < 204.0 THEN "11010000"
| ELSE "11010001"
| END
| ELSE CASE
| WHEN T.Slope < 20.0 THEN "11010010"
| ELSE "11010011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 217.0 THEN CASE
| WHEN T.Elevation < 2978.0 THEN "11010100"
| ELSE "11010101"
| END
| ELSE CASE
| WHEN T.Elevation < 2943.0 THEN "11010110"
| ELSE "11010111"
| END
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 183.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2012.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1396.0 THEN "11011000"
| ELSE "11011001"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 166.0 THEN "11011010"
| ELSE "11011011"
| END
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 190.0 THEN CASE
| WHEN T.Hillshade_9am < 187.0 THEN "11011100"
| ELSE "11011101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 195.0 THEN "11011110"
| ELSE "11011111"
| END
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2353.0 THEN CASE
| WHEN T.Elevation < 2974.0 THEN CASE
| WHEN T.Slope < 12.0 THEN CASE
| WHEN T.Aspect < 97.0 THEN CASE
| WHEN T.Aspect < 72.0 THEN "11100000"
| ELSE "11100001"
| END
| ELSE CASE
| WHEN T.Slope < 8.0 THEN "11100010"
| ELSE "11100011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 702.0 THEN CASE
| WHEN T.Elevation < 2839.0 THEN "11100100"
| ELSE "11100101"
| END
| ELSE CASE
| WHEN T.Hillshade_9am < 241.0 THEN "11100110"
| ELSE "11100111"
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 3861.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1473.0 THEN CASE
| WHEN T.Aspect < 93.0 THEN "11101000"
| ELSE "11101001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1766.0 THEN "11101010"
| ELSE "11101011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 4848.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 4419.0 THEN "11101100"
| ELSE "11101101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 1296.0 THEN "11101110"
| ELSE "11101111"
| END
| END
| END
| END
| ELSE CASE
| WHEN T.Elevation < 2968.0 THEN CASE
| WHEN T.Hillshade_9am < 234.0 THEN CASE
| WHEN T.Hillshade_9am < 229.0 THEN CASE
| WHEN T.Hillshade_9am < 226.0 THEN "11110000"
| ELSE "11110001"
| END
| ELSE CASE
| WHEN T.Hillshade_Noon < 230.0 THEN "11110010"
| ELSE "11110011"
| END
| END
| ELSE CASE
| WHEN T.Slope < 15.0 THEN CASE
| WHEN T.Slope < 12.0 THEN "11110100"
| ELSE "11110101"
| END
| ELSE CASE
| WHEN T.Hillshade_3pm < 95.0 THEN "11110110"
| ELSE "11110111"
| END
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 4222.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Fire_Points < 2958.0 THEN CASE
| WHEN T.Horizontal_Distance_To_Roadways < 1777.0 THEN "11111000"
| ELSE "11111001"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 3147.0 THEN "11111010"
| ELSE "11111011"
| END
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 5208.0 THEN CASE
| WHEN T.Hillshade_9am < 233.0 THEN "11111100"
| ELSE "11111101"
| END
| ELSE CASE
| WHEN T.Horizontal_Distance_To_Roadways < 5958.0 THEN "11111110"
| ELSE "11111111"
| END
| END
| END
| END
| END
| END
| END
| END""".stripMargin
) - "label_c"
def predictiveMatrix(sourceCol: String, sourceData: DataFrame = sourceDataFrame, targetCol: String = targetCol) = {
val totals = sourceData.select(sourceCol).groupBy(sourceCol).agg(count(lit(1)).as("count")).cache()
val relabeledOut = sourceData.withColumnRenamed(targetCol, "raw_" + targetCol)
.withColumn(targetCol, concat(lit(targetCol + "_"), col("raw_" + targetCol)))
.drop("raw_" + targetCol)
.cache()
val joined = relabeledOut
.join(totals, relabeledOut(sourceCol) === (totals(sourceCol)))
.select(relabeledOut(sourceCol), relabeledOut(targetCol), totals("count"))
.cache()
joined
.groupBy(joined(sourceCol)).pivot(targetCol)
.agg((sum(lit(1.0).divide(joined("count")))))
.sort(relabeledOut(sourceCol))
.cache()
}
override def s3bucket: String = "simiacryptus"
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy