Presentació i opcions | Caixa de diàleg de l'aplicació |
Sintaxi |
Aquesta aplicació generalitza les línies d'una capa de línies (ARC o VEC de línies).
Per defecte, l'aplicació garanteix que el procés de generalització dels arcs no produeixi interseccions entre ells, col·lapses d'arcs individuals que formen un recinte tancat (evitant que un anell esdevingui un punt) o altres canvis que alterin les relacions topològiques entre els objectes arc.
Cal que el fitxer que conté la capa d'arcs a generar sigui diferent del fitxer original.
El programa treballa amb fitxers en format ARC i VEC d'arcs. Si cal aplicar-lo sobre un fitxer en altres formats, es pot importar amb les eines del menú "Fitxer | Importació".
En el seu funcionament recomanat com a eina de generalització el programa procedeix encadenant dos algorismes:
En el primer d'aquests algorismes per a cada arc, el programa aplica a cada vèrtex un filtre de mitjana mòbil sobre la seva posició (sobre les seves coordenades XY); aquest filtre pren en consideració dos, quatre o sis vèrtexs veïns en el mateix arc (un, dos o tres a cada banda del vèrtex en qüestió, a escollir). Els vèrtexs de l'extrem de l'arc (nodes) no modifiquen la seva posició en cap cas. D'altra banda, quan el nombre de vèrtexs de la mitjana mòbil desitjada és menor al nombre de vèrtexs del polisegment analitzat, aquest polisegment no resulta modificat (per exemple un arc de cinc vèrtexs (comptant els nodes) no resultarà amb cap vèrtex modificat si apliquem una mitjana mòbil de sis vèrtexs). A més, mai un vèrtex és mogut més enllà de la tolerància indicada per l'usuari (en les mateixes unitats planimètriques de la capa, típicament en metres). Noteu que la mitjana mòbil suavitza la línia canviant la posició dels vèrtexs però no n'augmenta ni en redueix el seu nombre.
A continuació s'aplica el segon algorisme, que és el de Douglas-Peucker (que també té una tolerància particular, anomenada èpsilon), el qual sí que permet reduir el nombre de vèrtexs, però no modifica la posició dels vèrtexs que hagin romàs. Vegeu la referència de 1973 per a detalls sobre el seu funcionament.
Els dos algorismes, però, poder ser aplicats separadament per interessos de recerca o de docència, tot i que, com s'ha dit, els millors resultats s'obtenen amb la combinació consecutiva de tots dos.
GenVLin també permet indicar que si un objecte resultat interseca amb qualsevol dels preexistents, la generalització no s'accepta i es fa un segon intent de generalització tractant-lo en polisegments de 8 vèrtexs si és que és possible; després d'aquest segon intent, si algun d'aquests polisegments interseca amb algun objecte preexistent, s'adopta el polisegment de línia original.
En el cas del filtre de mitjana mòbil, l'usuari pot escollir els pesos que s'apliquen a cadascun dels vèrtexs anteriors i posteriors (és a dir, es pot modular la influència que tindran les coordenades dels vèrtexs veïns al llarg del mateix arc). Les possibilitats són:
En cas que la generalització no actuï, podria ser per culpa que els arcs estan formats per segments (2 vèrtexs cada arc) units per nodes de línia, ja que l'algorisme de Douglas-Peuker funciona sobre cada arc, sense considerar possibles altres arcs connectats a ell. En aquesta situació es pot valorar d'eliminar els nodes de línia amb l'opció 4 del programa LinArc abans de procedir a la generalització.
Per a més informació es pot consultar la següent referència:
Douglas D, T Peucker (1973) Algorithms for the reduction of the number of points required to represent a digitized line or its caricature, The Canadian Cartographer, 10(2), 112122. doi:10.3138/FM57-6770-U75U-7727.
Caixa de diàleg del GenVLin |