Statistics
| Revision:

svn-gvsig-desktop / trunk / libraries / libFMap / docs / FMap desarrollador.html @ 4578

History | View | Annotate | Download (4.25 KB)

1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
2
<HTML>
3
<HEAD>
4
        <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=iso-8859-1">
5
        <TITLE></TITLE>
6
        <META NAME="GENERATOR" CONTENT="OpenOffice.org 1.1.1  (Linux)">
7
        <META NAME="CREATED" CONTENT="20050307;9023300">
8
        <META NAME="CHANGED" CONTENT="20050307;9551600">
9
        <STYLE>
10
        <!--
11
                @page { size: 21.59cm 27.94cm }
12
        -->
13
        </STYLE>
14
</HEAD>
15
<BODY LANG="es-ES" DIR="LTR">
16
<H1>Sistema de temas vectoriales de FMap.</H1>
17
<P>Para distinguir capas de FMap de capas de software a las primeras
18
nos referiremos como &ldquo;temas&rdquo; a partir de ahora.</P>
19
<P>Un tema en FMap est&aacute; implementado en tres capas, desde
20
abajo hacia arriba, la capa de driver, la capa de adaptador y la capa
21
de interfaz.</P>
22
<P><BR><BR>
23
</P>
24
<CENTER>
25
        <TABLE WIDTH=299 BORDER=1 CELLPADDING=4 CELLSPACING=3>
26
                <COL WIDTH=136>
27
                <COL WIDTH=136>
28
                <TR VALIGN=TOP>
29
                        <TD WIDTH=136>
30
                                <P ALIGN=CENTER>Tema</P>
31
                        </TD>
32
                        <TD WIDTH=136>
33
                                <P ALIGN=CENTER>Operaciones</P>
34
                        </TD>
35
                </TR>
36
                <TR>
37
                        <TD COLSPAN=2 WIDTH=283 VALIGN=TOP>
38
                                <P ALIGN=CENTER>Adaptaci&oacute;n</P>
39
                        </TD>
40
                </TR>
41
                <TR>
42
                        <TD COLSPAN=2 WIDTH=283 VALIGN=TOP>
43
                                <P ALIGN=CENTER>Driver</P>
44
                        </TD>
45
                </TR>
46
        </TABLE>
47
</CENTER>
48
<P><BR><BR>
49
</P>
50
<P>La capa del driver viene definida por la implementaci&oacute;n de
51
una de las subinterfaces hijas de VectorialDriver, elegida en funci&oacute;n
52
de la naturaleza del origen de los datos (Base de datos, fichero,
53
servidor WFS). Adem&aacute;s de esta interfaz puede ser necesario
54
implementar otras interfaces adicionales que ayudan a la definici&oacute;n
55
del origen de datos (BoundedShapes). La &uacute;nica finalidad de
56
esta capa es la de extraer la informaci&oacute;n del origen de datos
57
f&iacute;sico en entidades propias de FMap y proporcionarselas a la
58
capa superior.</P>
59
<P>La capa de adaptaci&oacute;n viene definida por la interfaz
60
VectorialAdapter. Esta capa se encarga de, dada una implementaci&oacute;n
61
de la capa inferior (driver) proporcionar a la capa superior una
62
interfaz com&uacute;n, de forma que la capa superior pueda operar con
63
datos vectoriales de manera transparente a su origen de datos. &Eacute;sta
64
es la capa en la que se implementa toda la &ldquo;inteligencia&rdquo;
65
de la fuente de datos: cacheado, indexado espacial interno de FMap,
66
pool de conexiones, ...</P>
67
<P>La capa de interfaz consiste en todo aquello que accede a la capa
68
de adaptaci&oacute;n. Se puede subdividir en dos: la subcapa de tema
69
y la subcapa de operaciones.</P>
70
<P>La subcapa de tema es la que da &ldquo;personalidad&rdquo; al
71
tema. Esta capa se encarga de darle un nombre, asociar el tema con
72
una leyenda, darle capacidad de selecci&oacute;n, ...</P>
73
<P>Una de las funcionalidades que le da la subcapa de tema al mismo
74
es la de realizar operaciones sobre los datos, dando as&iacute; lugar
75
a la otra subcapa, la de operaciones.</P>
76
<P>La subcapa de operaciones est&aacute; definida por unas
77
estrategias y unos visitors que se explicar&aacute;n m&aacute;s
78
adelante. Baste decir que se encuentran en &eacute;sta los algoritmos
79
realizados sobre el adaptador (selecci&oacute;n por punto, selecci&oacute;n
80
por geometr&iacute;a, ...).</P>
81
<P>Para tener una visi&oacute;n m&aacute;s global del sistema de
82
capas de FMap se puede comentar que la interfaz DataStore de geotools
83
se situar&iacute;a en el nivel de Adaptaci&oacute;n.</P>
84
<H1>Subcapa de operaciones</H1>
85
<P>Las operaciones que se pueden realizar sobre una capa vienen dadas
86
por la interfaz FeatureVisitor. En dicha interfaz se define una
87
operaci&oacute;n sobre una fuente de datos sin especificar la
88
estrategia de recorrido de las geometr&iacute;as (aleatoria,
89
secuencial, indexada, ...). La estrategia de recorrido viene definida
90
por la implementaci&oacute;n concreta de la interfaz Strategy. Dicha
91
clase implementar&aacute; una estrategia de recorrido y delegar&aacute;
92
la operaci&oacute;n en el FeatureVisitor concreto que operar&aacute;
93
sobre las geometr&iacute;as. 
94
</P>
95
<P>El recorrido se realiza sobre el adaptador, por lo que una
96
estrategia sirve para cualquier fuente de datos (para cualquier
97
implementaci&oacute;n de la capa driver). Por otro lado, el v&iacute;sitor
98
no define la estrategia de recorrido y por lo tanto es independiente
99
del tipo de acceso del adaptador (secuencial o aleatorio).</P>
100
<P><BR><BR>
101
</P>
102
</BODY>
103
</HTML>