(@VERSION= 020) (@PROPERTY= certainty @TYPE=String;) (@PROPERTY= cetrainty @TYPE=String;) (@PROPERTY= relative_size @TYPE=String;) (@PROPERTY= shape @TYPE=String;) (@CLASS= c_airport (@PROPERTIES= cetrainty relative_size ) ) (@CLASS= c_heliport (@PROPERTIES= cetrainty relative_size ) ) (@CLASS= c_railroad_station (@PROPERTIES= cetrainty relative_size ) ) (@OBJECT= airport (@PROPERTIES= shape Value @TYPE=Boolean; ) ) (@OBJECT= airport2 (@PROPERTIES= certainty shape ) ) (@OBJECT= certaimty (@PROPERTIES= Value @TYPE=String; ) ) (@OBJECT= certainty (@PROPERTIES= Value @TYPE=String; ) ) (@OBJECT= contains (@PROPERTIES= Value @TYPE=String; ) ) (@OBJECT= heliport (@PROPERTIES= shape Value @TYPE=Boolean; ) ) (@OBJECT= heliport2 (@PROPERTIES= certainty shape ) ) (@OBJECT= phototone (@PROPERTIES= Value @TYPE=String; ) ) (@OBJECT= railroad_station (@PROPERTIES= shape Value @TYPE=Boolean; ) ) (@OBJECT= railroad_station2 (@PROPERTIES= certainty shape ) ) (@OBJECT= relative_border_to (@PROPERTIES= Value @TYPE=String; ) ) (@OBJECT= relative_size (@PROPERTIES= Value @TYPE=String; ) ) (@OBJECT= shape (@PROPERTIES= Value @TYPE=String; ) ) (@OBJECT= texture (@PROPERTIES= Value @TYPE=String; ) ) (@RULE= R1 (@LHS= (Is (relative_size) ("large","huge")) (Is (shape) ("cross elongated brances")) (Is (phototone) ("grey")) ) (@HYPO= airport) (@RHS= (Execute ("message") (@STRING="@TEXT=this is probably an airport,\ @OK";)) (CreateObject (airport2) (|c_airport|)) (Let (airport2.shape) ("cross elongated")) (Do ("low") (airport2.certainty)) ) ) (@RULE= R2 (@LHS= (Is (shape) ("crossed elongated branhes")) (Is (relative_size) ("huge","large")) (Is (phototone) ("grey")) (Is (texture) ("rough")) (Is (contains) ("tower","airline")) (Is (relative_border_to) ("agriculrural area")) ) (@HYPO= airport) (@RHS= (Do ("high") (certainty)) (Execute ("message") (@STRING="@TEXT=this is cetrainly an airport,\ @OK";)) ) ) (@RULE= R4 (@LHS= (Is (relative_size) ("small","medium")) (Is (shape) ("square like")) (Is (phototone) ("grey","white")) ) (@HYPO= heliport) (@RHS= (Execute ("message") (@STRING="@TEXT=this is probably a heliport,\ @OK";)) (CreateObject (heliport2) (|c_heliport|)) (Let (heliport2.shape) ("square like")) (Do ("low") (heliport2.certainty)) ) ) (@RULE= R3 (@LHS= (Is (shape) ("square like")) (Is (relative_size) ("small","medium")) (Is (phototone) ("grey","white")) (Is (texture) ("smooth")) (Is (contains) ("nothing")) (Is (relative_border_to) ("continous urban fabric")) ) (@HYPO= heliport) (@RHS= (Do ("high") (certainty)) (Execute ("message") (@STRING="@TEXT=this is certainly a heliport,\ @OK";)) ) ) (@RULE= R5 (@LHS= (Is (relative_size) ("medium")) (Is (shape) ("elongated")) (Is (phototone) ("varies")) ) (@HYPO= railroad_station) (@RHS= (Execute ("message") (@STRING="@TEXT=this is probably a railroad station,\ @OK";)) (CreateObject (railroad_station2) (|c_railroad_station|)) (Let (railroad_station2.shape) ("elongated")) (Do ("low") (railroad_station2.certainty)) ) ) (@RULE= R6 (@LHS= (Is (relative_size) ("medium")) (Is (shape) ("elongated")) (Is (phototone) ("varies")) (Is (texture) ("rough")) (Is (relative_border_to) ("continous urban fabric","discontinous urban fabric")) (Is (contains) ("railroad line","station")) ) (@HYPO= railroad_station) (@RHS= (Do ("high") (certainty)) (Execute ("message") (@STRING="@TEXT=this is cetrainly a railroad station,\ @OK";)) ) )