Web del MiraMon

Les sèries cartogràfiques al MiraMon


Simbolització de les sèries cartogràfiques Metadades de les sèries cartogràfiques

Una sèrie cartogràfica és un conjunt de fulls a una mateixa escala que cobreixen, adjacentment, la totalitat d'un territori des d'un mateix punt de vista (topografia, vegetació, geologia, etc.). En la cartografia convencional sobre paper les sèries existeixen perquè sovint, donat un territori d'una certa extensió i a una certa escala de representació, caldria un full massa gran per a representar-lo tot en un sol mapa. La divisió en fulls soluciona simultàniament dos problemes: la impossibilitat d'impressió en un paper extensíssim i la immanejabilitat pràctica de fulls molt grossos.

En la cartografia digital es pot tractar tot el territori com un espai totalment continu i oblidar la divisió en fulls. De fet, aquesta possibilitat és sovint presentada com un avantatge dels sistemes d'informació geogràfica (SIG) respecte a la cartografia convencional. Tanmateix, encara avui resulta interessant que els SIG suportin el tractament en fulls. Hi ha dues raons principals per a aquest fet:

  • En primer lloc hi ha una simple raó de tradició o, si voleu, de simetria amb la cartografia analògica: molts usuaris troben agradable que hi hagi una bona correspondència entre les unitats de tractament a l'ordinador i els mapes que tenen impresos (habitualment editats per algun centre productor de cartografia).
  • En segon lloc, quan la sèrie abasta un gran territori i té una escala molt detallada, fins i tot en els ordinadors més moderns resultaria poc pràctic si es tractés com una sola peça. Per exemple, en les càrregues remotes des d'una xarxa o en les interrogacions per atribut, la divisió en fulls resulta adequada perquè ens permet limitar l'abast territorial del material que volem consultar d'una forma ràpida i fàcil.

Tot i el que acabem de dir, la divisió en fulls presenta també coneguts inconvenients, principalment derivats de la fragmentació, i que el SIG ha d'intentar tractar de la forma més intel·ligent possible. El MiraMon dóna suport a les sèries cartogràfiques des del punt de vista de la representació i de la llegenda, però no des d'un punt de vista analític. És a dir, el MiraMon coneix l'existència de la sèrie i, gràcies a això, permet que un canvi de simbolització (color, etc.), un canvi d'estat de "visible", "consultable", "unificar visible/consultable", "copiable" o "connectable", un canvi de les escales de visualització, etc., es propagui a tots els fulls de la sèrie sense haver-lo d'explicitar full a full; també podeu indicar més d'un joc de simbolització per a tots els fulls de la mateixa sèrie de forma fàcil, però en canvi no permet propagar una consulta a tots els fulls de la sèrie. A més, el MiraMon també permet, disposar de metadades a nivell de sèrie cartogràfica.

Per altra banda, la llegenda és habitualment comuna a tota la sèrie i fóra inadequat que si tenim oberts 6 fulls aparegués 6 vegades la descripció de la llegenda de manera que simplement es fa aparèixer la descripció un sol cop.

El MiraMon manté les sèries cartogràfiques en un mateix "pla" d'ordre de capes, és a dir, en obrir una capa pertanyent a una sèrie o un mapa amb capes que pertanyen a una sèrie, reordena les capes obertes de manera que es dibuixen consecutivament amb les de la mateixa sèrie que ja estaven obertes; això resulta estèticament millor i és útil perquè en el gestor de capes apareixen agrupades totes les del mateix concepte (sèrie). Si l'usuari canvia l'ordre d'una capa, el MiraMon automàticament vetlla perquè les altres de la mateixa sèrie li quedin consecutives en l'ordre general de capes. Per últim, la sèrie té un títol identificatiu que s'utilitza en lloc del nom particular de cada full (per exemple un full constitutiu de la sèrie potser porta per títol "Mapa geològic 1:25000. Full 444-1-1. Riba-roja d'Ebre", però potser la sèrie s'ha de designar com a "Mapa geològic 1:25000").

En futures versions el MiraMon també donarà suport a les sèries cartogràfiques des d'un punt de vista analític, és a dir, donada una consulta per localització sobre un element que té continuïtat en altres fulls (per exemple un riu), la informació oferta serà relativa a tot el seu traçat, no només al full sobre el qual hem consultat. De manera similar, les consultes per atribut i altres operacions d'anàlisi detectaran que estem actuant sobre una sèrie i consideraran la continuïtat territorial dels elements.

Nota important relativa a les sèries topogràfiques:

Les sèries topogràfiques convencionals solen tenir diversos elements (corbes de nivell, hidrografia, vies de comunicació, etc.). Tot i que seria possible mantenir la sèrie original amb totes les capes en un sol fitxer gràfic (excepte si són de natura geomètrica diferent), aconsellem vivament que s'aprofiti la possibilitat d'estructurar en capes "temàtiques" les sèries topogràfiques convencionals.

Així, per exemple, els fulls del mapa topogràfic 1:5000 de Catalunya, numerats com a "AAAxBB", on "AAA" és el número de columna i "BB" el número de fila, es poden tenir en diverses capes amb la denominació "AAAxBBT", on T pot ser un codi temàtic (C per a corbes de nivell principals, S per a secundàries, H per a hidrografia, etc). Un full concret d'hidrografia pot ser el 297x89H.

Amb això es treballa amb fitxers més petits i les consultes, etc., són més específiques a la temàtica a tractar en cada moment (corbes de nivell, vies de comunicació, etc.). Si es desitja obrir totes les diferents temàtiques simultàniament, tal i com es veu en els fulls topogràfics impresos, l'opció correcta és definir un mapa el MiraMon que obri els fitxers adequats en cada cas (per exemple que obri 297x89C, 297x89S, 297x89H, etc.) i indicar, a través del paràmetre "SerieColorTextVisuLlegenda" que les característiques de visualització i tractament de la llegenda de totes les capes (C, S, H, etc.) segueixen els criteris de les sèries generals corresponents (vegeu més avall per a més detalls).

1. Especificacions tècniques de la simbolització de les sèries cartogràfiques

1.1. Com definir la sèrie

Les sèries cartogràfiques es defineixen a partir d'un fitxer REL en què s'especifiquen les seves característiques (títol descriptiu de la sèrie, com es visualitza, com s'ha de mostrar a la llegenda, etc.). Aquest fitxer no està directament associat a cap capa gràfica en concret, sinó que es considera vinculat a tots els fulls de la sèrie.

El fitxer REL que descriu la sèrie pot tenir qualsevol nom. La seva estructura general és similar a la d'altres fitxers REL i MMM: està organitzat en seccions i cada secció té un nom diferent, el qual és tancat entre claudàtors. Les seccions poden estar desordenades a l'interior del fitxer i no cal que totes estiguin presents.

Fins a la data d'aquest document, les seccions suportades són:

  • [DOCUMENT] -> Secció que descriu la documentació general de la sèrie.
  • [COLOR_TEXT] -> Secció que dóna diverses informacions que seran utilitzades per a conèixer les característiques de visualització de la sèrie.
  • [VISU_LLEGENDA] -> Secció que descriu com es mostra la sèrie a la llegenda.

A l'interior de cada secció hi ha una sèrie de paraules clau seguides d'un signe igual i d'un valor o cadena de caràcters. Fins a la data d'aquest document, les principals paraules clau suportades són:

En la secció [DOCUMENT]:

  • TitolSerie: Títol de la sèrie. És una descripció, de fins a 80 caràcters, que serà utilitzada per a identificar la sèrie.

En la secció [COLOR_TEXT]:

  • Vegeu l'entrada relativa a [VECTOR_#] de Descripció dels formats mapa (MMM, MMZ i MMZX) i plantilles del MiraMon, en les especificacions dels paràmetres de visualització. Noteu que si un fitxer pertany a una sèrie, aquesta secció té prioritat sobre la secció homònima del REL del fitxer específic (full).

En la secció [VISU_LLEGENDA]:

  • Vegeu l'apartat Control de la llegenda des dels fitxers MMM i REL dels Aspectes generals de visualització al MiraMon. En ell es detallen els paràmetres. Noteu que si un fitxer pertany a una sèrie, aquesta secció té prioritat sobre la secció homònima del REL del fitxer específic (full).

NOTA: Les seccions [COLOR_TEXT] i [VISU_LLEGENDA] poden ser copiades directament del REL d'un full qualsevol de la sèrie. Simplement vigileu que les adreces relatives de les paletes estiguin ben donades i que camps com ValorColor_0 i ValorColor_n_1 tinguin sentit per a tota la sèrie.

1.2. Com assignar un full a una sèrie

Mètode 1: Assignació plena

Per tal que un fitxer gràfic (un full concret) pertanyi a una sèrie simplement cal que en el seu fitxer REL aparegui la secció [SERIES_CARTO] i, en aquesta, la paraula clau Serie_1.

Per exemple, el fitxer 297x89C.ARC, que conté els arcs de les corbes de nivell principals (C) del full 297x89 del topogràfic 1:5000 de Catalunya, té un fitxer REL acompanyant (297x89Ca.REL) a dintre del qual podem incloure les dues línies següents:

[SERIES_CARTO]
Serie_1=Top5kC.rel

Observeu que Top5kC.rel és simplement el nom del fitxer REL que descriu la sèrie. Aquest fitxer es pot ubicar a altres directoris, discos o ordinadors si convé:

Serie_1=..\..\Series\Top5kC.rel
Serie_1=F:\Series\Top5kC.rel
Serie_1=\\SERVIDOR\Series\Top5kC.rel

La seva ubicació, quan s'expressi amb un path relatiu o sense path, se suposa que pren com a directori de referència el del REL del propi full.

Mètode 2: Assignació exclusivament des d'un Mapa MiraMon

De vegades pot ser convenient que un fitxer gràfic pertanyi a una sèrie quan és obert des d'un Mapa MiraMon, però no quan és obert com a fitxer individual. En aquest cas afegiu el paràmetre "SerieColorTextVisuLlegenda" a la secció que conté les característiques de visualització i tractament de la llegenda del fitxer en el mapa. En la següent secció trobareu consideracions addicionals i exemples concrets.

1.3. Sèries cartogràfiques i els Mapes del MiraMon

Com és sabut, els mapes MiraMon especifiquen els fitxers i característiques de visualització que conformen un cert mapa. Els paràmetres especificats en els mapes MiraMon tenen prioritat sobre els especificats en el fitxer REL d'una capa concreta. D'aquesta manera, tot i que cada capa té unes condicions de visualització per defecte, que s'apliquen quan la capa s'obre directament (per exemple a través de "Fitxer | Obrir vector estructurat"), sota una certa combinació de fitxers desada en un mapa, aquella capa pot tenir unes altres condicions de visualització si es desitja.

Per defecte, les sèries cartogràfiques segueixen el mateix criteri que les capes individuals: les especificacions del Mapa MiraMon (MMM) prevalen sobre allò indicat al REL de la sèrie. Quan desem un mapa, el MiraMon escriu les condicions de visualització de cada capa en aquell moment i es perd qualsevol vinculació amb els REL individuals o de sèries (excepte que, com s'explica més avall, s'activi l'opció "Mantenir sèries cartogràfiques").

En alguns casos, però, resulta interessant que el fitxer MMM no indiqui res sobre la visualització ni la llegenda, i es remeti a les característiques indicades al REL de la sèrie. Això és útil, per exemple, per a muntar els fulls d'un mapa topogràfic convencional basat en diverses sèries (capes) temàtiques d'hipsometria, hidrografia, etc. D'aquesta manera evitem haver d'especificar aquesta informació a cadascun dels MMM de la sèrie topogràfica i, el que és més important, podem efectuar canvis en la visualització de tota la sèrie topogràfica simplement canviant les especificacions als RELs de les sèries temàtiques que la componen (el REL de la sèrie d'hipsometria, el de la sèrie d'hidrografia, etc.).

Per a indicar aquesta dependència simplement activeu la casella Mantenir sèries cartogràfiques en la caixa de diàleg de desar el mapa. Quan aquesta casella està activada, el MiraMon afegeix al mapa el paràmetre SerieColorTextVisuLlegenda a la secció que conté les característiques de visualització i tractament de la llegenda de cadascuna de les capes (per exemple: C, S, H, etc.). El valor per defecte d'aquesta casella quan s'inicia el MiraMon pot ser configurat a partir del paràmetre MantenirSeriesCartografiquesEnMMM del fitxer MiraMon.par.

Per exemple, el fitxer 297x88.MMM, que conté les diferents capes temàtiques d'hipsometria, hidrografia, etc., del full topogràfic 297x88, podria tenir el següent aspecte:

[VECTOR_1]
Fitxer=SIG\Carto\Topo_5k\297x88C.arc
SerieColorTextVisuLlegenda=Top5kC.rel

[VECTOR_2]
Fitxer=SIG\Carto\Topo_5k\297x88H.arc
SerieColorTextVisuLlegenda=Top5kH.rel

etc.

D'aquesta manera, el MiraMon sap que la visualització de la capa 297X88C s'ha de governar pels criteris de la sèrie Top5kC, la de la capa 297X88H pels criteris de la sèrie Top5kH, etc.

ATENCIÓ: La ubicació dels fitxers de la sèrie se suposa relativa al directori del fitxer MMM, i no al directori del full. D'aquesta manera, un mateix full pot ser visualitzat segons diferents sèries (fitxers REL) ubicades en diferents directoris segons el fitxer MMM on sigui.

Aquesta estructura té l'avantatge addicional de poder emmagatzemar més d'un joc de simbolització per a tots els fulls de la mateixa sèrie de forma fàcil, consistent i ocupant un mínim espai de disc. Per exemple, en el cas anterior podríem tenir un segon fitxer, 297x88BN.MMM, que conté les mateixes capes temàtiques que el 297x88.MMM però especificant que voleu tots els elements en color negre. Això és útil, per exemple, per quan vulgueu imprimir els fulls a una impressora en blanc i negre (B/N) o sobre imatges fotogràfiques o de satèl·lit en color. El MMM en qüestió podria tenir el següent aspecte:

[VECTOR_1]
Fitxer=SIG\Carto\Topo_5k\297x88C.arc
SerieColorTextVisuLlegenda=Top5kCBN.rel

[VECTOR_2]
Fitxer=SIG\Carto\Topo_5k\297x88H.arc
SerieColorTextVisuLlegenda=Top5kHBN.rel

etc.

Els fitxers Top5kCBN.rel, Top5kHBN.rel, etc., contindran una secció [COLOR_TEXT] en què s'indicarà que es desitgen tots els colors constant i negres. Una altra utilitat, ja per a usuaris més avançats, del paràmetre SerieColorTextVisuLlegenda és permetre que un cert fitxer s'assigni a una sèrie només quan es carrega a través d'un mapa, però que no estigui assignat a cap sèrie quan s'obre com a capa individual. En efecte, el MiraMon suporta que existeixi el paràmetre SerieColorTextVisuLlegenda però que no existeixi la secció [SERIES_CARTO] en el REL del fitxer. Donat que els fitxers que són oberts i pertanyen a una sèrie es tracten solidàriament amb els altres fulls oberts de la sèrie, aquesta configuració pot ser útil si voleu tenir la possibilitat de tractar el fitxer de forma totalment deslligada de la sèrie: d'aquesta manera quan obriu en la forma normal, a través d'un MMM, és governat per les característiques de la sèrie, però quan l'obriu com a capa individual (per exemple a través de "Fitxer | Obrir vector estructurat") es tracta de forma totalment deslligada de la sèrie.

Precaució! L'activació de la casella "Mantenir sèries cartogràfiques" pot donar sorpreses si no es comprèn bé el seu funcionament. En efecte, tal i com hem explicat, si no està activada, el comportament és el normal en els mapes, és a dir, si heu modificat els colors, llegenda, etc, els valors modificats seran els que es desaran en el mapa i, quan el reobriu, apareixeran iguals a com eren quan els heu desat. En canvi, si la casella està activada, quan el reobriu, apareixeran els colors, llegenda, etc., estàndard de la sèrie, i no els de la visualització modificada. En altres paraules, si modifiqueu les característiques de visualització de la sèrie i deseu un mapa, no activeu aquesta opció perquè en reobrir el mapa no serà igual a com el veieu ara. En canvi, si deseu un mapa en el qual hi ha capes obertes que pertanyen a sèries cartogràfiques de les quals no heu modificat les condicions de visualització, l'activació de "Mantenir sèries cartogràfiques" té l'avantatge que si un dia s'afegeix als REL de la sèrie noves característiques o es decideix una altra presentació estàndard (per exemple corbes de nivell més gruixudes), la reobertura del mapa seguirà les normes estàndard de la sèrie.

Finalment, recordeu que també podeu optar per activar aquesta opció i crear manualment una nova sèrie de visualització i llegenda. Es pot seguir el següent protocol:

  1. Deseu un mapa "NOVAL.MMM" sense activar la casella "Mantenir sèries cartogràfiques". Deseu-lo en el directori on aniran els RELs de la sèrie o sèries a crear.
  2. Deseu un altre mapa amb el nom vàlid que desitgeu (per exemple "INFO_98.MMM") però activant la casella "Mantenir sèries cartogràfiques".

    Editeu amb el bloc de notes NOVAL.MMM i, a partir de les seccions corresponents, creeu un o més fitxers REL amb les seccions [COLOR_TEXT] i [VISU_LLEGENDA]. Utilitzeu com a model qualsevol REL de sèrie i/o les explicacions donades anteriorment sobre el format dels REL que descriuen les sèries. Tingueu present que les referències a relatives a altres fitxers (paletes de color, etc.) poden necessitar atenció especial si els RELs de la sèrie es desen en un directori diferent a aquell on heu desat NOVAL.MMM.

  3. Editeu amb el bloc de notes el fitxer mapa vàlid ("INFO_98.MMM") i escriviu, en totes les capes (seccions) que tinguin la clau "SerieColorTextVisuLlegenda", els noms dels RELs adequats (els que acabeu de crear en el punt anterior).
  4. Esborreu "NOVAL.MMM".

2. Especificacions tècniques de les metadades de les sèries cartogràfiques: definició de la multisèrie, de la sèrie, del full de la sèrie i de la capa del full

  • 2.1 Definició de la multisèrie

    La Multisèrie es defineix a partir d'un fitxer REL que conté les seves metadades i una taula DBF que conté la llista de capes-full que formen la multisèrie així com la descripció de quin tema, data i full (i de quin tall) correspon cada capa. L'estructura de la DBF cal que tingui com a mínim uns camps de nom predefinits.

    Taula *.dbf

    • 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