All possible DGP objects are described by the following INTERLIS 2 data model:
INTERLIS 2.2; MODEL DGP10 = DOMAIN SwissCoord = COORD 480000.000 .. 850000.000, 70000.000 .. 310000.000, ROTATION 2 -> 1; STRUCTURE DataProduct = !! name of data product, i.e. INTERLIS1, INTERLIS2 ProductName: MANDATORY TEXT*20; !! data model name ModelName: MANDATORY TEXT*80; !! selected topics as comma separated list or * TopicNames: MANDATORY TEXT*1024; !! geographic range as polygon Range: MANDATORY SURFACE WITH (STRAIGHTS) VERTEX SwissCoord; END DataProduct; STRUCTURE Customer = Name1: MANDATORY TEXT*40; Name2: TEXT*40; Street: MANDATORY TEXT*80; Zip: MANDATORY TEXT*20; City: MANDATORY TEXT*40; EMail: MANDATORY TEXT*40; END Customer; STRUCTURE Order = Customer: MANDATORY Customer; Product: MANDATORY DataProduct; END Order; STRUCTURE MetaData = ModelName: MANDATORY TEXT*255; !! DatasetName has to be unique for a given DataServer / ModelName. DatasetName: MANDATORY TEXT*255; !! Range is a bounding polygon around the dataset Range: MANDATORY SURFACE WITH (STRAIGHTS) VERTEX SwissCoord; END MetaData; CLASS Request (ABSTRACT) = User: MANDATORY TEXT*20; Password: MANDATORY TEXT*20; END Request; CLASS Response (ABSTRACT) = END Response; TOPIC DataServer = !! CalculatePrice Message CLASS CalculatePriceRequest EXTENDS Request = Product: MANDATORY DataProduct; END CalculatePriceRequest; CLASS CalculatePriceResponse EXTENDS Response = Price: MANDATORY 0.0 .. 1000000.0; Currency: MANDATORY TEXT*3; !! always CHF at the moment END CalculatePriceResponse; !! ExecuteProduct Message CLASS ExecuteOrderRequest EXTENDS Request = Order: MANDATORY Order; END ExecuteOrderRequest; CLASS ExecuteOrderResponse EXTENDS Response = !! Dataset contains the dataset zipped and base64 encoded. !! Dataset will be modelled by BLACKBOX BINARY with INTERLIS 2.3. Dataset: MANDATORY TEXT*1024; END ExecuteOrderResponse; !! Error Messages CLASS ErrorResponse EXTENDS Response = Message: MANDATORY TEXT*1024; END ErrorResponse; END DataServer; TOPIC PortalServer = !! MetadataUpload Message CLASS MetadataUploadRequest EXTENDS Request = Metadata: MANDATORY MetaData; END MetadataUploadRequest; CLASS MetadataUploadResponse EXTENDS Response = END MetadataUploadResponse; !! MetadataDelete Message CLASS MetadataDeleteRequest EXTENDS Request = ModelName: MANDATORY TEXT*255; DatasetName: MANDATORY TEXT*255; END MetadataDeleteRequest; CLASS MetadataDeleteResponse EXTENDS Response = END MetadataDeleteResponse; !! Error Message CLASS ErrorResponse EXTENDS Response = Message: MANDATORY TEXT*1024; END ErrorResponse; END PortalServer; END DGP10.