INTERLIS 2.3; !! Model GIS_SwissNationalBoundary (GISLG) !! Release of logical model: 1.36 (en) !! Date of release: 19th of June 2012 !! 27.06.2012: logical model rewritten in Interlis 2.3 !! Author: Michael Burkard !! Version | Who | Modification !!------------------------------------------------------------------------------ !! 2015-05-27 | KOGIS | WITHOUT OVERLAPS added !! 2020-04-28 | KOGIS | Constraint in CLASS GISLG_NATIONAL_BOUNDARY corrected (#True and #False) !!@ technicalContact = mailto:info@swisstopo.ch; !!@ furtherInformation = http://www.swisstopo.ch; !!@ IDGeoIV = 39.1; !! *********************************************************************** MODEL GIS_SwissNationalBoundary(en) AT "http://models.geo.admin.ch/Swisstopo" VERSION "2020-04-28" = IMPORTS UNQUALIFIED INTERLIS; IMPORTS Units; IMPORTS CoordSys; REFSYSTEM BASKET Coordsys ~ CoordSys.CoordsysTopic OBJECTS OF GeoCartesian2D: CHLV95 OBJECTS OF GeoHeight: SwissUsualAlt; UNIT Zentimeter [cm] = 1 / 100 [INTERLIS.m]; !! ************************************************************************ !! Definition of domains DOMAIN !! coordinates in swiss geodetical reference frame LV95 CHLKoord95_2D = COORD 2480000.0000 .. 2850000.0000 [INTERLIS.m] {CHLV95[1]}, !! false easting E 1070000.0000 .. 1310000.0000 [INTERLIS.m] {CHLV95[2]}, !! false northing N ROTATION 2 -> 1; !! coordinates in swiss geodetical reference frame LV95/LN02 CHLKoord95_3D = COORD 2480000.0000 .. 2850000.0000 [INTERLIS.m] {CHLV95[1]}, !! false easting E 1070000.0000 .. 1310000.0000 [INTERLIS.m] {CHLV95[2]}, !! north easting N 200.0000 .. 5000.0000 [INTERLIS.m] {SwissUsualAlt[1]}, !! Usual altitude LN02 ROTATION 2 -> 1; Date = FORMAT INTERLIS.XMLDate "1582-10-15" .. "2999-12-31"; LongInteger = -2147483640 .. 2147483647; !! Data type Long Integer Distance (ABSTRACT) = NUMERIC [INTERLIS.LENGTH]; GISLG_RADIUS EXTENDS Distance = 0.000 .. 999.999 [INTERLIS.m]; GISLG_COORD_DIFFERENCE EXTENDS Distance = -999.999 .. 999.999 [INTERLIS.m]; GISLG_PRICE = 0.00 .. 999999.00 [Units.CHF]; GISLG_POSITION_ACCURACY_RD = 0 .. 700 [cm]; GISLG_HEIGHT_ACCURACY_RD = 0 .. 100 [cm]; GISLG_ORI_RD = 0.0000 .. 399.9999 [Units.Gon]; GISLG_OBJVAL_SUBTYPE = ( National_boundary_point, Backup_point); GISLG_CHECK_CATEGORY_CD = ( Logical_Check, Topological_Check, Transistion_Zone_Check, Object_Dependency_Check, Intersection_Check); GISLG_AGREEMENT_CD = ( Treaty, Bilateral_agreement, In_discussion, None); GISLG_BOUNDARY_VALIDITY_CD = ( in_effect, disputed, provisional, undefined); GISLG_OBJECT_ORIGIN_CD = ( swisstopo, Canton_Geometer, Neighboring_country, Averaged_with_neighbour, DE_determinated_with_shift); !! special case with germany: difference between ETRF91 and ETRF93 GISLG_HEIGHT_CAPTURE_METHOD_CD = ( Trigonometric, Photogrammetric, Automatically_Generated, Contrived, Levelling, GNSS); GISLG_REFERENCE_SCALE_CD = ( Scale_500, !! Scale 1:500 Scale_1000, !! Scale 1:1'000 Scale_2000, !! Scale 1:2'000 Scale_5000, !! Scale 1:5'000 Scale_10000, !! Scale 1:10'000 Scale_25000, !! Scale 1:25'000 Scale_50000); !! Scale 1:50'000 GISLG_TECHNICAL_STATUS_CD = ( National, Common_Coordinate_fixed_or_Line_Coordinate_fixed); GISLG_CONTENTS_CD = ( Stone_sketch, Site_sketch, Site_plan, Signature, Bill); GISLG_COORDINATE_ORIGIN_CD = ( LV95, LV03, ETRF); GISLG_BOUNDARY_SEGMENT_LEVEL_CD = ( Top, Level1, Level2); GISLG_POS_CAPTURE_METHOD_CD = ( Trigonometric, GNSS, Photogrammetric, Generated_automatically, Contrived,Digitized); GISLG_DATATYPE_CD = ( Treaty, Sketch, Photo, Other, Plan, Text); GISLG_POLITICAL_STATUS_CD = ( Agreed, Not_agreed, In_discussion); GISLG_BOOLEAN_CD = ( True, False); GISLG_PROCESSING_STATE_CD = ( Recorded, In_Process, Done, Ignored); GISLG_COUNTRY_ISO_Alpha3_CD = ( CHE, ITA, FRA, DEU, AUT, LIE); GISLG_LANGUAGE_ISO_CODE_CD = ( DE, FR, IT, EN); GISLG_BOUNDARY_TYPE_CD = ( Exactly_defined_boundary, Water_shed, Center_of_river, Left_river_bank, Right_river_bank, Talweg_(river), Upper_edge_right_bank, Center_path_roadside, Left_path_roadside, Right_path_roadside, Center_dry_stone_wall, Foot_of_the_slope); GISLG_MARK_TYPE_CD = ( boundary_marker, artificial_boundary_marker, bolt, tube, stake, cross, not_materialized, other, tile, pylon); GISLG_CT_NUM_RANGE_CD = ( ZH, BE, LU, UR, SZ, OW, NW, GL, ZG, FR, SO, BS, BL, SH, AR, AI, SG, GR, AG, TG, TI, VD, VS, NE, GE, JU, CH, FL); GISLG_REPAIR_TYPE_CD = ( Straightening, Materialization, Rehabilitation); GISLG_CHANGE_VALIDITY_CD = ( projected, valid); GISLG_COUNTRY_ISO_3166_CD = ( CH, IT, FR, DE, At, !! in logical model -> AT; shortform AT is a reserved word in INTERLIS 2.3 LI); GISLG_DAMAGE_TYPE_CD = ( Not_aligned, Damaged, Destroyed, Disappeared, Broken, Partially_broken, To_be_replaced, Not_found, In_vegetation, Pulled_out, Other_damage); GISLG_POINT_CATEGORY_CD = ( Boundary_terr_point_with_act, Boundary_terr_point_without_act); GISLG_IMPORT_ORIGIN_CD = ( AV93_approved, Temporary_number_approved, GG25, GeneralPlan_1970, swisstopo); !! end of domain !! ************************************************************************ !! Definition of classes TOPIC GISLG = CLASS GISLG_NAT_BNDR_IMP_CHANGES = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY POLYLINE WITH (STRAIGHTS, ARCS) VERTEX CHLKoord95_2D; UNIQUE OBJECTID; END GISLG_NAT_BNDR_IMP_CHANGES; CLASS GISLG_NAT_BNDR_POINT_IMP_CHANGES = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY CHLKoord95_3D; UNIQUE OBJECTID; END GISLG_NAT_BNDR_POINT_IMP_CHANGES; CLASS GISLG_AMENDMENT = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY SURFACE WITH (STRAIGHTS, ARCS) VERTEX CHLKoord95_2D WITHOUT OVERLAPS > 0.0001; UUID : MANDATORY UUIDOID; AMENDMENT_TEXT : MANDATORY TEXT*500; EMPOWERING_DATE : MANDATORY Date; REMARKS : TEXT*200; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_AMENDMENT; CLASS GISLG_TREATY = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY POLYLINE WITH (STRAIGHTS, ARCS) VERTEX CHLKoord95_3D; UUID : MANDATORY UUIDOID; TREATY_TEXT : MANDATORY TEXT*500; EMPOWERING_DATE : MANDATORY Date; REMARKS : TEXT*200; LINK : TEXT*255; LANGUAGE : MANDATORY GISLG_LANGUAGE_ISO_CODE_CD; NUMBER : MANDATORY TEXT*20; TREATY_TITLE : MANDATORY TEXT*200; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_TREATY; CLASS GISLG_IMP_PROCESSING_PERIMETER = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY SURFACE WITH (STRAIGHTS, ARCS) VERTEX CHLKoord95_2D WITHOUT OVERLAPS > 0.0001; UUID : MANDATORY UUIDOID; LAST_SEARCHRADIUS : GISLG_RADIUS; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_IMP_PROCESSING_PERIMETER; CLASS GISLG_HIST_NATIONAL_BOUNDARY = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY POLYLINE WITH (STRAIGHTS, ARCS) VERTEX CHLKoord95_2D; UUID : MANDATORY UUIDOID; IMPORT_ORIGIN : MANDATORY GISLG_IMPORT_ORIGIN_CD; VALIDITY_NATIONAL_BOUNDARY : MANDATORY GISLG_BOUNDARY_VALIDITY_CD; RE1_CONTROLLED : GISLG_BOOLEAN_CD; REMARKS : TEXT*200; COURSE_OF_BOUNDARY : TEXT*200; MOVING_BOUNDARY : MANDATORY GISLG_BOOLEAN_CD; BOUNDARY_TYPE : GISLG_BOUNDARY_TYPE_CD; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_HIST_NATIONAL_BOUNDARY; CLASS GISLG_NATIONAL_BOUNDARY_POINT = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY CHLKoord95_3D; UUID : MANDATORY UUIDOID; COORDINATE_ORIGIN : MANDATORY GISLG_COORDINATE_ORIGIN_CD; POLITICAL_STATUS : MANDATORY GISLG_POLITICAL_STATUS_CD; OBJECT_ORIGIN : MANDATORY GISLG_OBJECT_ORIGIN_CD; HEIGHT_CAPTURE_METHOD : MANDATORY GISLG_HEIGHT_CAPTURE_METHOD_CD; POSITION_CAPTURE_METHOD : MANDATORY GISLG_POS_CAPTURE_METHOD_CD; POINT_CATEGORY : MANDATORY GISLG_POINT_CATEGORY_CD; TECHNICAL_STATUS : MANDATORY GISLG_TECHNICAL_STATUS_CD; AV_CONSISTENT : MANDATORY GISLG_BOOLEAN_CD; SOUVEREIGN_BOUNDARY_STONE : MANDATORY GISLG_BOOLEAN_CD; RE1_CONTROLLED : GISLG_BOOLEAN_CD; IMPORT_FILE : TEXT*50; !! origin of import RE1 MATERIALIZATION_DESCRIPTION : TEXT*200; LAST_UPDATE : MANDATORY Date; PCP_NUMBER : TEXT*12; CLASSIFICATION_ORDER : TEXT*20; POINT_DESCRIPTION : TEXT*12; SITE_DESCRIPTION : TEXT*255; PLACE_OF_SIGNATURE : TEXT*30; DATE_OF_SIGNATURE : Date; PLACEMENT_DATE : Date; PRECISELY_DEFINED : MANDATORY GISLG_BOOLEAN_CD; CANTONAL_DESCRIPTION : TEXT*12; HEIGHT_RELIABLE : MANDATORY GISLG_BOOLEAN_CD; REMARKS : TEXT*200; COURSE_OF_BOUNDARY : TEXT*200; POSITION_RELIABLE : MANDATORY GISLG_BOOLEAN_CD; MARK_TYPE : MANDATORY GISLG_MARK_TYPE_CD; OBJVAL : GISLG_OBJVAL_SUBTYPE; ORI : GISLG_ORI_RD; POSITION_ACCURACY : MANDATORY GISLG_POSITION_ACCURACY_RD; HEIGHT_ACCURACY : GISLG_HEIGHT_ACCURACY_RD; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_NATIONAL_BOUNDARY_POINT; CLASS GISLG_CHANGES = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY SURFACE WITH (STRAIGHTS, ARCS) VERTEX CHLKoord95_2D WITHOUT OVERLAPS > 0.0001; UUID : MANDATORY UUIDOID; CHANGE_VALIDITY : MANDATORY GISLG_CHANGE_VALIDITY_CD; VALIDATION_CHANGE : MANDATORY Date; CASE_OPENING : Date; CASE_COMPLETION : Date; DATE_OF_CHANGE : MANDATORY Date; DESCRIPTION : MANDATORY TEXT*30; IDENTIFIER : MANDATORY TEXT*12; OPERATOR : MANDATORY TEXT*10; WITH_TOPOLOGY_CHECK : MANDATORY GISLG_BOOLEAN_CD; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_CHANGES; CLASS GISLG_NATIONAL_BOUNDARY = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY POLYLINE WITH (STRAIGHTS, ARCS) VERTEX CHLKoord95_2D; UUID : MANDATORY UUIDOID; IMPORT_ORIGIN : MANDATORY GISLG_IMPORT_ORIGIN_CD; VALIDITY_NATIONAL_BOUNDARY : MANDATORY GISLG_BOUNDARY_VALIDITY_CD; RE1_CONTROLLED : GISLG_BOOLEAN_CD; REMARKS : TEXT*200; MOVING_BOUNDARY : MANDATORY GISLG_BOOLEAN_CD; LAST_MEASUREMENT : Date; !! with constraint COURSE_OF_BOUNDARY : TEXT*200; BOUNDARY_TYPE : GISLG_BOUNDARY_TYPE_CD; OBJVAL : GISLG_OBJVAL_SUBTYPE; MANDATORY CONSTRAINT (MOVING_BOUNDARY == #True AND DEFINED (LAST_MEASUREMENT)) OR MOVING_BOUNDARY == #False OR NOT (DEFINED (MOVING_BOUNDARY)); UNIQUE OBJECTID; UNIQUE UUID; END GISLG_NATIONAL_BOUNDARY; CLASS GISLG_NUMBERING_RANGE = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY SURFACE WITH (STRAIGHTS, ARCS) VERTEX CHLKoord95_2D WITHOUT OVERLAPS > 0.0001; UUID : MANDATORY UUIDOID; VALID_ENTRY_SINCE : Date; RANGE_NUMBER : MANDATORY TEXT*10; TECHNICAL_DOSSIER : MANDATORY TEXT*12; CANTON : MANDATORY GISLG_CT_NUM_RANGE_CD; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_NUMBERING_RANGE; CLASS GISLG_IMP_NATIONAL_BOUNDARY = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY POLYLINE WITH (STRAIGHTS, ARCS) VERTEX CHLKoord95_2D; UUID : MANDATORY UUIDOID; IMPORT_ORIGIN : GISLG_IMPORT_ORIGIN_CD; VALIDITY_NATIONAL_BOUNDARY : GISLG_BOUNDARY_VALIDITY_CD; RE1_CONTROLLED : GISLG_BOOLEAN_CD; REMARKS : TEXT*200; MOVING_BOUNDARY : GISLG_BOOLEAN_CD; COURSE_OF_BOUNDARY : TEXT*200; BOUNDARY_TYPE : GISLG_BOUNDARY_TYPE_CD; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_IMP_NATIONAL_BOUNDARY; CLASS GISLG_IMP_NAT_BOUNDARY_POINT = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY CHLKoord95_3D; UUID : MANDATORY UUIDOID; COORDINATE_ORIGIN : GISLG_COORDINATE_ORIGIN_CD; POLITICAL_STATUS : GISLG_POLITICAL_STATUS_CD; OBJECT_ORIGIN : GISLG_OBJECT_ORIGIN_CD; HEIGHT_CAPTURE_METHOD : GISLG_HEIGHT_CAPTURE_METHOD_CD; POSITION_CAPTURE_METHOD : GISLG_POS_CAPTURE_METHOD_CD; POINT_CATEGORY : GISLG_POINT_CATEGORY_CD; TECHNICAL_STATUS : GISLG_TECHNICAL_STATUS_CD; AV_CONSISTENT : MANDATORY GISLG_BOOLEAN_CD; SOUVEREIGN_BOUNDARY_STONE : GISLG_BOOLEAN_CD; RE1_CONTROLLED : GISLG_BOOLEAN_CD; MATERIALIZATION_DESCRIPTION : TEXT*200; LAST_UPDATE : Date; PCP_NUMBER : TEXT*12; CLASSIFICATION_ORDER : TEXT*20; POINT_DESCRIPTION : TEXT*12; SITE_DESCRIPTION : TEXT*255; PLACE_OF_SIGNATURE : TEXT*30; DATE_OF_SIGNATURE : Date; PLACEMENT_DATE : Date; DELTA_X : GISLG_COORD_DIFFERENCE; DELTA_Y : GISLG_COORD_DIFFERENCE; DELTA_S : GISLG_COORD_DIFFERENCE; DELTA_Z : GISLG_COORD_DIFFERENCE; CANTONAL_DESCRIPTION : TEXT*12; HEIGHT_RELIABLE : GISLG_BOOLEAN_CD; REMARKS : TEXT*200; COURSE_OF_BOUNDARY : TEXT*200; PRECISELY_DEFINED : GISLG_BOOLEAN_CD; POSITION_RELIABLE : GISLG_BOOLEAN_CD; MARK_TYPE : MANDATORY GISLG_MARK_TYPE_CD; OBJVAL : GISLG_OBJVAL_SUBTYPE; ORI : MANDATORY GISLG_ORI_RD; POSITION_ACCURACY : MANDATORY GISLG_POSITION_ACCURACY_RD; HEIGHT_ACCURACY : MANDATORY GISLG_HEIGHT_ACCURACY_RD; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_IMP_NAT_BOUNDARY_POINT; CLASS GISLG_HIST_NAT_BOUNDARY_POINT = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY CHLKoord95_3D; UUID : MANDATORY UUIDOID; COORDINATE_ORIGIN : MANDATORY GISLG_COORDINATE_ORIGIN_CD; POLITICAL_STATUS : MANDATORY GISLG_POLITICAL_STATUS_CD; OBJECT_ORIGIN : MANDATORY GISLG_OBJECT_ORIGIN_CD; HEIGHT_CAPTURE_METHOD : MANDATORY GISLG_HEIGHT_CAPTURE_METHOD_CD; POSITION_CAPTURE_METHOD : MANDATORY GISLG_POS_CAPTURE_METHOD_CD; POINT_CATEGORY : MANDATORY GISLG_POINT_CATEGORY_CD; TECHNICAL_STATUS : MANDATORY GISLG_TECHNICAL_STATUS_CD; AV_CONSISTENT : MANDATORY GISLG_BOOLEAN_CD; SOUVEREIGN_BOUNDARY_STONE : MANDATORY GISLG_BOOLEAN_CD; RE1_CONTROLLED : GISLG_BOOLEAN_CD; MATERIALIZATION_DESCRIPTION : TEXT*200; LAST_UPDATE : MANDATORY Date; PCP_NUMBER : TEXT*12; CLASSIFICATION_ORDER : TEXT*20; POINT_DESCRIPTION : MANDATORY TEXT*12; SITE_DESCRIPTION : TEXT*255; PLACE_OF_SIGNATURE : TEXT*30; DATE_OF_SIGNATURE : Date; PLACEMENT_DATE : Date; DELTA_X : MANDATORY GISLG_COORD_DIFFERENCE; DELTA_Y : MANDATORY GISLG_COORD_DIFFERENCE; DELTA_S : MANDATORY GISLG_COORD_DIFFERENCE; DELTA_Z : MANDATORY GISLG_COORD_DIFFERENCE; CANTONAL_DESCRIPTION : TEXT*12; HEIGHT_RELIABLE : MANDATORY GISLG_BOOLEAN_CD; REMARKS : TEXT*200; COURSE_OF_BOUNDARY : MANDATORY TEXT*200; PRECISELY_DEFINED : GISLG_BOOLEAN_CD; POSITION_RELIABLE : GISLG_BOOLEAN_CD; MARK_TYPE : MANDATORY GISLG_MARK_TYPE_CD; OBJVAL : GISLG_OBJVAL_SUBTYPE; ORI : MANDATORY GISLG_ORI_RD; POSITION_ACCURACY : MANDATORY GISLG_POSITION_ACCURACY_RD; HEIGHT_ACCURACY : MANDATORY GISLG_HEIGHT_ACCURACY_RD; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_HIST_NAT_BOUNDARY_POINT; CLASS GISLG_IMP_CHANGES = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY SURFACE WITH (STRAIGHTS, ARCS) VERTEX CHLKoord95_2D WITHOUT OVERLAPS > 0.0001; UUID : MANDATORY UUIDOID; CHANGE_VALIDITY : GISLG_CHANGE_VALIDITY_CD; VALIDATION_CHANGE : Date; CASE_OPENING : Date; CASE_COMPLETION : Date; DATE_OF_CHANGE : Date; OBJECTS_CHANGABLE : MANDATORY GISLG_BOOLEAN_CD; CHECK_STATUS : MANDATORY GISLG_BOOLEAN_CD; DESCRIPTION : TEXT*30; IDENTIFIER : TEXT*12; OPERATOR : TEXT*10; WITH_TOPOLOGY_CHECK : MANDATORY GISLG_BOOLEAN_CD; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_IMP_CHANGES; CLASS GISLG_BOUNDARY_SGMNT_NC = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY POLYLINE WITH (STRAIGHTS, ARCS) VERTEX CHLKoord95_2D; UUID : MANDATORY UUIDOID; BOUNDARY_SEGMENT_LEVEL : MANDATORY GISLG_BOUNDARY_SEGMENT_LEVEL_CD; SIMPLENAME : MANDATORY TEXT*50; !! in logical model -> attribute NAME FULLNAME : MANDATORY TEXT*60; AGREEMENT : MANDATORY GISLG_AGREEMENT_CD; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_BOUNDARY_SGMNT_NC; CLASS GISLG_BNDR_SGMNT_NC_LABEL_POS = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY CHLKoord95_2D; UUID : MANDATORY UUIDOID; WITH_CONNECTION_LINE : MANDATORY GISLG_BOOLEAN_CD; REFERENCE_SCALE : MANDATORY GISLG_REFERENCE_SCALE_CD; ORI : MANDATORY GISLG_ORI_RD; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_BNDR_SGMNT_NC_LABEL_POS; CLASS GISLG_NAT_BNDR_POINT_LABEL_POS = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY CHLKoord95_2D; UUID : MANDATORY UUIDOID; WITH_CONNECTION_LINE : MANDATORY GISLG_BOOLEAN_CD; REFERENCE_SCALE : MANDATORY GISLG_REFERENCE_SCALE_CD; ORI : MANDATORY GISLG_ORI_RD; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_NAT_BNDR_POINT_LABEL_POS; CLASS GISLG_NAT_BOUNDARY_LABEL_POS = OBJECTID : MANDATORY I32OID; Geometry : MANDATORY CHLKoord95_2D; UUID : MANDATORY UUIDOID; WITH_CONNECTION_LINE : MANDATORY GISLG_BOOLEAN_CD; REFERENCE_SCALE : MANDATORY GISLG_REFERENCE_SCALE_CD; ORI : MANDATORY GISLG_ORI_RD; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_NAT_BOUNDARY_LABEL_POS; CLASS GISLG_COUNTRY = OBJECTID : MANDATORY I32OID; UUID : MANDATORY UUIDOID; COUNTRY_CODE_ISO3166 : MANDATORY GISLG_COUNTRY_ISO_3166_CD; COUNTRY_CODE_ISO_ALPHA3 : MANDATORY GISLG_COUNTRY_ISO_Alpha3_CD; COUNTRY_NAME : MANDATORY TEXT*50; !! in logical model -> attribute NAME ORGANISATION : MANDATORY TEXT*200; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_COUNTRY; CLASS GISLG_MUNICIPALITY_CH = OBJECTID : MANDATORY I32OID; UUID : MANDATORY UUIDOID; LANGUAGE : MANDATORY GISLG_LANGUAGE_ISO_CODE_CD; MUNICIPALITY_NAME : MANDATORY TEXT*50; !! in logical model -> attribute NAME BFS_NUMBER : MANDATORY LongInteger; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_MUNICIPALITY_CH; CLASS GISLG_PROVINCE_NC = OBJECTID : MANDATORY I32OID; UUID : MANDATORY UUIDOID; PROVINCE_NAME : MANDATORY TEXT*50; !! in logical model -> attribute NAME UNIQUE OBJECTID; UNIQUE UUID; END GISLG_PROVINCE_NC; CLASS GISLG_MUNICIPALITY_NC = OBJECTID : MANDATORY I32OID; UUID : MANDATORY UUIDOID; MUNICIPALITY_NAME : MANDATORY TEXT*50; !! in logical model -> attribute NAME UNIQUE OBJECTID; UNIQUE UUID; END GISLG_MUNICIPALITY_NC; CLASS GISLG_RELATION_POINT_BOUNDARY_POINT = OBJECTID : MANDATORY I32OID; UNIQUE OBJECTID; END GISLG_RELATION_POINT_BOUNDARY_POINT; CLASS GISLG_RELATION_POINT_BACKUP_POINT = OBJECTID : MANDATORY I32OID; UNIQUE OBJECTID; END GISLG_RELATION_POINT_BACKUP_POINT; CLASS GISLG_ARTIFACT = OBJECTID : MANDATORY I32OID; UUID : MANDATORY UUIDOID; DATATYPE : MANDATORY GISLG_DATATYPE_CD; CONTENTS : MANDATORY GISLG_CONTENTS_CD; LINK : MANDATORY TEXT*255; REMARKS : TEXT*200; TITLE : MANDATORY TEXT*255; CREATION_DATE : MANDATORY Date; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_ARTIFACT; CLASS GISLG_DAMAGE_REPORT = OBJECTID : MANDATORY I32OID; UUID : MANDATORY UUIDOID; REPAIR_TYPE : MANDATORY GISLG_REPAIR_TYPE_CD; DAMAGE_TYPE : MANDATORY GISLG_DAMAGE_TYPE_CD; RECEIVING_DATE : MANDATORY Date; REPORT_DATE : Date; POSSIBLE_CAUSE : TEXT*255; REMARK_REPORT : TEXT*255; DATE_CONSIGNMENT : Date; DATE_CARRIED_OUT : Date; REMARK_COMPLETION : TEXT*255; PROCESSING_STATE : MANDATORY GISLG_PROCESSING_STATE_CD; COST : GISLG_PRICE; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_DAMAGE_REPORT; CLASS GISLG_REL_SEGMNT_PARNT_SEGMNT = OBJECTID : MANDATORY I32OID; UNIQUE OBJECTID; END GISLG_REL_SEGMNT_PARNT_SEGMNT; CLASS GISLG_REL_SEGMNT_CHILD_SEGMNT = OBJECTID : MANDATORY I32OID; UNIQUE OBJECTID; END GISLG_REL_SEGMNT_CHILD_SEGMNT; CLASS GISLG_DAMAGE_DOCUMENT = OBJECTID : MANDATORY I32OID; UUID : MANDATORY UUIDOID; DATATYPE : MANDATORY GISLG_DATATYPE_CD; CONTENTS : MANDATORY GISLG_CONTENTS_CD; LINK : TEXT*255; CREATION_DATE : MANDATORY Date; TITLE : MANDATORY TEXT*255; REMARKS : TEXT*200; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_DAMAGE_DOCUMENT; CLASS GISLG_CONTACT = OBJECTID : MANDATORY I32OID; UUID : MANDATORY UUIDOID; LASTNAME : MANDATORY TEXT*100; FIRSTNAME : MANDATORY TEXT*100; ADDITION : TEXT*100; STREET_NR : TEXT*100; POSTALCODE : TEXT*30; CITY : TEXT*30; EMAIL : TEXT*50; PHONE : TEXT*30; MOBILE : TEXT*20; REMARKS : TEXT*50; DEPARTMENT : TEXT*50; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_CONTACT; CLASS GISLG_REL_CONTACT_REPORTER = OBJECTID : MANDATORY I32OID; UNIQUE OBJECTID; END GISLG_REL_CONTACT_REPORTER; CLASS GISLG_REL_CONTACT_CONTRACTOR = OBJECTID : MANDATORY I32OID; UNIQUE OBJECTID; END GISLG_REL_CONTACT_CONTRACTOR; CLASS GISLG_CANTON_CH = OBJECTID : MANDATORY I32OID; UUID : MANDATORY UUIDOID; CANTON_NAME : MANDATORY TEXT*50; !! in logical model -> attribute NAME ABBREVIATION : MANDATORY TEXT*2; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_CANTON_CH; CLASS GISLG_CONSISTENCY_TEST = OBJECTID : MANDATORY I32OID; UUID : MANDATORY UUIDOID; STATEMENT : MANDATORY TEXT*600; DESCRIPTION : TEXT*160; EXECUTING_ORDER : LongInteger; TEST_MANDATORY : MANDATORY GISLG_BOOLEAN_CD; !! in logical model -> attribute MANDATORY TARGET : MANDATORY LongInteger; TEST_NAME : MANDATORY TEXT*50; !! in logical model -> attribute NAME CHECK_CATEGORY : MANDATORY GISLG_CHECK_CATEGORY_CD; TARGET_TABLE : MANDATORY TEXT*50; UNIQUE OBJECTID; UNIQUE UUID; END GISLG_CONSISTENCY_TEST; !! end of classes !! ************************************************************************ !! Definition of relationships ASSOCIATION GISLG_NAT_BNDR_IMP_NAT_BNDR = GISLG_IMP_NATIONAL_BOUNDARY_UUID -- {1} GISLG_IMP_NATIONAL_BOUNDARY; GISLG_NAT_BNDR_IMP_CHANGES -- {1} GISLG_NAT_BNDR_IMP_CHANGES; END; ASSOCIATION GISLG_NAT_BNDR_IMP_CHANGES_REL = GISLG_IMP_CHANGES_UUID -- {1} GISLG_IMP_CHANGES; GISLG_NAT_BNDR_IMP_CHANGES -- {0..*} GISLG_NAT_BNDR_IMP_CHANGES; END GISLG_NAT_BNDR_IMP_CHANGES_REL; ASSOCIATION GISLG_IMP_CHANGES_NAT_BNDR = GISLG_NATIONAL_BOUNDARY_UUID -- {1} GISLG_NATIONAL_BOUNDARY; GISLG_NAT_BNDR_IMP_CHANGES -- {1} GISLG_NAT_BNDR_IMP_CHANGES; END GISLG_IMP_CHANGES_NAT_BNDR; ASSOCIATION GISLG_NAT_BNDR_PNT_IMP_CHANGES_REL = GISLG_IMP_CHANGES -- {1} GISLG_IMP_CHANGES; GISLG_NAT_BNDR_POINT_IMP_CHANGES -- {0..*} GISLG_NAT_BNDR_POINT_IMP_CHANGES; END GISLG_NAT_BNDR_PNT_IMP_CHANGES_REL; ASSOCIATION GISLG_IMP_CHANGES_NAT_BNDR_PNT = GISLG_BOUNDARY_POINT_UUID -- {1} GISLG_NATIONAL_BOUNDARY_POINT; GISLG_NAT_BNDR_POINT_IMP_CHANGES -- {1} GISLG_NAT_BNDR_POINT_IMP_CHANGES; END GISLG_IMP_CHANGES_NAT_BNDR_PNT; ASSOCIATION GISLG_NAT_BNDR_PNT_IMP_BNDR_PNT = GISLG_IMP_BOUNDARY_POINT_UUID -- {1} GISLG_IMP_NAT_BOUNDARY_POINT; GISLG_NAT_BNDR_POINT_IMP_CHANGES -- {1} GISLG_NAT_BNDR_POINT_IMP_CHANGES; END GISLG_NAT_BNDR_PNT_IMP_BNDR_PNT; ASSOCIATION GISLG_REL_BNDR_PNT_AMENDMENT = GISLG_BOUNDARY_POINT_UUID -- {1..*} GISLG_NATIONAL_BOUNDARY_POINT; GISLG_AMENDMENT_UUID -- {0..*} GISLG_AMENDMENT; END GISLG_REL_BNDR_PNT_AMENDMENT; ASSOCIATION GISLG_AMENDMENT_TREATY = GISLG_TREATY_UUID -- {1} GISLG_TREATY; GISLG_AMENDMENT -- {0..*} GISLG_AMENDMENT; END GISLG_AMENDMENT_TREATY; ASSOCIATION GISLG_TREATY_COUNTRY = GISLG_COUNTRY_UUID -- {1} GISLG_COUNTRY; GISLG_TREATY -- {0..*} GISLG_TREATY; END GISLG_TREATY_COUNTRY; ASSOCIATION GISLG_REL_BOUNDARY_PNT_TREATY = GISLG_BOUNDARY_POINT_UUID -- {1..*} GISLG_NATIONAL_BOUNDARY_POINT; GISLG_TREATY_UUID -- {0..*} GISLG_TREATY; END GISLG_REL_BOUNDARY_PNT_TREATY; ASSOCIATION GISLG_IMP_PROC_PERI_CHANGES = GISLG_IMP_CHANGES_UUID -- {1} GISLG_IMP_CHANGES; GISLG_IMP_PROCESSING_PERIMETER -- {1} GISLG_IMP_PROCESSING_PERIMETER; END GISLG_IMP_PROC_PERI_CHANGES; ASSOCIATION GISLG_HIST_BNDR_CHANGES = GISLG_CHANGES_UUID -- {1} GISLG_CHANGES; GISLG_HIST_NATIONAL_BOUNDARY -- {1..*} GISLG_HIST_NATIONAL_BOUNDARY; END GISLG_HIST_BNDR_CHANGES; ASSOCIATION GISLG_BNDR_PNT_MUNICIPALITY_CH = GISLG_MUNICIPALITY_CH_UUID -- {1..*} GISLG_MUNICIPALITY_CH; GISLG_BOUNDARY_POINT_UUID -- {0..*} GISLG_NATIONAL_BOUNDARY_POINT; END GISLG_BNDR_PNT_MUNICIPALITY_CH; ASSOCIATION GISLG_BNDR_PNT_MUNICIPALITY_NC = GISLG_MUNICIPALITY_NC_UUID -- {1..*} GISLG_MUNICIPALITY_NC; GISLG_BOUNDARY_POINT_UUID -- {0..*} GISLG_NATIONAL_BOUNDARY_POINT; END GISLG_BNDR_PNT_MUNICIPALITY_NC; ASSOCIATION GISLG_BNDR_PNT_HIST_BNDR_PNT = GISLG_HIST_NAT_BNDR_POINT_UUID -- {0..1} GISLG_HIST_NAT_BOUNDARY_POINT; GISLG_NATIONAL_BOUNDARY_POINT -- {1} GISLG_NATIONAL_BOUNDARY_POINT; END GISLG_BNDR_PNT_HIST_BNDR_PNT; ASSOCIATION GISLG_BOUNDARY_POINT_CHANGES = GISLG_CHANGES_UUID -- {1} GISLG_CHANGES; GISLG_NATIONAL_BOUNDARY_POINT -- {1..*} GISLG_NATIONAL_BOUNDARY_POINT; END GISLG_BOUNDARY_POINT_CHANGES; ASSOCIATION GISLG_BNDR_PNT_BNDR_SGMNT_NC = GISLG_BNDR_SEGMENT_UUID -- {1..*} GISLG_BOUNDARY_SGMNT_NC; GISLG_BOUNDARY_POINT_UUID -- {1..*} GISLG_NATIONAL_BOUNDARY_POINT; END GISLG_BNDR_PNT_BNDR_SGMNT_NC; ASSOCIATION GISLG_CHANGES_NUMBERING_RANGE = GISLG_NUMBERING_RANGE_UUID -- {1} GISLG_NUMBERING_RANGE; GISLG_CHANGES -- {0..*} GISLG_CHANGES; END GISLG_CHANGES_NUMBERING_RANGE; ASSOCIATION GISLG_BOUNDARY_BNDR_SGMNT_NC = GISLG_BOUNDARY_SEGMENT_NC_UUID -- {1} GISLG_BOUNDARY_SGMNT_NC; GISLG_NATIONAL_BOUNDARY -- {1..*} GISLG_NATIONAL_BOUNDARY; END GISLG_BOUNDARY_BNDR_SGMNT_NC; ASSOCIATION GISLG_NATIONAL_BOUNDARY_CHANGE = GISLG_CHANGES_UUID -- {1} GISLG_CHANGES; GISLG_NATIONAL_BOUNDARY -- {1..*} GISLG_NATIONAL_BOUNDARY; END GISLG_NATIONAL_BOUNDARY_CHANGE; ASSOCIATION GISLG_NAT_BNDR_HIST_NAT_BNDR = GISLG_HIST_NAT_BOUNDARY_UUID -- {0..1} GISLG_HIST_NATIONAL_BOUNDARY; GISLG_NATIONAL_BOUNDARY -- {1} GISLG_NATIONAL_BOUNDARY; END GISLG_NAT_BNDR_HIST_NAT_BNDR; ASSOCIATION GISLG_IMP_NAT_BNDR_IMP_CHANGES = GISLG_IMP_CHANGES_UUID -- {1} GISLG_IMP_CHANGES; GISLG_IMP_NATIONAL_BOUNDARY -- {0..*} GISLG_IMP_NATIONAL_BOUNDARY; END GISLG_IMP_NAT_BNDR_IMP_CHANGES; ASSOCIATION GISLG_IMP_NAT_BNDR_PNT_CHANGES = GISLG_IMP_CHANGES_UUID -- {1} GISLG_IMP_CHANGES; GISLG_IMP_NAT_BOUNDARY_POINT -- {0..*} GISLG_IMP_NAT_BOUNDARY_POINT; END GISLG_IMP_NAT_BNDR_PNT_CHANGES; ASSOCIATION GISLG_HIST_BNDR_PNT_CHANGES = GISLG_CHANGES_UUID -- {1} GISLG_CHANGES; GISLG_HIST_NAT_BOUNDARY_POINT -- {1..*} GISLG_HIST_NAT_BOUNDARY_POINT; END GISLG_HIST_BNDR_PNT_CHANGES; ASSOCIATION GISLG_IMP_CHANGES_NUM_RANGE = GISLG_NUMBERING_RANGE_UUID -- {1} GISLG_NUMBERING_RANGE; GISLG_IMP_CHANGES -- {0..*} GISLG_IMP_CHANGES; END GISLG_IMP_CHANGES_NUM_RANGE; ASSOCIATION GISLG_BOUNDARY_SGMNT_NC_CTRY = GISLG_COUNTRY_UUID -- {1} GISLG_COUNTRY; GISLG_BOUNDARY_SGMNT_NC -- {1..*} GISLG_BOUNDARY_SGMNT_NC; END GISLG_BOUNDARY_SGMNT_NC_CTRY; ASSOCIATION GISLG_BNDR_SGMNT_LBL_POS_SGMNT = GISLG_BNDR_SEGMENT_NC_UUID -- {1} GISLG_BOUNDARY_SGMNT_NC; GISLG_BNDR_SGMNT_NC_LABEL_POS -- {0..*} GISLG_BNDR_SGMNT_NC_LABEL_POS; END GISLG_BNDR_SGMNT_LBL_POS_SGMNT; ASSOCIATION GISLG_BNDR_PNT_LB_POS_BNDR_PNT = GISLG_NAT_BOUNDARY_POINT_UUID -- {1} GISLG_NATIONAL_BOUNDARY_POINT; GISLG_NAT_BNDR_POINT_LABEL_POS -- {0..*} GISLG_NAT_BNDR_POINT_LABEL_POS; END GISLG_BNDR_PNT_LB_POS_BNDR_PNT; ASSOCIATION GISLG_BNDR_LB_POS_BNDR = GISLG_NAT_BOUNDARY_UUID -- {1} GISLG_NATIONAL_BOUNDARY; GISLG_NAT_BOUNDARY_LABEL_POS -- {0..*} GISLG_NAT_BOUNDARY_LABEL_POS; END GISLG_BNDR_LB_POS_BNDR; ASSOCIATION GISLG_COUNTRY_CONTACT = CONTACT_UUID -- {1} GISLG_CONTACT; GISLG_COUNTRY -- {1} GISLG_COUNTRY; END GISLG_COUNTRY_CONTACT; ASSOCIATION GISLG_MUNICIPALITY_CANTON_CH = GISLG_CANTON_CH_UUID -- {1} GISLG_CANTON_CH; GISLG_MUNICIPALITY_CH -- {1..*} GISLG_MUNICIPALITY_CH; END GISLG_MUNICIPALITY_CANTON_CH; ASSOCIATION GISLG_PROVINCE_NC_COUNTRY = GISLG_COUNTRY_UUID -- {1} GISLG_COUNTRY; GISLG_PROVINCE_NC -- {1..*} GISLG_PROVINCE_NC; END GISLG_PROVINCE_NC_COUNTRY; ASSOCIATION GISLG_MUNICIP_NC_PROVINCE_NC = GISLG_PROVINCE_NC_UUID -- {1} GISLG_PROVINCE_NC; GISLG_MUNICIPALITY_NC -- {1..*} GISLG_MUNICIPALITY_NC; END GISLG_MUNICIP_NC_PROVINCE_NC; ASSOCIATION GISLG_BOUNDARY_POINT_POINT = UUID_POINT -- {1} GISLG_NATIONAL_BOUNDARY_POINT; GISLG_RELATION_POINT_BOUNDARY_POINT -- {0..1} GISLG_RELATION_POINT_BOUNDARY_POINT; END GISLG_BOUNDARY_POINT_POINT; ASSOCIATION GISLG_BACKUP_POINT_POINT = UUID_BACKUP_POINT -- {1} GISLG_NATIONAL_BOUNDARY_POINT; GISLG_RELATION_POINT_BACKUP_POINT -- {0..1} GISLG_RELATION_POINT_BACKUP_POINT; END GISLG_BACKUP_POINT_POINT; ASSOCIATION GISLG_BOUNDARY_POINT_BCKUP_PNT = UUID_POINT -- {1..*} GISLG_RELATION_POINT_BOUNDARY_POINT; UUID_BACKUP_POINT -- {1..*} GISLG_RELATION_POINT_BACKUP_POINT; END GISLG_BOUNDARY_POINT_BCKUP_PNT; ASSOCIATION GISLG_BOUNDARY_POINT_ARTIFACT = GISLG_NAT_BNDR_POINT_UUID -- {1..*} GISLG_NATIONAL_BOUNDARY_POINT; GISLG_ARTIFACT_UUID -- {0..*} GISLG_ARTIFACT; END GISLG_BOUNDARY_POINT_ARTIFACT; ASSOCIATION GISLG_CONTACT_REPORTER_REL = GISLG_CONTACT_UUID -- {1} GISLG_CONTACT; GISLG_REL_CONTACT_REPORTER -- {0..1} GISLG_REL_CONTACT_REPORTER; END GISLG_CONTACT_REPORTER_REL; ASSOCIATION GISLG_CONTACT_CONTRACT_REL = GISLG_CONTACT_UUID -- {1} GISLG_CONTACT; GISLG_REL_CONTACT_CONTRACTOR -- {0..1} GISLG_REL_CONTACT_CONTRACTOR; END GISLG_CONTACT_CONTRACT_REL; ASSOCIATION GISLG_DAM_REP_CONTACT_REPORTER = GISLG_CONTACT_UUID_REPORTER -- {1} GISLG_REL_CONTACT_REPORTER; GISLG_DAMAGE_REPORT -- {1..*} GISLG_DAMAGE_REPORT; END GISLG_DAM_REP_CONTACT_REPORTER; ASSOCIATION GISLG_DAM_REP_CONTACT_CONTRACT = GISLG_CONTACT_UUID_CONTRACTOR -- {1} GISLG_REL_CONTACT_CONTRACTOR; GISLG_DAMAGE_REPORT -- {1..*} GISLG_DAMAGE_REPORT; END GISLG_DAM_REP_CONTACT_CONTRACT; ASSOCIATION GISLG_BNDR_PNT_DAMAGE_REPORT = GISLG_BOUNDARY_POINT_UUID -- {1..*} GISLG_NATIONAL_BOUNDARY_POINT; GISLG_DAMAGE_REPORT_UUID -- {0..*} GISLG_DAMAGE_REPORT; END GISLG_BNDR_PNT_DAMAGE_REPORT; ASSOCIATION GISLG_BNDR_SGMNT_NC_PARENT = GISLG_PRNT_BNDRY_SGMNT_NC_UUID -- {1} GISLG_BOUNDARY_SGMNT_NC; GISLG_REL_SEGMNT_PARNT_SEGMNT -- {1} GISLG_REL_SEGMNT_PARNT_SEGMNT; END GISLG_BNDR_SGMNT_NC_PARENT; ASSOCIATION GISLG_BNDR_SGMNT_NC_CHILD = GISLG_PRNT_BNDRY_SGMNT_NC_UUID -- {1} GISLG_BOUNDARY_SGMNT_NC; GISLG_REL_SEGMNT_CHILD_SEGMNT -- {1} GISLG_REL_SEGMNT_CHILD_SEGMNT; END GISLG_BNDR_SGMNT_NC_CHILD; ASSOCIATION GISLG_REL_SGMNT_PRNT_CHILD = GISLG_REL_SEGMNR_PRNT_UUID -- {1} GISLG_REL_SEGMNT_PARNT_SEGMNT; GISLG_REL_SEGMNT_CHILD_SEGMNT -- {1..*} GISLG_REL_SEGMNT_CHILD_SEGMNT; END GISLG_REL_SGMNT_PRNT_CHILD; ASSOCIATION GISLG_DAMAGE_DOC_DAMAGE_REPORT = GISLG_DAMAGE_REPORT_UUID -- {1} GISLG_DAMAGE_REPORT; GISLG_DAMAGE_DOCUMENT -- {0..*} GISLG_DAMAGE_DOCUMENT; END GISLG_DAMAGE_DOC_DAMAGE_REPORT; !! end of relationships !! ************************************************************************ END GISLG; !! end of Topic GISLG END GIS_SwissNationalBoundary. !! end of model