diff --git a/.github/workflows/maven.yml b/.github/workflows/maven.yml
new file mode 100644
index 0000000..68e72cd
--- /dev/null
+++ b/.github/workflows/maven.yml
@@ -0,0 +1,31 @@
+# This workflow will build a Java project with Maven
+# For more information see: https://help.github.com/actions/language-and-framework-guides/building-and-testing-java-with-maven
+
+name: Java CI with Maven
+
+on:
+ push:
+ branches: [ main ]
+ pull_request:
+ branches: [ main ]
+
+jobs:
+ build:
+
+ runs-on: ubuntu-latest
+
+ steps:
+ - uses: actions/checkout@v2
+ - name: Set up JDK 11
+ uses: actions/setup-java@v2
+ with:
+ java-version: '11'
+ distribution: 'adopt'
+ - name: Build with Maven
+ run: mvn -B package --file pom.xml
+ - name: Cache Maven packages
+ uses: actions/cache@v2
+ with:
+ path: ~/.m2
+ key: ${{ runner.os }}-m2-${{ hashFiles('**/pom.xml') }}
+ restore-keys: ${{ runner.os }}-m2
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..909f0f5
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,5 @@
+/target/
+/.settings
+.classpath
+.project
+/bin/
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..6c7a647
--- /dev/null
+++ b/README.md
@@ -0,0 +1,5 @@
+[![](https://jitpack.io/v/GeOxygene/geoxygene-schemageo.svg)](https://jitpack.io/#GeOxygene/geoxygene-schemageo)
+
+# geoxygene-schemageo
+
+_geoxygene-schemageo_, a module from [Geoxygene](https://github.com/IGNF/geoxygene), hosted as a standalone artifact/repository.
diff --git a/pom.xml b/pom.xml
new file mode 100644
index 0000000..8d97f36
--- /dev/null
+++ b/pom.xml
@@ -0,0 +1,104 @@
+
+ 4.0.0
+
+ geoxygene-schemageo
+ jar
+ geoxygene-contrib
+ fr.ign.schemageo
+ 1.9
+
+
+ 5.4.1.Final
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.1
+
+
+ 8
+ UTF-8
+
+
+
+ org.apache.maven.plugins
+ maven-source-plugin
+ 3.2.1
+
+
+ attach-sources
+ deploy
+
+ jar-no-fork
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-javadoc-plugin
+ 3.3.0
+
+
+ attach-javadocs
+ deploy
+
+ jar
+
+
+
+
+
+
+
+
+
+ org.apache.logging.log4j
+ log4j-core
+ 2.13.3
+
+
+
+ com.github.GeOxygene
+ geoxygene-api
+ 1.9
+ compile
+
+
+ com.github.GeOxygene
+ geoxygene-feature
+ 1.9
+ compile
+
+
+ com.github.GeOxygene
+ geoxygene-spatial
+ 1.9
+ compile
+
+
+
+ org.hibernate
+ hibernate-entitymanager
+ ${hibernate.version}
+
+
+ org.hibernate.javax.persistence
+ hibernate-jpa-2.0-api
+ 1.0.1.Final
+
+
+
+
+
+ jitpack.io
+ https://jitpack.io
+
+
+
+
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/CreationDataSet.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/CreationDataSet.java
new file mode 100644
index 0000000..75ba8df
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/CreationDataSet.java
@@ -0,0 +1,296 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D;
+
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati.Batiment;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati.Cimetiere;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati.ConstructionLineaire;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati.ConstructionPonctuelle;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati.ConstructionSurfacique;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati.PisteAerodrome;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati.PointActiviteInteret;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati.Reservoir;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati.SurfaceActivite;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati.TerrainDeSport;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.administratif.Commune;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.divers.Hydronyme;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.divers.LieuDitHabite;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.divers.LieuDitNonHabite;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.divers.Oronyme;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.divers.ToponymeCommunication;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.divers.ToponymeDivers;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.energie_fluide.Canalisation;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.energie_fluide.LigneElectrique;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.energie_fluide.PosteTransformation;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.energie_fluide.Pylone;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ferre.AireDeTriage;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ferre.TransportParCable;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ferre.TronconVoieFerree;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.hydrographie.Laisse;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.hydrographie.PointDEau;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.hydrographie.SurfaceDEau;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.hydrographie.TronconDeCoursDEau;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.orographie.LigneOrographique;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.routier.SurfaceDeRoute;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.routier.TronconDeChemin;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.routier.TronconDeRoute;
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.vegetation.ZoneArboree;
+import fr.ign.cogit.geoxygene.feature.DataSet;
+import fr.ign.cogit.geoxygene.feature.Population;
+
+public class CreationDataSet {
+
+ /** Création des thèmes et des populations des thèmes
+ * d'un jeu de données BDTopo Pays suivant le modèle défini par l'export Shape2D.
+ *
+ * @param persistance : Définit si le jeu de données est persistant ou non.
+ * Si il est persistant, tous les thèmes et populations créées le sont
+ * aussi par défaut, mais cela peut être changé par la suite.
+ *
+ * @param nom_package_jeu_complet : nom du package qui contient les classes concrètes
+ * des populations du jeu de données (chemin complet du package contenant
+ * les sous package des thèmes).
+ *
+ * @param metadonnees : Liste de string (peut-être null) représentant dans l'ordre:
+ * - le nom logique de la base (texte libre pour la déco),
+ * - la date des données
+ * - la zone couverte par les données
+ * - un commentaire
+ * Tous les textes sont libres et d'au plus 255 caractères
+ *
+ */
+ public static DataSet nouveauDataSet(boolean persistance, String nom_package_jeu_complet, List metadonnees) {
+ DataSet jeu = new DataSet();
+ if (persistance) DataSet.db.makePersistent(jeu);
+
+ //métadonnées
+ jeu.setTypeBD("BDPays");
+ jeu.setModele("Shape 2D");
+ if (metadonnees != null) {
+ Iterator itMD = metadonnees.iterator();
+ if (itMD.hasNext()) jeu.setNom(itMD.next());
+ if (itMD.hasNext()) jeu.setDate(itMD.next());
+ if (itMD.hasNext()) jeu.setZone(itMD.next());
+ if (itMD.hasNext()) jeu.setCommentaire(itMD.next());
+ }
+
+ // création des thèmes
+ ajouteThemeBati(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeAdmin(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeDivers(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeEnergie(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeFerre(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeHydrographie(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeOrographie(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeRoutier(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeVegetation(jeu, nom_package_jeu_complet, persistance);
+
+ return jeu;
+ }
+
+
+ public static void ajouteThemeBati(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Surface d'activité et bati' de la BDPays");
+ theme.setNom("Bati");
+ String nom_package = nom_package_jeu_complet+".activite_bati";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Bâtiments", Class.forName(nom_package+".Batiment"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Cimetières", Class.forName(nom_package+".Cimetiere"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Constructions linéaires", Class.forName(nom_package+".ConstructionLineaire"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Constructions ponctuelles", Class.forName(nom_package+".ConstructionPonctuelle"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Constructions surfaciques", Class.forName(nom_package+".ConstructionSurfacique"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Pistes d'aérodrome", Class.forName(nom_package+".PisteAerodrome"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Points d'activité ou d'intérêt", Class.forName(nom_package+".PointActiviteInteret"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Réservoirs", Class.forName(nom_package+".Reservoir"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Surfaces d'activité", Class.forName(nom_package+".SurfaceActivite"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Terrains de sport", Class.forName(nom_package+".TerrainDeSport"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeAdmin(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Administratif' de la BDPays");
+ theme.setNom("Administratif");
+ String nom_package = nom_package_jeu_complet+".administratif";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Communes", Class.forName(nom_package+".Commune"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeDivers(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Objets Divers' de la BDPays");
+ theme.setNom("Divers");
+ String nom_package = nom_package_jeu_complet+".divers";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Hydronymes", Class.forName(nom_package+".Hydronyme"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Lieux-dits habités", Class.forName(nom_package+".LieuDitHabite"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Lieux-dits non habités", Class.forName(nom_package+".LieuDitNonHabite"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Oronymes", Class.forName(nom_package+".Oronyme"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Toponymes communication", Class.forName(nom_package+".ToponymeCommunication"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Toponymes divers", Class.forName(nom_package+".ToponymeDivers"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeEnergie(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Transport d'énergie et de fluides' de la BDPays");
+ theme.setNom("Energie");
+ String nom_package = nom_package_jeu_complet+".energie_fluide";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Canalisation", Class.forName(nom_package+".Canalisation"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Ligne électrique", Class.forName(nom_package+".LigneElectrique"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Poste de transformation", Class.forName(nom_package+".PosteTransformation"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Pylone", Class.forName(nom_package+".Pylone"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeFerre(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Voies ferrées et autres moyens de transport terrestre' de la BDPays");
+ theme.setNom("Ferré");
+ String nom_package = nom_package_jeu_complet+".ferre";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Tronçons de voies ferrées", Class.forName(nom_package+".TronconVoieFerree"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Aires de triage", Class.forName(nom_package+".AireDeTriage"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Transports par câble", Class.forName(nom_package+".TransportParCable"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeHydrographie(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Hydrographie terrestre' de la BDPays");
+ theme.setNom("Hydrographie");
+ String nom_package = nom_package_jeu_complet+".hydrographie";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Tronçons de laisse", Class.forName(nom_package+".Laisse"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Points d'eau", Class.forName(nom_package+".PointDEau"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Surfaces d'eau", Class.forName(nom_package+".SurfaceDEau"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Tronçons de cours d'eau", Class.forName(nom_package+".TronconDeCoursDEau"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeOrographie(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Orographie' de la BDPays");
+ theme.setNom("Orographie");
+ String nom_package = nom_package_jeu_complet+".orographie";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Lignes orographiques", Class.forName(nom_package+".LigneOrographique"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeRoutier(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Voies de Communication Routière' de la BDPays");
+ theme.setNom("Routier");
+ String nom_package = nom_package_jeu_complet+".routier";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Surfaces de route", Class.forName(nom_package+".SurfaceDeRoute"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Tronçons de route", Class.forName(nom_package+".TronconDeRoute"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Tronçons de chemin", Class.forName(nom_package+".TronconDeChemin"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeVegetation(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Végétation' de la BDPays");
+ theme.setNom("Végétation");
+ String nom_package = nom_package_jeu_complet+".vegetation";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Zones arborées", Class.forName(nom_package+".ZoneArboree"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+
+}
+
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/ElementBDPays.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/ElementBDPays.java
new file mode 100644
index 0000000..6264f95
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/ElementBDPays.java
@@ -0,0 +1,16 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D;
+
+import fr.ign.cogit.geoxygene.feature.FT_Feature;
+
+/** Classe mère pour toute classe d'éléments de la BDTopo Pays au format de livraison shape2D.
+ * NB: un attribut Identifiant doit être rajouté dans le futur, mais
+ * cela n'est pas encore fait.
+ */
+
+public abstract class ElementBDPays extends FT_Feature {
+
+ protected String source;
+ public String getSource() {return this.source; }
+ public void setSource (String Source) {source = Source; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/Batiment.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/Batiment.java
new file mode 100644
index 0000000..4e227c3
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/Batiment.java
@@ -0,0 +1,33 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class Batiment extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String categorie;
+ public String getCategorie() {return this.categorie; }
+ public void setCategorie (String Categorie) {categorie = Categorie; }
+
+ protected double hauteur;
+ public double getHauteur() {return this.hauteur; }
+ public void setHauteur (double Hauteur) {hauteur = Hauteur; }
+
+ protected double z_min;
+ public double getZ_min() {return this.z_min; }
+ public void setZ_min (double Z_min) {z_min = Z_min; }
+
+ protected double z_max;
+ public double getZ_max() {return this.z_max; }
+ public void setZ_max (double Z_max) {z_max = Z_max; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/Cimetiere.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/Cimetiere.java
new file mode 100644
index 0000000..98ca20f
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/Cimetiere.java
@@ -0,0 +1,18 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class Cimetiere extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/ConstructionLineaire.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/ConstructionLineaire.java
new file mode 100644
index 0000000..e39f689
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/ConstructionLineaire.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class ConstructionLineaire extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected double z_min;
+ public double getZ_min() {return this.z_min; }
+ public void setZ_min (double Z_min) {z_min = Z_min; }
+
+ protected double z_max;
+ public double getZ_max() {return this.z_max; }
+ public void setZ_max (double Z_max) {z_max = Z_max; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/ConstructionPonctuelle.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/ConstructionPonctuelle.java
new file mode 100644
index 0000000..833c1e1
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/ConstructionPonctuelle.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class ConstructionPonctuelle extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected double z_min;
+ public double getZ_min() {return this.z_min; }
+ public void setZ_min (double Z_min) {z_min = Z_min; }
+
+ protected double z_max;
+ public double getZ_max() {return this.z_max; }
+ public void setZ_max (double Z_max) {z_max = Z_max; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/ConstructionSurfacique.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/ConstructionSurfacique.java
new file mode 100644
index 0000000..547b1d4
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/ConstructionSurfacique.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class ConstructionSurfacique extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected double z_min;
+ public double getZ_min() {return this.z_min; }
+ public void setZ_min (double Z_min) {z_min = Z_min; }
+
+ protected double z_max;
+ public double getZ_max() {return this.z_max; }
+ public void setZ_max (double Z_max) {z_max = Z_max; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/PisteAerodrome.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/PisteAerodrome.java
new file mode 100644
index 0000000..bc6c0e4
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/PisteAerodrome.java
@@ -0,0 +1,22 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class PisteAerodrome extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected double z_moyen;
+ public double getZ_moyen() {return this.z_moyen; }
+ public void setZ_moyen (double Z_moyen) {z_moyen = Z_moyen; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/PointActiviteInteret.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/PointActiviteInteret.java
new file mode 100644
index 0000000..1361253
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/PointActiviteInteret.java
@@ -0,0 +1,23 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class PointActiviteInteret extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String categorie;
+ public String getCategorie() {return this.categorie; }
+ public void setCategorie (String Categorie) {categorie = Categorie; }
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/Reservoir.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/Reservoir.java
new file mode 100644
index 0000000..170ac0f
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/Reservoir.java
@@ -0,0 +1,31 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class Reservoir extends ElementBDPays {
+
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected double hauteur;
+ public double getHauteur() {return this.hauteur; }
+ public void setHauteur (double Hauteur) {hauteur = Hauteur; }
+
+ protected double z_min;
+ public double getZ_min() {return this.z_min; }
+ public void setZ_min (double Z_min) {z_min = Z_min; }
+
+ protected double z_max;
+ public double getZ_max() {return this.z_max; }
+ public void setZ_max (double Z_max) {z_max = Z_max; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/SurfaceActivite.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/SurfaceActivite.java
new file mode 100644
index 0000000..bd792c8
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/SurfaceActivite.java
@@ -0,0 +1,18 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class SurfaceActivite extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String categorie;
+ public String getCategorie() {return this.categorie; }
+ public void setCategorie (String Categorie) {categorie = Categorie; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/TerrainDeSport.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/TerrainDeSport.java
new file mode 100644
index 0000000..0ec3a51
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/activite_bati/TerrainDeSport.java
@@ -0,0 +1,22 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.activite_bati;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class TerrainDeSport extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected double z_moyen;
+ public double getZ_moyen() {return this.z_moyen; }
+ public void setZ_moyen (double Z_moyen) {z_moyen = Z_moyen; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/administratif/Commune.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/administratif/Commune.java
new file mode 100644
index 0000000..30ad34f
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/administratif/Commune.java
@@ -0,0 +1,50 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.administratif;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class Commune extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String nom;
+ public String getNom() {return this.nom; }
+ public void setNom (String Nom) {nom = Nom; }
+
+ protected String code_insee;
+ public String getCode_insee() {return this.code_insee; }
+ public void setCode_insee (String Code_insee) {code_insee = Code_insee; }
+
+ protected String statut;
+ public String getStatut() {return this.statut; }
+ public void setStatut (String Statut) {statut = Statut; }
+
+ protected String canton;
+ public String getCanton() {return this.canton; }
+ public void setCanton (String Canton) {canton = Canton; }
+
+ protected String arrond;
+ public String getArrond() {return this.arrond; }
+ public void setArrond (String Arrond) {arrond = Arrond; }
+
+ protected String depart;
+ public String getDepart() {return this.depart; }
+ public void setDepart (String Depart) {depart = Depart; }
+
+ protected String region;
+ public String getRegion() {return this.region; }
+ public void setRegion (String Region) {region = Region; }
+
+ protected double population_;
+ public double getPopulation_() {return this.population_; }
+ public void setPopulation_ (double Population_) {population_ = Population_; }
+
+ protected String multi_cant;
+ public String getMulti_cant() {return this.multi_cant; }
+ public void setMulti_cant (String Multi_cant) {multi_cant = Multi_cant; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/Hydronyme.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/Hydronyme.java
new file mode 100644
index 0000000..af1f8a8
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/Hydronyme.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.divers;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class Hydronyme extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String nom;
+ public String getNom() {return this.nom; }
+ public void setNom (String Nom) {nom = Nom; }
+
+ protected String importance;
+ public String getImportance() {return this.importance; }
+ public void setImportance (String Importance) {importance = Importance; }
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/LieuDitHabite.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/LieuDitHabite.java
new file mode 100644
index 0000000..ff9ed0a
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/LieuDitHabite.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.divers;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class LieuDitHabite extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String nom;
+ public String getNom() {return this.nom; }
+ public void setNom (String Nom) {nom = Nom; }
+
+ protected String importance;
+ public String getImportance() {return this.importance; }
+ public void setImportance (String Importance) {importance = Importance; }
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/LieuDitNonHabite.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/LieuDitNonHabite.java
new file mode 100644
index 0000000..ac7a632
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/LieuDitNonHabite.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.divers;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class LieuDitNonHabite extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String nom;
+ public String getNom() {return this.nom; }
+ public void setNom (String Nom) {nom = Nom; }
+
+ protected String importance;
+ public String getImportance() {return this.importance; }
+ public void setImportance (String Importance) {importance = Importance; }
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/Oronyme.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/Oronyme.java
new file mode 100644
index 0000000..d4ee9e6
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/Oronyme.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.divers;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class Oronyme extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String nom;
+ public String getNom() {return this.nom; }
+ public void setNom (String Nom) {nom = Nom; }
+
+ protected String importance;
+ public String getImportance() {return this.importance; }
+ public void setImportance (String Importance) {importance = Importance; }
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/ToponymeCommunication.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/ToponymeCommunication.java
new file mode 100644
index 0000000..b8713e3
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/ToponymeCommunication.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.divers;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class ToponymeCommunication extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String nom;
+ public String getNom() {return this.nom; }
+ public void setNom (String Nom) {nom = Nom; }
+
+ protected String importance;
+ public String getImportance() {return this.importance; }
+ public void setImportance (String Importance) {importance = Importance; }
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/ToponymeDivers.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/ToponymeDivers.java
new file mode 100644
index 0000000..fca164b
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/divers/ToponymeDivers.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.divers;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class ToponymeDivers extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String nom;
+ public String getNom() {return this.nom; }
+ public void setNom (String Nom) {nom = Nom; }
+
+ protected String importance;
+ public String getImportance() {return this.importance; }
+ public void setImportance (String Importance) {importance = Importance; }
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/energie_fluide/Canalisation.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/energie_fluide/Canalisation.java
new file mode 100644
index 0000000..7d09198
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/energie_fluide/Canalisation.java
@@ -0,0 +1,30 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.energie_fluide;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class Canalisation extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected double posit_sol;
+ public double getPosit_sol() {return this.posit_sol; }
+ public void setPosit_sol (double Posit_sol) {posit_sol = Posit_sol; }
+
+ protected double z_ini;
+ public double getZ_ini() {return this.z_ini; }
+ public void setZ_ini (double Z_ini) {z_ini = Z_ini; }
+
+ protected double z_fin;
+ public double getZ_fin() {return this.z_fin; }
+ public void setZ_fin (double Z_fin) {z_fin = Z_fin; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/energie_fluide/LigneElectrique.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/energie_fluide/LigneElectrique.java
new file mode 100644
index 0000000..fcf938d
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/energie_fluide/LigneElectrique.java
@@ -0,0 +1,18 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.energie_fluide;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class LigneElectrique extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String voltage;
+ public String getVoltage() {return this.voltage; }
+ public void setVoltage (String Voltage) {voltage = Voltage; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/energie_fluide/PosteTransformation.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/energie_fluide/PosteTransformation.java
new file mode 100644
index 0000000..469aa43
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/energie_fluide/PosteTransformation.java
@@ -0,0 +1,13 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.energie_fluide;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class PosteTransformation extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/energie_fluide/Pylone.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/energie_fluide/Pylone.java
new file mode 100644
index 0000000..8075b1b
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/energie_fluide/Pylone.java
@@ -0,0 +1,15 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.energie_fluide;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class Pylone extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/ferre/AireDeTriage.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/ferre/AireDeTriage.java
new file mode 100644
index 0000000..2de024d
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/ferre/AireDeTriage.java
@@ -0,0 +1,18 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ferre;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class AireDeTriage extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected double z_moyen;
+ public double getZ_moyen() {return this.z_moyen; }
+ public void setZ_moyen (double Z_moyen) {z_moyen = Z_moyen; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/ferre/TransportParCable.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/ferre/TransportParCable.java
new file mode 100644
index 0000000..e510fb0
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/ferre/TransportParCable.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ferre;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class TransportParCable extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected double z_min;
+ public double getZ_min() {return this.z_min; }
+ public void setZ_min (double Z_min) {z_min = Z_min; }
+
+ protected double z_max;
+ public double getZ_max() {return this.z_max; }
+ public void setZ_max (double Z_max) {z_max = Z_max; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/ferre/TronconVoieFerree.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/ferre/TronconVoieFerree.java
new file mode 100644
index 0000000..887d9e2
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/ferre/TronconVoieFerree.java
@@ -0,0 +1,46 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ferre;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class TronconVoieFerree extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String electrifie;
+ public String getElectrifie() {return this.electrifie; }
+ public void setElectrifie (String Electrifie) {electrifie = Electrifie; }
+
+ protected String franchisst;
+ public String getFranchisst() {return this.franchisst; }
+ public void setFranchisst (String Franchisst) {franchisst = Franchisst; }
+
+ protected String largeur;
+ public String getLargeur() {return this.largeur; }
+ public void setLargeur (String Largeur) {largeur = Largeur; }
+
+ protected double nb_voies;
+ public double getNb_voies() {return this.nb_voies; }
+ public void setNb_voies (double Nb_voies) {nb_voies = Nb_voies; }
+
+ protected double posit_sol;
+ public double getPosit_sol() {return this.posit_sol; }
+ public void setPosit_sol (double Posit_sol) {posit_sol = Posit_sol; }
+
+ protected double z_ini;
+ public double getZ_ini() {return this.z_ini; }
+ public void setZ_ini (double Z_ini) {z_ini = Z_ini; }
+
+ protected double z_fin;
+ public double getZ_fin() {return this.z_fin; }
+ public void setZ_fin (double Z_fin) {z_fin = Z_fin; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/hydrographie/Laisse.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/hydrographie/Laisse.java
new file mode 100644
index 0000000..fafd002
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/hydrographie/Laisse.java
@@ -0,0 +1,18 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.hydrographie;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class Laisse extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/hydrographie/PointDEau.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/hydrographie/PointDEau.java
new file mode 100644
index 0000000..6ce25d7
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/hydrographie/PointDEau.java
@@ -0,0 +1,18 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.hydrographie;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class PointDEau extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/hydrographie/SurfaceDEau.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/hydrographie/SurfaceDEau.java
new file mode 100644
index 0000000..43ff5fc
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/hydrographie/SurfaceDEau.java
@@ -0,0 +1,30 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.hydrographie;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class SurfaceDEau extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String regime;
+ public String getRegime() {return this.regime; }
+ public void setRegime (String Regime) {regime = Regime; }
+
+ protected double z_min;
+ public double getZ_min() {return this.z_min; }
+ public void setZ_min (double Z_min) {z_min = Z_min; }
+
+ protected double z_max;
+ public double getZ_max() {return this.z_max; }
+ public void setZ_max (double Z_max) {z_max = Z_max; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/hydrographie/TronconDeCoursDEau.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/hydrographie/TronconDeCoursDEau.java
new file mode 100644
index 0000000..9d78669
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/hydrographie/TronconDeCoursDEau.java
@@ -0,0 +1,46 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.hydrographie;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class TronconDeCoursDEau extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected double artif;
+ public double getArtif() {return this.artif; }
+ public void setArtif (double Artif) {artif = Artif; }
+
+ protected double fictif;
+ public double getFictif() {return this.fictif; }
+ public void setFictif (double Fictif) {fictif = Fictif; }
+
+ protected String franchisst;
+ public String getFranchisst() {return this.franchisst; }
+ public void setFranchisst (String Franchisst) {franchisst = Franchisst; }
+
+ protected String nom;
+ public String getNom() {return this.nom; }
+ public void setNom (String Nom) {nom = Nom; }
+
+ protected double posit_sol;
+ public double getPosit_sol() {return this.posit_sol; }
+ public void setPosit_sol (double Posit_sol) {posit_sol = Posit_sol; }
+
+ protected String regime;
+ public String getRegime() {return this.regime; }
+ public void setRegime (String Regime) {regime = Regime; }
+
+ protected double z_ini;
+ public double getZ_ini() {return this.z_ini; }
+ public void setZ_ini (double Z_ini) {z_ini = Z_ini; }
+
+ protected double z_fin;
+ public double getZ_fin() {return this.z_fin; }
+ public void setZ_fin (double Z_fin) {z_fin = Z_fin; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/orographie/LigneOrographique.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/orographie/LigneOrographique.java
new file mode 100644
index 0000000..044873e
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/orographie/LigneOrographique.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.orographie;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class LigneOrographique extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected double z_min;
+ public double getZ_min() {return this.z_min; }
+ public void setZ_min (double Z_min) {z_min = Z_min; }
+
+ protected double z_max;
+ public double getZ_max() {return this.z_max; }
+ public void setZ_max (double Z_max) {z_max = Z_max; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/routier/SurfaceDeRoute.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/routier/SurfaceDeRoute.java
new file mode 100644
index 0000000..b219dba
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/routier/SurfaceDeRoute.java
@@ -0,0 +1,22 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.routier;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class SurfaceDeRoute extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected double z_moyen;
+ public double getZ_moyen() {return this.z_moyen; }
+ public void setZ_moyen (double Z_moyen) {z_moyen = Z_moyen; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/routier/TronconDeChemin.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/routier/TronconDeChemin.java
new file mode 100644
index 0000000..92f124c
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/routier/TronconDeChemin.java
@@ -0,0 +1,38 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.routier;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class TronconDeChemin extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String franchisst;
+ public String getFranchisst() {return this.franchisst; }
+ public void setFranchisst (String Franchisst) {franchisst = Franchisst; }
+
+ protected String nom;
+ public String getNom() {return this.nom; }
+ public void setNom (String Nom) {nom = Nom; }
+
+ protected double posit_sol;
+ public double getPosit_sol() {return this.posit_sol; }
+ public void setPosit_sol (double Posit_sol) {posit_sol = Posit_sol; }
+
+ protected double z_ini;
+ public double getZ_ini() {return this.z_ini; }
+ public void setZ_ini (double Z_ini) {z_ini = Z_ini; }
+
+ protected double z_fin;
+ public double getZ_fin() {return this.z_fin; }
+ public void setZ_fin (double Z_fin) {z_fin = Z_fin; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/routier/TronconDeRoute.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/routier/TronconDeRoute.java
new file mode 100644
index 0000000..08eeb03
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/routier/TronconDeRoute.java
@@ -0,0 +1,63 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.routier;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class TronconDeRoute extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ public String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String classement;
+ public String getClassement() {return this.classement; }
+ public void setClassement (String Classement) {classement = Classement; }
+
+ protected String dep_gest;
+ public String getDep_gest() {return this.dep_gest; }
+ public void setDep_gest (String Dep_gest) {dep_gest = Dep_gest; }
+
+ protected double fictif;
+ public double getFictif() {return this.fictif; }
+ public void setFictif (double Fictif) {fictif = Fictif; }
+
+ protected String franchisst;
+ public String getFranchisst() {return this.franchisst; }
+ public void setFranchisst (String Franchisst) {franchisst = Franchisst; }
+
+ protected double largeur;
+ public double getLargeur() {return this.largeur; }
+ public void setLargeur (double Largeur) {largeur = Largeur; }
+
+ protected String nom;
+ public String getNom() {return this.nom; }
+ public void setNom (String Nom) {nom = Nom; }
+
+ protected double nb_voies;
+ public double getNb_voies() {return this.nb_voies; }
+ public void setNb_voies (double Nb_voies) {nb_voies = Nb_voies; }
+
+ protected String numero;
+ public String getNumero() {return this.numero; }
+ public void setNumero (String Numero) {numero = Numero; }
+
+ protected double posit_sol;
+ public double getPosit_sol() {return this.posit_sol; }
+ public void setPosit_sol (double Posit_sol) {posit_sol = Posit_sol; }
+
+ protected double z_ini;
+ public double getZ_ini() {return this.z_ini; }
+ public void setZ_ini (double Z_ini) {z_ini = Z_ini; }
+
+ protected double z_fin;
+
+ public double getZ_fin() {return this.z_fin; }
+ public void setZ_fin (double Z_fin) {z_fin = Z_fin; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/vegetation/ThemeVegetation.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/vegetation/ThemeVegetation.java
new file mode 100644
index 0000000..dc84a64
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/vegetation/ThemeVegetation.java
@@ -0,0 +1,11 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.vegetation;
+
+import fr.ign.cogit.geoxygene.feature.DataSet;
+
+/** classe devenue inutile
+ * @deprecated
+ */
+@Deprecated
+public class ThemeVegetation extends DataSet {
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/vegetation/ZoneArboree.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/vegetation/ZoneArboree.java
new file mode 100644
index 0000000..d8ebe39
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdPaysShape2D/vegetation/ZoneArboree.java
@@ -0,0 +1,15 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.vegetation;
+
+
+import fr.ign.cogit.appli.commun.schema.shp.bdPaysShape2D.ElementBDPays;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class ZoneArboree extends ElementBDPays {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/.nbattrs b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/.nbattrs
new file mode 100644
index 0000000..0d0b993
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/.nbattrs
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/CreationDataSet.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/CreationDataSet.java
new file mode 100644
index 0000000..b0ebf01
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/CreationDataSet.java
@@ -0,0 +1,277 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto;
+
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.administratif.Arrondissement;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.administratif.Canton;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.administratif.Commune;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.administratif.Departement;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.administratif.LimiteAdministrative;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements.Aerodrome;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements.Cimetiere;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements.ConstructionElevee;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements.Digue;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements.EnceinteMilitaire;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements.LigneElectrique;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements.MetroAerien;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements.PisteAerodrome;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements.TransportParCable;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ferre.NoeudFerre;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ferre.TronconVoieFerree;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.habillage.ZoneOccupationDuSol;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.hydrographie.Laisse;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.hydrographie.ObjetHydrographiquePonctuel;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.hydrographie.ToponymeSurfaceHydrographique;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.hydrographie.TronconHydrographique;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.hydrographie.ZoneHydrographiqueTexture;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier.AccesEquipement;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier.CommunicationRestreinte;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier.DebutSection;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier.EquipementRoutier;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier.Franchissement;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier.Itineraire;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier.LiaisonMaritime;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier.NoeudRoutier;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier.TronconRoute;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.toponymes.Etablissement;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.toponymes.GR;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.toponymes.MassifBoise;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.toponymes.PointRemarquableDuRelief;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.toponymes.ZoneActivite;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.toponymes.ZoneHabitat;
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.toponymes.ZoneReglementeeTouristique;
+import fr.ign.cogit.geoxygene.feature.DataSet;
+import fr.ign.cogit.geoxygene.feature.Population;
+
+public class CreationDataSet {
+
+ /** Création des thèmes et des populations des thèmes
+ * d'un jeu de données BDCarto suivant le modèle défini par l'export Shape.
+ *
+ * @param persistance : Définit si le jeu de données est persistant ou non.
+ * Si il est persistant, tous les thèmes et populations créées le sont
+ * aussi par défaut, mais cela peut être changé par la suite.
+ *
+ * @param nom_package_jeu_complet : nom du package qui contient les classes concrètes
+ * des populations du jeu de données (chemin complet du package contenant
+ * les sous package des thèmes).
+ *
+ * @param metadonnees : Liste de string (peut-être null) représentant dans l'ordre:
+ * - le nom logique de la base (texte libre pour la déco),
+ * - la date des données
+ * - la zone couverte par les données
+ * - un commentaire
+ * Tous les textes sont libres et d'au plus 255 caractères
+ *
+ */
+ public static DataSet nouveauDataSet(boolean persistance, String nom_package_jeu_complet, List metadonnees) {
+ DataSet jeu = new DataSet();
+ if (persistance) DataSet.db.makePersistent(jeu);
+
+ //métadonnées
+ jeu.setTypeBD("BDCarto");
+ jeu.setModele("Shape");
+ if (metadonnees != null) {
+ Iterator itMD = metadonnees.iterator();
+ if (itMD.hasNext()) jeu.setNom(itMD.next());
+ if (itMD.hasNext()) jeu.setDate(itMD.next());
+ if (itMD.hasNext()) jeu.setZone(itMD.next());
+ if (itMD.hasNext()) jeu.setCommentaire(itMD.next());
+ }
+
+ // création des thèmes
+ ajouteThemeAdmin(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeEquipements(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeFerre(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeHabillage(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeHydrographie(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeRoutier(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeToponymes(jeu, nom_package_jeu_complet, persistance);
+
+ return jeu;
+ }
+
+ public static void ajouteThemeAdmin(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Administratif' de la BDCarto");
+ theme.setNom("Administratif");
+ String nom_package = nom_package_jeu_complet+".administratif";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Arrondissements", Class.forName(nom_package+".Arrondissement"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Cantons", Class.forName(nom_package+".Canton"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Communes", Class.forName(nom_package+".Commune"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Départements", Class.forName(nom_package+".Departement"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Limites administratives", Class.forName(nom_package+".LimiteAdministrative"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeEquipements(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Equipements' de la BDCarto");
+ theme.setNom("Equipements");
+ String nom_package = nom_package_jeu_complet+".equipements";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Aérodromes", Class.forName(nom_package+".Aerodrome"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Cimetières", Class.forName(nom_package+".Cimetiere"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Constructions élevées", Class.forName(nom_package+".ConstructionElevee"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Enceintes militaires", Class.forName(nom_package+".EnceinteMilitaire"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Lignes électriques", Class.forName(nom_package+".LigneElectrique"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Pistes d'aérodromes", Class.forName(nom_package+".PisteAerodrome"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Digues", Class.forName(nom_package+".Digue"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Transports par cable", Class.forName(nom_package+".TransportParCable"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Métros aériens", Class.forName(nom_package+".MetroAerien"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeFerre(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Réseau ferré' de la BDCarto");
+ theme.setNom("Ferré");
+ String nom_package = nom_package_jeu_complet+".ferre";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Noeuds ferrés", Class.forName(nom_package+".NoeudFerre"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Tronçons de voie ferrée", Class.forName(nom_package+".TronconVoieFerree"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeHabillage(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Habillage' de la BDCarto");
+ theme.setNom("Habillage");
+ String nom_package = nom_package_jeu_complet+".habillage";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Zones d'occupation du sol", Class.forName(nom_package+".ZoneOccupationDuSol"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+
+ }
+
+ public static void ajouteThemeHydrographie(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Hydrographie' de la BDCarto");
+ theme.setNom("Hydrographie");
+ String nom_package = nom_package_jeu_complet+".hydrographie";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Tronçons hydrographiques", Class.forName(nom_package+".TronconHydrographique"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Objets hydrographiques ponctuels", Class.forName(nom_package+".ObjetHydrographiquePonctuel"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Toponymes de surface hydrographique", Class.forName(nom_package+".ToponymeSurfaceHydrographique"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Tronçons de laisse", Class.forName(nom_package+".Laisse"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Zones hydrographiques de texture", Class.forName(nom_package+".ZoneHydrographiqueTexture"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeRoutier(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Réseau routier et franchissements' de la BDCarto");
+ theme.setNom("Routier");
+ String nom_package = nom_package_jeu_complet+".routier";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Accès équipements", Class.forName(nom_package+".AccesEquipement"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Communications restreintes", Class.forName(nom_package+".CommunicationRestreinte"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Débuts de section", Class.forName(nom_package+".DebutSection"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Equipements routiers", Class.forName(nom_package+".EquipementRoutier"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Franchissements", Class.forName(nom_package+".Franchissement"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Noeuds routiers", Class.forName(nom_package+".NoeudRoutier"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Tronçons de route", Class.forName(nom_package+".TronconRoute"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Liaisons maritimes", Class.forName(nom_package+".LiaisonMaritime"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Itinéraires routiers", Class.forName(nom_package+".Itineraire"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+
+ }
+
+ public static void ajouteThemeToponymes(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Thème 'Toponymes' de la BDCarto");
+ theme.setNom("Toponymes");
+ String nom_package = nom_package_jeu_complet+".toponymes";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Etablissements", Class.forName(nom_package+".Etablissement"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Massifs boisés", Class.forName(nom_package+".MassifBoise"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Points remarquables du relief", Class.forName(nom_package+".PointRemarquableDuRelief"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Zones d'activité", Class.forName(nom_package+".ZoneActivite"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Zones d'habitat", Class.forName(nom_package+".ZoneHabitat"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Zones règlementées touristiques", Class.forName(nom_package+".ZoneReglementeeTouristique"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "GR", Class.forName(nom_package+".GR"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/ElementBDCarto.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/ElementBDCarto.java
new file mode 100644
index 0000000..65ffa11
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/ElementBDCarto.java
@@ -0,0 +1,48 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.geoxygene.feature.FT_Feature;
+import fr.ign.cogit.geoxygene.feature.Population;
+
+/** Classe mère pour toute classe d'éléments de la BDCarto V2 au format de livraison shape.
+ * Document de référence: descriptif de livraison shapefile, edition 2, 2001.
+ */
+
+@SuppressWarnings("unchecked")
+
+public abstract class ElementBDCarto extends FT_Feature {
+
+ /** Identifiant donné par la BDCarto */
+ protected double id_bdcarto;
+ /** Identifiant donné par la BDCarto */
+ public double getId_bdcarto() {return this.id_bdcarto; }
+ /** Identifiant donné par la BDCarto */
+ public void setId_bdcarto (double Id_bdcarto) {id_bdcarto = Id_bdcarto; }
+
+
+ public static ElementBDCarto recherche_element_avec_idbdc(Population pop, double id) {
+ ElementBDCarto element;
+ Iterator it = pop.getElements().iterator();
+ while ( it.hasNext() ) {
+ element = (ElementBDCarto)it.next();
+ if ( element.getId_bdcarto() == id ) return element;
+ }
+ return null;
+ }
+
+ public static List search_list_idBDCarto (Population pop,int id){
+ List list_idBDCarto = new ArrayList();
+ ElementBDCarto element;
+ Iterator it = pop.getElements().iterator();
+ while ( it.hasNext() ) {
+ element = (ElementBDCarto)it.next();
+ if ( element.getId_bdcarto() == id ) list_idBDCarto.add(element);
+ }
+ if (list_idBDCarto == null) return null;
+ return list_idBDCarto;
+ }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/Arrondissement.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/Arrondissement.java
new file mode 100644
index 0000000..0bd1110
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/Arrondissement.java
@@ -0,0 +1,59 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.administratif;
+
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+/**
+ * Classe geographique. Classe generee automatiquement par le chargeur de la
+ * plate-forme Oxygene
+ */
+
+public abstract class Arrondissement extends
+ fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /**
+ * Renvoie la géométrie de l'objet, castée plus précisément qu'avec la
+ * méthode getGeom()
+ */
+ public GM_Polygon getGeometrie() {
+ return (GM_Polygon) geom;
+ }
+
+ /**
+ * Définit la géométrie de l'objet, castée plus précisément qu'avec la
+ * méthode setGeom()
+ */
+ public void setGeometrie(GM_Polygon G) {
+ this.geom = G;
+ }
+
+ protected String insee_arr;
+
+ public String getInsee_arr() {
+ return this.insee_arr;
+ }
+
+ public void setInsee_arr(String Insee_arr) {
+ insee_arr = Insee_arr;
+ }
+
+ protected String insee_dept;
+
+ public String getInsee_dept() {
+ return this.insee_dept;
+ }
+
+ public void setInsee_dept(String Insee_dept) {
+ insee_dept = Insee_dept;
+ }
+
+ protected String insee_reg;
+
+ public String getInsee_reg() {
+ return this.insee_reg;
+ }
+
+ public void setInsee_reg(String Insee_reg) {
+ insee_reg = Insee_reg;
+ }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/Canton.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/Canton.java
new file mode 100644
index 0000000..d37559e
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/Canton.java
@@ -0,0 +1,69 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.administratif;
+
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+/**
+ * Classe geographique. Classe generee automatiquement par le chargeur de la
+ * plate-forme Oxygene
+ */
+
+public abstract class Canton extends
+ fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /**
+ * Renvoie la géométrie de l'objet, castée plus précisément qu'avec la
+ * méthode getGeom()
+ */
+ public GM_Polygon getGeometrie() {
+ return (GM_Polygon) geom;
+ }
+
+ /**
+ * Définit la géométrie de l'objet, castée plus précisément qu'avec la
+ * méthode setGeom()
+ */
+ public void setGeometrie(GM_Polygon G) {
+ this.geom = G;
+ }
+
+ protected String insee_cant;
+
+ public String getInsee_cant() {
+ return this.insee_cant;
+ }
+
+ public void setInsee_cant(String Insee_cant) {
+ insee_cant = Insee_cant;
+ }
+
+ protected String insee_arr;
+
+ public String getInsee_arr() {
+ return this.insee_arr;
+ }
+
+ public void setInsee_arr(String Insee_arr) {
+ insee_arr = Insee_arr;
+ }
+
+ protected String insee_dept;
+
+ public String getInsee_dept() {
+ return this.insee_dept;
+ }
+
+ public void setInsee_dept(String Insee_dept) {
+ insee_dept = Insee_dept;
+ }
+
+ protected String insee_reg;
+
+ public String getInsee_reg() {
+ return this.insee_reg;
+ }
+
+ public void setInsee_reg(String Insee_reg) {
+ insee_reg = Insee_reg;
+ }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/Commune.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/Commune.java
new file mode 100644
index 0000000..f8e9f2c
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/Commune.java
@@ -0,0 +1,158 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.administratif;
+
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+/**
+ * Classe geographique. Classe generee automatiquement par le chargeur de la
+ * plate-forme Oxygene
+ */
+public abstract class Commune extends
+ fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /**
+ * Renvoie la géométrie de l'objet, castée plus précisément qu'avec la
+ * méthode getGeom()
+ */
+ public GM_Polygon getGeometrie() {
+ return (GM_Polygon) geom;
+ }
+
+ /**
+ * Définit la géométrie de l'objet, castée plus précisément qu'avec la
+ * méthode setGeom()
+ */
+ public void setGeometrie(GM_Polygon G) {
+ this.geom = G;
+ }
+
+ protected String nom_comm;
+
+ public String getNom_comm() {
+ return this.nom_comm;
+ }
+
+ public void setNom_comm(String Nom_comm) {
+ nom_comm = Nom_comm;
+ }
+
+ protected String insee_comm;
+
+ public String getInsee_comm() {
+ return this.insee_comm;
+ }
+
+ public void setInsee_comm(String Insee_comm) {
+ insee_comm = Insee_comm;
+ }
+
+ protected String statut;
+
+ public String getStatut() {
+ return this.statut;
+ }
+
+ public void setStatut(String Statut) {
+ statut = Statut;
+ }
+
+ protected double x_commune;
+
+ public double getX_commune() {
+ return this.x_commune;
+ }
+
+ public void setX_commune(double X_commune) {
+ x_commune = X_commune;
+ }
+
+ protected double y_commune;
+
+ public double getY_commune() {
+ return this.y_commune;
+ }
+
+ public void setY_commune(double Y_commune) {
+ y_commune = Y_commune;
+ }
+
+ protected double superficie;
+
+ public double getSuperficie() {
+ return this.superficie;
+ }
+
+ public void setSuperficie(double Superficie) {
+ superficie = Superficie;
+ }
+
+ protected double population_;
+
+ public double getPopulation_() {
+ return this.population_;
+ }
+
+ public void setPopulation_(double Population_) {
+ population_ = Population_;
+ }
+
+ protected String insee_cant;
+
+ public String getInsee_cant() {
+ return this.insee_cant;
+ }
+
+ public void setInsee_cant(String Insee_cant) {
+ insee_cant = Insee_cant;
+ }
+
+ protected String insee_arr;
+
+ public String getInsee_arr() {
+ return this.insee_arr;
+ }
+
+ public void setInsee_arr(String Insee_arr) {
+ insee_arr = Insee_arr;
+ }
+
+ protected String nom_dept;
+
+ public String getNom_dept() {
+ return this.nom_dept;
+ }
+
+ public void setNom_dept(String Nom_dept) {
+ nom_dept = Nom_dept;
+ }
+
+ protected String insee_dept;
+
+ public String getInsee_dept() {
+ return this.insee_dept;
+ }
+
+ public void setInsee_dept(String Insee_dept) {
+ insee_dept = Insee_dept;
+ }
+
+ protected String nom_region;
+
+ public String getNom_region() {
+ return this.nom_region;
+ }
+
+ public void setNom_region(String Nom_region) {
+ nom_region = Nom_region;
+ }
+
+ protected String insee_reg;
+
+ public String getInsee_reg() {
+ return this.insee_reg;
+ }
+
+ public void setInsee_reg(String Insee_reg) {
+ insee_reg = Insee_reg;
+ }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/Departement.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/Departement.java
new file mode 100644
index 0000000..c90554d
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/Departement.java
@@ -0,0 +1,78 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.administratif;
+
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+/**
+ * Classe geographique. Classe generee automatiquement par le chargeur de la
+ * plate-forme Oxygene
+ */
+public abstract class Departement extends
+ fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /**
+ * Renvoie la geometrie de l'objet, castee plus precisement qu'avec la
+ * methode getGeom()
+ */
+ public GM_Polygon getGeometrie() {
+ return (GM_Polygon) geom;
+ }
+
+ /**
+ * Definit la géométrie de l'objet, castée plus précisément qu'avec la
+ * méthode setGeom()
+ */
+ public void setGeometrie(GM_Polygon G) {
+ this.geom = G;
+ }
+
+ protected String nom_dept;
+
+ public String getNom_dept() {
+ return this.nom_dept;
+ }
+
+ public void setNom_dept(String Nom_dept) {
+ nom_dept = Nom_dept;
+ }
+
+ protected String insee_dept;
+
+ public String getInsee_dept() {
+ return this.insee_dept;
+ }
+
+ public void setInsee_dept(String Insee_dept) {
+ insee_dept = Insee_dept;
+ }
+
+ protected double x_dept;
+
+ public double getX_dept() {
+ return this.x_dept;
+ }
+
+ public void setX_dept(double X_dept) {
+ x_dept = X_dept;
+ }
+
+ protected double y_dept;
+
+ public double getY_dept() {
+ return this.y_dept;
+ }
+
+ public void setY_dept(double Y_dept) {
+ y_dept = Y_dept;
+ }
+
+ protected String insee_reg;
+
+ public String getInsee_reg() {
+ return this.insee_reg;
+ }
+
+ public void setInsee_reg(String Insee_reg) {
+ insee_reg = Insee_reg;
+ }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/LimiteAdministrative.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/LimiteAdministrative.java
new file mode 100644
index 0000000..895ac32
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/administratif/LimiteAdministrative.java
@@ -0,0 +1,48 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.administratif;
+
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+/**
+ * Classe geographique. Classe generee automatiquement par le chargeur de la
+ * plate-forme Oxygene
+ */
+public abstract class LimiteAdministrative extends
+ fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /**
+ * Renvoie la géométrie de l'objet, castée plus précisément qu'avec la
+ * méthode getGeom()
+ */
+ public GM_LineString getGeometrie() {
+ return (GM_LineString) geom;
+ }
+
+ /**
+ * Définit la géométrie de l'objet, castée plus précisément qu'avec la
+ * méthode setGeom()
+ */
+ public void setGeometrie(GM_LineString G) {
+ this.geom = G;
+ }
+
+ protected String nature;
+
+ public String getNature() {
+ return this.nature;
+ }
+
+ public void setNature(String Nature) {
+ nature = Nature;
+ }
+
+ protected String precision_;
+
+ public String getPrecision_() {
+ return this.precision_;
+ }
+
+ public void setPrecision_(String Precision_) {
+ precision_ = Precision_;
+ }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/Aerodrome.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/Aerodrome.java
new file mode 100644
index 0000000..a3090c9
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/Aerodrome.java
@@ -0,0 +1,27 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements;
+
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class Aerodrome extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String desserte;
+ public String getDesserte() {return this.desserte; }
+ public void setDesserte (String Desserte) {desserte = Desserte; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/Cimetiere.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/Cimetiere.java
new file mode 100644
index 0000000..e7881b4
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/Cimetiere.java
@@ -0,0 +1,23 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements;
+
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class Cimetiere extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/ConstructionElevee.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/ConstructionElevee.java
new file mode 100644
index 0000000..e5fb5ad
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/ConstructionElevee.java
@@ -0,0 +1,19 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements;
+
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class ConstructionElevee extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/Digue.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/Digue.java
new file mode 100644
index 0000000..07fc74f
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/Digue.java
@@ -0,0 +1,20 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class Digue extends ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/EnceinteMilitaire.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/EnceinteMilitaire.java
new file mode 100644
index 0000000..2711cef
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/EnceinteMilitaire.java
@@ -0,0 +1,23 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements;
+
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class EnceinteMilitaire extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/LigneElectrique.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/LigneElectrique.java
new file mode 100644
index 0000000..25ed909
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/LigneElectrique.java
@@ -0,0 +1,23 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements;
+
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class LigneElectrique extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String tension;
+ public String getTension() {return this.tension; }
+ public void setTension (String Tension) {tension = Tension; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/MetroAerien.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/MetroAerien.java
new file mode 100644
index 0000000..1968ad2
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/MetroAerien.java
@@ -0,0 +1,14 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements;
+
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class MetroAerien extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/PisteAerodrome.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/PisteAerodrome.java
new file mode 100644
index 0000000..741748a
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/PisteAerodrome.java
@@ -0,0 +1,16 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements;
+
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class PisteAerodrome extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/TransportParCable.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/TransportParCable.java
new file mode 100644
index 0000000..87b59a2
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/equipements/TransportParCable.java
@@ -0,0 +1,24 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.equipements;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class TransportParCable extends ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/ferre/NoeudFerre.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/ferre/NoeudFerre.java
new file mode 100644
index 0000000..c00385f
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/ferre/NoeudFerre.java
@@ -0,0 +1,23 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.ferre;
+
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class NoeudFerre extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/ferre/TronconVoieFerree.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/ferre/TronconVoieFerree.java
new file mode 100644
index 0000000..1cc99d0
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/ferre/TronconVoieFerree.java
@@ -0,0 +1,51 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.ferre;
+
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class TronconVoieFerree extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String energie;
+ public String getEnergie() {return this.energie; }
+ public void setEnergie (String Energie) {energie = Energie; }
+
+ protected String nb_voies;
+ public String getNb_voies() {return this.nb_voies; }
+ public void setNb_voies (String Nb_voies) {nb_voies = Nb_voies; }
+
+ protected String largeur;
+ public String getLargeur() {return this.largeur; }
+ public void setLargeur (String Largeur) {largeur = Largeur; }
+
+ protected String pos_sol;
+ public String getPos_sol() {return this.pos_sol; }
+ public void setPos_sol (String Pos_sol) {pos_sol = Pos_sol; }
+
+ protected String classement;
+ public String getClassement() {return this.classement; }
+ public void setClassement (String Classement) {classement = Classement; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ protected String touristiq;
+ public String getTouristiq() {return this.touristiq; }
+ public void setTouristiq (String Touristiq) {touristiq = Touristiq; }
+
+ protected String topo_ligne;
+ public String getTopo_ligne() {return this.topo_ligne; }
+ public void setTopo_ligne (String Topo_ligne) {topo_ligne = Topo_ligne; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/habillage/ZoneOccupationDuSol.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/habillage/ZoneOccupationDuSol.java
new file mode 100644
index 0000000..7a58912
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/habillage/ZoneOccupationDuSol.java
@@ -0,0 +1,20 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.habillage;
+
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class ZoneOccupationDuSol extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/.nbattrs b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/.nbattrs
new file mode 100644
index 0000000..0426e99
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/.nbattrs
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/Laisse.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/Laisse.java
new file mode 100644
index 0000000..1ca25b4
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/Laisse.java
@@ -0,0 +1,17 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.hydrographie;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class Laisse extends ElementBDCarto {
+
+ /** Renvoie la géométrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ private String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String S) {nature = S; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/ObjetHydrographiquePonctuel.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/ObjetHydrographiquePonctuel.java
new file mode 100644
index 0000000..dd5f6ad
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/ObjetHydrographiquePonctuel.java
@@ -0,0 +1,31 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.hydrographie;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+
+public abstract class ObjetHydrographiquePonctuel extends ElementBDCarto {
+
+ /** Renvoie la géométrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_Point geometrie) {this.geom = geometrie;}
+
+
+ protected String type_;
+ public String getType_() {return this.type_; }
+ public void setType_ (String Type_) {type_ = Type_; }
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ protected double cote;
+ public double getCote() {return this.cote; }
+ public void setCote (double Cote) {cote = Cote; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/ToponymeSurfaceHydrographique.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/ToponymeSurfaceHydrographique.java
new file mode 100644
index 0000000..9bc6e24
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/ToponymeSurfaceHydrographique.java
@@ -0,0 +1,27 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.hydrographie;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+
+public abstract class ToponymeSurfaceHydrographique extends ElementBDCarto {
+
+ /** Renvoie la géométrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_Point geometrie) {this.geom = geometrie;}
+
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ protected double cote;
+ public double getCote() {return this.cote; }
+ public void setCote (double Cote) {cote = Cote; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/TronconHydrographique.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/TronconHydrographique.java
new file mode 100644
index 0000000..898da8b
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/TronconHydrographique.java
@@ -0,0 +1,48 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.hydrographie;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class TronconHydrographique extends ElementBDCarto {
+
+ /** Renvoie la géométrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+
+ protected String largeur;
+ public String getLargeur() {return this.largeur; }
+ public void setLargeur (String Largeur) {largeur = Largeur; }
+
+ protected String etat;
+ public String getEtat() {return this.etat; }
+ public void setEtat (String Etat) {etat = Etat; }
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String navigable;
+ public String getNavigable() {return this.navigable; }
+ public void setNavigable (String Navigable) {navigable = Navigable; }
+
+ protected String pos_sol;
+ public String getPos_sol() {return this.pos_sol; }
+ public void setPos_sol (String Pos_sol) {pos_sol = Pos_sol; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ protected String sens;
+ public String getSens() {return this.sens; }
+ public void setSens (String Sens) {sens = Sens; }
+
+ protected String top_c_eau;
+ public String getTop_c_eau() {return this.top_c_eau; }
+ public void setTop_c_eau (String Top_c_eau) {top_c_eau = Top_c_eau; }
+
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/ZoneHydrographiqueTexture.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/ZoneHydrographiqueTexture.java
new file mode 100644
index 0000000..29b1a4e
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/hydrographie/ZoneHydrographiqueTexture.java
@@ -0,0 +1,18 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.hydrographie;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class ZoneHydrographiqueTexture extends ElementBDCarto {
+
+ /** Renvoie la géométrie de self */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_Polygon geometrie) {this.geom = geometrie;}
+
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/.nbattrs b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/.nbattrs
new file mode 100644
index 0000000..d38df05
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/.nbattrs
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/AccesEquipement.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/AccesEquipement.java
new file mode 100644
index 0000000..f72a169
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/AccesEquipement.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+public abstract class AccesEquipement extends ElementBDCarto {
+
+ /** Renvoie la géométrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected double id_equipmt;
+ public double getId_equipmt() {return this.id_equipmt; }
+ public void setId_equipmt (double Id_equipmt) {id_equipmt = Id_equipmt; }
+
+ protected double id_troncon;
+ public double getId_troncon() {return this.id_troncon; }
+ public void setId_troncon (double Id_troncon) {id_troncon = Id_troncon; }
+
+ protected String cote;
+ public String getCote() {return this.cote; }
+ public void setCote (String Cote) {cote = Cote; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/CommunicationRestreinte.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/CommunicationRestreinte.java
new file mode 100644
index 0000000..f60dc5a
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/CommunicationRestreinte.java
@@ -0,0 +1,37 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class CommunicationRestreinte extends ElementBDCarto {
+
+ /** Renvoie la géométrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_Point geometrie) {this.geom= geometrie;}
+
+ protected double id_noeud;
+ public double getId_noeud() {return this.id_noeud; }
+ public void setId_noeud (double Id_noeud) {id_noeud = Id_noeud; }
+
+ protected double id_tro_ini;
+ public double getId_tro_ini() {return this.id_tro_ini; }
+ public void setId_tro_ini (double Id_tro_ini) {id_tro_ini = Id_tro_ini; }
+
+ protected double id_tro_fin;
+ public double getId_tro_fin() {return this.id_tro_fin; }
+ public void setId_tro_fin (double Id_tro_fin) {id_tro_fin = Id_tro_fin; }
+
+ protected String interdit;
+ public String getInterdit() {return this.interdit; }
+ public void setInterdit (String Interdit) {interdit = Interdit; }
+
+ protected double rest_poids;
+ public double getRest_poids() {return this.rest_poids; }
+ public void setRest_poids (double Rest_poids) {rest_poids = Rest_poids; }
+
+ protected double rest_haut;
+ public double getRest_haut() {return this.rest_haut; }
+ public void setRest_haut (double Rest_haut) {rest_haut = Rest_haut; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/DebutSection.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/DebutSection.java
new file mode 100644
index 0000000..053eda5
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/DebutSection.java
@@ -0,0 +1,29 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class DebutSection extends ElementBDCarto {
+
+ /** Renvoie la géométrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String gestion;
+ public String getGestion() {return this.gestion; }
+ public void setGestion (String Gestion) {gestion = Gestion; }
+
+ protected String sens;
+ public String getSens() {return this.sens; }
+ public void setSens (String Sens) {sens = Sens; }
+
+ protected double id_troncon;
+ public double getId_troncon() {return this.id_troncon; }
+ public void setId_troncon (double Id_troncon) {id_troncon = Id_troncon; }
+
+ protected double id_sec_sui;
+ public double getId_sec_sui() {return this.id_sec_sui; }
+ public void setId_sec_sui (double Id_sec_sui) {id_sec_sui = Id_sec_sui; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/EquipementRoutier.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/EquipementRoutier.java
new file mode 100644
index 0000000..3968037
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/EquipementRoutier.java
@@ -0,0 +1,21 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class EquipementRoutier extends ElementBDCarto {
+
+ /** Renvoie la géométrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_Point geometrie) {this.geom = geometrie;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/Franchissement.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/Franchissement.java
new file mode 100644
index 0000000..59925b0
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/Franchissement.java
@@ -0,0 +1,39 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class Franchissement extends ElementBDCarto {
+
+ /** Renvoie la géométrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ protected double cote;
+ public double getCote() {return this.cote; }
+ public void setCote (double Cote) {cote = Cote; }
+
+ protected String type_tron;
+ public String getType_tron() {return this.type_tron; }
+ public void setType_tron (String Type_tron) {type_tron = Type_tron; }
+
+ protected double id_troncon;
+ public double getId_troncon() {return this.id_troncon; }
+ public void setId_troncon (double Id_troncon) {id_troncon = Id_troncon; }
+
+ protected String mode_;
+ public String getMode_() {return this.mode_; }
+ public void setMode_ (String Mode_) {mode_ = Mode_; }
+
+ protected double niveau;
+ public double getNiveau() {return this.niveau; }
+ public void setNiveau (double Niveau) {niveau = Niveau; }
+
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/Itineraire.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/Itineraire.java
new file mode 100644
index 0000000..8d5787c
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/Itineraire.java
@@ -0,0 +1,25 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class Itineraire extends ElementBDCarto {
+
+ /** Renvoie la géométrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String numero;
+ public String getNumero() {return this.numero; }
+ public void setNumero (String Numero) {numero = Numero; }
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/LiaisonMaritime.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/LiaisonMaritime.java
new file mode 100644
index 0000000..1cc29eb
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/LiaisonMaritime.java
@@ -0,0 +1,29 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class LiaisonMaritime extends ElementBDCarto {
+
+ /** Renvoie la géométrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String ouverture;
+ public String getOuverture() {return ouverture; }
+ public void setOuverture(String S) {ouverture = S; }
+
+ protected String vocation;
+ public String getVocation() {return vocation; }
+ public void setVocation(String S) {vocation= S; }
+
+ protected double duree;
+ public double getDuree() {return duree; }
+ public void setDuree(double D) {duree= D; }
+
+ protected String toponyme;
+ public String getToponyme() {return toponyme; }
+ public void setToponyme(String S) {toponyme = S; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/NoeudRoutier.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/NoeudRoutier.java
new file mode 100644
index 0000000..1e8c80d
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/NoeudRoutier.java
@@ -0,0 +1,37 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class NoeudRoutier extends ElementBDCarto {
+
+ /** Renvoie la géométrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_Point geometrie) {this.geom = geometrie;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ protected double cote;
+ public double getCote() {return this.cote; }
+ public void setCote (double Cote) {cote = Cote; }
+
+ protected String num_carref;
+ public String getNum_carref() {return this.num_carref; }
+ public void setNum_carref (String Num_carref) {num_carref = Num_carref; }
+
+ protected String nat_carref;
+ public String getNat_carref() {return this.nat_carref; }
+ public void setNat_carref (String Nat_carref) {nat_carref = Nat_carref; }
+
+ protected String top_carref;
+ public String getTop_carref() {return this.top_carref; }
+ public void setTop_carref (String Top_carref) {top_carref = Top_carref; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/TronconRoute.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/TronconRoute.java
new file mode 100644
index 0000000..b53bbab
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/routier/TronconRoute.java
@@ -0,0 +1,77 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.routier;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public abstract class TronconRoute extends ElementBDCarto {
+
+ /** Renvoie la géométrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String vocation;
+ public String getVocation() {return this.vocation; }
+ public void setVocation (String Vocation) {vocation = Vocation; }
+
+ protected String nb_chausse;
+ public String getNb_chausse() {return this.nb_chausse; }
+ public void setNb_chausse (String Nb_chausse) {nb_chausse = Nb_chausse; }
+
+ protected String nb_voies;
+ public String getNb_voies() {return this.nb_voies; }
+ public void setNb_voies (String Nb_voies) {nb_voies = Nb_voies; }
+
+ protected String etat;
+ public String getEtat() {return this.etat; }
+ public void setEtat (String Etat) {etat = Etat; }
+
+ protected String acces;
+ public String getAcces() {return this.acces; }
+ public void setAcces (String Acces) {acces = Acces; }
+
+ protected String pos_sol;
+ public String getPos_sol() {return this.pos_sol; }
+ public void setPos_sol (String Pos_sol) {pos_sol = Pos_sol; }
+
+ protected String res_vert;
+ public String getRes_vert() {return this.res_vert; }
+ public void setRes_vert (String Res_vert) {res_vert = Res_vert; }
+
+ protected String sens;
+ public String getSens() {return this.sens; }
+ public void setSens (String Sens) {sens = Sens; }
+
+ protected String nb_voies_m;
+ public String getNb_voies_m() {return this.nb_voies_m; }
+ public void setNb_voies_m (String Nb_voies_m) {nb_voies_m = Nb_voies_m; }
+
+ protected String nb_voies_d;
+ public String getNb_voies_d() {return this.nb_voies_d; }
+ public void setNb_voies_d (String Nb_voies_d) {nb_voies_d = Nb_voies_d; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ protected String usage_;
+ public String getUsage_() {return this.usage_; }
+ public void setUsage_ (String Usage_) {usage_ = Usage_; }
+
+ protected String date_;
+ public String getDate_() {return this.date_; }
+ public void setDate_ (String Date_) {date_ = Date_; }
+
+ protected String num_route;
+ public String getNum_route() {return this.num_route; }
+ public void setNum_route (String Num_route) {num_route = Num_route; }
+
+ protected String class_adm;
+ public String getClass_adm() {return this.class_adm; }
+ public void setClass_adm (String Class_adm) {class_adm = Class_adm; }
+
+ protected String gest_route;
+ public String getGest_route() {return this.gest_route; }
+ public void setGest_route (String Gest_route) {gest_route = Gest_route; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/Etablissement.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/Etablissement.java
new file mode 100644
index 0000000..0ccfc1a
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/Etablissement.java
@@ -0,0 +1,24 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.toponymes;
+
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class Etablissement extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/GR.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/GR.java
new file mode 100644
index 0000000..412727a
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/GR.java
@@ -0,0 +1,23 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.toponymes;
+
+import fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class GR extends ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String numero;
+ public String getNumero() {return this.numero; }
+ public void setNumero (String Numero) {numero = Numero; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/MassifBoise.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/MassifBoise.java
new file mode 100644
index 0000000..9b61f2d
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/MassifBoise.java
@@ -0,0 +1,19 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.toponymes;
+
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class MassifBoise extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/PointRemarquableDuRelief.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/PointRemarquableDuRelief.java
new file mode 100644
index 0000000..fbd250c
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/PointRemarquableDuRelief.java
@@ -0,0 +1,27 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.toponymes;
+
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class PointRemarquableDuRelief extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected double cote;
+ public double getCote() {return this.cote; }
+ public void setCote (double Cote) {cote = Cote; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/ZoneActivite.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/ZoneActivite.java
new file mode 100644
index 0000000..b0d8a36
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/ZoneActivite.java
@@ -0,0 +1,19 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.toponymes;
+
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class ZoneActivite extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/ZoneHabitat.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/ZoneHabitat.java
new file mode 100644
index 0000000..2c8d97c
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/ZoneHabitat.java
@@ -0,0 +1,33 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.toponymes;
+
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class ZoneHabitat extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Point G) {this.geom = G;}
+
+ protected String insee;
+ public String getInsee() {return this.insee; }
+ public void setInsee (String Insee) {insee = Insee; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ protected double id_bdcarto;
+ @Override
+ public double getId_bdcarto() {return this.id_bdcarto; }
+ @Override
+ public void setId_bdcarto (double Id_bdcarto) {id_bdcarto = Id_bdcarto; }
+
+ protected String importance;
+ public String getImportance() {return this.importance; }
+ public void setImportance (String Importance) {importance = Importance; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/ZoneReglementeeTouristique.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/ZoneReglementeeTouristique.java
new file mode 100644
index 0000000..39bffd3
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/bdcarto/toponymes/ZoneReglementeeTouristique.java
@@ -0,0 +1,23 @@
+package fr.ign.cogit.appli.commun.schema.shp.bdcarto.toponymes;
+
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+
+/** Classe geographique. Classe generee automatiquement par le chargeur de la plate-forme Oxygene*/
+
+public abstract class ZoneReglementeeTouristique extends fr.ign.cogit.appli.commun.schema.shp.bdcarto.ElementBDCarto {
+
+ /** Renvoie la géométrie de l'objet, castée plus précisément qu'avec la méthode getGeom() */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Définit la géométrie de l'objet, castée plus précisément qu'avec la méthode setGeom() */
+ public void setGeometrie(GM_Polygon G) {this.geom = G;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/.nbattrs b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/.nbattrs
new file mode 100644
index 0000000..9e7f8bf
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/.nbattrs
@@ -0,0 +1,6 @@
+
+
+
+
+
+
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/ElementGeoroute.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/ElementGeoroute.java
new file mode 100644
index 0000000..22c0e00
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/ElementGeoroute.java
@@ -0,0 +1,28 @@
+package fr.ign.cogit.appli.commun.schema.shp.georoute;
+
+import java.util.Iterator;
+
+import fr.ign.cogit.geoxygene.feature.FT_Feature;
+import fr.ign.cogit.geoxygene.feature.Population;
+
+public abstract class ElementGeoroute extends FT_Feature {
+
+ protected String typ_donnee;
+ public String getTyp_donnee() {return this.typ_donnee; }
+ public void setTyp_donnee (String Typ_donnee) {typ_donnee = Typ_donnee; }
+
+ protected double id_georout;
+ public double getId_georout() {return this.id_georout; }
+ public void setId_georout (double Id_georout) {id_georout = Id_georout; }
+
+ public static ElementGeoroute recherche_element_avec_idgeoroute(Population pop, double id) {
+ ElementGeoroute element;
+ Iterator it = pop.getElements().iterator();
+ while ( it.hasNext() ) {
+ element = it.next();
+ if ( element.getId_georout() == id ) return element;
+ }
+ return null;
+ }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/JeuDeDonneesGeoroute.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/JeuDeDonneesGeoroute.java
new file mode 100644
index 0000000..50cf157
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/JeuDeDonneesGeoroute.java
@@ -0,0 +1,38 @@
+package fr.ign.cogit.appli.commun.schema.shp.georoute;
+
+import fr.ign.cogit.appli.commun.schema.shp.georoute.routier.ThemeRoutier;
+import fr.ign.cogit.geoxygene.feature.DataSet;
+
+public class JeuDeDonneesGeoroute extends DataSet {
+
+ /** Constructeur par défaut */
+ public JeuDeDonneesGeoroute() {this.ojbConcreteClass = this.getClass().getName();}
+
+ /** Constructeur d'un jeu de données Géoroute au format shape :
+ * - un jeu de données Géoroute contient les thèmes routier :
+ * - ces thèmes ont des noms par défaut à ne pas changer : "routier"
+ * - les populations de ces thèmes ont des noms logique par défaut "Troncon de route", "Noeud routier", etc.
+ * - leurs éléments se réalisent dans des classes contretes du package nom_package.
+ * - un jeu de données peut être persistant ou non
+ * - un jeu de données a un nom logique (utile pour naviguer entre jeux de données).
+ */
+ public JeuDeDonneesGeoroute(boolean persistance, String nom_logique, String nom_package) {
+ this.ojbConcreteClass = this.getClass().getName(); // nécessaire pour ojb
+ this.setTypeBD("Géoroute");
+ this.setModele("Shape");
+ this.setNom(nom_logique);
+ if (persistance) DataSet.db.makePersistent(this);
+ ThemeRoutier routier = new ThemeRoutier(persistance, nom_package+".routier", this);
+ this.addComposant(routier);
+ }
+
+
+
+ public ThemeRoutier getThemeRoutier() {return (ThemeRoutier)this.getComposant("routier");}
+
+
+
+
+
+}
+
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/.nbattrs b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/.nbattrs
new file mode 100644
index 0000000..d38df05
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/.nbattrs
@@ -0,0 +1,7 @@
+
+
+
+
+
+
+
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/CarrefourComplexe.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/CarrefourComplexe.java
new file mode 100644
index 0000000..24f9a98
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/CarrefourComplexe.java
@@ -0,0 +1,22 @@
+package fr.ign.cogit.appli.commun.schema.shp.georoute.routier;
+
+import fr.ign.cogit.appli.commun.schema.shp.georoute.ElementGeoroute;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public class CarrefourComplexe extends ElementGeoroute {
+
+ //////////////// GEOMETRIE //////////////////
+ // private GM_Polygon geometrie = null;
+ /** Renvoie le GM_Polygon qui définit la géométrie de self */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)this.geom;}
+ /** Définit le GM_Polygon qui définit la géométrie de self */
+ public void setGeometrie(GM_Polygon geometrie) {this.geom = geometrie;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/NoeudRoutier.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/NoeudRoutier.java
new file mode 100644
index 0000000..c9d866a
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/NoeudRoutier.java
@@ -0,0 +1,24 @@
+package fr.ign.cogit.appli.commun.schema.shp.georoute.routier;
+
+import fr.ign.cogit.appli.commun.schema.shp.georoute.ElementGeoroute;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public class NoeudRoutier extends ElementGeoroute {
+
+ // private GM_Point geometrie = null;
+ /** Renvoie la géométrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_Point geometrie) {this.geom = geometrie;}
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/NonCommunication.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/NonCommunication.java
new file mode 100644
index 0000000..c34e4a7
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/NonCommunication.java
@@ -0,0 +1,27 @@
+package fr.ign.cogit.appli.commun.schema.shp.georoute.routier;
+
+import fr.ign.cogit.appli.commun.schema.shp.georoute.ElementGeoroute;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public class NonCommunication extends ElementGeoroute {
+
+ // private GM_Point geometrie = null;
+ /** Renvoie la géométrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_Point geometrie) {this.geom = geometrie;}
+
+ protected double tr_entree;
+ public double getTr_entree() {return this.tr_entree; }
+ public void setTr_entree (double Tr_entree) {tr_entree = Tr_entree; }
+
+ protected double tr_sortie;
+ public double getTr_sortie() {return this.tr_sortie; }
+ public void setTr_sortie (double Tr_sortie) {tr_sortie = Tr_sortie; }
+
+ protected double noeud;
+ public double getNoeud() {return this.noeud; }
+ public void setNoeud (double Noeud) {noeud = Noeud; }
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/ThemeRoutier.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/ThemeRoutier.java
new file mode 100644
index 0000000..6e6ba01
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/ThemeRoutier.java
@@ -0,0 +1,48 @@
+package fr.ign.cogit.appli.commun.schema.shp.georoute.routier;
+
+import fr.ign.cogit.geoxygene.api.feature.IPopulation;
+import fr.ign.cogit.geoxygene.feature.DataSet;
+import fr.ign.cogit.geoxygene.feature.Population;
+
+public class ThemeRoutier extends DataSet {
+
+ /** Constructeur par défaut */
+ public ThemeRoutier() {this.ojbConcreteClass = this.getClass().getName();}
+
+ /** Constructeur d'un thème routier de Géoroute au format shape :
+ * - ce thème contient les populations "troncons de route"... :
+ * - ces populations ont des noms par défaut à ne pas changer.
+ * - leurs éléments se réalisent dans des classes contrètes du package nom_package.
+ * - un thème peut être persistant ou non
+ * - un thème a un nom logique (utile pour naviguer entre thèmes).
+ */
+ public ThemeRoutier(boolean persistance, String nom_package, DataSet DS) {
+ super(DS);
+ this.setTypeBD("Thème routier de Géoroute");
+ this.ojbConcreteClass = this.getClass().getName(); // nécessaire pour ojb
+ Population> pop;
+ this.setNom("routier");
+ if (persistance) DataSet.db.makePersistent(this);
+ try{
+ pop = new Population(persistance, "Carrefour complexe", Class.forName(nom_package+".CarrefourComplexe"),true);
+ this.addPopulation(pop);
+ pop = new Population(persistance, "Non communication", Class.forName(nom_package+".NonCommunication"),true);
+ this.addPopulation(pop);
+ pop = new Population(persistance, "Noeud routier", Class.forName(nom_package+".NoeudRoutier"),true);
+ this.addPopulation(pop);
+ pop = new Population(persistance, "Troncon de route", Class.forName(nom_package+".TronconRoute"),true);
+ this.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Problème de nom de package : "+nom_package);
+ }
+ }
+
+
+
+ public IPopulation> getPopCarrefoursComplexes() {return this.getPopulation("Carrefour complexe");}
+ public IPopulation> getPopNonCommunications() {return this.getPopulation("Non communication");}
+ public IPopulation> getPopNoeuds() {return this.getPopulation("Noeud routier");}
+ public IPopulation> getPopTroncons() {return this.getPopulation("Troncon de route");}
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/TronconRoute.java b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/TronconRoute.java
new file mode 100644
index 0000000..bf6d113
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/shp/georoute/routier/TronconRoute.java
@@ -0,0 +1,137 @@
+package fr.ign.cogit.appli.commun.schema.shp.georoute.routier;
+
+import fr.ign.cogit.appli.commun.schema.shp.georoute.ElementGeoroute;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+public class TronconRoute extends ElementGeoroute {
+
+ //////////////// GEOMETRIE //////////////////
+ // private GM_LineString geometrie = null;
+ /** Renvoie la géométrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Définit la géométrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ protected String cl_fonc;
+ public String getCl_fonc() {return this.cl_fonc; }
+ public void setCl_fonc (String Cl_fonc) {cl_fonc = Cl_fonc; }
+
+ protected String cl_physiq;
+ public String getCl_physiq() {return this.cl_physiq; }
+ public void setCl_physiq (String Cl_physiq) {cl_physiq = Cl_physiq; }
+
+ protected String nb_voies;
+ public String getNb_voies() {return this.nb_voies; }
+ public void setNb_voies (String Nb_voies) {nb_voies = Nb_voies; }
+
+ protected String rest_acces;
+ public String getRest_acces() {return this.rest_acces; }
+ public void setRest_acces (String Rest_acces) {rest_acces = Rest_acces; }
+
+ protected String pos_sol;
+ public String getPos_sol() {return this.pos_sol; }
+ public void setPos_sol (String Pos_sol) {pos_sol = Pos_sol; }
+
+ protected String res_vert;
+ public String getRes_vert() {return this.res_vert; }
+ public void setRes_vert (String Res_vert) {res_vert = Res_vert; }
+
+ protected String sens;
+ public String getSens() {return this.sens; }
+ public void setSens (String Sens) {sens = Sens; }
+
+ protected String limite;
+ public String getLimite() {return this.limite; }
+ public void setLimite (String Limite) {limite = Limite; }
+
+ protected String niveau;
+ public String getNiveau() {return this.niveau; }
+ public void setNiveau (String Niveau) {niveau = Niveau; }
+
+ protected String rest_poids;
+ public String getRest_poids() {return this.rest_poids; }
+ public void setRest_poids (String Rest_poids) {rest_poids = Rest_poids; }
+
+ protected String rest_haut;
+ public String getRest_haut() {return this.rest_haut; }
+ public void setRest_haut (String Rest_haut) {rest_haut = Rest_haut; }
+
+ protected String rest_long;
+ public String getRest_long() {return this.rest_long; }
+ public void setRest_long (String Rest_long) {rest_long = Rest_long; }
+
+ protected String rest_larg;
+ public String getRest_larg() {return this.rest_larg; }
+ public void setRest_larg (String Rest_larg) {rest_larg = Rest_larg; }
+
+ protected String mat_danger;
+ public String getMat_danger() {return this.mat_danger; }
+ public void setMat_danger (String Mat_danger) {mat_danger = Mat_danger; }
+
+ protected String voie_bus;
+ public String getVoie_bus() {return this.voie_bus; }
+ public void setVoie_bus (String Voie_bus) {voie_bus = Voie_bus; }
+
+ protected String rest_march;
+ public String getRest_march() {return this.rest_march; }
+ public void setRest_march (String Rest_march) {rest_march = Rest_march; }
+
+ protected String livraison;
+ public String getLivraison() {return this.livraison; }
+ public void setLivraison (String Livraison) {livraison = Livraison; }
+
+ protected String circul_int;
+ public String getCircul_int() {return this.circul_int; }
+ public void setCircul_int (String Circul_int) {circul_int = Circul_int; }
+
+ protected String nom_rue_d;
+ public String getNom_rue_d() {return this.nom_rue_d; }
+ public void setNom_rue_d (String Nom_rue_d) {nom_rue_d = Nom_rue_d; }
+
+ protected String nom_rue_g;
+ public String getNom_rue_g() {return this.nom_rue_g; }
+ public void setNom_rue_g (String Nom_rue_g) {nom_rue_g = Nom_rue_g; }
+
+ protected String born_deb_d;
+ public String getBorn_deb_d() {return this.born_deb_d; }
+ public void setBorn_deb_d (String Born_deb_d) {born_deb_d = Born_deb_d; }
+
+ protected String born_deb_g;
+ public String getBorn_deb_g() {return this.born_deb_g; }
+ public void setBorn_deb_g (String Born_deb_g) {born_deb_g = Born_deb_g; }
+
+ protected String born_fin_d;
+ public String getBorn_fin_d() {return this.born_fin_d; }
+ public void setBorn_fin_d (String Born_fin_d) {born_fin_d = Born_fin_d; }
+
+ protected String born_fin_g;
+ public String getBorn_fin_g() {return this.born_fin_g; }
+ public void setBorn_fin_g (String Born_fin_g) {born_fin_g = Born_fin_g; }
+
+ protected String type_adr;
+ public String getType_adr() {return this.type_adr; }
+ public void setType_adr (String Type_adr) {type_adr = Type_adr; }
+
+ protected String insee_comd;
+ public String getInsee_comd() {return this.insee_comd; }
+ public void setInsee_comd (String Insee_comd) {insee_comd = Insee_comd; }
+
+ protected String insee_comg;
+ public String getInsee_comg() {return this.insee_comg; }
+ public void setInsee_comg (String Insee_comg) {insee_comg = Insee_comg; }
+
+ protected String num_route;
+ public String getNum_route() {return this.num_route; }
+ public void setNum_route (String Num_route) {num_route = Num_route; }
+
+ protected String nom_iti;
+ public String getNom_iti() {return this.nom_iti; }
+ public void setNom_iti (String Nom_iti) {nom_iti = Nom_iti; }
+
+ protected String mise_serv;
+ public String getMise_serv() {return this.mise_serv; }
+ public void setMise_serv (String Mise_serv) {mise_serv = Mise_serv; }
+
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/CreationDataSet.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/CreationDataSet.java
new file mode 100644
index 0000000..6d98501
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/CreationDataSet.java
@@ -0,0 +1,312 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto;
+
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.administratif.Arrondissement;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.administratif.Canton;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.administratif.Commune;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.administratif.Departement;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.administratif.LimiteAdministrative;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.administratif.Region;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements.Aerodrome;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements.Cimetiere;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements.ConstructionElevee;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements.Digue;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements.EnceinteMilitaire;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements.LigneElectrique;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements.MetroAerien;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements.PisteAerodrome;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements.TransportParCable;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ferre.LigneCheminDeFer;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ferre.NoeudFerre;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ferre.TronconFerre;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.franchissement.Franchissement;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.franchissement.PassePar;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.habillage.ZoneOccupationDuSol;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.hydro.CoursDEau;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.hydro.Laisse;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.hydro.NoeudHydrographique;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.hydro.PointDEauIsole;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.hydro.ToponymeHydrographieSurfacique;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.hydro.TronconHydrographique;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.hydro.ZoneHydrographiqueDeTexture;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier.Accede;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier.CarrefourComplexe;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier.CommunicationRestreinte;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier.DebutSection;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier.EquipementRoutier;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier.ItineraireRoutier;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier.LiaisonMaritime;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier.NoeudRoutier;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier.Route;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier.TronconRoute;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.toponymes.Etablissement;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.toponymes.GrandeRandonnee;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.toponymes.MassifBoise;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.toponymes.PointRemarquableRelief;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.toponymes.ZoneDActivite;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.toponymes.ZoneDHabitat;
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.toponymes.ZoneReglementeeTouristique;
+import fr.ign.cogit.geoxygene.feature.DataSet;
+import fr.ign.cogit.geoxygene.feature.Population;
+
+public class CreationDataSet {
+
+ /** Creation des themes et des populations des themes
+ * d'un jeu de donnees BDCarto suivant le modele structure interne IGN (ou presque).
+ *
+ * @param persistance : Definit si le jeu de donnees est persistant ou non.
+ * Si il est persistant, tous les themes et populations creees le sont
+ * aussi par defaut, mais cela peut etre change par la suite.
+ *
+ * @param nom_package_jeu_complet : nom du package qui contient les classes concretes
+ * des populations du jeu de donnees (chemin complet du package contenant
+ * les sous package des themes).
+ *
+ * @param metadonnees : Liste de string (peut-etre null) representant dans l'ordre:
+ * - le nom logique de la base (texte libre pour la deco),
+ * - la date des donnees
+ * - la zone couverte par les donnees
+ * - un commentaire
+ * Tous les textes sont libres et d'au plus 255 caracteres
+ *
+ */
+ public static DataSet nouveauDataSet(boolean persistance, String nom_package_jeu_complet, List metadonnees) {
+ DataSet jeu = new DataSet();
+ if (persistance) DataSet.db.makePersistent(jeu);
+
+ //metadonnees
+ jeu.setTypeBD("BDCarto");
+ jeu.setModele("Structure");
+ if (metadonnees != null) {
+ Iterator itMD = metadonnees.iterator();
+ if (itMD.hasNext()) jeu.setNom(itMD.next());
+ if (itMD.hasNext()) jeu.setDate(itMD.next());
+ if (itMD.hasNext()) jeu.setZone(itMD.next());
+ if (itMD.hasNext()) jeu.setCommentaire(itMD.next());
+ }
+
+ // creation des themes
+ ajouteThemeAdmin(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeEquipements(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeFerre(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeHabillage(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeHydrographie(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeRoutier(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeToponymes(jeu, nom_package_jeu_complet, persistance);
+ ajouteThemeFranchissements(jeu, nom_package_jeu_complet, persistance);
+
+ return jeu;
+ }
+
+ public static void ajouteThemeAdmin(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Theme 'Administratif' de la BDCarto");
+ theme.setNom("Administratif");
+ String nom_package = nom_package_jeu_complet+".administratif";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Arrondissements", Class.forName(nom_package+".Arrondissement"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Cantons", Class.forName(nom_package+".Canton"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Communes", Class.forName(nom_package+".Commune"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Departements", Class.forName(nom_package+".Departement"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Regions", Class.forName(nom_package+".Region"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Limites administratives", Class.forName(nom_package+".LimiteAdministrative"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Probleme de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeEquipements(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Theme 'Equipements' de la BDCarto");
+ theme.setNom("Equipements");
+ String nom_package = nom_package_jeu_complet+".equipements";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Aerodromes", Class.forName(nom_package+".Aerodrome"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Cimetieres", Class.forName(nom_package+".Cimetiere"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Constructions elevees", Class.forName(nom_package+".ConstructionElevee"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Enceintes militaires", Class.forName(nom_package+".EnceinteMilitaire"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Lignes electriques", Class.forName(nom_package+".LigneElectrique"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Pistes d'aerodrome", Class.forName(nom_package+".PisteAerodrome"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Digues", Class.forName(nom_package+".Digue"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Transports par cable", Class.forName(nom_package+".TransportParCable"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Metros aeriens", Class.forName(nom_package+".MetroAerien"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Probleme de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeFerre(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Theme 'Reseau ferre' de la BDCarto");
+ theme.setNom("Ferre");
+ String nom_package = nom_package_jeu_complet+".ferre";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Noeuds ferres", Class.forName(nom_package+".NoeudFerre"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Troncons ferres", Class.forName(nom_package+".TronconFerre"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Lignes de chemin de fer", Class.forName(nom_package+".LigneCheminDeFer"),false);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Probleme de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeHabillage(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Theme 'Habillage' de la BDCarto");
+ theme.setNom("Habillage");
+ String nom_package = nom_package_jeu_complet+".habillage";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Zones d'occupation du sol", Class.forName(nom_package+".ZoneOccupationDuSol"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Probleme de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeHydrographie(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Theme 'Hydrographie' de la BDCarto");
+ theme.setNom("Hydrographie");
+ String nom_package = nom_package_jeu_complet+".hydro";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Cours d'eau nommes", Class.forName(nom_package+".CoursDEau"),false);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Laisses", Class.forName(nom_package+".Laisse"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Noeuds hydrographiques", Class.forName(nom_package+".NoeudHydrographique"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Points d'eau isoles", Class.forName(nom_package+".PointDEauIsole"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Toponymes d'hydrographie surfacique", Class.forName(nom_package+".ToponymeHydrographieSurfacique"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Troncons hydrographiques", Class.forName(nom_package+".TronconHydrographique"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Zones hydrographiques de texture", Class.forName(nom_package+".ZoneHydrographiqueDeTexture"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Probleme de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeRoutier(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Theme 'Reseau routier et franchissements' de la BDCarto");
+ theme.setNom("Routier");
+ String nom_package = nom_package_jeu_complet+".routier";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Accede", Class.forName(nom_package+".Accede"),false);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Carrefours complexes", Class.forName(nom_package+".CarrefourComplexe"),false);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Communications restreintes", Class.forName(nom_package+".CommunicationRestreinte"),false);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Debuts de section", Class.forName(nom_package+".DebutSection"),false);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Equipements routiers", Class.forName(nom_package+".EquipementRoutier"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Itineraires routiers", Class.forName(nom_package+".ItineraireRoutier"),false);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Liaisons maritimes", Class.forName(nom_package+".LiaisonMaritime"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Noeuds routiers", Class.forName(nom_package+".NoeudRoutier"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Routes", Class.forName(nom_package+".Route"),false);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Troncons de route", Class.forName(nom_package+".TronconRoute"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Probleme de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeToponymes(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Theme 'Toponymes' de la BDCarto");
+ theme.setNom("Toponymes");
+ String nom_package = nom_package_jeu_complet+".toponymes";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Zones d'habitat", Class.forName(nom_package+".ZoneDHabitat"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Zones d'activite", Class.forName(nom_package+".ZoneDActivite"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Zones reglementees d'interet touristique", Class.forName(nom_package+".ZoneReglementeeTouristique"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Etablissements", Class.forName(nom_package+".Etablissement"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Sentiers de grande randonnee", Class.forName(nom_package+".GrandeRandonnee"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Massifs boises", Class.forName(nom_package+".MassifBoise"),true);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Points remarquables du relief", Class.forName(nom_package+".PointRemarquableRelief"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Probleme de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+
+ public static void ajouteThemeFranchissements(DataSet jeu, String nom_package_jeu_complet, boolean persistance) {
+ DataSet theme = new DataSet(jeu);
+ if (persistance) DataSet.db.makePersistent(theme);
+ jeu.addComposant(theme);
+ theme.setTypeBD("Theme franchissement de la BDCarto");
+ theme.setNom("Franchissements");
+ String nom_package = nom_package_jeu_complet+".franchissement";
+ try{
+ Population> pop;
+ pop = new Population(persistance, "Passe par", Class.forName(nom_package+".PassePar"),false);
+ theme.addPopulation(pop);
+ pop = new Population(persistance, "Franchissements", Class.forName(nom_package+".Franchissement"),true);
+ theme.addPopulation(pop);
+ }
+ catch (Exception e) {
+ System.out.println("Probleme de nom de package : "+nom_package_jeu_complet);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/ElementBDCarto.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/ElementBDCarto.java
new file mode 100644
index 0000000..741da51
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/ElementBDCarto.java
@@ -0,0 +1,68 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.geoxygene.feature.FT_Feature;
+import fr.ign.cogit.geoxygene.feature.FT_FeatureCollection;
+import fr.ign.cogit.geoxygene.feature.Population;
+
+/** Classe mere pour toute classe de la BDCarto V2 au format structure de la BDCarto.
+ * Document de reference: specifications de contenu BDCarto (schemas HBDS), version 2, revision 4, 2001.
+ */
+
+@SuppressWarnings("unchecked")
+
+public abstract class ElementBDCarto extends FT_Feature {
+
+ /** Identifiant donne par la BDCarto */
+ protected int id_bdcarto;
+ public int getId_bdcarto() {return this.id_bdcarto; }
+ public void setId_bdcarto (int Id_bdcarto) {id_bdcarto = Id_bdcarto; }
+
+
+ public static ElementBDCarto recherche_element_avec_idbdc(Population pop, int id) {
+ ElementBDCarto element;
+ Iterator it = pop.getElements().iterator();
+ while ( it.hasNext() ) {
+ element = (ElementBDCarto)it.next();
+ if ( element.getId_bdcarto() == id ) return element;
+ }
+ return null;
+ }
+
+ public static List search_list_idBDCarto (Population pop,int id){
+ List list_idBDCarto = new ArrayList();
+ ElementBDCarto element;
+ Iterator it = pop.getElements().iterator();
+ while ( it.hasNext() ) {
+ element = (ElementBDCarto)it.next();
+ if ( element.getId_bdcarto() == id ) list_idBDCarto.add(element);
+ }
+ if (list_idBDCarto == null) return null;
+ return list_idBDCarto;
+ }
+
+ public static ElementBDCarto recherche_element_avec_idbdc(FT_FeatureCollection pop, int id) {
+ ElementBDCarto element;
+ Iterator it = pop.getElements().iterator();
+ while ( it.hasNext() ) {
+ element = (ElementBDCarto)it.next();
+ if ( element.getId_bdcarto() == id ) return element;
+ }
+ return null;
+ }
+
+ public static List search_list_idBDCarto (FT_FeatureCollection pop,int id){
+ List list_idBDCarto = new ArrayList();
+ ElementBDCarto element;
+ Iterator it = pop.getElements().iterator();
+ while ( it.hasNext() ) {
+ element = (ElementBDCarto)it.next();
+ if ( element.getId_bdcarto() == id ) list_idBDCarto.add(element);
+ }
+ if (list_idBDCarto == null) return null;
+ return list_idBDCarto;
+ }
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Arrondissement.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Arrondissement.java
new file mode 100644
index 0000000..15c4ee6
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Arrondissement.java
@@ -0,0 +1,115 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.administratif;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+
+public abstract class Arrondissement extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_Polygon qui definit la geometrie de self */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Definit le GM_Polygon qui definit la geometrie de self */
+ public void setGeometrie(GM_Polygon geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+
+ protected String inseeArrondissement;
+ public String getInseeArrondissement() {return this.inseeArrondissement; }
+ public void setInseeArrondissement (String InseeArrondissement) {inseeArrondissement = InseeArrondissement; }
+
+ /////////////// RELATIONS //////////////////
+
+ /** Lien bidirectionnel 1-n vers Canton.
+ * 1 objet Arrondissement est en relation avec n objets Canton (n pouvant etre nul).
+ * 1 objet Canton est en relation avec 1 objet Arrondissement au plus.
+ *
+ * NB: un objet Arrondissement ne doit pas etre en relation plusieurs fois avec le meme objet Canton :
+ * il est impossible de bien gerer des relations 1-n bidirectionnelles avec doublons.
+ *
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec
+ * les methodes fournies.
+ *
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ private List cantons = new ArrayList();
+
+ /** Recupere la liste des objets en relation. */
+ public List getCantons() {return cantons ; }
+
+ /** Definit la liste des objets en relation, et met a jour la relation inverse. */
+ public void setCantons (List L) {
+ List old = new ArrayList(cantons);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ Canton O = it1.next();
+ O.setArrondissement(null);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ Canton O = it2.next();
+ O.setArrondissement(this);
+ }
+ }
+
+ /** Recupere le ieme element de la liste des objets en relation. */
+ public Canton getCanton(int i) {return cantons.get(i) ; }
+
+ /** Ajoute un objet a la liste des objets en relation, et met a jour la relation inverse. */
+ public void addCanton (Canton O) {
+ if ( O == null ) return;
+ cantons.add(O) ;
+ O.setArrondissement(this) ;
+ }
+
+ /** Enleve un element de la liste des objets en relation, et met a jour la relation inverse. */
+ public void removeCanton (Canton O) {
+ if ( O == null ) return;
+ cantons.remove(O) ;
+ O.setArrondissement(null);
+ }
+
+ /** Vide la liste des objets en relation, et met a jour la relation inverse. */
+ public void emptyCantons () {
+ List old = new ArrayList(cantons);
+ Iterator it = old.iterator();
+ while ( it.hasNext() ) {
+ Canton O = it.next();
+ O.setArrondissement(null);
+ }
+ }
+
+
+
+ /** Lien bidirectionnel 1-n vers Arrondissement.
+ * 1 objet Departement est en relation avec n objets Arrondissement (n pouvant etre nul).
+ * 1 objet Arrondissement est en relation avec 1 objet Departement au plus.
+ *
+ * Les methodes get et set sont utiles pour assurer la bidirection.
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+ private Departement departement;
+
+ /** Recupere l'objet en relation. */
+
+ public Departement getDepartement() {return departement; }
+
+ /** Definit l'objet en relation, et met a jour la relation inverse. */
+ public void setDepartement(Departement O) {
+ Departement old = departement;
+ departement = O;
+ if ( old != null ) old.getArrondissements().remove(this);
+ if ( O != null) {
+ if ( ! O.getArrondissements().contains(this) ) O.getArrondissements().add(this);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Canton.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Canton.java
new file mode 100644
index 0000000..52b5483
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Canton.java
@@ -0,0 +1,115 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.administratif;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+public abstract class Canton extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_Polygon qui definit la geometrie de self */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Definit le GM_Polygon qui definit la geometrie de self */
+ public void setGeometrie(GM_Polygon geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+
+ protected String inseeCanton;
+ public String getInseeCanton() {return this.inseeCanton; }
+ public void setInseeCanton (String InseeCanton) {inseeCanton = InseeCanton; }
+
+
+ /////////////// RELATIONS //////////////////
+
+ /** Lien bidirectionnel 1-n vers Commune.
+ * 1 objet Canton est en relation avec n objets Commune (n pouvant etre nul).
+ * 1 objet Commune est en relation avec 1 objet Canton au plus.
+ *
+ * NB: un objet Canton ne doit pas etre en relation plusieurs fois avec le meme objet Commune :
+ * il est impossible de bien gerer des relations 1-n bidirectionnelles avec doublons.
+ *
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec
+ * les methodes fournies.
+ *
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ private List communes = new ArrayList();
+
+ /** Recupere la liste des objets en relation. */
+ public List getCommunes() {return communes ; }
+
+ /** Definit la liste des objets en relation, et met a jour la relation inverse. */
+ public void setCommunes (List L) {
+ List old = new ArrayList(communes);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ Commune O = it1.next();
+ O.setCanton(null);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ Commune O = it2.next();
+ O.setCanton(this);
+ }
+ }
+
+ /** Recupere le ieme element de la liste des objets en relation. */
+ public Commune getCommune(int i) {return communes.get(i) ; }
+
+ /** Ajoute un objet a la liste des objets en relation, et met a jour la relation inverse. */
+ public void addCommune (Commune O) {
+ if ( O == null ) return;
+ communes.add(O) ;
+ O.setCanton(this) ;
+ }
+
+ /** Enleve un element de la liste des objets en relation, et met a jour la relation inverse. */
+ public void removeCommune (Commune O) {
+ if ( O == null ) return;
+ communes.remove(O) ;
+ O.setCanton(null);
+ }
+
+ /** Vide la liste des objets en relation, et met a jour la relation inverse. */
+ public void emptyCommunes () {
+ List old = new ArrayList(communes);
+ Iterator it = old.iterator();
+ while ( it.hasNext() ) {
+ Commune O = it.next();
+ O.setCanton(null);
+ }
+ }
+
+
+
+ /** Lien bidirectionnel 1-n vers Canton.
+ * 1 objet Arrondissement est en relation avec n objets Canton (n pouvant etre nul).
+ * 1 objet Canton est en relation avec 1 objet Arrondissement au plus.
+ *
+ * Les methodes get et set sont utiles pour assurer la bidirection.
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+ private Arrondissement arrondissement;
+
+ /** Recupere l'objet en relation. */
+
+ public Arrondissement getArrondissement() {return arrondissement; }
+
+ /** Definit l'objet en relation, et met a jour la relation inverse. */
+ public void setArrondissement(Arrondissement O) {
+ Arrondissement old = arrondissement;
+ arrondissement = O;
+ if ( old != null ) old.getCantons().remove(this);
+ if ( O != null) {
+ if ( ! O.getCantons().contains(this) ) O.getCantons().add(this);
+ }
+ }
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Commune.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Commune.java
new file mode 100644
index 0000000..8ab34fa
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Commune.java
@@ -0,0 +1,77 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.administratif;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+
+public abstract class Commune extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_Polygon qui definit la geometrie de self */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Definit le GM_Polygon qui definit la geometrie de self */
+ public void setGeometrie(GM_Polygon geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nomCommune;
+ public String getNomCommune() {return this.nomCommune; }
+ public void setNomCommune (String NomCommune) {nomCommune = NomCommune; }
+
+ protected String inseeCommune;
+ public String getInseeCommune() {return this.inseeCommune; }
+ public void setInseeCommune (String InseeCommune) {inseeCommune = InseeCommune; }
+
+ protected String statut;
+ public String getStatut() {return this.statut; }
+ public void setStatut (String Statut) {statut = Statut; }
+
+ protected GM_Point centroideCom;
+ public GM_Point getCentroideCom() {return this.centroideCom; }
+ public void setCentroideCom (GM_Point CentroideCom) {centroideCom = CentroideCom; }
+
+ /*protected double champXCom;
+ public double getChampXCom() {return this.champXCom; }
+ public void setChampXCom (double ChampXCom) {champXCom = ChampXCom; }
+
+ protected double champYCom;
+ public double getChampYCom() {return this.champYCom; }
+ public void setChampYCom (double ChampYCom) {champYCom = ChampYCom; }*/
+
+ protected double superficie;
+ public double getSuperficie() {return this.superficie; }
+ public void setSuperficie (double Superficie) {superficie = Superficie; }
+
+ protected double nbHabitant;
+ public double getNbHabitant() {return this.nbHabitant; }
+ public void setNbHabitant (double NbHabitant) {nbHabitant = NbHabitant; }
+
+
+
+ /////////////// RELATIONS //////////////////
+
+ /** Lien bidirectionnel 1-n vers BBB.
+ * 1 objet AAA est en relation avec n objets BBB (n pouvant etre nul).
+ * 1 objet BBB est en relation avec 1 objet AAA au plus.
+ *
+ * Les methodes get et set sont utiles pour assurer la bidirection.
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+ private Canton canton;
+ /** Recupere l'objet en relation. */
+ public Canton getCanton() {return canton; }
+ /** Definit l'objet en relation, et met a jour la relation inverse. */
+ public void setCanton(Canton O) {
+ Canton old = canton;
+ canton = O;
+ if ( old != null ) old.getCommunes().remove(this);
+ if ( O != null) {
+ if ( ! O.getCommunes().contains(this) ) O.getCommunes().add(this);
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Departement.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Departement.java
new file mode 100644
index 0000000..88ff764
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Departement.java
@@ -0,0 +1,135 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.administratif;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class Departement extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_Polygon qui definit la geometrie de self */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Definit le GM_Polygon qui definit la geometrie de self */
+ public void setGeometrie(GM_Polygon geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+
+ protected String nomDepartement;
+ public String getNomDepartement() {return this.nomDepartement; }
+ public void setNomDepartement (String NomDepartement) {nomDepartement = NomDepartement; }
+
+ protected String inseeDepartement;
+ public String getInseeDepartement() {return this.inseeDepartement; }
+ public void setInseeDepartement (String InseeDepartement) {inseeDepartement = InseeDepartement; }
+
+ protected GM_Point centroideDep;
+ public GM_Point getCentroideDep() {return this.centroideDep; }
+ public void setCentroideDep (GM_Point CentroideDep) {centroideDep = CentroideDep; }
+
+ /*protected double champXDep;
+ public double getChampXDep() {return this.champXDep; }
+ public void setChampXDep (double ChampXDep) {champXDep = ChampXDep; }
+
+ protected double champYDep;
+ public double getChampYDep() {return this.champYDep; }
+ public void setChampYDep (double ChampYDep) {champYDep = ChampYDep; }*/
+
+
+ /////////////// RELATIONS //////////////////
+
+
+ /** Lien bidirectionnel 1-n vers Arrondissement.
+ * 1 objet Departement est en relation avec n objets Arrondissement (n pouvant etre nul).
+ * 1 objet Arrondissement est en relation avec 1 objet Departement au plus.
+ *
+ * NB: un objet Departement ne doit pas etre en relation plusieurs fois avec le meme objet Arrondissement :
+ * il est impossible de bien gerer des relations 1-n bidirectionnelles avec doublons.
+ *
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec
+ * les methodes fournies.
+ *
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ private List arrondissements = new ArrayList();
+
+ /** Recupere la liste des objets en relation. */
+ public List getArrondissements() {return arrondissements ; }
+
+ /** Definit la liste des objets en relation, et met a jour la relation inverse. */
+ public void setArrondissements (List L) {
+ List old = new ArrayList(arrondissements);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ Arrondissement O = it1.next();
+ O.setDepartement(null);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ Arrondissement O = it2.next();
+ O.setDepartement(this);
+ }
+ }
+
+ /** Recupere le ieme element de la liste des objets en relation. */
+ public Arrondissement getArrondissement(int i) {return arrondissements.get(i) ; }
+
+ /** Ajoute un objet a la liste des objets en relation, et met a jour la relation inverse. */
+ public void addArrondissement (Arrondissement O) {
+ if ( O == null ) return;
+ arrondissements.add(O) ;
+ O.setDepartement(this) ;
+ }
+
+ /** Enleve un element de la liste des objets en relation, et met a jour la relation inverse. */
+ public void removeArrondissement (Arrondissement O) {
+ if ( O == null ) return;
+ arrondissements.remove(O) ;
+ O.setDepartement(null);
+ }
+
+ /** Vide la liste des objets en relation, et met a jour la relation inverse. */
+ public void emptyArrondissements () {
+ List old = new ArrayList(arrondissements);
+ Iterator it = old.iterator();
+ while ( it.hasNext() ) {
+ Arrondissement O = it.next();
+ O.setDepartement(null);
+ }
+ }
+
+
+
+ /** Lien bidirectionnel 1-n vers Departement.
+ * 1 objet Region est en relation avec n objets Departement (n pouvant etre nul).
+ * 1 objet Departement est en relation avec 1 objet Region au plus.
+ *
+ * Les methodes get et set sont utiles pour assurer la bidirection.
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+
+ private Region region;
+
+ /** Recupere l'objet en relation. */
+
+ public Region getRegion() {return region; }
+
+ /** Definit l'objet en relation, et met a jour la relation inverse. */
+ public void setRegion(Region O) {
+ Region old = region;
+ region = O;
+ if ( old != null ) old.getDepartements().remove(this);
+ if ( O != null) {
+ if ( ! O.getDepartements().contains(this) ) O.getDepartements().add(this);
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/LimiteAdministrative.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/LimiteAdministrative.java
new file mode 100644
index 0000000..45cd80f
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/LimiteAdministrative.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.administratif;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+public abstract class LimiteAdministrative extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_LineString qui definit la geometrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Definit le GM_LineString qui definit la geometrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String precision;
+ public String getPrecision() {return this.precision; }
+ public void setPrecision (String Precision) {precision = Precision; }
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Region.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Region.java
new file mode 100644
index 0000000..639c3d9
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/administratif/Region.java
@@ -0,0 +1,108 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.administratif;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class Region extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_Polygon qui definit la geometrie de self */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Definit le GM_Polygon qui definit la geometrie de self */
+ public void setGeometrie(GM_Polygon geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+
+ protected String nomRegion;
+ public String getNomRegion() {return this.nomRegion; }
+ public void setNomRegion (String NomRegion) {nomRegion = NomRegion; }
+
+ protected String inseeRegion;
+ public String getInseeRegion() {return this.inseeRegion; }
+ public void setInseeRegion (String InseeRegion) {inseeRegion = InseeRegion; }
+
+ protected GM_Point centroideRegion;
+ public GM_Point getCentroideRegion() {return this.centroideRegion; }
+ public void setCentroideRegion (GM_Point CentroideRegion) {centroideRegion = CentroideRegion; }
+
+ /*protected double champXRegion;
+ public double getChampXRegion() {return this.champXRegion; }
+ public void setChampXRegion (double ChampXRegion) {champXRegion = ChampXRegion; }
+
+ protected double champYRegion;
+ public double getChampYRegion() {return this.champYRegion; }
+ public void setChampYRegion (double ChampYRegion) {champYRegion = ChampYRegion; }*/
+
+ /////////////// RELATIONS //////////////////
+
+
+
+ /** Lien bidirectionnel 1-n vers Departement.
+ * 1 objet AAA est en relation avec n objets Departement (n pouvant etre nul).
+ * 1 objet Departement est en relation avec 1 objet AAA au plus.
+ *
+ * NB: un objet AAA ne doit pas etre en relation plusieurs fois avec le meme objet BBB :
+ * il est impossible de bien gerer des relations 1-n bidirectionnelles avec doublons.
+ *
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec
+ * les methodes fournies.
+ *
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ private List departements = new ArrayList();
+
+ /** Recupere la liste des objets en relation. */
+ public List getDepartements() {return departements ; }
+
+ /** Definit la liste des objets en relation, et met a jour la relation inverse. */
+ public void setDepartements (List L) {
+ List old = new ArrayList(departements);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ Departement O = it1.next();
+ O.setRegion(null);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ Departement O = it2.next();
+ O.setRegion(this);
+ }
+ }
+
+ /** Recupere le ieme element de la liste des objets en relation. */
+ public Departement getDepartement(int i) {return departements.get(i) ; }
+
+ /** Ajoute un objet a la liste des objets en relation, et met a jour la relation inverse. */
+ public void addDepartement (Departement O) {
+ if ( O == null ) return;
+ departements.add(O) ;
+ O.setRegion(this) ;
+ }
+
+ /** Enleve un element de la liste des objets en relation, et met a jour la relation inverse. */
+ public void removeDepartement (Departement O) {
+ if ( O == null ) return;
+ departements.remove(O) ;
+ O.setRegion(null);
+ }
+
+ /** Vide la liste des objets en relation, et met a jour la relation inverse. */
+ public void emptyDepartements () {
+ List old = new ArrayList(departements);
+ Iterator it = old.iterator();
+ while ( it.hasNext() ) {
+ Departement O = it.next();
+ O.setRegion(null);
+ }
+ }
+
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/Aerodrome.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/Aerodrome.java
new file mode 100644
index 0000000..70ec230
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/Aerodrome.java
@@ -0,0 +1,30 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+
+public abstract class Aerodrome extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_Polygon qui definit la geometrie de self */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Definit le GM_Polygon qui definit la geometrie de self */
+ public void setGeometrie(GM_Polygon geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String desserte;
+ public String getDesserte() {return this.desserte; }
+ public void setDesserte (String Desserte) {desserte = Desserte; }
+
+ protected String toponyme;
+ public String getToponyme() { return toponyme; }
+ public void setToponyme(String toponyme) { this.toponyme = toponyme; }
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/Cimetiere.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/Cimetiere.java
new file mode 100644
index 0000000..2d0e421
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/Cimetiere.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+
+public abstract class Cimetiere extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_Polygon qui definit la geometrie de self */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Definit le GM_Polygon qui definit la geometrie de self */
+ public void setGeometrie(GM_Polygon geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() { return toponyme; }
+ public void setToponyme(String toponyme) { this.toponyme = toponyme; }
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/ConstructionElevee.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/ConstructionElevee.java
new file mode 100644
index 0000000..fbac105
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/ConstructionElevee.java
@@ -0,0 +1,20 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class ConstructionElevee extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ // private GM_Point geometrie = null;
+ /** Renvoie le GM_Point qui definit la geometrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Definit le GM_Point qui definit la geometrie de self */
+ public void setGeometrie(GM_Point geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/Digue.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/Digue.java
new file mode 100644
index 0000000..bd0cc7f
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/Digue.java
@@ -0,0 +1,22 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+public abstract class Digue extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_LineString qui definit la geometrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Definit le GM_LineString qui definit la geometrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/EnceinteMilitaire.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/EnceinteMilitaire.java
new file mode 100644
index 0000000..91d5e5c
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/EnceinteMilitaire.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+
+public abstract class EnceinteMilitaire extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_Polygon qui definit la geometrie de self */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Definit le GM_Polygon qui definit la geometrie de self */
+ public void setGeometrie(GM_Polygon geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() { return toponyme; }
+ public void setToponyme(String toponyme) { this.toponyme = toponyme; }
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/LigneElectrique.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/LigneElectrique.java
new file mode 100644
index 0000000..22183c1
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/LigneElectrique.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+public abstract class LigneElectrique extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_LineString qui definit la geometrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Definit le GM_LineString qui definit la geometrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String tension;
+ public String getTension() {return this.tension; }
+ public void setTension (String Tension) {tension = Tension; }
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/MetroAerien.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/MetroAerien.java
new file mode 100644
index 0000000..738889c
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/MetroAerien.java
@@ -0,0 +1,19 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+public abstract class MetroAerien extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_LineString qui definit la geometrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Definit le GM_LineString qui definit la geometrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ /////////////// PAS D'ATTRIBUTS //////////////////
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/PisteAerodrome.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/PisteAerodrome.java
new file mode 100644
index 0000000..fa31035
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/PisteAerodrome.java
@@ -0,0 +1,19 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+public abstract class PisteAerodrome extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_LineString qui definit la geometrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Definit le GM_LineString qui definit la geometrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ /////////////// PAS D'ATTRIBUTS //////////////////
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/TransportParCable.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/TransportParCable.java
new file mode 100644
index 0000000..256a5e4
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/equipements/TransportParCable.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.equipements;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+public abstract class TransportParCable extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_LineString qui definit la geometrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Definit le GM_LineString qui definit la geometrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/ferre/LigneCheminDeFer.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/ferre/LigneCheminDeFer.java
new file mode 100644
index 0000000..a574d37
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/ferre/LigneCheminDeFer.java
@@ -0,0 +1,87 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.ferre;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+
+
+public abstract class LigneCheminDeFer extends ElementBDCarto {
+
+ /////////////// ATTRIBUTS //////////////////
+
+ private String caractTourist;
+ public String getCaractTourist() {return caractTourist;};
+ public void setCaractTourist(String CaractTourist) {caractTourist = CaractTourist;};
+
+ private String toponyme;
+ public String getToponyme() {return toponyme;};
+ public void setToponyme(String Toponyme) {toponyme = Toponyme;};
+
+
+
+ // ///////////// RELATIONS //////////////////
+ /** Lien bidirectionnel 1-n vers TronconFerre.
+ * 1 objet LigneCheminDeFer est en relation avec n objets TronconFerre (n pouvant etre nul).
+ * 1 objet TronconFerre est en relation avec 1 objet LigneCheminDeFer au plus.
+ *
+ * NB: un objet LigneCheminDeFer ne doit pas etre en relation plusieurs fois avec le meme objet TronconFerre :
+ * il est impossible de bien gerer des relations 1-n bidirectionnelles avec doublons.
+ *
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec
+ * les methodes fournies.
+ *
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ private List tronconFerre = new ArrayList();
+
+ /** Recupere la liste des objets en relation. */
+ public List getTronconFerre() {return tronconFerre ; }
+
+ /** Definit la liste des objets en relation, et met a jour la relation inverse. */
+ public void setTronconFerre (List L) {
+ List old = new ArrayList(tronconFerre);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ TronconFerre O = it1.next();
+ O.setLigneCheminDeFer(null);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ TronconFerre O = it2.next();
+ O.setLigneCheminDeFer(this);
+ }
+ }
+
+ /** Recupere le ieme element de la liste des objets en relation. */
+ public TronconFerre getTronconFerre(int i) {return tronconFerre.get(i) ; }
+
+ /** Ajoute un objet a la liste des objets en relation, et met a jour la relation inverse. */
+ public void addTronconFerre (TronconFerre O) {
+ if ( O == null ) return;
+ tronconFerre.add(O) ;
+ O.setLigneCheminDeFer(this) ;
+ }
+
+ /** Enleve un element de la liste des objets en relation, et met a jour la relation inverse. */
+ public void removeTronconFerre (TronconFerre O) {
+ if ( O == null ) return;
+ tronconFerre.remove(O) ;
+ O.setLigneCheminDeFer(null);
+ }
+
+ /** Vide la liste des objets en relation, et met a jour la relation inverse. */
+ public void emptyTronconFerre () {
+ List old = new ArrayList(tronconFerre);
+ Iterator it = old.iterator();
+ while ( it.hasNext() ) {
+ TronconFerre O = it.next();
+ O.setLigneCheminDeFer(null);
+ }
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/ferre/NoeudFerre.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/ferre/NoeudFerre.java
new file mode 100644
index 0000000..8b008a5
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/ferre/NoeudFerre.java
@@ -0,0 +1,137 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.ferre;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class NoeudFerre extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ // private GM_Point geometrie = null;
+ /** Renvoie le GM_Point qui definit la geometrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Definit le GM_Point qui definit la geometrie de self */
+ public void setGeometrie(GM_Point geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+
+ /////////////// RELATIONS //////////////////
+ /** Liste (non ordonnee) des arcs entrants de self
+ * 1 objet Noeud est en relation "entrants" avec n objets TronconFerre (n>0).
+ * 1 objet TronconFerre est en relation "fin" avec 1 objet Noeud.
+ *
+ * Les methodes get (sans indice) et set sont necessaires au mapping.
+ * Les autres methodes sont la seulement pour faciliter l'utilisation de la relation.
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec ces methodes.
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ private List entrants = new ArrayList();
+
+ /** Recupere la liste des arcs entrants. */
+ public List getEntrants() {return entrants ; }
+ /** Definit la liste des arcs entrants, et met a jour la relation inverse Fin. */
+ public void setEntrants (List L) {
+ List old = new ArrayList(entrants);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ TronconFerre O = it1.next();
+ O.setFin(null);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ TronconFerre O = it2.next();
+ O.setFin(this);
+ }
+ }
+ /** Recupere le ieme element de la liste des arcs entrants. */
+ public TronconFerre getEntrant(int i) {return entrants.get(i) ; }
+ /** Ajoute un objet a la liste des arcs entrants, et met a jour la relation inverse Fin. */
+ public void addEntrant(TronconFerre O) {
+ if ( O == null ) return;
+ entrants.add(O) ;
+ O.setFin(this) ;
+ }
+ /** Enleve un element de la liste des arcs entrants, et met a jour la relation inverse Fin. */
+ public void removeEntrant(TronconFerre O) {
+ if ( O == null ) return;
+ entrants.remove(O) ;
+ O.setFin(null);
+ }
+ /** Vide la liste des arcs entrants, et met a jour la relation inverse Fin. */
+ public void emptyEntrants() {
+ List old = new ArrayList(entrants);
+ Iterator it = old.iterator();
+ while ( it.hasNext() ) {
+ TronconFerre O = it.next();
+ O.setFin(null);
+ }
+ }
+
+
+
+
+
+ /** Liste (non ordonnee) des arcs sortants de self
+ * 1 objet Noeud est en relation "sortants" avec n objets TronconFerre (n>0).
+ * 1 objet TronconFerre est en relation "ini" avec 1 objet Noeud.
+ *
+ * Les methodes get (sans indice) et set sont necessaires au mapping.
+ * Les autres methodes sont la seulement pour faciliter l'utilisation de la relation.
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec ces methodes.
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ private List sortants = new ArrayList();
+
+ /** Recupere la liste des arcs sortants. */
+ public List getSortants() {return sortants ; }
+ /** Definit la liste des arcs sortants, et met a jour la relation inverse Ini. */
+ public void setSortants(List L) {
+ List old = new ArrayList(sortants);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ TronconFerre O = it1.next();
+ O.setIni(null);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ TronconFerre O = it2.next();
+ O.setIni(this);
+ }
+ }
+ /** Recupere le ieme element de la liste des arcs sortants. */
+ public TronconFerre getSortant(int i) {return sortants.get(i) ; }
+ /** Ajoute un objet a la liste des arcs sortants, et met a jour la relation inverse Ini. */
+ public void addSortant(TronconFerre O) {
+ if ( O == null ) return;
+ sortants.add(O) ;
+ O.setIni(this) ;
+ }
+ /** Enleve un element de la liste des arcs sortants, et met a jour la relation inverse Ini. */
+ public void removeSortant(TronconFerre O) {
+ if ( O == null ) return;
+ sortants.remove(O) ;
+ O.setIni(null);
+ }
+ /** Vide la liste des arcs sortants, et met a jour la relation inverse Ini. */
+ public void emptySortants() {
+ List old = new ArrayList(sortants);
+ Iterator it = old.iterator();
+ while ( it.hasNext() ) {
+ TronconFerre O = it.next();
+ O.setIni(null);
+ }
+ }
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/ferre/TronconFerre.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/ferre/TronconFerre.java
new file mode 100644
index 0000000..31cd93b
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/ferre/TronconFerre.java
@@ -0,0 +1,143 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.ferre;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.franchissement.Troncon;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+public abstract class TronconFerre extends Troncon {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_LineString qui definit la geometrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Definit le GM_LineString qui definit la geometrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String energie;
+ public String getEnergie() {return this.energie; }
+ public void setEnergie (String Energie) {energie = Energie; }
+
+ protected String nbVoies;
+ public String getNbVoies() { return nbVoies; }
+ public void setNbVoies(String S) { this.nbVoies = S; }
+
+ protected String largeur;
+ public String getLargeur() {return this.largeur; }
+ public void setLargeur (String Largeur) {largeur = Largeur; }
+
+ protected String pos_sol;
+ public String getPos_sol() {return this.pos_sol; }
+ public void setPos_sol (String Pos_sol) {pos_sol = Pos_sol; }
+
+ protected String classement;
+ public String getClassement() {return this.classement; }
+ public void setClassement (String Classement) {classement = Classement; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ protected String touristique;
+ public String getTouristique() {return this.touristique; }
+ public void setTouristique (String Touristique) {touristique = Touristique; }
+
+ protected String topoLigne;
+ public String getTopoLigne() {return this.topoLigne; }
+ public void setTopoLigne (String TopoLigne) {topoLigne = TopoLigne; }
+
+
+
+
+ /////////////// RELATIONS //////////////////
+
+ /** Un tronçon a un noeud initial.
+ * 1 objet Noeud est en relation "sortants" avec n objets TronvonFerre (n>0).
+ * 1 objet TronvonFerre est en relation "ini" avec 1 objet Noeud.
+ *
+ * Les methodes ...ID sont utiles uniquement au mapping et ne doivent pas etre utilisees
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+ private NoeudFerre ini;
+ /** Recupere le noeud initial. */
+ public NoeudFerre getIni() {return ini;}
+ /** Definit le noeud initial, et met a jour la relation inverse. */
+ public void setIni(NoeudFerre O) {
+ NoeudFerre old = ini;
+ ini = O;
+ if ( old != null ) old.getSortants().remove(this);
+ if ( O != null ) {
+ iniID = O.getId();
+ if ( !(O.getSortants().contains(this)) ) O.getSortants().add(this);
+ } else iniID = 0;
+ }
+ /** Pour le mapping avec OJB, dans le cas d'une relation 1-n, du cote 1 de la relation */
+ private int iniID;
+ /** Ne pas utiliser, necessaire au mapping*/
+ public void setIniID(int I) {iniID = I;}
+ /** Ne pas utiliser, necessaire au mapping*/
+ public int getIniID() {return iniID;}
+
+
+ /** Un troncon a un noeud final.
+ * 1 objet Noeud est en relation "entrants" avec n objets TronconFerre (n>0).
+ * 1 objet TronconFerre est en relation "fin" avec 1 objet Noeud.
+ *
+ * Les methodes ...ID sont utiles uniquement au mapping et ne doivent pas etre utilisees
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+ private NoeudFerre fin;
+ /** Recupere le noeud final. */
+ public NoeudFerre getFin() {return fin;}
+ /** Definit le noeud final, et met a jour la relation inverse. */
+ public void setFin(NoeudFerre O) {
+ NoeudFerre old = fin;
+ fin = O;
+ if ( old != null ) old.getEntrants().remove(this);
+ if ( O != null ) {
+ finID = O.getId();
+ if ( !(O.getEntrants().contains(this)) ) O.getEntrants().add(this);
+ } else finID = 0;
+ }
+ /** Pour le mapping avec OJB, dans le cas d'une relation 1-n, du cote 1 de la relation */
+ private int finID;
+ /** Ne pas utiliser, necessaire au mapping*/
+ public void setFinID(int I) {finID = I;}
+ /** Ne pas utiliser, necessaire au mapping*/
+ public int getFinID() {return finID;}
+
+
+ /** Lien bidirectionnel 1-n vers TronconFerre.
+ * 1 objet LigneCheminDeFer est en relation avec n objets TronconFerre (n pouvant etre nul).
+ * 1 objet TronconFerre est en relation avec 1 objet LigneCheminDeFer au plus.
+ *
+ * Les methodes get et set sont utiles pour assurer la bidirection.
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+ private LigneCheminDeFer ligneCheminDeFer;
+
+ /** Recupere l'objet en relation. */
+
+ public LigneCheminDeFer getLigneCheminDeFer() {return ligneCheminDeFer; }
+
+ /** Definit l'objet en relation, et met a jour la relation inverse. */
+ public void setLigneCheminDeFer(LigneCheminDeFer O) {
+ LigneCheminDeFer old = ligneCheminDeFer;
+ ligneCheminDeFer = O;
+ if ( old != null ) old.getTronconFerre().remove(this);
+ if ( O != null) {
+ if ( ! O.getTronconFerre().contains(this) ) O.getTronconFerre().add(this);
+ }
+ }
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/franchissement/Franchissement.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/franchissement/Franchissement.java
new file mode 100644
index 0000000..ba88733
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/franchissement/Franchissement.java
@@ -0,0 +1,83 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.franchissement;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class Franchissement extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ // protected GM_Point geometrie = null;
+ /** Renvoie le GM_Point qui definit la geometrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Definit le GM_Point qui definit la geometrie de self */
+ public void setGeometrie(GM_Point geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ protected double cote;
+ public double getCote() {return this.cote; }
+ public void setCote (double Cote) {cote = Cote; }
+
+ /////////////// RELATIONS //////////////////
+ /** Un franchissement peut concerner plusieurs troncons hydro routier ou ferre,
+ * par l'intermediaire de la classe PassePar.
+ * 1 objet Franchissment peut etre en relation avec 2 ou n "objets-relation" PassePar.
+ * 1 "objet-relation" PassePar est en relation avec 1 objet Franchissement.
+ *
+ * Les methodes get (sans indice) et set sont necessaires au mapping.
+ * Les autres methodes sont la seulement pour faciliter l'utilisation de la relation.
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec ces methodes.
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ protected List passentPar = new ArrayList();
+
+ /** Recupere la liste des PassePar en relation. */
+ public List getPassentPar() {return passentPar; }
+ /** Definit la liste des PassePar en relation, et met a jour la relation inverse. */
+ public void setPassentPar(List L) {
+ List old = new ArrayList(passentPar);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ PassePar O = it1.next();
+ O.setFranchissement(null);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ PassePar O = it2.next();
+ O.setFranchissement(this);
+ }
+ }
+ /** Recupere le ieme element de la liste des PassePar en relation. */
+ public PassePar getPassePar(int i) {return passentPar.get(i) ; }
+ /** Ajoute un objet a la liste des objets en relation, et met a jour la relation inverse. */
+ public void addPassePar(PassePar O) {
+ if ( O == null ) return;
+ passentPar.add(O) ;
+ O.setFranchissement(this) ;
+ }
+ /** Enleve un element de la liste des PassePar en relation, et met a jour la relation inverse. */
+ public void removePassePar(PassePar O) {
+ if ( O == null ) return;
+ passentPar.remove(O) ;
+ O.setFranchissement(null);
+ }
+ /** Vide la liste des PassePar en relation, et met a jour la relation inverse. */
+ public void emptyPassentPar() {
+ List old = new ArrayList(passentPar);
+ Iterator it = old.iterator();
+ while ( it.hasNext() ) {
+ PassePar O = it.next();
+ O.setFranchissement(null);
+ }
+ }
+
+}
+
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/franchissement/PassePar.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/franchissement/PassePar.java
new file mode 100644
index 0000000..8de4875
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/franchissement/PassePar.java
@@ -0,0 +1,78 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.franchissement;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+
+/** Cette classe represente une relation dans le schema HBDS de la BDCarto.
+ * Elle est sous forme de classe car java ne connait pas les attributs de relation.
+ * NB: l'attribut id_bdcarto, obtenu par heritage, n'a pas de sens pour cette "classe relation",
+ * il n'est d'ailleurs pas persistant.
+ */
+public abstract class PassePar extends ElementBDCarto {
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String mode;
+ public String getMode() {return this.mode; }
+ public void setMode (String S) {this.mode= S; }
+
+ protected int niveau;
+ public int getNiveau() {return this.niveau; }
+ public void setNiveau (int i) {this.niveau= i; }
+
+ /////////////// RELATIONS //////////////////
+ /** Troncon concerne par la relation.
+ *
+ * Les methodes ...ID sont utiles uniquement au mapping et ne doivent pas etre utilisees
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+
+ protected Troncon troncon;
+ /** Recupere le troncon en relation. */
+ public Troncon getTroncon() {return troncon; }
+ /** Definit le troncon en relation, et met a jour la relation inverse. */
+ public void setTroncon(Troncon O) {
+ Troncon old = troncon;
+ troncon = O;
+ if ( old != null ) old.getPassentPar().remove(this);
+ if ( O != null ) {
+ tronconID = O.getId();
+ if ( !(O.getPassentPar().contains(this)) ) O.getPassentPar().add(this);
+ } else tronconID = 0;
+ }
+ /** Pour le mapping avec OJB, dans le cas d'une relation 1-n, du cote 1 de la relation */
+ protected int tronconID;
+ /** Ne pas utiliser, necessaire au mapping OJB */
+ public void setTronconID(int I) {tronconID = I;}
+ /** Ne pas utiliser, necessaire au mapping OJB */
+ public int getTronconID() {return tronconID;}
+
+ /** Franchissement concerne par la relation.
+ *
+ * Les methodes ...ID sont utiles uniquement au mapping et ne doivent pas etre utilisees
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+ /** Ne pas utiliser. Pour le mapping avec OJB, dans le cas d'une relation 1-n, du cote 1 de la relation */
+ protected Franchissement franchissement;
+ /** Recupere le franchissement en relation. */
+ public Franchissement getFranchissement() {return franchissement; }
+ /** Definit le franchissement en relation, et met a jour la relation inverse. */
+ public void setFranchissement(Franchissement O) {
+ Franchissement old = franchissement;
+ franchissement = O;
+ if ( old != null ) old.getPassentPar().remove(this);
+ if ( O != null ) {
+ franchissementID = O.getId();
+ if ( !(O.getPassentPar().contains(this)) ) O.getPassentPar().add(this);
+ } else franchissementID = 0;
+ }
+ /** Pour le mapping avec OJB, dans le cas d'une relation 1-n, du cote 1 de la relation */
+ protected int franchissementID;
+ /** Ne pas utiliser, necessaire au mapping OJB */
+ public void setFranchissementID(int I) {franchissementID = I;}
+ /** Ne pas utiliser, necessaire au mapping OJB */
+ public int getFranchissementID() {return franchissementID;}
+}
+
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/franchissement/Troncon.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/franchissement/Troncon.java
new file mode 100644
index 0000000..5305f75
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/franchissement/Troncon.java
@@ -0,0 +1,64 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.franchissement;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+
+public abstract class Troncon extends ElementBDCarto {
+
+ /** Un troncon peut passer par plusieurs franchissements,
+ * par l'intermediaire de la classe-relation PassePar.
+ * 1 objet Troncon peut etre en relation avec 0 ou n objets-relations PassePar.
+ * 1 objet-relation PassePar est en relation avec 1 objet Troncon.
+ *
+ * Les methodes get (sans indice) et set sont necessaires au mapping.
+ * Les autres methodes sont la seulement pour faciliter l'utilisation de la relation.
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec ces methodes.
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ protected List passentPar = new ArrayList();
+
+ /** Recupere la liste des PassePar en relation. */
+ public List getPassentPar() {return passentPar; }
+ /** Definit la liste des PassePar en relation, et met a jour la relation inverse. */
+ public void setPassentPar(List L) {
+ List old = new ArrayList(passentPar);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ PassePar O = it1.next();
+ O.setTroncon(null);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ PassePar O = it2.next();
+ O.setTroncon(this);
+ }
+ }
+ /** Recupere le ieme element de la liste des PassePar en relation. */
+ public PassePar getPassePar(int i) {return passentPar.get(i) ; }
+ /** Ajoute un objet a la liste des objets en relation, et met a jour la relation inverse. */
+ public void addPassePar(PassePar O) {
+ if ( O == null ) return;
+ passentPar.add(O) ;
+ O.setTroncon(this) ;
+ }
+ /** Enleve un element de la liste des PassePar en relation, et met a jour la relation inverse. */
+ public void removePassePar(PassePar O) {
+ if ( O == null ) return;
+ passentPar.remove(O) ;
+ O.setTroncon(null);
+ }
+ /** Vide la liste des PassePar en relation, et met a jour la relation inverse. */
+ public void emptyPassentPar() {
+ List old = new ArrayList(passentPar);
+ Iterator it = old.iterator();
+ while ( it.hasNext() ) {
+ PassePar O = it.next();
+ O.setTroncon(null);
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/habillage/ZoneOccupationDuSol.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/habillage/ZoneOccupationDuSol.java
new file mode 100644
index 0000000..da7c8ac
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/habillage/ZoneOccupationDuSol.java
@@ -0,0 +1,22 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.habillage;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+
+public abstract class ZoneOccupationDuSol extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_Polygon qui definit la geometrie de self */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Definit le GM_Polygon qui definit la geometrie de self */
+ public void setGeometrie(GM_Polygon geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/CoursDEau.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/CoursDEau.java
new file mode 100644
index 0000000..c9a05e2
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/CoursDEau.java
@@ -0,0 +1,78 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.hydro;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+
+/** Portion connexe du reseau hydrographique liee a un toponyme,
+ * possedant une source ou origine et un confluent ou embouchure */
+@SuppressWarnings("unchecked")
+
+public abstract class CoursDEau extends ElementBDCarto {
+
+ /////////////// ATTRIBUTS //////////////////
+ private String toponyme;
+ public String getToponyme() {return toponyme;};
+ public void setToponyme(String S) {toponyme = S;};
+
+ // NB : impossible a remplir a partir des tables shape
+ private int classification;
+ public int getClassification() {return classification;};
+ public void setClassification(int I) {classification = I;};
+
+ /////////////// RELATIONS //////////////////
+ /** Un cours d'eau est compose de troncons hydrographiques.
+ * (relation n-m, a cours d'eau a au moins 1 troncon, un troncon fait partie de 0 a n cours d'eau.
+ *
+ * Les methodes get (sans indice) et set sont necessaires au mapping.
+ * Les autres methodes sont la seulement pour faciliter l'utilisation de la relation.
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec ces methodes.
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ private List troncons = new ArrayList();
+ /** Recupere le troncons hydro en relation */
+ public List getTroncons() {return troncons ; }
+ /** Definit le troncons hydro en relation, et met a jour la relation inverse. */
+ public void setTroncons (List L) {
+ List old = new ArrayList(troncons);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ TronconHydrographique O = (TronconHydrographique)it1.next();
+ troncons.remove(O);
+ O.getCoursDEau().remove(this);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ TronconHydrographique O = (TronconHydrographique)it2.next();
+ troncons.add(O);
+ O.getCoursDEau().add(this);
+ }
+ }
+ /** Recupere le ieme element de la liste des troncons hydro en relation. */
+ public TronconHydrographique getTroncon(int i) {return (TronconHydrographique)troncons.get(i) ; }
+ /** Ajoute un element a la liste des troncons hydro en relation, et met a jour la relation inverse. */
+ public void addTroncon(TronconHydrographique O) {
+ if ( O == null ) return;
+ troncons.add(O) ;
+ O.getCoursDEau().add(this);
+ }
+ /** Enleve un element de la liste des troncons hydro en relation, et met a jour la relation inverse. */
+ public void removeTroncon(TronconHydrographique O) {
+ if ( O == null ) return;
+ troncons.remove(O) ;
+ O.getCoursDEau().remove(this);
+ }
+ /** Vide la liste des troncons hydro en relation, et met a jour la relation inverse. */
+ public void emptyTroncons() {
+ Iterator it = troncons.iterator();
+ while ( it.hasNext() ) {
+ TronconHydrographique O = (TronconHydrographique)it.next();
+ O.getCoursDEau().remove(this);
+ }
+ troncons.clear();
+ }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/Laisse.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/Laisse.java
new file mode 100644
index 0000000..51ddc25
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/Laisse.java
@@ -0,0 +1,26 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.hydro;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+/** Zone plate au drainage complexe dans laquelle circule un ensemble de portions de cours d'eau
+ * formant un entrelac de bras d'egale importance. */
+public abstract class Laisse extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie la geometrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Definit la geometrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String i) {nature = i; }
+
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/NoeudHydrographique.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/NoeudHydrographique.java
new file mode 100644
index 0000000..aba9c59
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/NoeudHydrographique.java
@@ -0,0 +1,155 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.hydro;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+@SuppressWarnings("unchecked")
+
+public abstract class NoeudHydrographique extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ // private GM_Point geometrie = null;
+ /** Renvoie le GM_Point qui definit la geometrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Definit le GM_Point qui definit la geometrie de self */
+ public void setGeometrie(GM_Point geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ protected double cote;
+ public double getCote() {return this.cote; }
+ public void setCote (double Cote) {cote = Cote; }
+
+ // NB : impossible a remplir a partir des tables shape
+ protected int classification;
+ public int getClassification() {return this.classification; }
+ public void setClassification(int S) {classification = S; }
+
+ // NB : impossible a remplir a partir des tables shape
+ protected int caractereTouristique;
+ public int getCaractereTouristique() {return this.caractereTouristique; }
+ public void setCaractereTouristique(int S) {caractereTouristique = S; }
+
+
+
+
+ /////////////// RELATIONS //////////////////
+ /** Liste (non ordonnee) des arcs entrants de self
+ * 1 objet Noeud est en relation "entrants" avec n objets TronconHydrographique (n>0).
+ * 1 objet TronconHydrographique est en relation "fin" avec 1 objet Noeud.
+ *
+ * Les methodes get (sans indice) et set sont necessaires au mapping.
+ * Les autres methodes sont la seulement pour faciliter l'utilisation de la relation.
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec ces methodes.
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ private List entrants = new ArrayList();
+
+ /** Recupere la liste des arcs entrants. */
+ public List getEntrants() {return entrants ; }
+ /** Definit la liste des arcs entrants, et met a jour la relation inverse Fin. */
+ public void setEntrants (List L) {
+ List old = new ArrayList(entrants);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ TronconHydrographique O = (TronconHydrographique)it1.next();
+ O.setFin(null);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ TronconHydrographique O = (TronconHydrographique)it2.next();
+ O.setFin(this);
+ }
+ }
+ /** Recupere le ieme element de la liste des arcs entrants. */
+ public TronconHydrographique getEntrant(int i) {return (TronconHydrographique)entrants.get(i) ; }
+ /** Ajoute un objet a la liste des arcs entrants, et met a jour la relation inverse Fin. */
+ public void addEntrant(TronconHydrographique O) {
+ if ( O == null ) return;
+ entrants.add(O) ;
+ O.setFin(this) ;
+ }
+ /** Enleve un element de la liste des arcs entrants, et met a jour la relation inverse Fin. */
+ public void removeEntrant(TronconHydrographique O) {
+ if ( O == null ) return;
+ entrants.remove(O) ;
+ O.setFin(null);
+ }
+ /** Vide la liste des arcs entrants, et met a jour la relation inverse Fin. */
+ public void emptyEntrants() {
+ List old = new ArrayList(entrants);
+ Iterator it = old.iterator();
+ while ( it.hasNext() ) {
+ TronconHydrographique O = (TronconHydrographique)it.next();
+ O.setFin(null);
+ }
+ }
+
+
+
+
+
+ /** Liste (non ordonnee) des arcs sortants de self
+ * 1 objet Noeud est en relation "sortants" avec n objets TronconHydrographique (n>0).
+ * 1 objet TronconHydrographique est en relation "ini" avec 1 objet Noeud.
+ *
+ * Les methodes get (sans indice) et set sont necessaires au mapping.
+ * Les autres methodes sont la seulement pour faciliter l'utilisation de la relation.
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec ces methodes.
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ private List sortants = new ArrayList();
+
+ /** Recupere la liste des arcs sortants. */
+ public List getSortants() {return sortants ; }
+ /** Definit la liste des arcs sortants, et met a jour la relation inverse Ini. */
+ public void setSortants(List L) {
+ List old = new ArrayList(sortants);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ TronconHydrographique O = (TronconHydrographique)it1.next();
+ O.setIni(null);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ TronconHydrographique O = (TronconHydrographique)it2.next();
+ O.setIni(this);
+ }
+ }
+ /** Recupere le ieme element de la liste des arcs sortants. */
+ public TronconHydrographique getSortant(int i) {return (TronconHydrographique)sortants.get(i) ; }
+ /** Ajoute un objet a la liste des arcs sortants, et met a jour la relation inverse Ini. */
+ public void addSortant(TronconHydrographique O) {
+ if ( O == null ) return;
+ sortants.add(O) ;
+ O.setIni(this) ;
+ }
+ /** Enleve un element de la liste des arcs sortants, et met a jour la relation inverse Ini. */
+ public void removeSortant(TronconHydrographique O) {
+ if ( O == null ) return;
+ sortants.remove(O) ;
+ O.setIni(null);
+ }
+ /** Vide la liste des arcs sortants, et met a jour la relation inverse Ini. */
+ public void emptySortants() {
+ List old = new ArrayList(sortants);
+ Iterator it = old.iterator();
+ while ( it.hasNext() ) {
+ TronconHydrographique O = (TronconHydrographique)it.next();
+ O.setIni(null);
+ }
+ }
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/PointDEauIsole.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/PointDEauIsole.java
new file mode 100644
index 0000000..7ce9d8f
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/PointDEauIsole.java
@@ -0,0 +1,30 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.hydro;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+public abstract class PointDEauIsole extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ // private GM_Point geometrie = null;
+ /** Renvoie le GM_Point qui definit la geometrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Definit le GM_Point qui definit la geometrie de self */
+ public void setGeometrie(GM_Point geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ protected double cote;
+ public double getCote() {return this.cote; }
+ public void setCote (double Cote) {cote = Cote; }
+
+
+}
+
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/ToponymeHydrographieSurfacique.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/ToponymeHydrographieSurfacique.java
new file mode 100644
index 0000000..ec4133f
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/ToponymeHydrographieSurfacique.java
@@ -0,0 +1,33 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.hydro;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+/** Concerne les plans d'eau, glaciers, baies, hauts fonds, marais... */
+public abstract class ToponymeHydrographieSurfacique extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ // private GM_Point geometrie = null;
+ /** Renvoie le GM_Point qui definit la geometrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Definit le GM_Point qui definit la geometrie de self */
+ public void setGeometrie(GM_Point geometrie) {this.geom = geometrie;}
+
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String I) {nature = I; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ protected double cote;
+ public double getCote() {return this.cote; }
+ public void setCote (double Cote) {cote = Cote; }
+
+ // NB : impossible a remplir a partir des tables shape
+ protected int classification;
+ public int getClassification() {return this.classification; }
+ public void setClassification(int S) {classification = S; }
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/TronconHydrographique.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/TronconHydrographique.java
new file mode 100644
index 0000000..c7384f5
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/TronconHydrographique.java
@@ -0,0 +1,170 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.hydro;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.franchissement.Troncon;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_LineString;
+
+
+@SuppressWarnings("unchecked")
+
+public abstract class TronconHydrographique extends Troncon {
+
+ /////////////// GEOMETRIE //////////////////
+ /** Attention: on peut avoir des geometries multiples (plusieurs troncons) */
+ // private GM_Curve geometrie = null;
+ /** Renvoie le GM_LineString qui definit la geometrie de self */
+ public GM_LineString getGeometrie() {return (GM_LineString)geom;}
+ /** Definit le GM_LineString qui definit la geometrie de self */
+ public void setGeometrie(GM_LineString G) {this.geom = G;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String largeur;
+ public String getLargeur() {return this.largeur; }
+ public void setLargeur (String Largeur) {largeur = Largeur; }
+
+ protected String etat;
+ public String getEtat() {return this.etat; }
+ public void setEtat (String Etat) {etat = Etat; }
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String navigabilite;
+ public String getNavigabilite() {return this.navigabilite; }
+ public void setNavigabilite (String Navigabilite) {navigabilite = Navigabilite; }
+
+ protected String pos_sol;
+ public String getPos_sol() {return this.pos_sol; }
+ public void setPos_sol (String Pos_sol) {pos_sol = Pos_sol; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String S) {toponyme = S; }
+
+ protected String sens;
+ public String getSens() {return this.sens; }
+ public void setSens (String Sens) {sens = Sens; }
+
+
+
+ /////////////// RELATIONS //////////////////
+
+ /** Un troncon peut appartenir a plusieurs cours d'eau
+ * (relation n-m, a cours d'eau a au moins 1 troncon, un troncon fait partie de 0 a n cours d'eau.
+ *
+ * Les methodes get (sans indice) et set sont necessaires au mapping.
+ * Les autres methodes sont la seulement pour faciliter l'utilisation de la relation.
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec ces methodes.
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ private List coursDEau = new ArrayList();
+ /** Recupere le CoursDEau en relation */
+ public List getCoursDEau() {return coursDEau ; }
+ /** Definit le CoursDEau en relation, et met a jour la relation inverse. */
+ public void setCoursDEau(List L) {
+ List old = new ArrayList(coursDEau);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ CoursDEau O = (CoursDEau)it1.next();
+ coursDEau.remove(O);
+ O.getTroncons().remove(this);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ CoursDEau O = (CoursDEau)it2.next();
+ coursDEau.add(O);
+ O.getTroncons().add(this);
+ }
+ }
+ /** Recupere le ieme element de la liste des CoursDEau en relation. */
+ public CoursDEau getCoursDEau(int i) {return (CoursDEau)coursDEau.get(i) ; }
+ /** Ajoute un element a la liste des CoursDEau en relation, et met a jour la relation inverse. */
+ public void addCoursDEau(CoursDEau O) {
+ if ( O == null ) return;
+ coursDEau.add(O) ;
+ O.getTroncons().add(this);
+ }
+ /** Enleve un element de la liste des CoursDEau en relation, et met a jour la relation inverse. */
+ public void removeCoursDEau(CoursDEau O) {
+ if ( O == null ) return;
+ coursDEau.remove(O) ;
+ O.getTroncons().remove(this);
+ }
+ /** Vide la liste des CoursDEau en relation, et met a jour la relation inverse. */
+ public void emptyCoursDEau() {
+ Iterator it = coursDEau.iterator();
+ while ( it.hasNext() ) {
+ CoursDEau O = (CoursDEau)it.next();
+ O.getTroncons().remove(this);
+ }
+ coursDEau.clear();
+ }
+
+
+
+ /** Un troncon a un noeud initial.
+ * 1 objet Noeud est en relation "sortants" avec n objets TronconHydrographique (n>0).
+ * 1 objet TronconHydrographique est en relation "ini" avec 1 objet Noeud.
+ *
+ * Les methodes ...ID sont utiles uniquement au mapping et ne doivent pas etre utilisees
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+ private NoeudHydrographique ini;
+ /** Recupere le noeud initial. */
+ public NoeudHydrographique getIni() {return ini;}
+ /** Definit le noeud initial, et met a jour la relation inverse. */
+ public void setIni(NoeudHydrographique O) {
+ NoeudHydrographique old = ini;
+ ini = O;
+ if ( old != null ) old.getSortants().remove(this);
+ if ( O != null ) {
+ iniID = O.getId();
+ if ( !(O.getSortants().contains(this)) ) O.getSortants().add(this);
+ } else iniID = 0;
+ }
+ /** Pour le mapping avec OJB, dans le cas d'une relation 1-n, du cote 1 de la relation */
+ private int iniID;
+ /** Ne pas utiliser, necessaire au mapping*/
+ public void setIniID(int I) {iniID = I;}
+ /** Ne pas utiliser, necessaire au mapping*/
+ public int getIniID() {return iniID;}
+
+
+ /** Un troncon a un noeud final.
+ * 1 objet Noeud est en relation "entrants" avec n objets TronconHydrographique (n>0).
+ * 1 objet TronconHydrographique est en relation "fin" avec 1 objet Noeud.
+ *
+ * Les methodes ...ID sont utiles uniquement au mapping et ne doivent pas etre utilisees
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+ private NoeudHydrographique fin;
+ /** Recupere le noeud final. */
+ public NoeudHydrographique getFin() {return fin;}
+ /** Definit le noeud final, et met a jour la relation inverse. */
+ public void setFin(NoeudHydrographique O) {
+ NoeudHydrographique old = fin;
+ fin = O;
+ if ( old != null ) old.getEntrants().remove(this);
+ if ( O != null ) {
+ finID = O.getId();
+ if ( !(O.getEntrants().contains(this)) ) O.getEntrants().add(this);
+ } else finID = 0;
+ }
+ /** Pour le mapping avec OJB, dans le cas d'une relation 1-n, du cote 1 de la relation */
+ private int finID;
+ /** Ne pas utiliser, necessaire au mapping*/
+ public void setFinID(int I) {finID = I;}
+ /** Ne pas utiliser, necessaire au mapping*/
+ public int getFinID() {return finID;}
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/ZoneHydrographiqueDeTexture.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/ZoneHydrographiqueDeTexture.java
new file mode 100644
index 0000000..6fe607e
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/hydro/ZoneHydrographiqueDeTexture.java
@@ -0,0 +1,22 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.hydro;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.coordgeom.GM_Polygon;
+
+/** Zone plate au drainage complexe dans laquelle circule un ensemble de portions de cours d'eau
+ * formant un entrelac de bras d'egale importance. */
+public abstract class ZoneHydrographiqueDeTexture extends ElementBDCarto {
+
+ /////////////// GEOMETRIE //////////////////
+ // private GM_Polygon geometrie = null;
+ /** Renvoie le GM_Polygon qui definit la geometrie de self */
+ public GM_Polygon getGeometrie() {return (GM_Polygon)geom;}
+ /** Definit le GM_Polygon qui definit la geometrie de self */
+ public void setGeometrie(GM_Polygon geometrie) {this.geom = geometrie;}
+
+ /////////////// ATTRIBUTS //////////////////
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/Accede.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/Accede.java
new file mode 100644
index 0000000..f6bb881
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/Accede.java
@@ -0,0 +1,70 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+
+public abstract class Accede extends ElementBDCarto {
+
+ protected String cote;
+ public String getCote() {return cote; }
+ public void setCote (String S) {cote = S; }
+
+ /////////////// RELATIONS //////////////////
+ /** Troncon concerne par la relation.
+ *
+ * Les methodes ...ID sont utiles uniquement au mapping et ne doivent pas etre utilisees
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+ protected TronconRoute troncon;
+ /** Recupere le troncon en relation. */
+ public TronconRoute getTroncon() {return troncon; }
+ /** Definit le troncon en relation, et met a jour la relation inverse. */
+ public void setTroncon(TronconRoute O) {
+ TronconRoute old = troncon;
+ troncon = O;
+ if ( old != null ) old.getAccedent().remove(this);
+ if ( O != null ) {
+ tronconID = O.getId();
+ if ( !(O.getAccedent().contains(this)) ) O.getAccedent().add(this);
+ } else tronconID = 0;
+ }
+ /** Pour le mapping avec OJB, dans le cas d'une relation 1-n, du cote 1 de la relation */
+ protected int tronconID;
+ /** Ne pas utiliser, necessaire au mapping OJB */
+ public void setTronconID(int I) {tronconID = I;}
+ /** Ne pas utiliser, necessaire au mapping OJB */
+ public int getTronconID() {return tronconID;}
+
+
+ /** Equipement concerne par la relation.
+ *
+ * Les methodes ...ID sont utiles uniquement au mapping et ne doivent pas etre utilisees
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+ /** Ne pas utiliser. Pour le mapping avec OJB, dans le cas d'une relation 1-n, du cote 1 de la relation */
+ protected EquipementRoutier equipement;
+ /** Recupere le equipement en relation. */
+ public EquipementRoutier getEquipement() {return equipement; }
+ /** Definit le equipement en relation, et met a jour la relation inverse. */
+ public void setEquipement(EquipementRoutier O) {
+ EquipementRoutier old = equipement;
+ equipement = O;
+ if ( old != null ) old.getAccedent().remove(this);
+ if ( O != null ) {
+ equipementID = O.getId();
+ if ( !(O.getAccedent().contains(this)) ) O.getAccedent().add(this);
+ } else equipementID = 0;
+ }
+ /** Pour le mapping avec OJB, dans le cas d'une relation 1-n, du cote 1 de la relation */
+ protected int equipementID;
+ /** Ne pas utiliser, necessaire au mapping OJB */
+ public void setEquipementID(int I) {equipementID = I;}
+ /** Ne pas utiliser, necessaire au mapping OJB */
+ public int getEquipementID() {return equipementID;}
+
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/CarrefourComplexe.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/CarrefourComplexe.java
new file mode 100644
index 0000000..af1c149
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/CarrefourComplexe.java
@@ -0,0 +1,78 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+
+public abstract class CarrefourComplexe extends ElementBDCarto {
+
+ public String numero;
+ public String getNumero() {return numero;}
+ public void setNumero(String S) {this.numero = S;}
+
+ public String nature;
+ public String getNature() {return nature;}
+ public void setNature(String S) {this.nature = S;}
+
+ public String toponyme;
+ public String getToponyme() {return toponyme;}
+ public void setToponyme(String S) {this.toponyme = S;}
+
+ /** Lien bidirectionnel persistant 1-n vers noeud routier.
+ * 1 objet Carrefour Complexe est en relation avec 1 ou n objets noeud.
+ * 1 objet noeud est en relation avec 0 ou 1 objet Carrefour complexe.
+ *
+ * NB: un objet route ne doit pas etre en relation plusieurs fois avec le meme objet troncon :
+ * il est impossible de bien gerer des relations 1-n bidirectionnelles avec doublons.
+ *
+ * Les methodes get (sans indice) et set sont necessaires au mapping.
+ * Les autres methodes sont la seulement pour faciliter l'utilisation de la relation.
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec ces methodes.
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ protected List noeuds = new ArrayList();
+
+ /** Recupere la liste des noeuds. */
+ public List getNoeuds() {return noeuds ; }
+ /** Definit la liste des Noeuds, et met a jour la relation inverse. */
+ public void setNoeuds (List L) {
+ List old = new ArrayList(noeuds);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ NoeudRoutier O = it1.next();
+ O.setCarrefourComplexe(null);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ NoeudRoutier O = it2.next();
+ O.setCarrefourComplexe(this);
+ }
+ }
+ /** Recupere le ieme element composant. */
+ public NoeudRoutier getNoeud(int i) {return noeuds.get(i) ; }
+ /** Ajoute un objet a la liste des objets en relation, et met a jour la relation inverse. */
+ public void addNoeud(NoeudRoutier O) {
+ if ( O == null ) return;
+ noeuds.add(O) ;
+ O.setCarrefourComplexe(this) ;
+ }
+ /** Enleve un element de la liste noeuds, et met a jour la relation inverse. */
+ public void removeNoeud(NoeudRoutier O) {
+ if ( O == null ) return;
+ noeuds.remove(O) ;
+ O.setCarrefourComplexe(null);
+ }
+ /** Vide la liste des noeuds, et met a jour la relation inverse. */
+ public void emptyNoeuds() {
+ List old = new ArrayList(noeuds);
+ Iterator it = old.iterator();
+ while ( it.hasNext() ) {
+ NoeudRoutier O = it.next();
+ O.setCarrefourComplexe(null);
+ }
+ }
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/CommunicationRestreinte.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/CommunicationRestreinte.java
new file mode 100644
index 0000000..953c237
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/CommunicationRestreinte.java
@@ -0,0 +1,47 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+
+public abstract class CommunicationRestreinte extends ElementBDCarto {
+
+ public String interdiction;
+ public void setInterdiction(String S) {this.interdiction = S;}
+ public String getInterdiction() {return interdiction;}
+
+ public double restrictionPoids;
+ public double getRestrictionPoids() {return restrictionPoids;}
+ public void setRestrictionPoids(double S) {this.restrictionPoids = S;}
+
+ public double restrictionHauteur;
+ public double getRestrictionHauteur() {return restrictionHauteur;}
+ public void setRestrictionHauteur(double S) {this.restrictionHauteur = S;}
+
+ /** Une communication restreinte concerne un noeud.
+ * 1 objet CommunicationRoutiere est en relation avec 1 Noeud.
+ * 1 objet Noeud est en relation avec 0 ou 1 objet CommunicationRoutiere.
+ *
+ * Les methodes ...ID sont utiles uniquement au mapping et ne doivent pas etre utilisees
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+ protected NoeudRoutier noeud;
+ /** Recupere le noeud routier concerne */
+ public NoeudRoutier getNoeud() {return noeud;}
+ /** Definit le noeud routier concerne, et met a jour la relation inverse. */
+ public void setNoeud(NoeudRoutier O) {
+ NoeudRoutier old = noeud;
+ noeud = O;
+ if ( old != null ) old.setCommunication(null);
+ if ( O != null ) {
+ noeudID = O.getId();
+ if ( O.getCommunication() != this ) O.setCommunication(this);
+ } else noeudID = 0;
+ }
+ protected int noeudID;
+ /** Ne pas utiliser, necessaire au mapping OJB dans le cas d'un lien 1-1 */
+ public int getNoeudID() {return noeudID;}
+ /** Ne pas utiliser, necessaire au mapping OJB dans le cas d'un lien 1-1 */
+ public void setNoeudID (int I) {noeudID = I;}
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/DebutSection.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/DebutSection.java
new file mode 100644
index 0000000..a345a78
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/DebutSection.java
@@ -0,0 +1,93 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+
+public abstract class DebutSection extends ElementBDCarto {
+
+ protected String gestionnaire;
+ public String getGestionnaire() {return gestionnaire; }
+ public void setGestionnaire (String S) {gestionnaire = S; }
+
+ protected String sens;
+ public String getSens() {return sens; }
+ public void setSens (String S) {sens = S; }
+
+ /** Les debuts de section se suivent.
+ * 1 objet Debut de section a 1 ou 0 successeur.
+ * 1 objet Debut de section a 1 ou 0 predecesseur.
+ *
+ * Les methodes ...ID sont utiles uniquement au mapping et ne doivent pas etre utilisees
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+ protected DebutSection successeur;
+ /** Recupere le successeur */
+ public DebutSection getSuccesseur() {return successeur;}
+ /** Definit le successeur, et met a jour la relation inverse. */
+ public void setSuccesseur(DebutSection O) {
+ DebutSection old = successeur;
+ successeur = O;
+ if ( old != null ) old.setPredecesseur(null);
+ if ( O != null ) {
+ successeurID = O.getId();
+ if ( O.getPredecesseur() != this ) O.setPredecesseur(this);
+ } else successeurID = 0;
+ }
+ protected int successeurID;
+ /** Ne pas utiliser, necessaire au mapping OJB dans le cas d'un lien 1-1 */
+ public int getSuccesseurID() {return successeurID;}
+ /** Ne pas utiliser, necessaire au mapping OJB dans le cas d'un lien 1-1 */
+ public void setSuccesseurID (int I) {successeurID = I;}
+
+
+ protected DebutSection predecesseur;
+ /** Recupere le predecesseur*/
+ public DebutSection getPredecesseur() {return predecesseur;}
+ /** Definit le predecesseur, et met a jour la relation inverse. */
+ public void setPredecesseur(DebutSection O) {
+ DebutSection old = predecesseur;
+ predecesseur = O;
+ if ( old != null ) old.setSuccesseur(null);
+ if ( O != null ) {
+ predecesseurID = O.getId();
+ if ( O.getSuccesseur() != this ) O.setSuccesseur(this);
+ } else predecesseurID = 0;
+ }
+ protected int predecesseurID;
+ /** Ne pas utiliser, necessaire au mapping OJB dans le cas d'un lien 1-1 */
+ public int getPredecesseurID() {return predecesseurID;}
+ /** Ne pas utiliser, necessaire au mapping OJB dans le cas d'un lien 1-1 */
+ public void setPredecesseurID (int I) {predecesseurID = I;}
+
+
+ /** Une debut de section est situee sur un troncon.
+ * 1 objet DebutSection est en relation avec 1 Troncon.
+ * 1 objet Troncon est en relation avec 0 ou 1 objet DebutSection.
+ *
+ * Les methodes ...ID sont utiles uniquement au mapping et ne doivent pas etre utilisees
+ *
+ * NB : si il n'y a pas d'objet en relation, getObjet renvoie null.
+ * Pour casser une relation: faire setObjet(null);
+ */
+ protected TronconRoute troncon;
+ /** Recupere le troncon routier concerne */
+ public TronconRoute getTroncon() {return troncon;}
+ /** Definit le troncon routier concerne, et met a jour la relation inverse. */
+ public void setTroncon(TronconRoute O) {
+ TronconRoute old = troncon;
+ troncon = O;
+ if ( old != null ) old.setDebutSection(null);
+ if ( O != null ) {
+ tronconID = O.getId();
+ if ( O.getDebutSection() != this ) O.setDebutSection(this);
+ } else tronconID = 0;
+ }
+ protected int tronconID;
+ /** Ne pas utiliser, necessaire au mapping OJB dans le cas d'un lien 1-1 */
+ public int getTronconID() {return tronconID;}
+ /** Ne pas utiliser, necessaire au mapping OJB dans le cas d'un lien 1-1 */
+ public void setTronconID (int I) {tronconID = I;}
+
+ //est situe sur
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/EquipementRoutier.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/EquipementRoutier.java
new file mode 100644
index 0000000..89f4a11
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/EquipementRoutier.java
@@ -0,0 +1,123 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+import fr.ign.cogit.geoxygene.spatial.geomprim.GM_Point;
+
+/**
+ * Equipement routier.
+ * Type :
+ * Objet simple
+ * Localisation :
+ * Ponctuelle.
+ * Liens :
+ * //Compose (lien inverse) "Route numerotee ou nommee"
+ * Definition :
+ * La classe des equipements routiers regroupe :
+ *
les aires de repos et les aires de service sur le reseau de type autoroutier ;
+ *
les tunnels routiers d'une longueur inferieure a 200 metres s'ils ne correspondent pas a une intersection avec d'autres troncons des reseaux routier et ferre (sinon ce sont des franchissements) ;
+ *
les gares de peage.
+ * Compatibilite entre attributs :
+ *
+ *
compatiblite sur les toponymes ?
+ *
+ *
+ */
+
+public abstract class EquipementRoutier extends ElementBDCarto {
+
+ // protected GM_Point geometrie = null;
+ /** Renvoie la geometrie de self */
+ public GM_Point getGeometrie() {return (GM_Point)geom;}
+ /** Definit la geometrie de self */
+ public void setGeometrie(GM_Point geometrie) {this.geom = geometrie;}
+
+ /** Nature
+ * Definition :
+ * Nature.
+ * Type :
+ * Chaine de caracteres.
+ * Valeurs :
+ *
1- aire de service
+ *
2- aire de repos
+ *
5- tunnel de moins de 200 metres
+ *
7- gare de peage
+ *
+ */
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ /** Toponyme.
+ * Definition :
+ * Un equipement porte en general un toponyme.
+ * Il est compose de trois parties pouvant eventuellement ne porter aucune valeur (n'existe pas) :
+ * un terme generique ou une designation, texte d'au plus 40 caracteres.
+ * un article, texte d'au plus cinq caracteres ;
+ * un element specifique, texte d'au plus 80 caracteres ;
+ * Type :
+ * Chaine de caracteres.
+ */
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ /** Un troncon de route permet d'acceder a n equipements routier ,
+ * par l'intermediaire de la classe-relation Accede.
+ * 1 objet equipement peut etre en relation avec 0 ou n "objets-relation" Accede.
+ * 1 "objet-relation" Accede est en relation avec 1 objet equipement.
+ *
+ * Les methodes get (sans indice) et set sont necessaires au mapping.
+ * Les autres methodes sont la seulement pour faciliter l'utilisation de la relation.
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec ces methodes.
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ protected List accedent = new ArrayList();
+
+ /** Recupere la liste des Accede en relation. */
+ public List getAccedent() {return accedent; }
+ /** Definit la liste des Accede en relation, et met a jour la relation inverse. */
+ public void setAccedent(List L) {
+ List old = new ArrayList(accedent);
+ Iterator it1 = old.iterator();
+ while ( it1.hasNext() ) {
+ Accede O = it1.next();
+ O.setEquipement(null);
+ }
+ Iterator it2 = L.iterator();
+ while ( it2.hasNext() ) {
+ Accede O = it2.next();
+ O.setEquipement(this);
+ }
+ }
+ /** Recupere le ieme element de la liste des Accede en relation. */
+ public Accede getAccede(int i) {return accedent.get(i) ; }
+ /** Ajoute un objet a la liste des objets en relation, et met a jour la relation inverse. */
+ public void addAccede(Accede O) {
+ if ( O == null ) return;
+ accedent.add(O) ;
+ O.setEquipement(this) ;
+ }
+ /** Enleve un element de la liste des Accede en relation, et met a jour la relation inverse. */
+ public void removeAccede(Accede O) {
+ if ( O == null ) return;
+ accedent.remove(O) ;
+ O.setEquipement(null);
+ }
+ /** Vide la liste des Accede en relation, et met a jour la relation inverse. */
+ public void emptyAccedent() {
+ List old = new ArrayList(accedent);
+ Iterator it = old.iterator();
+ while ( it.hasNext() ) {
+ Accede O = it.next();
+ O.setEquipement(null);
+ }
+ }
+
+
+
+}
diff --git a/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/ItineraireRoutier.java b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/ItineraireRoutier.java
new file mode 100644
index 0000000..9bc3bb4
--- /dev/null
+++ b/src/main/java/fr/ign/cogit/appli/commun/schema/structure/bdCarto/routier/ItineraireRoutier.java
@@ -0,0 +1,81 @@
+package fr.ign.cogit.appli.commun.schema.structure.bdCarto.routier;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import fr.ign.cogit.appli.commun.schema.structure.bdCarto.ElementBDCarto;
+
+public abstract class ItineraireRoutier extends ElementBDCarto {
+
+ protected String numero;
+ public String getNumero() {return this.numero; }
+ public void setNumero (String Numero) {numero = Numero; }
+
+ protected String nature;
+ public String getNature() {return this.nature; }
+ public void setNature (String Nature) {nature = Nature; }
+
+ protected String toponyme;
+ public String getToponyme() {return this.toponyme; }
+ public void setToponyme (String Toponyme) {toponyme = Toponyme; }
+
+ /** Lien bidirectionnel persistant n-m vers troncon de route.
+ * 1 objet Itineraire est en relation avec 1 ou n objets troncons.
+ * 1 objet Troncon est en relation avec 0 ou n objets itineraires.
+ *
+ * NB: un objet route ne doit pas etre en relation plusieurs fois avec le meme objet troncon :
+ * il est impossible de bien gerer des relations 1-n bidirectionnelles avec doublons.
+ *
+ * Les methodes get (sans indice) et set sont necessaires au mapping.
+ * Les autres methodes sont la seulement pour faciliter l'utilisation de la relation.
+ * ATTENTION: Pour assurer la bidirection, il faut modifier les listes uniquement avec ces methodes.
+ * NB: si il n'y a pas d'objet en relation, la liste est vide mais n'est pas "null".
+ * Pour casser toutes les relations, faire setListe(new ArrayList()) ou emptyListe().
+ */
+ public List troncons = new ArrayList();
+ /** Recupere les troncons routiers en relation */
+ public List getTroncons() {return troncons ; }
+ /** Definit les troncons routiers en relation, et met a jour la relation inverse. */
+ public void setTroncons (List L) {
+ List old = new ArrayList