// hetre static Categorie hetre() { Categorie _arbre = new Categorie("hetre", "feuillu", new Caracteristique()); _arbre.setfilles(new ArrayList<Categorie>()); ArrayList<Caracteristique> _caracteristiques = new ArrayList<Caracteristique>(); Caracteristique _c = new Caracteristique("forme", new EnsembleDeChaines()); EnsembleDeChaines EnsCh = (EnsembleDeChaines) _c.getDomaine(); EnsCh.addElement(new Element("arrondi")); EnsCh.addElement(new Element("conique")); EnsCh.addElement(new Element("iregulier")); _caracteristiques.add(_c); _c = new Caracteristique("taille du tronc", new IntervalleNumerique(0.5, 1.5)); _caracteristiques.add(_c); _c = new Caracteristique("taille", new IntervalleNumerique(20.0, 40.0)); _caracteristiques.add(_c); _c = new Caracteristique("ecorce", new EnsembleDeChaines()); EnsCh = (EnsembleDeChaines) _c.getDomaine(); EnsCh.addElement(new Element("lisse")); _caracteristiques.add(_c); _c = new Caracteristique("feuilles", new EnsembleDeChaines()); EnsCh = (EnsembleDeChaines) _c.getDomaine(); EnsCh.addElement(new Element("dentelee")); EnsCh.addElement(new Element("lobe")); _caracteristiques.add(_c); _arbre.setCaracteristiques(_caracteristiques); // on ajoute le tout à la categorie return _arbre; };
// conifere static Categorie conifere() { Categorie _arbre = new Categorie("conifere", "arbre", new Caracteristique()); _arbre.setfilles(new ArrayList<Categorie>()); ArrayList<Caracteristique> _caracteristiques = new ArrayList<Caracteristique>(); Caracteristique _c = new Caracteristique("forme", new EnsembleDeChaines()); EnsembleDeChaines EnsCh = (EnsembleDeChaines) _c.getDomaine(); EnsCh.addElement(new Element("conique")); _caracteristiques.add(_c); _c = new Caracteristique("taille du tronc", new IntervalleNumerique(0.5, 2.0)); _caracteristiques.add(_c); _c = new Caracteristique("taille", new IntervalleNumerique(5.0, 40.0)); _caracteristiques.add(_c); _c = new Caracteristique("ecorce", new EnsembleDeChaines()); EnsCh = (EnsembleDeChaines) _c.getDomaine(); EnsCh.addElement(new Element("ecailles")); EnsCh.addElement(new Element("fissuree")); EnsCh.addElement(new Element("lisse")); _caracteristiques.add(_c); _arbre.setCaracteristiques(_caracteristiques); // on ajoute le tout à la categorie return _arbre; };
public static void main(String[] args) throws ParserConfigurationException, SAXException, FileNotFoundException, IOException { Classifieur classeur = new Classifieur(); Caracteristique _c; // on cree la categorie mere Categorie mere = new Categorie(); mere.setNom("arbre"); mere.setMere("TOP"); classeur.setMere(mere); IntervalleNumerique intNum = new IntervalleNumerique(); EnsembleDeChaines EnsCh = new EnsembleDeChaines(); intNum.setInf(5.0); intNum.setSup(50.0); _c = new Caracteristique("taille", intNum); classeur.getMere().addCaracteristique(_c); EnsCh.addElement(new Element("arrondi")); EnsCh.addElement(new Element("conique")); EnsCh.addElement(new Element("irregulier")); _c = new Caracteristique("forme", EnsCh); classeur.getMere().addCaracteristique(_c); intNum = new IntervalleNumerique(); intNum.setInf(0.2); intNum.setSup(3.0); _c = new Caracteristique("taille du tronc", intNum); classeur.getMere().addCaracteristique(_c); EnsCh = new EnsembleDeChaines(); EnsCh.addElement(new Element("ecailles")); EnsCh.addElement(new Element("fissuree")); EnsCh.addElement(new Element("lisse")); EnsCh.addElement(new Element("plaques")); _c = new Caracteristique("ecorce", EnsCh); classeur.getMere().addCaracteristique(_c); Categorie conifere = conifere(); Categorie feuillu = feuillu(); Categorie epicea = epicea(); Categorie aulne = aulne(); classeur.getMere().addChild(conifere); classeur.addCategoryThroughMere(feuillu); classeur.addCategoryThroughMere(epicea); classeur.addCategoryThroughMere(aulne); // Creation d'une observation obs ( ex: obs doit se placer sous les categories arbre, conifere // et feuillu ) Observation obs = new Observation(); ObservationItem item; item = new ObservationNumerique("taille", 15.0); obs.addObservationItem(item); item = new ObservationString("forme", "conique"); obs.addObservationItem(item); item = new ObservationNumerique("taille du tronc", 0.75); obs.addObservationItem(item); item = new ObservationString("ecorce", "fissuree"); obs.addObservationItem(item); item = new ObservationString("feuilles", "ovale"); obs.addObservationItem(item); // Creation d'une observation obs_1 ( ex: obs_1 qui ne se place sous aucune categorie) Observation obs_1 = new Observation(); item = new ObservationNumerique("taille", 40.0); obs_1.addObservationItem(item); item = new ObservationString("couleur", "bleu"); obs_1.addObservationItem(item); // Affichage l'arbre complet classeur.showCategorieTree(); // Ajoute de la premiere observation 'obs' classeur.setObs(obs); obs.showObservationCategories(classeur); // Ajoute la deuxieme observation 'obs_1 classeur.setObs(obs_1); obs_1.showObservationCategories(classeur); // enregistrement des données classeur.save("arbres.bin"); // REcuperation des intitules des caracteristiques et affichage ArrayList<String> intitules = classeur.getListIntituleTypo(); Msg.puts(" ====================================================="); Msg.puts(" INTITULES DES CARACTERISTIQUES"); Msg.puts(" =====================================================\n"); Msg.putsAll(intitules); }