- FITXER: Adreça del fitxer gràfic de la capa-full (arc,
                  pol, etc), relativa a la del fitxer REL i DBF de la
                  Multisèrie.
 
                  - ID_TEMA: Identificador del tema de la capa-full.
 
                  - ID_DATA: Any o versió de la capa-full. Per exemple, en
                  el cas de la Multisèrie 'Topogràfic' podria ser
                  v2.0, etc. i en el cas del Mapa de Cobertes del Sòl de
                  Catalunya podria ser 1993 o 2000.
 
                  - ID_FULL: A quin full correspon aquesta capa-full
 
                  - ID_TALL: A quin tall es correspon el full definit al
                  camp anterior
 
                
                Així per exemple alguns registres d'aquesta taula
                podrien ser:
                bt5mv20.dbf
                
                  
                    | 
                       FITXER 
                     | 
                    
                       ID_TEMA 
                     | 
                    
                       ID_DATA 
                     | 
                    
                       ID_FULL 
                     | 
                    
                       ID_TALL 
                     | 
                  
                  
                    | 
                       
                      f241x156\bt5mv20mm0f241156ac0r020.pnt 
                     | 
                    
                       AltimetriaCotes 
                     | 
                    
                       v2.0 
                     | 
                    
                       241-156 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                  
                  
                    | 
                       
                      f241x156\bt5mv20mm0f241156rv0r020.pnt 
                     | 
                    
                       PuntsReferenciaVertexsGeodesics 
                     | 
                    
                       v2.0 
                     | 
                    
                       241-156 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                  
                  
                    | 
                       
                      f241x156\bt5mv20mm0f241156an0r020.pnt 
                     | 
                    
                       AltimetriaTextosCorbesNivell 
                     | 
                    
                       v2.0 
                     | 
                    
                       241-156 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                  
                  
                    | 
                       … 
                     | 
                    
                       … 
                     | 
                    
                       … 
                     | 
                    
                       … 
                     | 
                    
                       … 
                     | 
                  
                  
                    | 
                       
                      f242x138\bt5mv20mm0f242138ac0r020.pnt 
                     | 
                    
                       AltimetriaCotes 
                     | 
                    
                       v2.0 
                     | 
                    
                       242-138 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                  
                  
                    | 
                       
                      f242x138\bt5mv20mm0f242138an0r020.pnt 
                     | 
                    
                       AltimetriaTextosCorbesNivell 
                     | 
                    
                       v2.0 
                     | 
                    
                       242-138 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                  
                  
                    | 
                       
                      f242x138\bt5mv20mm0f242138hn0r020.pnt 
                     | 
                    
                       HidrografiaToponimia 
                     | 
                    
                       v2.0 
                     | 
                    
                       242-138 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                  
                  
                    | 
                       
                      f242x138\bt5mv20mm0f242138mn0r020.pnt 
                     | 
                    
                       MediNaturalToponimia 
                     | 
                    
                       v2.0 
                     | 
                    
                       242-138 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                  
                
                Aquesta taula està relacionada
                amb altres taules (amb sufix prefixat) que contenen els
                vincles als RELs que defineixen les diferents sèries
                (AltimetriaCotes, PuntsReferenciaVertexsGeodesics, etc.
                seguint l'exemple) i els diferents fulls de la sèrie
                (241-156 i 242-138 del tall MTN/IGN-5m, seguint
                l'exemple).
                Les relacions amb aquestes
                altres taules són a partir de camps combinats, com s'anirà
                comentant en les següents seccions. Al fitxer REL de la
                Multisèrie es defineixen les relacions amb aquestes taules a
                través de camps 'simples', com habitualment. Això és
                suficient per a definir les relacions però no ho serà per a
                realitzar les comprovacions des del GeM+. El Gestor Universal de Metadades Geoespacials, en entrar a la pestanya "Metadades
                | Sèries" per a una Capa-Full que forma part de la
                Multisèrie realitza les comprovacions "estrictes"
                (usant la informació d'ambdós camps alhora).
                Metadades de la
                Multisèrie
                Per a qualsevol fitxer de
                metadades ara es defineixen unes entrades noves de metadades
                que permeten definir el nivell jeràrquic d'aquell conjunt
                de metadades. L'entrada de metadades que conté aquesta
                informació prové de l'estàndard ISO19115, s'anomena
                hierarchyLevel i es troba a la secció 'METADADES'. Pot
                prendre 2 valors: 005, per capa (valor per defecte), i 006,
                per sèrie (codis corresponents al code-list MD_ScopeCode de
                l'estàndard citat).
                Les metadades de la multisèrie
                es corresponen al nivell jeràrquic de sèrie, per tant al REL
                de la multisèrie hi trobarem:
                [METADADES]
                ; és un rel de SERIE
                hierarchyLevel=006
                En el model emprat
                s'utilitzaran tres tipus de series diferents: multisèrie,
                sèrie i full de sèrie. Tots ells tenen el mateix nivell
                jeràrquic 'Serie'. Utilitzem el membre
                hierarchyLevelName per a identificar amb noms prefixats el
                tipus de sèrie (segons ISO aquesta és una entrada de text
                lliure, però nosaltres hi reconeixerem alguns 'valors
                especials'). Per a les Multisèries al REL es
                desarà:
                [METADADES]
                ; és un rel de SERIE
                hierarchyLevel=006
                ; de tipus 'Multisèrie'
                hierarchyLevelName=##Multiserie##
                A les metadades també cal
                definir les relacions d'aquest conjunt de metadades amb
                altres conjunts de metadades. L'estàndard ISO defineix
                dues vies per a definir aquestes relacions:
                
                  - parentIdentifier: És
                  el FileIdentifier de la metadada de la qual aquesta
                  és una part. Es refereix al 'pare de les metadades'.
                  Només pot haver un parentIdentifier per conjunt de metadades
                  segons ISO. Això no resulta gaire adequat perquè voldrem,
                  des de la capa-full, explicar els tres 'pares' que
                  té: sèrie, full i multisèrie (la capa-full agafa metadades
                  de tots tres conjunts de metadades).
 
                  - aggregateInfo: aporta
                  informació sobre l'agregació de capes. És de
                  cardinalitat N i, per tant, ens permet definir tants nivells
                  d'agregació com sigui necessari. Es refereix a les dades
                  i no a les metadades.
 
                
                Usarem el
                parentIdentifier per referir-nos directament a la
                multisèrie des de les metadades de les capes-full, les sèries
                i els fulls de sèrie. En teoria cal desar el
                FileIdentifier de la metadada corresponent, però en el
                model MiraMon ens és més útil desar l'adreça relativa del
                REL de la multisèrie, que es desarà a la clau
                parentIdentifierFile1 del REL (clau "no ISO"). Les
                metadades de la multisèrie no defineixen cap valor en aquesta
                clau.
                [METADADES]
                ; és un rel de SERIE
                hierarchyLevel=006
                ; de tipus 'Multisèrie'
                hierarchyLevelName=##Multiserie##
                ; i per tant no té cap parentIdentifierFile1
                ; parentIdentifierFile1=
                Les metadades comunes a aquest
                nivell jeràrquic són, per exemple, part del títol
                (topogràfic), l'escala equivalent, etc.
                
                  
                  Esquema dels fitxers que
                  defineixen la Multisèrie
                 
                2.2 Definició de la sèrie
                Cadascuna de les sèries que
                formen la Multisèrie es defineix a partir d'un REL que
                conté les seves metadades. Hi ha un fitxer DBF que conté la
                llista de les sèries que formen la multisèrie. La taula pot
                tenir qualsevol nom però es recomana que sigui el mateix que
                el de la taula principal de la Multisèrie amb el sufix
                "_TemaData". Aquesta taula conté el nom de totes les
                sèries i indica quin és el REL que descriu les metadades de
                cada una d'elles. L'estructura de la DBF cal que
                tingui com a mínim uns camps de nom predefinits.
                Taula
                *_TemaData.dbf
                Aquesta taula conté els valors
                possibles de combinacions del camp 'Tema' i el camp
                'Data' de la taula anterior. Cada combinació correspon
                a una 'Serie'. Aquesta taula es relaciona amb la de la
                multisèrie a partir del camp combinat ID_TEMA-ID_DATA, que
                apareix a les dues taules. Els camps de la taula
                són:
                
                  - ID_TEMA: Identificador del
                  tema de la capa-full.
 
                  - ID_DATA: Any o versió de la
                  capa-full.
 
                  - FITXER: Adreça del fitxer
                  REL que defineix les metadades de la sèrie, relativa a la
                  del fitxer REL i DBF de la multisèrie.
 
                  - ORDRESERIE: Camp opcional
                  que permet indicar l'ordre dels registres si hi ha
                  perill de recuperar la taula en un ordre
                  incorrecte.
 
                  - MS_PARCIAL: Camp opcional
                  que indica el nom de la Multisèrie parcial a la qual pertany
                  aquesta sèrie. Aquest nom és lliure però evidentment ha de
                  ser diferent per a cada multisèrie parcial definida dintre
                  una multisèrie. Vegeu més informació a l'apartat
                  "Aspectes de visualització de la
                  Multisèrie".
 
                  - NIV_MS_PAR: Camp opcional
                  que indica el nombre de nivells (és a dir el nombre
                  d'iteracions de dibuixat) que conté la Multisèrie
                  parcial a la qual pertany aquesta sèrie. Aquest nombre és
                  lliure però evidentment ha de ser igual per a totes les
                  sèries de la mateixa Multisèrie parcial. Vegeu més
                  informació a l'apartat "Aspectes de visualització
                  de la Multisèrie".
 
                
                Així, per exemple, alguns
                registres d'aquesta taula podrien ser:
                
                  
                    | 
                       ID_TEMA 
                     | 
                    
                       ID_DATA 
                     | 
                    
                       FITXER 
                     | 
                  
                  
                    | 
                       PoblamentToponimiaPrincipals 
                     | 
                    
                       v2.0 
                     | 
                    
                       
                      PalSimb\bt5mv20mm0PoblamentToponimiaPrincipals_01ca.rel 
                     | 
                  
                  
                    | 
                       PoblamentToponimiaAltres 
                     | 
                    
                       v2.0 
                     | 
                    
                       
                      PalSimb\bt5mv20mm0PoblamentToponimiaAltres_01ca.rel 
                     | 
                  
                  
                    | 
                       MediNaturalToponimia 
                     | 
                    
                       v2.0 
                     | 
                    
                       
                      PalSimb\bt5mv20mm0MediNaturalToponimia_01ca.rel 
                     | 
                  
                  
                    | 
                       HidrografiaToponimia 
                     | 
                    
                       v2.0 
                     | 
                    
                       
                      PalSimb\bt5mv20mm0HidrografiaToponimia_01ca.rel 
                     | 
                  
                  
                    | 
                       PuntsReferenciaVertexsGeodesics 
                     | 
                    
                       v2.0 
                     | 
                    
                       
                      PalSimb\bt5mv20mm0PuntsReferenciaVertexsGeodesics_01ca.rel 
                     | 
                  
                  
                    | 
                       PoblamentPunt 
                     | 
                    
                       v2.0 
                     | 
                    
                       
                      PalSimb\bt5mv20mm0PoblamentPunt_01ca.rel 
                     | 
                  
                  
                    | 
                       AltimetriaCotes 
                     | 
                    
                       v2.0 
                     | 
                    
                       
                      PalSimb\bt5mv20mm0AltimetriaCotes_01ca.rel 
                     | 
                  
                  
                    | 
                       AltimetriaTextosCorbesNivell 
                     | 
                    
                       v2.0 
                     | 
                    
                       
                      PalSimb\bt5mv20mm0AltimetriaTextosCorbesNivell_01ca.rel 
                     | 
                  
                  
                    | 
                       … 
                     | 
                    
                       … 
                     | 
                    
                       … 
                     | 
                  
                  
                    | 
                       AltimetriaRelleuAltresPol 
                     | 
                    
                       v2.0 
                     | 
                    
                       
                      PalSimb\bt5mv20mm0AltimetriaRelleuAltresPol_01ca.rel 
                     | 
                  
                  
                    | 
                       TallCartograficArc 
                     | 
                    
                       v2.0 
                     | 
                    
                       
                      PalSimb\bt5mv20mm0TallCartograficArc_01ca.rel 
                     | 
                  
                  
                    | 
                       TallCartograficPol 
                     | 
                    
                       v2.0 
                     | 
                    
                       
                      PalSimb\bt5mv20mm0TallCartograficPol_01ca.rel 
                     | 
                  
                
                Metadades de la
                sèrie
                Les metadades de la sèrie es
                corresponen també al nivell jeràrquic de sèrie; per tant, a
                cada un dels RELs de sèrie (tants com registres a la taula
                bt5mv20_TemaData.dbf) hi trobarem:
                [METADADES]
                és un rel de SERIE
                hierarchyLevel=006
                Per a les Sèries, al REL es
                desarà hierarchyLevelName igual a sèrie:
                [METADADES]
                ; és un rel de SERIE
                hierarchyLevel=006
                ;de tipus 'Serie'
                hierarchyLevelName=##Serie##
                A les metadades també cal
                definir les relacions d'aquest conjunt de metadades amb
                altres conjunts de metadades. Com s'ha comentat abans,
                usarem el parentIdentifier per referir-nos a la
                multisèrie des de les metadades de les capes-full, les sèries
                i els fulls de sèrie. En aquest cas:
                [METADADES]
                ; és un rel de SERIE
                hierarchyLevel=006
                ; de tipus 'Serie'
                hierarchyLevelName=##Serie##
                ; i, per tant, el seu parentIdentifierFile1 és la
                Multisèrie
                parentIdentifierFile1=..\bt5mv20.rel
                També és necessari que el
                FileIdentifier de la Sèrie sigui un fixat: aquell que
                surt de la combinació del contingut dels camps ID_TEMA i
                ID_DATA corresponents (de la taula de definició de sèries)
                separats per un "_". Així, per exemple, el seu
                FileIdentifier de la primera sèrie de l'exemple
                (taula bt5mv20_TemaData.dbf), serà
                PoblamentToponimiaPrincipals_v2.0, i, per tant, la secció de
                metadades completa és:
                [METADADES]
                FileIdentifier=PoblamentToponimiaPrincipals_v2.0
                ; és un rel de SERIE
                hierarchyLevel=006
                ; de tipus 'Serie'
                hierarchyLevelName=##Serie##
                ; i, per tant, el seu parentIdentifierFile1 és la
                Multisèrie
                parentIdentifierFile1=..\bt5mv20.rel
                Algunes de les metadades
                comunes a tota una Sèrie són una part del títol, la descripció
                del llinatge i de les fonts del llinatge (a partir de quina
                informació i com es capturen les dades), una data general
                temàtica, l'estructura de la base de dades i la qualitat
                general de cada un dels camps de la base de dades,
                etc.
                Nota: la mida màxima del
                FileIdentifier és 253, i com que el de la sèrie es
                construeix a partir del contingut dels camps ID_TEMA i ID_DATA
                més el caràcter "_", CAL que la mida màxima
                d'aquests dos camps sumats sigui com a màxim
                252.
                
                  
                  Esquema dels fitxers que
                  defineixen la Sèrie
                 
                Ordre de visualització de
                les capes de la Multisèrie
                L'ordre de les sèries a la
                taula *_TemaData indica l'ordre de les capes en la
                visualització. Aquest ordre "mana" sobre l'ordre
                dels mapes i permet controlar correctament l'ordre de
                totes les capes, fins i tot aquelles que formen part de la
                Multisèrie i que no estaven presents en el primer dels fulls
                oberts al MiraMon. Com més amunt es trobi un registre a la
                taula *_TemaData, més amunt serà en l'ordre de capes.
                Aquest esquema de visualització és el tradicional en el qual
                l'ordre de capes és "estricte" en tant que es
                dibuixen tots el objectes d'una capa alhora i, després,
                els de la segon capa, i així fins al final. Si es desitja es
                pot indicar un camp ORDRESERIES que permeti reordenar la taula
                si hi ha perill de recuperar-la en un ordre de registres
                incorrecte en una selecció SQL (useu "order
                by").
                En alguns casos és necessari
                usar un esquema més complex de visualització ja que cal
                dibuixar els objectes d'algunes capes de manera combinada,
                en diverses "iteracions de dibuixat". Per exemple
                pot ser necessari dibuixar primer alguns objectes de la capa
                1, després alguns de la capa 2, després alguns de la capa 3,
                després la resta d'objectes de la capa 2, i finalment la
                resta de la capa 1 i la resta de la capa 3. Aquesta necessitat
                ha sorgit per a poder implementar correctament la
                visualització de la Multisèrie BT25M de l'ICGC, on cal
                combinar el dibuixat d'algunes de les capes de Vies de
                comunicació a fi de poder fer passar una carretera secundària
                per sobre o per sota d'una autopista, segons convingui,
                malgrat que els dos tipus d'entitats siguin en capes
                diferents.
                Per a implementar aquesta
                estratègia de visualització han estat necessàries diverses
                ampliacions a la primera versió del model. És necessari
                definir un camp nou (MS_PARCIAL) a la taula que descriu les
                sèries. Aquest camp està en blanc per a totes les sèries que
                no tenen cap visualització agrupada amb altres capes, i té un
                valor igual per a totes les sèries (i capes) del mateix grup
                que cal combinar. Totes les sèries que formen part de la
                mateixa Multisèrie Parcial han d'estar juntes a
                l'ordre de visualització.
                En el REL de cada capa-full que
                formi part d'una d'aquestes Multisèries Parcials és
                necessari que existeixi, a la secció [METADADES], una nova
                clau OrdreDintreMultiSerieParcial1. Aquesta clau indica,
                separats per comes, els identificadors gràfics dels objectes
                de la capa que cal dibuixar en cada una de les iteracions en
                què es pintaran les capes. S'anomenen Nivells de la
                Multisèrie parcial el nombre d'iteracions de dibuixat per
                a les capes que formen part de la Multisèrie parcial. Aquesta
                informació es desa al camp NIV_MS_PAR de la taula que descriu
                les sèries i ha de coincidir amb el nombre de separadors més
                un de la clau OrdreDintreMultiSerieParcial1 de les capes-full.
                En llegir la taula el MiraMon controla que tots els valors de
                les MSP d'igual nom siguin iguals i més grans que zero i
                avisarà si detecta inconsistències.
                Imaginem un exemple senzill amb
                només 3 sèries: "Vies urbanes"
                (ViesComunicacioViesUrbanes), "Vies convencionals"
                (ViesComunicacioViesConvencionals) i "Autopistes i vies
                preferents" (ViesComunicacioAutopistesViesPreferents) que
                formin part de la mateixa multisèrie parcial, anomenada
                "Vies de Comunicació" (ViesComunicacio). A la taula
                DBF sobre les sèries indicarà:
                bt25mv10_TemaData.dbf
                
                  
                    | 
                       ID_TEMA 
                     | 
                    
                       ID_DATA 
                     | 
                    
                       FITXER 
                     | 
                    
                       MS_PARCIAL 
                     | 
                    
                       NIV_MS_PAR 
                     | 
                  
                  
                    | 
                       ViesComunicacioViesUrbanes 
                     | 
                    
                       v1.0 
                     | 
                    
                       ... 
                     | 
                    
                       ViesComunicacio 
                     | 
                    
                       6 
                     | 
                  
                  
                    | 
                       ViesComunicacioViesConvencionals 
                     | 
                    
                       v1.0 
                     | 
                    
                       … 
                     | 
                    
                       ViesComunicacio 
                     | 
                    
                       6 
                     | 
                  
                  
                    | 
                       
                      ViesComunicacioAutopistesViesPreferents 
                     | 
                    
                       v1.0 
                     | 
                    
                       … 
                     | 
                    
                       ViesComunicacio 
                     | 
                    
                       6 
                     | 
                  
                
                Com s'ha
                indicat, cada REL de Capa-full que formi part d'aquesta
                multisèrie parcial indicarà l'entrada
                l'OrdreDintreMultiSerieParcial1 (a part de les
                informacions habituals d'aquesta secció, obviades aquí per
                claredat):
                REL de la
                capa full de la sèrie "Vies urbanes":
                [METADADES]
                OrdreDintreMultiSerieParcial1=0-0,1-7,8-5301,,5302-5303,
                REL de la
                capa full de la sèrie "Vies urbanes":
                [METADADES]
                OrdreDintreMultiSerieParcial1=,0-3,4-518,,,519-572
                REL de la
                capa full de la sèrie "Vies urbanes":
                [METADADES]
                OrdreDintreMultiSerieParcial1=0-0,1-12,13-245,,246-326,
                Així, segons
                l'exemple, a l'hora de dibuixar els elements, es
                dibuixaran en primer lloc l'objecte amb Identificador
                gràfic 0 de la capa-full de "Vies urbanes". En segon
                lloc no es dibuixaria cap objecte de la capa-full de
                "Vies convencionals" (noteu que no hi ha cap
                identificador gràfic abans de la primera coma). En tercer lloc
                es dibuixaria l'objecte amb Identificador gràfic 0 de la
                capa-full d'"Autopistes i vies preferents".
                Aquests objectes formarien el primer nivell (o iteració de
                dibuixat) de la multisèrie parcial "Vies de
                comunicació".
                Després de
                dibuixar els objectes de totes les capes pel primer nivell, es
                passaria al segon nivell de dibuixat on es dibuixarien els
                objectes de l'1 al 7 de la capa-full de "Vies
                urbanes", del 0 al 3 de la capa-full de "Vies
                convencionals" i de l'1 al 12 de la capa-full de
                sèrie "Autopistes i vies preferents". La seqüència
                ",," indica que no hi ha objectes en aquell nivell
                (iteració de dibuixat) en aquella capa. Al sisè nivell de
                dibuixat de la multisèrie parcial tan sols es dibuixarien els
                objectes 519-572 de la capa-full de "Vies
                convencionals".
                2.3 Definició
                del full de sèrie
                Cadascun del
                Fulls de Sèrie que formen la Multisèrie es defineix a partir
                d'un REL que conté les seves metadades. Hi ha un fitxer
                DBF que conté la llista dels Fulls de Sèrie que formen la
                multisèrie. La taula pot tenir qualsevol nom però es recomana
                que sigui el mateix que el de la taula principal de la
                Multisèrie amb el sufix "_FullTall". Aquesta
                taula conté el nom de tots els fulls de sèries i indica quin
                és el REL que descriu les metadades de cada un d'ells.
                L'estructura de la DBF cal que tingui com a mínim uns
                camps de nom predefinits.
                Taula
                *_FullTall.dbf
                Aquesta
                taula conté els valors possibles de combinacions del camp
                'Full' i el camp 'Tall' de la taula de la
                multisèrie. Cada combinació correspon a un 'Full de
                Sèrie'. Aquesta taula es relaciona amb la de la multisèrie
                a partir del camp combinat Full-Tall, que apareix a les dues
                taules. Els camps de la taula són:
                
                  - ID_FULL:
                  A quin full correspon aquell Full de
                  sèries
 
                  - ID_TALL:
                  A quin tall es correspon el full definit al camp
                  anterior
 
                  - FITXER:
                  Adreça del fitxer REL que defineix les metadades del full de
                  la sèrie, relativa a la del fitxer REL i DBF de la
                  multisèrie.
 
                
                Així, per
                exemple, alguns registres d'aquesta taula podrien
                ser:
                bt5mv20_FullTall.dbf
                
                  
                    | 
                       ID_FULL 
                     | 
                    
                       ID_TALL 
                     | 
                    
                       FITXER 
                     | 
                  
                  
                    | 
                       241-156 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                    
                       
                      f241x156\bt5mv20mm0f241x156r02_01ca.rel 
                     | 
                  
                  
                    | 
                       241-157 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                    
                       
                      f241x157\bt5mv20mm0f241x157r02_01ca.rel 
                     | 
                  
                  
                    | 
                       241-158 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                    
                       
                      f241x158\bt5mv20mm0f241x158r02_01ca.rel 
                     | 
                  
                  
                    | 
                       242-138 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                    
                       
                      f242x138\bt5mv20mm0f242x138r02_01ca.rel 
                     | 
                  
                  
                    | 
                       242-139 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                    
                       
                      f242x139\bt5mv20mm0f242x139r02_01ca.rel 
                     | 
                  
                  
                    | 
                       … 
                     | 
                    
                       … 
                     | 
                    
                       … 
                     | 
                  
                  
                    | 
                       316-082 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                    
                       
                      f316x082\bt5mv20mm0f316x082r02_01ca.rel 
                     | 
                  
                  
                    | 
                       316-083 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                    
                       
                      f316x083\bt5mv20mm0f316x083r02_01ca.rel 
                     | 
                  
                  
                    | 
                       316-084 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                    
                       
                      f316x084\bt5mv20mm0f316x084r02_01ca.rel 
                     | 
                  
                  
                    | 
                       317-081 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                    
                       
                      f317x081\bt5mv20mm0f317x081r02_01ca.rel 
                     | 
                  
                
                Es poden
                diferenciar dos grups de metadades associades a un
                Full-Tall.
                a)
                Metadades genèriques del tall
                
                  a.1)
                  Taula dels Talls cartogràfics
                  Existeix
                  una taula DBF que indica els diversos Talls Cartogràfics
                  disponibles i, per a cada un d'ells, quin és el fitxer
                  gràfic de polígons que conté el tall topogràfic. Típicament
                  aquest fitxer de polígons genera una divisió espacial en
                  trapezoides, com per exemple els talls de l'IGN. Però es
                  podria, sense cap problema pel model, utilitzar qualsevol
                  altra divisió, per exemple la divisió
                  comarcal.
                  
                    Tall.dbf
                  
                  
                    
                      | 
                         ID_TALL 
                       | 
                      
                         FITXER 
                       | 
                    
                    
                      | 
                         MTN/IGN-5m 
                       | 
                      
                         Tall_5m_IGN.pol 
                       | 
                    
                    
                      | 
                         MTN/IGN-25m 
                       | 
                      
                         Tall_25m_IGN.pol 
                       | 
                    
                    
                      | 
                         MTN/IGN-50m 
                       | 
                      
                         Tall_50m_IGN.pol 
                       | 
                    
                  
                  Típicament, totes les sèries de la multisèrie
                  estaran recolzades pel mateix tall i, per aquest motiu, la
                  taula Tall.dbf tindrà un sol registre. De fet, té sentit
                  tenir una taula general que defineixi tots els talls
                  existents i vinculi als diferents fitxers de polígons. Això
                  faria que les diferents multisèries poguessin usar aquest
                  mateix 'tesaurus' per a conèixer quin fitxer de
                  polígons han d'anar a buscar (segons el Tall que cada
                  multisèrie utilitzi). Per aquest motiu, aquesta taula ha
                  d'estar (típicament) situada en un carpeta més
                  'externa' a la de la multisèrie (a SI\Tesaurus, per
                  exemple) i que tingui tants registres com talls emprats per
                  les diferents multisèries (ex: MTN/IGN-5m, MTN/IGN-25m,
                  MTN/IGN-50m, etc.).
                  Per tant,
                  com que s'ha optat per a usar una taula que defineixi
                  els talls externs a la multisèrie, el REL de la multisèrie
                  ha de definir una relació amb aquesta taula. Aquesta relació
                  no és directa. El REL de la multisèrie conté les relacions a
                  les taules TemaData i FullTall, i des d'aquesta segona
                  es vincula a la taula Tall.dbf. Els vincles entre la taula
                  de la multisèrie i les dues primeres taules haurien de ser a
                  partir d'un camp combinat. De moment es deixen indicades
                  al REL a partir d'un enllaç simple. El vincle cap a la
                  taula Tall.dbf sí que és amb un sol camp
                  d'enllaç.
                  El
                  contingut del camp ID_FULL de la taula *_FullTall.dbf indica
                  quin és l'identificador d'ENTITAT del full dins el
                  fitxer de polígons indicat al camp 'FITXER' de la
                  taula Tall.dbf (el fitxer de polígons Tall_50m_IGN.pol a la
                  taula d'exemple).
                  L'aproximació utilitzada típicament en les
                  sèries realitzades amb anterioritat, era que existia per a
                  cada sèrie temàtica un tall cartogràfic diferent (i
                  repetit), que vinculava amb els mapes de cada Full per a una
                  Multisèrie concreta. Així existia un tall que obria tots els
                  fulls del topogràfic i un altre tall que obria tots els
                  fulls del MCSC. La implementació actual permet evitar
                  duplicar aquesta informació gràfica i descriure les
                  metadades de cada full de forma única.
                  a.2)
                  Taula principal del fitxer de polígons que defineix el
                  Tall
                  La capa
                  Tall_50m_IGN.pol defineix la geometria del tall. Generalment
                  els polígons són trapezoïdals però també poden ser polígons
                  de distribucions administratives, per exemple. En aquest
                  cas, el fitxer ha de ser de grups perquè cada entitat tingui
                  un sol registre. En ambdós casos també ha de tenir un camp
                  definit com a ID_ENTITAT.
                  Les
                  metadades referides a cada full del tall es troben
                  directament a la taula DBF del fitxer de polígons. És
                  necessari que aquests camps tinguin un nom de camp
                  particular per a conèixer quin es correspon a cada concepte
                  de metadades.
                  Les
                  metadades que es poden extreure de la taula del fitxer de
                  polígons que descriu el Tall Cartogràfic
                  són:
                  
                    Envolupant: S'extreu de la capçalera
                    del fitxer de polígons per a cada polígon. Si hi ha més
                    d'un registre pel mateix identificador d'entitat
                    (perquè no estan ciclats com a grups o perquè hi ha
                    multiregistre) aleshores l'envolupant es calcula com
                    l'envolupant "externa" als diferents
                    polígons.
                    Codis
                    de full: ha d'existir un camp definit com a
                    identificador d'entitat que s'usa a les altres
                    taules com a contingut del camp
                    'ID_FULL'.
                    Denominació del full: El nom del camp és
                    NOM_FULL. En versions antigues d'aquest document
                    havíem pensat a fixar el nom d'aquest camp a TOPONIM,
                    però al final s'ha posat aquest perquè a les bases de
                    referència disponibles a \\eclipta\SI (servidor intern
                    d'informació geogràfica) es diu així per la majoria de
                    fitxers de talls cartogràfics.
                   
                  Si aquesta
                  DBF té altres camps amb noms diferents, aquesta informació
                  serà consultable des del tall cartogràfic però no es podrà
                  'estirar' mai des de les metadades del full perquè
                  es desconeix quin 'sentit' té (almenys de
                  moment).
                  Les
                  metadades del Tall cartogràfic, que es troben a la taula
                  principal de la base de dades de polígons que defineix el
                  Tall, es correspon al nivell jeràrquic de capa. Per tant al
                  REL del fitxer de polígons que defineix el Tall cartogràfic
                  (Tall_50m_IGNP.rel) hi trobarem:
                  [METADADES]
                  ; és un rel de CAPA (valor per defecte)
                  ; hierarchyLevel=005
                  Per tant,
                  en el model emprat s'utilitzaran dos tipus de capes
                  diferents: capes que representen el tall cartogràfic i les
                  capes-full en si. Utilitzem el membre hierarchyLevelName per
                  a identificar amb un nom prefixat aquest primer tipus
                  especial de capa. Per tant, al REL del fitxer de polígons
                  que defineix el Tall cartogràfic (Tall_50k_IGNP.rel) hi
                  trobarem:
                  [METADADES]
                  ; és un rel de CAPA (valor per defecte)
                  ; hierarchyLevel=005
                  ; de tipus 'Tall'
                  hierarchyLevelName=##Tall##
                  A les
                  metadades també cal definir les relacions d'aquest
                  conjunt de metadades amb altres conjunts de metadades. Però
                  com s'ha comentat abans, el tall no hereta mai
                  metadades, és genèric i usat per diferents multisèries i per
                  tant no es vincula directament amb cap multisèrie (no té cap
                  membre parentIdentifier1 al seu
                  REL).
                  a.3)
                  Esquema dels fitxers que defineixen el Tall
                  cartogràfic
                  
                 
                b)
                Metadades per un Full-Tall
                Les
                metadades referides a totes les capes-full del mateix
                Full-Tall dins una multisèrie. Així, dues versions del MCSC
                tenen el mateix tall (i les metadades de topònim
                s'extreuen del mateix 'fitxer') i, en canvi, poden
                tenir diferents metadades en referir-nos-hi com a unitat
                Full-Tall dins una multisèrie (aquest no és el cas de
                l'exemple mostrat a la taula).
                Això ens fa
                arribar a algunes metadades de cada full, que són les
                definides als fitxers REL de cada full i tall concret per a
                cada multisèrie. Es podrien suportar diferents talls i per
                aquest motiu es descriuen aquí.
                El Full-Tall
                sí que hereta algunes metadades de la
                multisèrie.
                Les
                metadades del Full de Sèries (Full-Tall) es corresponen també
                al nivell jeràrquic de sèrie, per tant al REL de la sèrie hi
                trobarem:
                [METADADES]
                ; és un rel de SERIE
                hierarchyLevel=006
                Per als
                Fulls de Sèries al REL es desarà hierarchyLevelName igual a
                "Full":
                [METADADES]
                ; és un rel de SERIE
                hierarchyLevel=006
                ; de tipus 'Full'
                hierarchyLevelName=##Full##
                A les
                metadades també cal definir les relacions d'aquest conjunt
                de metadades amb altres conjunts de metadades. Com s'ha
                comentat abans, usarem el parentIdentifier1 per
                referir-nos a la multisèrie des de les metadades de les
                capes-full, les sèries i els fulls de sèrie. En aquest
                cas:
                [METADADES]
                ; és un rel de SERIE
                hierarchyLevel=006
                ; de tipus 'Full'
                hierarchyLevelName=##Full##
                ; i per tant, el seu parentIdentifierFile1...
                parentIdentifierFile1=..\ bt5mv20.rel
                ; ...és la Multisèrie
                També fixem
                que el FileIdentifier del Full de Sèries sigui un
                fixat, a aquell que surt de la combinació del contingut dels
                camps ID_FULL i ID_TALL corresponents (de la taula de
                definició de sèrie: *_FullTall.dbf) separats per un
                "_". Així per exemple, el REL del Full de
                Sèries:
                
                  bt5mv20_FullTall.dbf
                
                
                  
                    | 
                       ID_FULL 
                     | 
                    
                       ID_TALL 
                     | 
                    
                       FITXER 
                     | 
                  
                  
                    | 
                       241-156 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                    
                       
                      f241x156\bt5mv20mm0f241x156r02_01ca.rel 
                     | 
                  
                  
                    | 
                       241-157 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                    
                       
                      f241x157\bt5mv20mm0f241x157r02_01ca.rel 
                     | 
                  
                  
                    | 
                       241-158 
                     | 
                    
                       MTN/IGN-5m 
                     | 
                    
                       
                      f241x158\bt5mv20mm0f241x158r02_01ca.rel 
                     | 
                  
                
                Tindrà el
                FileIdentifier igual a 241-156_MTN/IGN-5m, és a dir,
                que la secció de metadades completa és:
                [METADADES]
                FileIdentifier=241-156_MTN/IGN-5m
                ; és un rel de SERIE
                hierarchyLevel=006
                ; de tipus 'Full'
                hierarchyLevelName=##Full##
                ; i per tant, el seu parentIdentifierFile1...
                parentIdentifierFile1=..\ bt5mv20.rel
                ; ...és la Multisèrie
                Nota: la
                mida màxima del FileIdentifier és 253, i com que el de
                la sèrie es construeix a partir del contingut dels camps
                ID_TEMA i ID_DATA més el caràcter "_", CAL que la
                mida màxima d'aquests dos camps sumats sigui com a màxim
                252.
                Relació del Full de Sèries amb el Tall
                cartogràfic corresponent
                Els Fulls de
                Sèrie fan referència directa al fitxer de polígons del Tall, i
                no només a la multisèrie per tal que les aplicacions no hagin
                de llegir les DBF relacionades amb la multisèrie cada
                vegada.
                D'altra
                banda, és necessari indicar a quin fitxer de polígons i
                polígon concret dins aquest fitxer (a partir de
                l'identificador d'entitat) es corresponen les
                metadades d'aquest Full-Tall. Aquesta informació es pot
                extreure de la taula de talls, però des del REL de sèrie
                hauria d'anar a buscar el REL de la multisèrie i després
                explorar les relacions d'aquest fins a arribar a la taula
                de Talls. És més útil que el Rel del Full de Sèries vinculi
                directament contra el fitxer de polígons que defineix el tall,
                i que indiqui també l'identificador d'entitat que
                indica a quin polígon concret d'aquell fitxer de polígons
                es refereix aquell Full de Sèries.
                Aquesta
                relació es fa a partir de la secció sobre informació
                d'agregació. Així, per tant, les metadades del Full de
                Sèries usen la secció aggregationInfo per a referir-se al
                fitxer de polígons del Tall corresponent. Els elements que té
                aquesta secció són:
                
                  - 
                    
                      aggregateDataSetName (opcional, tipus
                      CI_Citation): De moment no es fa servir. El dia que es
                      faci servir es posarà a una caixa independent
                      (CI_Citation) que ho tingui tot, i es refarà la pestanya
                      &lsquo"Identificació" del GeM+ perquè
                      tingui també aquesta estètica (totes les coses
                      juntes).
                    
                   
                  - 
                    
                      aggregateDataSetIdentifier (opcional,
                      tipus MD_Identifier): Igual que amb el
                      parentFileIdentifier, s'usa la clau pròpia
                      aggre...File, i a partir del fitxer REL ja es buscarà
                      l'identifier.
                    
                   
                  - 
                    
                      associationType (DS_AssociationTypeCode):
                      És l'únic element obligatori. En teoria aquest
                      element ha de formar part d'una llista de codis
                      predefinits, i pot prendre qualsevol d'aquests
                      valors.
                    
                   
                  - 
                    
                      initiative (opcional,
                      DS_InitiativeTypeCode): No és obligatori i també és una
                      llista de valors que s'oferiran als
                      usuaris.
                    
                   
                
                Així,
                l'usuari podrà definir que la capa forma part de tant
                agregats com vulgui (com diu l'estàndard). En cas que es
                vulgui relacionar el Full de Sèries amb el fitxer REL de la
                capa de polígons que defineix el Tall cartogràfic serà
                possible un d'aquests agregats per a descriure el Tall
                Cartogràfic.
                Això ho fem
                a partir de dos filtres. En primer lloc l'agregat que
                descriu el Tall Cartogràfic ha de tenir un valor determinat a
                l'element associationType: ha de ser LargerWorkCitation.
                En segon lloc, si el valor és el predefinit aleshores
                s'activarà un check: "És REL de Tall".
                Així, per una mateixa capa es pot definir més d'una capa
                agregada amb associació de tipus LargerWorkCitation però només
                una d'aquestes podrà tenir activat el check en
                qüestió.
                A part de
                les claus de la secció [METADADES] comentades abans, que
                descriuen el nivell jeràrquic i el tipus de sèrie del Full de
                Sèries, aquest fitxer REL usarà, per a indicar el Tall
                Cartogràfic relacionat:
                [IDENTIFICATION:AGGREGATION_INFO1]
                aggregateDatasetIdentifierFile=..\TallCarto\bt5mv20mm0Tall5m_01.pol
                ; de tipus partOfSeamlessDatabase
                associationType=003
                ; dels diferents agregats amb tipus
                'partOfSeamlessDatabase'
                ; aquest és el que defineix el fitxer de polígons amb el
                Tall
                EsRelDeTall=1
                [IDENTIFICATION:AGGREGATION_INFO2]
                aggregateDatasetIdentifierFile=...
                ; de tipus partOfSeamlessDatabase
                associationType=003
                ; dels diferents agregats amb tipus
                'partOfSeamlessDatabase'
                ; aquest NO defineix el fitxer de polígons amb el Tall
                ; EsRelDeTall=0 -> valor per defecte
                En cap dels exemples anteriors
                s'ha definit la initiative perquè pot prendre qualsevol
                valor i, per tant, l'usuari ja decidirà el que consideri
                convenient.
                Aquesta informació, però, és
                suficient per conèixer quin és el fitxer de polígons que
                defineix el tall cartogràfic, però no es coneix quin dels
                polígons del fitxer es correspon amb el Full que s'està
                descrivint (en l'exemple el Full de Sèries
                241-156_MTN/IGN-5m). Conèixer quin dels polígons del fitxer es
                correspon amb el Full de Sèries és necessari per a poder
                obtenir informació de la taula d'atributs del fitxer de
                polígons (p.ex. el topònim del full) sense haver de llegir les
                taules de la multisèrie (tal i com s'ha fet amb totes les
                informacions del model).
                Per a conèixer aquesta
                informació s'ha definit una nova clau en aquesta secció
                que es diu aggregateDataSetIdEntitat i que indica
                l'Identificador d'entitat que identifica quin els
                polígons del fitxer es correspon a aquest Full de Sèries.
                Aquesta clau només es llegirà i escriurà si la
                "informació d'agregació" és la que defineix el
                Tall cartogràfic (és a dir si EsRelDeTall=1). Des del GeM+ es
                veurà aquest identificador d'entitat però no es podrà
                modificar des de la pestanya que mostri la "informació
                d'agregació. Per tant, és necessari completar la secció
                [IDENTIFICATION:AGGREGATION_INFO1] de l'exemple
                anterior:
                [IDENTIFICATION:AGGREGATION_INFO1]
                aggregateDatasetIdentifierFile=..\TallCarto\bt5mv20mm0Tall5m_01.pol
                ; de tipus partOfSeamlessDatabase
                associationType=003
                ; dels diferents agregats amb tipus
                'partOfSeamlessDatabase'
                ; aquest és el que defineix el fitxer de polígons amb el
                Tall
                EsRelDeTall=1
                aggregateDataSetIdEntitat=241-156
                
                  
                  Esquema dels fitxers que
                  defineixen el Full de Sèries
                 
                2.4 Definició de la
                capa-full
                Cada capa pot formar part
                d'una multisèrie o no. La vinculació amb el model és des
                de la taula general de definició de la multisèrie, a partir
                del camp FITXER (on indica el nom i path de cada una de
                les capes gràfiques) i des de les metadades de cada capa, on
                s'indica de quina multisèrie forma part (element
                parentIdentifierFile1).
                Les metadades de la capa es
                corresponen també al nivell jeràrquic de capa, per tant al REL
                de la capa hi trobarem:
                [METADADES]
                ; és un rel de CAPA (valor per defecte)
                ; hierarchyLevel=005
                Per a una capa-full (o per una
                capa no relacionada amb cap sèrie) cartogràfic al REL es
                desarà hierarchyLevelName igual a "CapaFull", que és
                el valor per defecte:
                [METADADES]
                ; és un rel de CAPA (valor per defecte)
                ; hierarchyLevel=005
                ; de tipus 'CapaFull' (valor per defecte)
                ; hierarchyLevelName=##CapaFull##
                A les metadades també cal
                definir les relacions d'aquest conjunt de metadades amb
                altres conjunts de metadades. Com s'ha comentat abans,
                usarem el parentIdentifier per referir-nos a la
                multisèrie des de les metadades de les capes-full, les sèries
                i els fulls de sèrie. En aquest cas: [METADADES]
                ; és un rel de CAPA (valor per defecte)
                ; hierarchyLevel=005
                ; de tipus 'CapaFull' (valor per defecte)
                ; hierarchyLevelName=##CapaFull##
                ; i el seu parentIdentifierFile1...
                parentIdentifierFile1=..\bt5mv20.rel
                ; ...és la Multisèrie
                De la mateixa manera que el
                Full de sèries té una manera d'indicar directament el
                fitxer del tall cartogràfic, s'acorda que les capes-full
                fan referència a tots els seus pares, i no només a la
                multisèrie (idèntics motius que en el cas
                anterior).
                Això es fa a través de
                l'element aggregationInfo de les metadades. Els elements
                que té són:
                
                  - aggregateDataSetName
                  (opcional, tipus CI_Citation): De moment no es fa servir. El
                  dia que es faci servir es posarà a una caixa independent
                  (CI_Citation) que ho tingui tot, i es refarà la pestanya
                  "Identificació" del GeM+ perquè tingui també
                  aquesta estètica (totes les coses juntes).
 
                  - aggregateDataSetIdentifier (opcional, tipus
                  MD_Identifier): igual que amb el parentFileIdentifier,
                  s'usa una clau pròpia aggre...File, i a partir del
                  fitxer REL ja es buscarà l'identifier.
 
                  - associationType
                  (DS_AssociationTypeCode): és l'únic element obligatori.
                  En teoria aquest element ha de formar part d'una llista
                  de codis predefinits, i pot prendre qualsevol d'aquests
                  valors.
 
                  - initiative (opcional,
                  DS_InitiativeTypeCode): no és obligatori i també és una
                  llista de valors que s'oferiran als usuaris.
 
                
                Així, l'usuari podrà
                definir que la capa forma part de tants agregats com vulgui
                (com diu l'estàndard). En cas que la capa en qüestió formi
                part d'una multisèrie serà possible escollir dos
                d'aquests agregats per a descriure la Sèrie i el Full de
                Sèries.
                Això es fa a partir de dos
                filtres. En primer lloc l'agregat que descriu la Sèrie i
                el Full de Sèrie ha de tenir un valor determinat a
                l'element associationType.
                Sèrie: associationType ha de
                ser partOfSeamlessDatabase
                Full de sèries: associationType
                ha de ser LargerWorkCitation
                En segon lloc, si el valor és
                un dels dos predefinits (i la capa forma part d'una
                multisèrie) aleshores s'activaran uns checks de
                l'estil: "És el Full de Sèries del qual la capa forma
                part" o bé "És la Sèrie de la qual la capa forma
                part". Així, per una mateixa capa es pot definir més
                d'una capa agregada amb associació de tipus
                partOfSeamlessDatabase però només una d'aquestes podrà
                tenir activat el check en qüestió.
                Així, per una capa que forma
                part d'una multisèrie s'usarà, a més de la secció
                [METADADES] tal i com es mostra a la pàgina
                anterior:
                [IDENTIFICATION:AGGREGATION_INFO1]
                aggregateDatasetIdentifierFile=bt5mv20mm0f241x156r02_01ca.rel
                ; de tipus LargerWorkCitation
                associacionType=002
                ; dels diferents agregats amb tipus
                'LargerWorkCitation'
                ; aquest és el que defineix el Full de Sèries
                EsRelDeSerie=1
                [IDENTIFICATION:AGGREGATION_INFO2]
                aggregateDatasetIdentifierFile=..\PalSimb\bt5mv20mm0AltimetriaCotes_01ca.rel
                ; de tipus partOfSeamlessDatabase
                associacionType=003
                ; dels diferents agregats amb tipus
                'partOfSeamlessDatabase'
                ; aquest és el que defineix la Sèrie
                EsRelDeSerie=1
                [IDENTIFICATION:AGGREGATION_INFO3]
                aggregateDatasetIdentifierFile=...
                ; de tipus LargerWorkCitation
                associacionType=002
                ; dels diferents agregats amb tipus
                'LargerWorkCitation'
                ; aquest NO defineix el Full de Sèries
                ; EsRelDeSerie=0 (valor per defecte)
                [IDENTIFICATION:AGGREGATION_INFO4]
                aggregateDatasetIdentifierFile=...
                ; de tipus partOfSeamlessDatabase
                associacionType=003
                ; dels diferents agregats amb tipus
                'partOfSeamlessDatabase'
                ; aquest NO defineix la Sèrie
                ; EsRelDeSerie=0 (valor per defecte)
                ; i altres
                agregats diferents
                [IDE14:51 28/10/2013NTIFICATION:AGGREGATION_INFO5]
                aggregateDatasetIdentifierFile=...
                ; qualsevol dels tipus no 'predefinits'
                ; de tipus crossReference
                associacionType=001
                En cap dels exemples anteriors
                s'ha definit la initiative perquè pot prendre
                qualsevol valor i, per tant, l'usuari ja decidirà el que
                consideri convenient.
                El Gestor Universal de Metadades Geoespacials, en entrar a la pestanya "Metadades |
                Sèries" per a una Capa-Full que forma part de la
                Multisèrie comprovarà que aquestes informacions definides al
                REL de la Capa-Full siguin coherents amb el que informen les
                taules DBF que descriuen la Multisèrie.
                
                  
                  Esquema dels fitxers que
                  defineixen les Capes-Full