Presentació i opcions | Caixa de diàleg de l'aplicació |
Sintaxi |
Aquesta aplicació transfereix atributs des d'un base gràfica a una altra a través d'una relació geomètrica entre elles. Així, pot transferir atributs des d'una base de punts a una base de polígons o, viceversa, transferir als punts els atributs del polígon en el qual estan.
Un altre exemple és la transferència d'atributs des d'una base d'arcs a una base de polígons. En aquest cas els polígons poden rebre els atributs dels arcs que estan enterament al seu interior o bé els arcs rebran els atributs del polígon on són.
AtriTop permet efectuar operacions molt sofisticades de transferència d'atributs, tot i que algunes d'elles mai no seran necessàries. Probablement alguns exemples o consideracions que fem en aquesta ajuda us resultin complicats o innecessaris per a la vostra aplicació concreta, per la qual cosa fem notar que la comprensió de tots els exemples no és imprescindible per a la correcta utilització de l'aplicació. Només aquells usuaris amb necessitats avançades (per exemple reetiquetar polígons que presenten registres múltiples a partir de punts que també presenten registres múltiples i amb taules d'atributs d'estructura no idèntica) haurien d'intentar comprendre a fons la lògica i potencialitats d'aquesta aplicació.
En el cas de la transferència d'atributs d'un fitxer de punts a un altre, es permet dues opcions. La primera opció és que cada donador transfereix atributs al receptor més proper i la segona opció és que cada receptor rebi atributs del donador més proper. En aquest últim cas, és necessari assignar un nombre de donadors, que seran els més propers a considerar. Si el nombre és 1, es transfereixen directament els atributs del donador més proper al receptor, mentre que si el nombre és més gran que 1, es fa una mitjana (en el cas d'un camp numèric) o una moda (en la resta de tipus de camp) dels atributs dels donadors a considerar. En el cas particular que un o més donadors presentin registre múltiple, es fa prèviament una mitjana/moda dels atributs per cada objecte donador que passarà a ser un objecte donador amb un sol registre i els seus valors de mitjana/moda del seu únic nou registre recalculat seran els que entraran en el càlcul de mitjana/moda amb els altres donadors més propers a considerar. Per últim, en aquesta segona opció és possible, de moment només en cas que el nombre de donadors sigui 1, demanar que es transfereixin tots els registres a través del paràmetre especial /TRANSF_MULTI_REG.
Cal tenir present que AtriTop NO efectua canvis en la geometria o topologia dels fitxers; simplement en transfereix atributs en base a la seva posició geomètrico-topològica. Per tant, en els casos de transferència d'atributs entre polígons, o entre arcs i polígons, cal haver tallat prèviament els arcs i/o vores de polígon amb l'opció 2 de l'aplicació LinArc. Si prenem l'exemple d'arcs i polígons això es tradueix en el fet que cal que tots els arcs estiguin enterament dins d'un sol polígon.
Quan s'intenta etiquetar una base d'arcs amb la seva pròpia base de polígons, el comportament de l'aplicació canvia, i en aquest cas, es crea una nova taula que relaciona cada arc amb el polígon esquerre i dret i s'estableix un vincle dinàmic entre les tres taules de dades. De la mateixa manera, quan s'intenta etiquetar una base de polígons amb la seva pròpia base d'arcs, es crea una taula que relaciona cada polígon amb els arcs que l'hi fan de vora com a registre múltiple. Aquesta taula també informa si l'arc forma part de la vora exterior, si s'ha de girar per construir el polígon i l'índex d'anell. En aquest dos darrers casos el paràmetre NomResul1 és el nom d'aquesta nova taula, en lloc del nom de la capa de sortida. Aquesta informació només està continguda en el fitxer binari de polígons però aquest procediment permet explicitar-la per tal de poder fer operacions de veïnatge entre arcs i polígons.
La transferència d'atributs entre fitxers de punts i nodes es duu a terme mitjançant un criteri de proximitat, podent fixar l'usuari la distància planimètrica màxima a partir de la qual no es busquen més punts per afegir els seus atributs al node. Es crearà un nou camp a la base de dades de nodes amb la distància entre el punt donador i el node receptor. Dins aquest mode de transferència d'atributs entre fitxers de punts i nodes es pot demanar que, per aquells punts que no tinguin algun node prou a prop, s'intenti generar un nou node, dins la mateixa distància màxima, seguint el traçat d'un arc dels ja existents a la base receptora. S'intentarà tallar l'arc per un dels seus vèrtexs, i en cas que això no doni resultat, es tallarà l'arc pel lloc més proper al punt donador. Aquests nous nodes són ignorats per la resta de punts del fitxer donador. Tant a l'informe del procés com a la base de dades resultat, es marcaran els nous nodes amb "V" si el node s'origina d'un vèrtex, o "T" si es resultat de la divisió d'un arc.
En l'explicació següent es parla de fitxer donador com a fitxer etiquetador, de fitxer receptor com a fitxer etiquetat i de fitxer resultat com a fitxer resultat del procés d'etiquetat. El fitxer resultat té els mateixos elements gràfics que el fitxer receptor (idèntic gràficament) però te una base de dades alfanumèrica que és una barreja de la contribució de la base donadora i de la base receptora.
L'usuari pot triar el contingut de la base resultat indicant el NOM dels camps que formaran la base resultat i el NOM del camp de la base donadora i/o receptora al qual corresponen. A partir d'ara ens referim als camps enllaçats per aquesta correspondència com a camps lligats i al fitxer que els descriu com a fitxer de correspondències entre camps.
Aquest procediment dóna màxima flexibilitat, perquè no obliga a que el camp origen i destí tinguin el mateix nom. També permet l'eliminació de camps irrellevants i el canvi d'ordre dels camps entre la base receptora i la base resultat. En cas de no especificar aquest fitxer, l'aplicació generarà la base resultat a partir de TOTS els camps de la base receptora i de TOTS els camps 'temàtics' de la base donadora. Els noms de camps iguals entre la base receptora i donadora es consideren enllaçables. L'ample del camp resultat serà el màxim dels dos i si un d'ells és de tipus caràcter, el resultat serà de tipus caràcter. En cas d'enllaç entre dos camps numèrics, el nombre de decimals és el màxim dels dos.
La tria dels noms dels camps es fa amb un fitxer amb el següent format:
[BASE_RESULTAT] Camp1=NOM_RES1,NOM_REC1,NOM_DON1 Camp2=NOM_RES2,NOM_REC7,NOM_DON4 Camp3=NOM_RES2,NOM_REC3 Camp4=NOM_RES3,,NOM_DON2
La correspondència entre el camp identificador gràfic de la base resultat i la base receptora és implícit i no s'ha d'indicar (seria una correspondència com Camp0=ID_GRAFIC,ID_GRAFIC).
Aquesta tria només es podrà fer sobre els camps de la base principal però es conservaran els fitxers associats dels camps de la base donadora i receptora tenint prioritat la base donadora en cas de contradicció.
Cal notar que aquest procediment permet, tant la inclusió de noves etiquetes sobre un fitxer que ja ha estat etiquetat prèviament, com el reetiquetat des de zero d'un camp: Només cal esmentar-lo o no en el fitxer de correspondències entre camps:
Si es volen incloure noves etiquetes sobre el camp A cal fer:
[BASE_RESULTAT] Camp1=A,A,ASi es vol reetiquetar totalment (des de zero) el camp A cal fer:
[BASE_RESULTAT] Camp1=A,,Aaixò fa desaparèixer tots els atributs A de la base receptora.
L'algorisme seguit per la barreja de camps és el següent:
En el cas que en el resultat existeixin registres idèntics, s'eliminen les repeticions de registres. Aquestes repeticions poden ser fruit, tant de repeticions en les bases originals com de combinacions de camps de les dues bases que convergeixen a un mateix resultat.
Tot seguit es mostren alguns exemples del funcionament d'aquest algorisme: En tots ells se suposa que existeix una correspondència entre l'objecte gràfic 1 de la base receptora i l'objecte gràfic 2 de la base donadora. Només es mostren els registres d'aquests dos objectes. Tots els camps de la base receptora i donadora han estat inclosos llevat de l'identificador gràfic de la base donadora. Tots els noms de camp iguals estan lligats.
Exemple 1:
Receptor Donador Resultat ID_G A B C D ID_G A B E F ID_G A B C D E F 1 a b c d 2 a2 b2 e f 1 a b c d 1 a b1 c d1 2 a b1 e1 f1 1 a b1 c d1 e1 f1 1 a2 b2 e f
Exemple 2:
Receptor Donador Resultat ID_G A ID_G A B ID_G A B 1 a 2 a b 1 a b 1 a1 2 a b1 1 a b1 1 a1
Exemple 3:
Receptor Donador Resultat ID_G A B ID_G A D ID_G A B D 1 a b1 2 a d 1 a b1 d 1 a b 2 a d1 1 a b d 1 a b1 d1 1 a b d1
Exemple 4:
Receptor Donador Resultat ID_G A B ID_G E F ID_G A B E F 1 a b 2 e f 1 a b e f 1 a1 b1 2 e1 f1 1 a b e1 f1 1 a1 b1 e f 1 a1 b1 e1 f1
Exemple 5:
Receptor Donador Resultat ID_G A B E ID_G E F ID_G A B E F 1 a b 2 e f 1 a b e f 1 a1 b1 e1 2 e1 f1 1 a b e1 f1 1 a1 b1 e2 1 a1 b1 e1 f1 1 a1 b1 e2
Caixa de diàleg de l'AtriTop. |