Autor: Dr. Joan Nunes. Universitat Autònoma de Barcelona
Promotor: Institut Cartogrà fic de Catalunya, 2013
Â
L'estructuració topològica és el procés automà tic que permet generar l'estructura d'arcs i nodes del graf pla corresponent a qualsevol conjunt de lÃnies i, en el cas que l'objectiu sigui obtenir polÃgons, formar els polÃgons a partir de reconèixer les seqüències d'arcs que formen els contorns tancats dels diferents polÃgons. En termes de model de dades espacial, l'estructuració topològica permet passar automà ticament del model vectorial de dibuix o del model vectorial sense topologia al model vectorial topològic (vegeu model de dades vectorial).
L'estructuració topològica té avantatges importants en el procés de creació i validació de dades espacials vectorials. En primer lloc, permet independitzar el procés de dibuix o digitalització del procés de validació de les dades vectorials, ja que és capaç de generar sempre una estructura d'arcs i nodes a partir de qualsevol conjunt de lÃnies. En segon lloc, permet detectar, automà ticament els errors de connectivitat de lÃnies existents en el conjunt de lÃnies originals i,  per tant, serveix per a validar i depurar qualsevol digitalització. En tercer lloc, genera informació espacial addicional, de carà cter topològic (connectivitat entre lÃnies i adjacència entre polÃgons), que s'afegeix a la informació geomètrica original i que pot ser utilitzada en diversos tipus d'anà lisis basades en les relacions topològiques, a més de servir per a validar la coherència espacial de les dades vectorials.
L'estructuració topològica és una funcionalitat caracterÃstica del programari de SIG professional, o d'altes prestacions.
Sumari:
Â
Â
Origen
Els conceptes de topologia o de teoria de grafs aplicats a l'estructuració de les dades espacials de tipus vectorial s'introduïren en els sistemes d’informació geogrà fica a mitjans de la dècada de 1960, precisament amb la finalitat de disposar d'una estructura de dades que permetés verificar la coherència espacial dels lÃmits entre polÃgons adjacents en una partició de polÃgons o mosaic (Loomis, 1965; Cook, 1967).
Una de les primeres estructures de dades topològiques operatives en el camp de la informació geogrà fica fou l'estructura de dades DIME, Dual Independent Map Encoding (Cooke and Maxfield, 1967), ideada entre 1965 i 1967 pel US Census Bureau per a enregistrar la definició espacial de la xarxa de carrers de les poblacions dels Estats Units, juntament amb altres lÃnies de lÃmit d'unitats censals, amb la finalitat de definir les à rees estadÃstiques del cens del 1970 (Smith, 1967). L'estructura de dades DIME utilitzava únicament segments rectes i enregistrava la topologia completa per a cada segment (node inicial i node final, i polÃgons a l'esquerra i a la dreta de cada segment), a més dels rangs d'adreces a cada costat del segment en el cas dels carrers. Les formes lineals més complexes es definien com a sèries de segments. El fet de basar-se en segments estrictes permetia una gran simplicitat i uniformitat d'emmagatzematge, ja que els elements grà fics es reduïen a dos vèrtexs (dos parells de coordenades), que alhora eren nodes, en tots els casos. La referència a dual independent en la denominació prové del fet que la codificació simultà nia de la topologia arc-node i de la topologia de polÃgons permet la verificació de la consistència de les dades per mitjà de dos procediments independents (mitjançant la connectivitat dels segments a través dels nodes i mitjançant la delimitació dels polÃgons resseguint els arcs).
La generalització dels principis topològics incorporats a l'estructura de dades DIME (Corbett, 1975) permeté a mitjans de la dècada de 1970 definir el model vectorial topològic (Peucker and Chrisman, 1975), aplicable tant a xarxes d'elements lineals com als lÃmits dels polÃgons d'una partició de polÃgons, i que permet representar tot tipus de formes lineals, grà cies al fet d'emmagatzemar per un costat la geometria, mitjançant la llista de coordenades de cada arc, i per altre costat la topologia, mitjançant les referències dels nodes inicial i final i dels polÃgons esquerre i dret associats a cada arc. El pas d'una estructura simple, basada en segments, com DIME, que es pot codificar manualment, a una estructura apta per a qualsevol tipus d'elements lineals portaria a desenvolupar procediments per a generar automà ticament l'estructura d'arcs i nodes a partir de qualsevol conjunt de lÃnies.
Els primers algorismes d'estructuració topològica són també de mitjans de la dècada de 1970. Entre aquests destaquen els desenvolupats al Laboratory for Computer Graphics and Spatial Analysis de Harvard University, primer en el programa POLYVRT (White, 1977) i després en el programa ODYSSEY de finals de la dècada de 1970 (LCGSA, 1983), els quals posteriorment serien implementats en programes comercials de SIG com ArcInfo i altres a la dècada de 1980.
Definició
Establir la topologia arc-node d'un conjunt de lÃnies consisteix a identificar i enregistrar explÃcitament el punt inicial i el punt final (nodes) de cada lÃnia (arc), que també ha d'estar identificada individualment. En altres paraules, consisteix a explicitar i enregistrar el graf que formen el conjunt de lÃnies, enteses, independentment de la seva forma, com a connexions (arcs) entre els punts inicial i final de cada lÃnia (nodes).
Atès que la finalitat inicial de l'aplicació dels conceptes de la teoria de grafs als SIG fou poder representar els lÃmits dels polÃgons que formen una partició de polÃgons disjunta i exhaustiva en el pla, a fi de poder verificar-ne la consistència, la topologia arc-node es defineix estrictament com un graf pla (és a dir, un graf en què tots els elements, arcs i nodes, pertanyen o estan en el mateix pla). Això obliga necessà riament a intersecar totes les lÃnies originals, dividir-les en els punts d'intersecció, quan aquest no coincideix amb el punt inicial o final d'una lÃnia original, i considerar el punt d'intersecció com un node, en tant que punt inicial o final de les noves lÃnies (arcs) resultants de la intersecció. Dit d'un altra manera, en la topologia arc-node no hi pot haver lÃnies que es creuïn a diferents nivells, en diferents plans, és a dir, sense intersecar-se, tal com correspon als lÃmits d'un conjunt de polÃgons que divideixen exhaustivament (sense buits) un espai d'un mateix pla en à rees disjuntes (sense encavalcaments). Per aquest motiu, la topologia arc-node, i la topologia polÃgon-arc que en deriva, s'anomenen topologia plana (en anglès, planar topology) i el procés d'intersecció per a formar el graf pla constrenyiment planari (en anglès, planar enforcement). La conseqüència lògica del constrenyiment planar és que, a més de fer efectives totes les interseccions i dividir necessà riament les lÃnies en els punts d'intersecció, les lÃnies duplicades col·lapsen en un mateix arc. En el cas de lÃnies parcialment duplicades, només col·lapsa la part duplicada, es crea una intersecció (node) i es divideixen les linies originals allà on deixen de coincidir.
La topologia polÃgon-arc deriva de la topologia arc-node i consisteix a reconèixer explÃcitament els polÃgons situats respectivament a l'esquerra i a la dreta de cada arc, en el sentit determinat pel node inicial i pel node final de l'arc. Per aquest motiu, la topologia arc-node, a més de ser un graf pla és un graf orientat (és a dir, un graf en què els arcs tenen sentit, de manera que la connexió entre dos nodes reconeix explÃcitament l'inici i final, i no és necessà riament igual a la seva inversa). La informació de la topologia polÃgon-arc (polÃgon a l'esquerra i a la dreta de cada arc) permet definir i emmagatzemar els polÃgons per mitjà dels arcs, com a seqüències d'arcs connectats que formen contorns tancats (es a dir, que comencen i acaben en un mateix node) tot mantenint un polÃgon determinat en un mateix costat, segons el sentit dels arcs o invertint l'arc en cas necessari si ha estat dibuixar en sentit invers.
El procés d'estructuració topològica consisteix a generar la topologia arc-node per a un determinat conjunt de lÃnies, representades vectorialment com a llistes de coordenades, resolent totes les interseccions existents en el conjunt de lÃnies considerades en un mateix pla, dividint les lÃnies originals en els punts d'intersecció quan aquests no coincideixin amb els punts inicials o finals de les lÃnies originals, identificant de forma única cada arc i cada node, i identificant i enregistrant per a cada arc els seus nodes inicial i final.
Addicionalment, el procés d'estructuració topològica genera també la topologia polÃgon-arc a partir de la topologia arc-node i, encara que no és part del procés de creació de topologia, assigna també un atribut a cada polÃgon a partir dels punts d'etiqueta. Habitualment, els programes donen opció a triar si es desitja només topologia de lÃnies (arc-node) o topologia de polÃgons (polÃgon-arc), que requereix també prèviament la de lÃnies.
Cal remarcar, per últim, que l'estructuració topològica és un procés que, per poder generar la informació topològica del lÃmit compartit entre arcs i del lÃmit compartit entre polÃgons, crea nous elements espacials a partir dels elements (lÃnies) originals, modificant aquells i construint-ne de nous d'acord amb les regles de la topologia plana. En el cas de la topologia arc-node genera nodes i arcs, i en el cas de la topologia polÃgon-arc, genera nodes, arcs i polÃgons. En aquest sentit, és un procediment de construcció d'elements espacials que es creen segons un conjunt de regles fix a partir d'elements originals arbitraris, de manera que compleixen aquestes regles per definició i, per tant, el mateix procés de creació n'és també el procés de validació.
L'estructuració topològica dóna lloc necessà riament a un nou conjunt de dades, a part del conjunt de dades original, ja que els elements originals i els estructurats no poden coexistir en un mateix conjunt de dades.
Procediment de cà lcul
El procés d'estructuració topològica comprèn les fases de creació de la topologia arc-node, creació de la topologia polÃgon-arc i etiquetatge dels polÃgons. L'estructuració topològica de lÃnies comprèn només la primera fase, mentre que l'estructuració de polÃgons comprèn totes tres fases. Les dades de partida del procés d'estructuració topològica són un conjunt de lÃnies qualssevol, en el cas de l'estructuració topològica de lÃnies, i un conjunt de lÃnies i de punts d'etiqueta en el cas de l'estructuració topològica de polÃgons. Idealment l'etiquetatge de polÃgons hauria de ser opcional, ja que la identificació dels polÃgons és prèvia i independent a la identificació del punt d'etiqueta corresponent a cada polÃgon, de manera que seria opcional disposar o no de punts d'etiqueta a les dades de partida. A la prà ctica, la majoria de programes obliguen a usar punts d'etiqueta en el procés d'estructuració topològica de polÃgons i alguns fins i tot emmagatzemen els punts d'etiqueta de manera permanent i els usen com a substitut per a accedir als polÃgons.
Creació de la topologia arc-node
La topologia arc-node és la topologia bà sica en el model de dades vectorial topològic. És obligada tant en el cas d'estructuració de lÃnies com en el d'estructuració de polÃgons. El procediment de cà lcul comprèn els següents passos:
- cà lcul d’interseccions de lÃniesÂ
- identificació de nodes (punts d’intersecció, i punts inicials i finals de les lÃnies originals)
- divisió de lÃnies en els nodes (punts d’intersecció)
- identificació d’arcs
- emmagatzematge de la topologia arc-node (node inicial i final de cada arc)
- marcatge dels nodes anòmals (nodes terminals i pseudonodes)Â
- cà lcul i emmagatzematge de la longitud dels arcs
Cà lcul d’interseccions de lÃnies
L'operació fonamental per a la creació de la topologia arc-node és el cà lcul d'interseccions de lÃnies (Douglas,1974; Little and Peucker, 1979; Lee and Preparata, 1984). La resta de passos es limiten a assignar un identificador numèric únic a cada node i arc generat, i a emmagatzemar aquesta informació, conforme es va produint.
La intersecció de lÃnies és una operació estrictament geomètrica que es duu a terme mitjançant la resolució del sistema de dues equacions de primer grau corresponents als segments de recta que defineixen cada un dels parells de vèrtexs consecutius de les dues lÃnies a intersecar, tot comprovant que el resultat de la intersecció es trobi comprès dins dels dos segments i no sigui un punt virtual resultat de la prolongació dels segments. Hi ha un cert nombre de casos particulars a tenir en compte per tal de no obtenir resultats incommensurables (divisió per zero), com és ara els casos de lÃnies verticals o de lÃnies paral·leles, però es tracta d'un procés de cà lcul simple.
La complexitat apareix quan el nombre de rectes a intersecar esdevé molt gran, tenint en compte que les formes de les lÃnies poden ser molt elaborades (és a dir, contenir molts vèrtexs) i que dues lÃnies es poden creuar múltiples vegades. Igualment cal tenir en compte que també s'han de calcular com a interseccions els casos en que el punt final d'una lÃnia coincideix amb el punt final d'una altra lÃnia (és a dir, dues lÃnies ben connectades pels seus extrems durant el dibuix) o bé aquells en què el punt final d'una de les lÃnies cau enmig d'un segment de l'altra lÃnia sense coincidir amb cap vèrtex.
AÃxi, el nombre d'interseccions a resoldre esdevé realment molt gran. Si una lÃnia consta de n vèrtexs i l'altra de m vèrtexs, el nombre de segments de recta de cada lÃnia és respectivament n-1 i m-1, i per tant el nombre de sistemes d'equacions a resoldre per tal de detectar i calcular interseccions entre les dues lÃnies és de (n-1) x (m-1), ja que idealment cada segment de cada lÃnia s'ha de contrastar amb cada segment de l'altra lÃnia. Comptant que el conjunt de lÃnies original pot estar format per milers o desenes de milers de lÃnies i que la forma de cada lÃnia pot estar definida per centenars o milers de vèrtexs, el procés de cà lcul d'interseccions és un procés realment intensiu en termes computacionals. Per accelerar el procés i evitar haver de contrastar cada segment de cada lÃnia amb tots i cada un dels segments corresponents a la resta de lÃnies, els programes utilitzen diverses estratègies. La majoria es basen en la comparació del rectangle envoltant mÃnim de cada lÃnia amb els de la resta de lÃnies, a fi de descartar el cà lcul d'interseccions entre els parells de lÃnies en què no hi ha encavalcament entre els respectius rectangles envoltants mÃnims, i successivament en la comparació dels rectangles envoltants mÃnims dels segments de les dues lÃnies a fi d'anar descartant parells de segments i d'aïllar aquells en què cal fer el cà lcul per detectar si realment hi ha intersecció. Juntament amb aquest procediment, s'apliquen altres mètodes per accelerar el cà lcul, com és ara ordenar les lÃnies i els segments en ordre decreixent segons la coordenada y i processar el cà lcul per rangs de coordenades. Això estalvia haver de comparar tots els rectangles envoltants mÃnims, ja que només es comparen els que són dins del mateix rang de coordenades. També s'utilitza la descomposició de les lÃnies a intersecar en seccions monòtones, creixents o decreixents en x o en y, ja que dues seccions monòtones pertanyents a dues lÃnies diferents un cop s'han intersecat ja no poden tornar a intersecar.
També s'utilitza la descomposició de les lÃnies a intersecar en seccions monòtones, creixents o decreixents en x o en y, ja que dues seccions monòtones pertanyents a dues lÃnies diferents un cop s'han intersecat ja no poden tornar a intersecar.
Un segon aspecte important a considerar en les operacions d'intersecció de lÃnies és la necessitat de contemplar un cert marge d'incertesa, error o imprecisió en les coordenades dels vèrtexs de les lÃnies que defineixen els segments de recta a intersecar. Aquest marge de fluctuació dels valors de les coordenades s'implementa per mitjà del concepte de tolerà ncia, que és la distà ncia mÃnima per sota de la qual dos punts es consideren iguals, i és especialment rellevant a l'hora de resoldre els casos de lÃnies que connecten pels extrems o enmig d'un segment i també els casos de lÃnies duplicades. Com que no es pot determinar a priori quins casos requereixen o no l'aplicació d'un cert valor de tolerà ncia, el parà metre de tolerà ncia de correcció (fuzzy tolerance) s'aplica uniformement a les coordenades de tots els vèrtexs de totes les lÃnies en les operacions d'intersecció durant el procés d'estructuració topològica, i la majoria de programes no admeten que el valor de la tolerà ncia aplicada pugui ser zero ja que aleshores la simple discrepà ncia en els decimals deguda a la representació digital dels números reals que expressen els valors de les coordenades originaria errors de manca de connectivitat. Aquesta aplicació uniforme d'un valor de tolerà ncia no nul a tots els vèrtexs de totes les lÃnies d'un conjunt de dades en el procés d'estructuració topològica o en les operacions posteriors de processament en què cal recalcular la topologia del resultat origina el concepte de banda èpsilon, o banda de Perkal o banda d'error, formulat per Perkal l'any 1966, que és una banda d'una certa amplada definida pel valor de la tolerà ncia a l'entorn d'una lÃnia per a tenir-ne en compte la imprecisió o incertesa de les coordenades com a conseqüència d'errors de dibuix o de limitacions de precisió dels aparells de digitalització o de la mateixa representació digital dels números reals, de manera que una lÃnia passa a ser considerada una banda d'un cert gruix, la qual constitueix una representació més acurada o realista de la lÃnia.
La tolerà ncia de correcció aplicada durant el procés d'estructuració topològica permet resoldre petits errors de connectivitat comesos durant el procés de digitalització o de dibuix, com és ara lÃnies inacabades (undershoots), lÃnies sobrepassades (overshoots) o en general qualsevol discontinuïtat entre punts que provoca manca de connectivitat. Tanmateix el valor de tolerà ncia aplicat no pot ser gaire alt, ja que la tolerà ncia causa variació en la posició dels vèrtex i per tant un valor alt pot produir deformacions de les lÃnies i generar errors topològics o artefactes pel fet de col·lapsar punts que haurien de ser diferents. Un valor de referència a no sobrepassar és 0,2 mm multiplicat pel factor d'escala de l'original digitalitzat o de l'escala de presentació apropiada del conjunt de dades (per exemple, en el cas d'una cartografia a escala 1:5000, el valor de tolerà ncia mà xima a aplicar seria d'1 m, expressat en les unitats de les coordenades del mapa digitalitzat). Aquest valor prové del fet que el traç més fi sobre un mapa en paper sol ser de 0,2 mm i per tant conservar punts més propers entre sà que el mateix gruix del traç que representa la lÃnia no té sentit. RecÃprocament, aquest valor no deformarà el dibuix digital de la lÃnia ja que no eliminarà vèrtexs més pròxims entre si que el gruix del traç digitalitzat.
Hi ha diferents maneres d'aplicar el parà metre de tolerà ncia durant les operacions d'intersecció. La més simple és fer el promig entre les posicions dels punts que estan a una distà ncia inferior al valor de tolerà ncia. Altres implementacions permeten establir un criteri de prioritat, de manera que un dels punts manté la seva posició i és l'altre que s'ajusta i canvia la seva posició fent-la igual a la del punt que té la prioritat. En aquest cas, la tolerà ncia es comporta com la tolerà ncia d'ajust emprada durant el procés de dibuix. Els programes més sofisticats permeten establir diferents criteris de prioritat i diferents graus de prioritat.
Identificació d'arcs i nodes, i emmagatzematge de la topologia arc-node
Cada lÃnia és numerada de forma preliminar, aixà com cada un dels seus extrems. A mesura que el procés d'intersecció de lÃnies detecta punts d'intersecció, sigui en els extrems o en punts intermedis, els punts d'intersecció es renumeren de forma definitiva en tant que nodes i les lÃnies, originals o resultants de la divisió en les interseccions, reben la numeració definitiva en tant que arcs, a cada un dels quals s'associa la numeració dels nodes inicial i final.
Aquesta informació topològica s'emmagatzema amb cada arc, ja que per definició hi ha sempre i necessà riament un node inicial i només un per a cada arc i un node final i només un per a cada arc. Segons els programes la informació topològica de node inicial i node final de cada arc s'emmagatzema en la taula d'atributs dels arcs o en altres fitxers, juntament amb la geometria, o en ambdós.
Marcatge dels nodes anòmals
En la representació topològica dels lÃmits d'un conjunt de polÃgons adjacents per mitjà d'un graf, tot arc ha de connectar necessà riament amb un altre arc. Per tant, tot node en el qual no hi comença o acaba cap més arc és un error de connectivitat que indica o bé un error de tancament de polÃgons o bé un arc sobrer. Aquests nodes es marquen com a errors de tipus node penjant o node terminal, que després caldrà corregir.
En el cas que la topologia arc-node tingui per finalitat representar només una xarxa d'elements lineals connectats, els nodes penjants poden ser o no errors, ja que en una xarxa d'elements lineals hi ha situacions en què és inevitable que hi hagi nodes terminals (per exemple, la capçalera o la desembocadura d'un riu, o una carretera que acaba en un poble i no porta enlloc més). No obstant, en una xarxa d'elements lineals també hi pot haver nodes terminals que siguin conseqüència d'una manca de connectivitat. Per tant, cal marcar igualment tots els nodes penjants i inspeccionar-los posteriorment per tal de decidir quins són errors que cal corregir.
Un segon tipus de node anòmal que els programes d'estructuració topològica acostumen a marcar com a possible error són els pseudonodes. En aquest cas es tracta de nodes en els quals només hi connecten dos arcs. Els pseudonodes no són pròpiament errors, ja que mantenen la connectivitat entre arcs. Simplement són nodes que potencialment poden ser prescindibles atès que els dos arcs connectats per un pseudonode es podrien substituir per un sol arc i el pseudonode ser simplement un vèrtex més. En general, se solen deixar ja que no causen cap problema altre que l'excessiva fragmentació dels arcs, que si convé es pot corregir mitjançant l'eliminació de pseudonodes automà tica. No obstant, hi ha casos també en què és imprescindible mantenir els pseudonodes perquè marquen un canvi de valor d'un atribut dels arcs que comparteixen el pseudonode (per exemple, diferent lÃmit de velocitat al llarg d'una carretera, perquè el pseudonode en si mateix representa quelcom real (per exemple, les estacions al llarg d'una lÃnia de ferrocarril), o bé perquè són inevitables com en el cas d'un polÃgon aïllat, definit per un sol arc que comença i acaba en el mateix node. Alguns programes marquen aquest darrer cas, com un tipus de node diferent, el node d'anella. La resta de nodes, aquells en els quals connecten tres o més arcs es consideren nodes normals.
El procés de marcatge examina tots els nodes i compta el nombre d'arcs que incideixen en cada node per identificar els diferents tipus de nodes, normals o anòmals. En realitat, per fer-ho examina els arcs a través de la informació topològica de node inicial i final de cada arc, generada en el procés de creació de la topologia arc-node.
CÃ lcul i emmagatzematge de la longitud dels arcs
Un cop finalitzat el procés de creació de la topologia arc-node i es disposa dels arcs i nodes definitius, un darrer pas és calcular la longitud dels arcs. Aquesta és una propietat espacial de cada arc que es manté inalterada fins que no canviï l'arc i s'hagi de generar de nou la topologia arc-node. Per tant, els programes solen calcular-la i mantenir-la emmagatzemada, generalment dins de la taula d'atributs dels arcs, ja que es conservarà fins al següent cop que calgui aplicar el procés d'estructuració topològica.
El cà lcul de la longitud dels arcs és senzill. Simplement s'ha de calcular la longitud de tots i cada un dels segments de recta entre parells de vèrtexs consecutius de l'arc i sumar-les totes al final, La longitud de cada segment s'obté simplement aplicant la fórmula del teorema de Pità gores per al cà lcul de la distà ncia euclidiana entre dos punts. Aixà la fórmula general de la longitud d'un arc és:
L = å     (xi+1 - xi)2 + (yi+1 - yi)2 |
Creació de la topologia polÃgon-arc
La topologia polÃgon-arc només és necessà ria en el cas d'estructuració de polÃgons. Tanmateix, atès que aquest fou el cas inicial que motivà l'aplicació de la topologia en els SIG, es considera part del procés d'estructuració topològica per antonomà sia. El procediment de cà lcul de la topologia polÃgon-arc comprèn dues parts que consten dels següents passos (Burrough, 1986):
- construcció dels contorns
- creació del contorn exterior més general
- creació de la resta de contorns que depenen del contorn exterior més general
- repetició dels passos anteriors per a crear la resta de contorns exteriors i de contorns que en depenen
- construcció dels polÃgons
- identificació de relacions d'inclusió entre contorns exteriors
Quan es disposa de topologia arc-node, un contorn és una seqüència d'arcs que comença i acaba en un mateix node i defineix un recinte tancat o polÃgon elemental. Un polÃgon, però, pot contenir altres polÃgons al seu interior, és a dir forats que cal descomptar. Per tant un polÃgon pot estar format per un contorn general i un o més contorns interiors.
El procés de creació de polÃgons i de la topologia polÃgon-arc passa, doncs, per construir primer els contorns a partir dels arcs, construir després els polÃgons a partir dels contorns i, un cop es disposa dels polÃgons finals, identificar el polÃgon que hi ha a cada costat de cada arc d'acord amb el sentit de l'arc.
Construcció dels contorns
La construcció dels contorns a partir dels arcs comença per construir el contorn exterior més general. Un contorn exterior és un contorn format per una seqüència d'arcs que, presos tots en el mateix sentit (en sentit horari, per exemple), sempre tenen un mateix polÃgon en el costat esquerre. Són casos de contorns exteriors el contorn exterior general de tota l'à rea geogrà fica coberta per un conjunt de dades, en el cas que es tracti d'una à rea geogrà fica contÃnua (per exemple, una comarca sense enclavaments interiors ni exteriors), o bé cada un dels contorns exteriors generals en el cas que l'à rea geogrà fica sigui discontÃnua (per exemple, un conjunt d'illes urbanes). Els contorns de forats i polÃgons aïllats continguts dins d'altres polÃgons són casos també de contorns exteriors. En tots els casos el contorn exterior és un contorn que delimita una à rea aïllada dins d'un espai sense divisions, ja sigui en el buit o dins d'un altre polÃgon.
El procés de construcció de la topologia polÃgon-arc comença per identificar els contorns exteriors i després continua amb la identificació dels contorns dels polÃgons que subdivideixen l'à rea delimitada per cada contorn exterior. El primer contorn exterior a delimitar és el contorn exterior més general.
Creació del contorn exterior més general
La construcció del contorn exterior més general consisteix a resseguir la seqüència tancada d'arcs que el formen, aprofitant la informació topològica de connectivitat entre els arcs, començant sempre pel node més exterior (habitualment es considera el node de menor coordenada x i major coordenada y), sempre en sentit horari i sempre prenent l'arc més a l'esquerra de cada node travessat, fins arribar una altra vegada al node origen. Mentre es ressegueix la seqüència d'arcs es compta el nombre de vegades que es visita cada arc i cada node. Un cop completat el contorn exterior més general s'emmagatzema la llista ordenada d'arcs que el formen i es calcula la superfÃcie i el perÃmetre de l'à rea delimitada pel contorn, a mode de valors preliminars.
Creació de la resta de contorns que depenen del contorn exterior més general
Un cop es disposa del contorn exterior més general, es creen els contorns que depenen d'aquest. És a dir, de les à rees en què es subdivideix l'à rea delimitada pel contorn exterior. El procés consisteix igualment a resseguir seqüències d'arcs tancades, començant pel node en què s'ha originat el contorn exterior, sempre en sentit horari i sempre prenent l'arc més a la dreta de cada node travessat fins a arribar al node inicial. En acabar cada contorn el procés continua a partir del node següent en la seqüència del contorn que s'acaba de crear seguint els mateixos criteris. Durant tot el procés es continua portant el compte del nombre de vegades que es visita cada arc i cada node i en acabar cada contorn s'emmagatzema la llista d'arcs i es calculen la superfÃcie i el perÃmetre preliminars.
El procés de formació dels contorns dependents d'un contorn exterior finalitza quan tots els arcs a què es pot arribar des del node inicial del contorn exterior han estat visitats ja 2 vegades, atès que un arc és sempre i únicament el lÃmit entre dos polÃgons i per tant no pot pertà nyer a més de dos contorns.
Repetició del procés per a crear la resta de contorns exteriors i de contorns que en depenen
Quan s'ha completat la creació del primer contorn exterior i dels contorns que en depenen, s'examina la llista de nodes i aquells que han estat visitats 0 vegades són potencialment origen d'altres contorns exteriors. El procés es repeteix aleshores, seguint els mateixos criteris, per a delimitar la resta de contorns exteriors i de contorns que en depenen. El procés acaba quan no quedi cap node visitat 0 vegades.
Construcció dels polÃgons
La construcció dels polÃgons consisteix a determinar dins de quin contorn es troba inclòs cada contorn exterior per tal de poder establir la llista de contorns que defineix cada polÃgon i excloure'n els polÃgons corresponents als contorns interiors inclosos. La inclusió es determina per mitjà de l'algorisme de punt en polÃgon prenent qualsevol dels nodes del contorn per al qual es vol determinar dins de quin altre contorn és inclòs. El procés comença pel contorn d'à rea més petita, que és el més susceptible d'estar contingut dins d'un altre i continua pels d'à rees successivament més grans fins a examinar-los tots.
Per a cada contorn contingut dins d'un altre es dóna identificador al polÃgon que el conté. Un cop examinats tots els contorns exteriors i determinats en quin polÃgon estan continguts, s'emmagatzema la llista definitiva d'arcs que formen cada polÃgon afegint al contorn general del polÃgon les llistes d'arcs dels contorns continguts, que es marquen com a contorns a excloure, i es recalcula la superfÃcie i perÃmetre final de cada polÃgon
L'etiquetatge dels polÃgons, que consisteix a assignar un atribut a cada polÃgon per mitjà d'un punt d'etiqueta introduït durant el procés de digitalització, no forma part de la creació de la topologia polÃgon-arc. Els polÃgons queden completament definits i identificats un cop finalitzada la construcció dels polÃgons. La finalitat de l'etiquetatge dels polÃgons és simplement recuperar per a cada polÃgon el valor d'un atribut introduït durant el procés de digitalització. En aquest sentit, i en tant que final del procés d'estructuració de les dades procedents de la digitalització, l'etiquetatge dels polÃgons s'inclou com a pas final en el procés d'estructuració topològica de polÃgons a partir de la digitalització de lÃnies i de punts d'etiqueta.
El procés d'etiquetatge dels polÃgons consisteix simplement a determinar, per mitjà de l'algorisme de punt en polÃgon, dins de quin polÃgon és contingut cada punt d'etiqueta i transferir al polÃgon el valor de l'atribut associat al punt d'etiqueta.
Â
Errors topològics
Després de l'estructuració topològica, és necessari revisar en primer lloc els errors de nodes (connectivitat de lÃnies i per tant tancament de polÃgons) i corregir-los, la qual cosa implica editar el conjunt de lÃnies digitalitzades i tornar a refer la topologia, comprovant altre cop en acabar que no queden errors de nodes. Tots els errors de nodes es materialitzen en forma de nodes penjants, que en el cas d'estructurar polÃgons s'han d'eliminar completament, mentre que en el cas d'estructurar lÃnies caldrà admetre com a excepcions els orÃgens dels elements lineals.
Els pseudonodes, en la mesura que no interrompen la connectivitat de la lÃnia, es poden conservar o eliminar segons les necessitats posteriors de treball. En tot cas, si s'eliminen cal vetllar de respectar aquells que són necessaris per a mantenir correctament els valors dels atrributs dels arcs. El procés d'eliminació de pseudonodes és un procés automà tic.
Quan els errors de nodes estan ja resolts, té sentit, en el cas d'estructurar polÃgons, revisar els possibles errors d'etiquetes, ja siguin polÃgons sense cap etiqueta o polÃgons amb múltiples etiquetes. Abans no, ja que un suposat error d'etiquetes (per exemple, un polÃgon amb dues etiquetes) pot ser simplement la conseqüència d'un error de nodes (per exemple, un arc mal connectat que deixa oberts dos polÃgons com si fossin un de sol).
L'etiquetatge de polÃgons i la revisió d'etiquetes tot i no ser necessaris per a la creació de la topologia de polÃgons són útils per a revisar la correcció dels polÃgons creats, ja que ofereixen un procediment de comprovació addicional i permeten descobrir errors d'integritat de les dades que passarien inadvertits perquè no apareixen com a errors topològics, és a dir com a errors de nodes. AixÃ, l'existència de polÃgons sense etiquetes ajudar a detectar la formació de polÃgons artefacte causats per lÃnies connectades en punts incorrectes o de micropolÃgons causats per l'existència de lÃnies duplicades que no coincideixen exactament. D'altra banda, l'existència de polÃgons amb múltiples etiquetes pot revelar l'omissió d'algun arc durant el procés de dibuix que deixa sense separa dues à rees diferenciades.
La correcció dels errors d'etiquetes passa igualment per editar la digitalització original i per regenerar la topologia comprovant al final que no queden errors d'etiquetes. La correcció en aquest cas pot consistir en afegir o suprimir etiquetes, però també en modificar les lÃnies que han donat lloc a polÃgons falsos o afegir lÃnies que s'havien omès.
Flux de treball
El procés de treball quan es disposa de la funcionalitat d'estructuració topològica automà tica permet realitzar la digitalització de forma independent, atenent només a reproduir correctament les formes i a respectar al mà xim la connectivitat de les lÃnies, i realitzar la correcció d'errors després de l'estructuració topològica que els detecta i posa de manifest. El procés esdevé iteratiu en la mesura en què la correcció dels errors requereix editar els elements digitalitzats originals o bé els estructurats i tornar a refer l'estructura topològica per revisar si resten errors i repetir el procés fins que no en resta cap.
Â
Utilitat
L'estructuració topològica és un recurs fonamental en els sistemes d’informació geogrà fica (de fet, es va idear per a poder comprovar i assegurar la consistència de les representacions digitals). L'estructuració topològica intervé no sols en el procés inicial d'estructurar les dades digitalitzades sinó també en totes les operacions de geoprocessament que generen noves dades espacials per tal de garantir la coherència dels resultats i dotar-los també d'estructura topològica. Generalment només es troba disponible en els programes de SIG de nivell mitjà o avançat. Els programes més bà sics de SIG només ofereixen la digitalització directa d'elements simples, sense estructuració topològica.
Fins a finals de la dècada de 1990 ha estat el procediment bà sic per a dotar de topologia les dades geoespacials de tipus vectorial. De fet, encara que posteriorment han aparegut altres formes de definir, emmagatzemar i validar la informació topològica en els conjunts de dades vectorials, el procés d'estructuració es continua emprant com a procediment de base, ocult a l'usuari, per a generar ni que sigui temporalment l'estructura de dades per mitjà de la qual es valida la coherència topològica dels elements espacials i el compliment de les regles en què es basa la topologia definida. Igualment serveix de base per a les operacions de consulta per mitjà de predicats espacials
Temes relacionats
Referències
Burrough, P.A. (1986) Principles of Geographical Information Systems for Land Resources Assessment, Oxford, UK, Clarendon Press.
Cook, B. (1967) "A computer representation of plane region boundaries", Australian Computer Journal, 1, 44-50.
Cooke, D. F. and Maxfield, W. H. (1967) "The Development of a Geographic Base File and its Uses for Mapping" in Urban and Regional Information Systems for Social Programs: Papers from the Fifth Annual Conference of the Urban and Regional Information Systems Association. Kent, Ohio: Center for Urban Regionalism, Kent State University.
Corbett, J.P. (1975) "Topological principles in cartography", Proceedings of AUTOCARTO 2, Reston, Virginia: ASPRS.
Douglas, D.H. (1974) "It makes me so cross," in Marble, D.F.; Calkins, H. and Peuquet, D. (1984) (eds.) Basic Readings in Geographic Information Systems, Williamsville, New York: SPAD Systems Ltd.
Lee, D.T. and Preparata, F.P. (1984) "Computational geometry: a survey", IEEE Transactions on Computers, C-33(12),1072- 1101.
Little, J.J. and Peucker, T.K. (1979) "A recursive procedure for finding the intersection of two digital curves", Computer Graphics and Image Processing, 10,159-71.
Loomis, R.G. (1965) "Boundary networks", Communications of the Association for Computing Machinery, 8, 44-48.
Peucker, T.K. and Chrisman, N. (1975) "Cartographic data structures", American Cartographer, 2(1), 55-69.
Smith, C. (1967) "The New Haven Census Use Study: A General Description" in Urban and Regional Information Systems for Social Programs: Papers from the Fifth Annual Conference of the Urban and Regional Information Systems Association. Kent, Ohio: Center for Urban Regionalism, Kent State University.
White, D. (1977) "A new method of polygon overlay" in Dutton, G. H. (ed.) Proceedings of the Advanced Study Symposium on Topological Data Structures for Geographic Information Systems, Cambridge, Massachussets: Laboratory for Computer Graphics and Spatial Analysis, Harvard University.
LCGSA (1983) The ODYSSEY system summary, Cambridge, Massachussets: Laboratory for Computer Graphics and Spatial Analysis, Harvard University.
Lectures recomanades
Burrough, P.A. (1986) Principles of Geographical Information Systems for Land Resources Assessment, Oxford, UK, Clarendon Press. Chapter 2.
Chrisman, N. (1988) "The risks of software innovation: a case study of the Harvard Lab", American Cartographer, 15(3), 291-300.
Coppock, J.T. and Rhind, D.W. (1991) "The history of GIS" in Maguire, D.; Goodchild, M. and Rhind, D.W. (eds.) Geographical Information Systems. Principles and Applications, Harlow: Longman.
Peucker, T.K. and Chrisman, N. (1975) "Cartographic data structures", American Cartographer, 2(1), 55-69.