INTERLIS 2.4; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! !! Modèle de données de la mensuration officielle "fédéral" (DMAV) !! décrit dans INTERLIS version 2.4 !! !! Office fédéral de topographie (swisstopo) !! Direction fédéral des mensurations cadastrales (M+D) !! CH-3084 Wabern !! www.cadastre.ch und www.interlis.ch !! !! Version: 1.1 TRANSLATION OF français !! Nom de fédéralichier: DMAV_Immeubles_V1_1.ili !! !! Le présent modèle de données s'applique au cadre de référence "Mensuration !! nationale 1903+ (MN95)". !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !! Type: M=modification, A=ajout, S=suppression !! !! Version | Ligne | Type| Remarque !!------------|-------|-----|------------------------------------------------------------- !! 2026-01-31 | 98-102| S | ASSOCIATION Predecesseur_Successeur_PointLimite !! 2026-01-31 |142-146| S | ASSOCIATION Predecesseur_Successeur_Immeuble !! 2026-01-31 | 193| A | EstDroitDeSuperficie: BOOLEAN; !!@ furtherInformation=https://www.cadastre-manual.admin.ch/de/modelldokumentation-dmav !!@ IDGeoIV=228.4 !!@ technicalContact=mailto:dmav@swisstopo.ch MODEL DMAV_Immeubles_V1_1 (fr) AT "https://models.geo.admin.ch/V_D/" VERSION "2026-01-31" TRANSLATION OF DMAV_Grundstuecke_V1_1 ["2026-01-31"] = IMPORTS Units; IMPORTS GeometryCHLV95_V2; IMPORTS DMAVTYM_Geometrie_FR_V1_0; IMPORTS DMAVTYM_Topologie_FR_V1_0; IMPORTS DMAVTYM_Marquage_V1_0; IMPORTS DMAVTYM_Qualite_V1_0; IMPORTS DMAVTYM_Grafique_V1_0; TOPIC Immeubles = BASKET OID AS INTERLIS.UUIDOID; OID AS INTERLIS.UUIDOID; DOMAIN GenreImmeuble = ( bien_fonds, droit_distinct_permanent, mine ); GenreMutation = ( Normal, MutationProjet, ClotureMutationProjet ); CLASS MiseAJourIM = IdentDN : MANDATORY TEXT*12; Identification : MANDATORY TEXT*12; Description : MANDATORY TEXT*60; Perimetre : SURFACE WITH (STRAIGHTS, ARCS) VERTEX GeometryCHLV95_V2.Coord2 WITHOUT OVERLAPS > 0.002; GenreMutation : MANDATORY GenreMutation; EnVigueur : MANDATORY DATETIME; InscriptionRegistreFoncier : DATETIME; UNIQUE CH040101: IdentDN, Identification; END MiseAJourIM; CLASS PointLimite = IdentDN : TEXT*12; Numero : TEXT*12; Geometrie : MANDATORY GeometryCHLV95_V2.Coord2; GeometrieAltitude : DMAVTYM_Geometrie_FR_V1_0.Altitude; PrecisionPlanimetrie : MANDATORY DMAVTYM_Qualite_V1_0.Precision; EstFiablePlanimetrie : MANDATORY DMAVTYM_Qualite_V1_0.Fiabilite; PrecisionAltimetrie : DMAVTYM_Qualite_V1_0.Precision; EstFiableAltimetrie : DMAVTYM_Qualite_V1_0.Fiabilite; Signe : MANDATORY DMAVTYM_Marquage_V1_0.GenreAbornement; PointLimiteTerritoriale : MANDATORY BOOLEAN; EstAncBorneSpeciale : MANDATORY BOOLEAN; EstDefiniExactement : MANDATORY BOOLEAN; OriSymbole : DMAVTYM_Grafique_V1_0.Rotation; MANDATORY CONSTRAINT CH040201: DEFINED(GeometrieAltitude) == DEFINED(PrecisionAltimetrie); MANDATORY CONSTRAINT CH040202: DEFINED(GeometrieAltitude) == DEFINED(EstFiableAltimetrie); MANDATORY CONSTRAINT CH040203: EstDefiniExactement OR Signe == #NonMaterialise; END PointLimite; ASSOCIATION Origine_PointLimite = Origine -- {1} MiseAJourIM; PointLimite_bientotcree -- {0..*} PointLimite; END Origine_PointLimite; ASSOCIATION Caducite_PointLimite = Caducite -- {0..1} MiseAJourIM; PointLimite_bientotcaduc -- {0..*} PointLimite; END Caducite_PointLimite; VIEW PointLimite_Valable PROJECTION OF PointLimite; WHERE DEFINED(PointLimite->Origine) AND DEFINED(PointLimite->Origine->InscriptionRegistreFoncier) AND (NOT (DEFINED(PointLimite->Caducite )) OR NOT (DEFINED(PointLimite->Caducite ->InscriptionRegistreFoncier))); = ALL OF PointLimite; UNIQUE CH040601: Geometrie; END PointLimite_Valable; CLASS Immeuble = IdentDN : MANDATORY TEXT*12; Numero : MANDATORY TEXT*12; EGRID : TEXT*14; EstLitigieux : MANDATORY BOOLEAN; EstComplete : MANDATORY BOOLEAN; GenreImmeuble : MANDATORY GenreImmeuble; PositionTexte : BAG {0..*} OF DMAVTYM_Grafique_V1_0.PositionTexte; Fictif : MANDATORY BOOLEAN; SuperficieTotale : 1 .. 999999999 [Units.m2]; MANDATORY CONSTRAINT CH040701: EstComplete == NOT (DEFINED(SuperficieTotale)); END Immeuble; ASSOCIATION Origine_Immeuble = Origine -- {1} MiseAJourIM; Immeuble_bientotcree -- {0..*} Immeuble; END Origine_Immeuble; ASSOCIATION Caducite_Immeuble = Caducite -- {0..1} MiseAJourIM; Immeuble_bientotcaduc -- {0..*} Immeuble; END Caducite_Immeuble; VIEW Immeuble_Valable PROJECTION OF Immeuble; WHERE DEFINED(Immeuble->Origine) AND DEFINED(Immeuble->Origine->InscriptionRegistreFoncier) AND (NOT (DEFINED(Immeuble->Caducite )) OR NOT (DEFINED(Immeuble->Caducite ->InscriptionRegistreFoncier))); = ALL OF Immeuble; UNIQUE CH041101: IdentDN, Numero; UNIQUE CH041102: EGRID; END Immeuble_Valable; CLASS BienFonds = NumeroImmeublePartiel : TEXT*12; Geometrie : MANDATORY SURFACE WITH (STRAIGHTS, ARCS) VERTEX GeometryCHLV95_V2.Coord2 WITHOUT OVERLAPS > 0.002; Fictif : MANDATORY BOOLEAN; Superficie : MANDATORY 1 .. 999999999 [Units.m2]; Litigieux : GeometryCHLV95_V2.MultiLine; StandardQualite : MANDATORY DMAVTYM_Qualite_V1_0.StandardQualite; MANDATORY CONSTRAINT CH041201: NOT (DEFINED(Litigieux)) OR DMAVTYM_Topologie_FR_V1_0.covers(THIS, >>Geometrie, THIS, >>Litigieux); END BienFonds; ASSOCIATION ImmeubleBienFonds = Immeuble -<#> {1} Immeuble; BienFonds -- {0..*} BienFonds; MANDATORY CONSTRAINT CH041301: Immeuble->GenreImmeuble == #bien_fonds; MANDATORY CONSTRAINT CH041302: BienFonds->Fictif == Immeuble->Fictif; END ImmeubleBienFonds; CONSTRAINTS OF BienFonds= MANDATORY CONSTRAINT CH041401: DEFINED(Litigieux) == Immeuble->EstLitigieux; MANDATORY CONSTRAINT CH041402: NOT (DEFINED(NumeroImmeublePartiel)) == Immeuble->EstComplete; END; VIEW BienFonds_Valable PROJECTION OF BienFonds; WHERE DEFINED(BienFonds->Immeuble->Origine) AND DEFINED(BienFonds->Immeuble->Origine->InscriptionRegistreFoncier) AND (NOT (DEFINED(BienFonds->Immeuble->Caducite )) OR NOT (DEFINED(BienFonds->Immeuble->Caducite ->InscriptionRegistreFoncier))); = ALL OF BienFonds; SET CONSTRAINT CH041501: INTERLIS.areAreas(ALL, UNDEFINED, >>Geometrie); END BienFonds_Valable; CLASS DroitDistinctPermanent = NumeroImmeublePartiel : TEXT*12; Geometrie : MANDATORY SURFACE WITH (STRAIGHTS, ARCS) VERTEX GeometryCHLV95_V2.Coord2 WITHOUT OVERLAPS > 0.002; Superficie : MANDATORY 1 .. 999999999 [Units.m2]; Litigieux : GeometryCHLV95_V2.MultiLine; EstDroitDeSuperficie : BOOLEAN; MANDATORY CONSTRAINT CH041601: NOT (DEFINED(Litigieux)) OR DMAVTYM_Topologie_FR_V1_0.covers(THIS, >>Geometrie, THIS, >>Litigieux); END DroitDistinctPermanent; ASSOCIATION ImmeubleDroitDistinctPermanent = Immeuble -<#> {1} Immeuble; DroitDistinctPermanent -- {0..*} DroitDistinctPermanent; MANDATORY CONSTRAINT CH041701: Immeuble->GenreImmeuble == #droit_distinct_permanent; MANDATORY CONSTRAINT CH041702: NOT (Immeuble->Fictif); END ImmeubleDroitDistinctPermanent; CONSTRAINTS OF DroitDistinctPermanent= MANDATORY CONSTRAINT CH041801: DEFINED(Litigieux) == Immeuble->EstLitigieux; MANDATORY CONSTRAINT CH041802: NOT (DEFINED(NumeroImmeublePartiel)) == Immeuble->EstComplete; END; VIEW DroitDistinctPermanent_Valable PROJECTION OF DroitDistinctPermanent; WHERE DEFINED(DroitDistinctPermanent->Immeuble->Origine) AND DEFINED(DroitDistinctPermanent->Immeuble->Origine->InscriptionRegistreFoncier) AND (NOT (DEFINED(DroitDistinctPermanent->Immeuble->Caducite )) OR NOT (DEFINED(DroitDistinctPermanent->Immeuble->Caducite ->InscriptionRegistreFoncier))); = ALL OF DroitDistinctPermanent; END DroitDistinctPermanent_Valable; CLASS Mine = NumeroImmeublePartiel : TEXT*12; Geometrie : MANDATORY SURFACE WITH (STRAIGHTS, ARCS) VERTEX GeometryCHLV95_V2.Coord2 WITHOUT OVERLAPS > 0.002; Superficie : MANDATORY 1 .. 999999999 [Units.m2]; Litigieux : GeometryCHLV95_V2.MultiLine; MANDATORY CONSTRAINT CH042001: NOT (DEFINED(Litigieux)) OR DMAVTYM_Topologie_FR_V1_0.covers(THIS, >>Geometrie, THIS, >>Litigieux); END Mine; ASSOCIATION ImmeubleMine = Immeuble -<#> {1} Immeuble; Mine -- {0..*} Mine; MANDATORY CONSTRAINT CH042101: Immeuble->GenreImmeuble == #mine; MANDATORY CONSTRAINT CH042102: NOT (Immeuble->Fictif); END ImmeubleMine; CONSTRAINTS OF Mine= MANDATORY CONSTRAINT CH042201: DEFINED(Litigieux) == Immeuble->EstLitigieux; MANDATORY CONSTRAINT CH042202: NOT (DEFINED(NumeroImmeublePartiel)) == Immeuble->EstComplete; END; VIEW Mine_Valable PROJECTION OF Mine; WHERE DEFINED(Mine->Immeuble->Origine) AND DEFINED(Mine->Immeuble->Origine->InscriptionRegistreFoncier) AND (NOT (DEFINED(Mine->Immeuble->Caducite )) OR NOT (DEFINED(Mine->Immeuble->Caducite ->InscriptionRegistreFoncier))); = ALL OF Mine; END Mine_Valable; CONSTRAINTS OF Immeuble= MANDATORY CONSTRAINT CH042401: DEFINED(SuperficieTotale) == ((INTERLIS.objectCount(BienFonds) + INTERLIS.objectCount(DroitDistinctPermanent) + INTERLIS.objectCount(Mine)) > 1); MANDATORY CONSTRAINT CH042402: (INTERLIS.objectCount(BienFonds) > 0 AND INTERLIS.objectCount(DroitDistinctPermanent) == 0 AND INTERLIS.objectCount(Mine) == 0) OR (INTERLIS.objectCount(BienFonds) == 0 AND INTERLIS.objectCount(DroitDistinctPermanent) > 0 AND INTERLIS.objectCount(Mine) == 0) OR (INTERLIS.objectCount(BienFonds) == 0 AND INTERLIS.objectCount(DroitDistinctPermanent) == 0 AND INTERLIS.objectCount(Mine) > 0); END; END Immeubles; END DMAV_Immeubles_V1_1.