Statistics
| Revision:

svn-gvsig-desktop / tags / v1_11_0_Build_1305 / docs / FMap / FMap desarrollador.html @ 44118

History | View | Annotate | Download (4.8 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
<link href="../style.css" rel="stylesheet" type="text/css">
15
</HEAD>
16
<BODY LANG="es-ES" DIR="LTR">
17
<table width="91%" border="0">
18
  <tbody>
19
    <tr>
20
      <td class="Nivel2"><a href="#sistema"><strong><font color="#ffffff">SISTEMA DE TEMAS VECTORIALES DE FMAP </font></strong></a></td>
21
    </tr>
22
  </tbody>
23
</table>
24
<table width="91%" border="0">
25
  <tbody>
26
    <tr>
27
      <td class="Nivel2"><a href="#subcapa"><strong><font color="#ffffff">SUBCAPA DE OPERACIONES </font></strong></a></td>
28
    </tr>
29
  </tbody>
30
</table>
31
<p>&nbsp;</p>
32
<H1>&nbsp;</H1>
33
<H1><a name="sistema"></a>Sistema de temas vectoriales de FMap.</H1>
34
<P>Para distinguir capas de FMap de capas de software a las primeras
35
nos referiremos como &ldquo;temas&rdquo; a partir de ahora.</P>
36
<P>Un tema en FMap est&aacute; implementado en tres capas, desde
37
abajo hacia arriba, la capa de driver, la capa de adaptador y la capa
38
de interfaz.</P>
39
<P><BR><BR>
40
</P>
41
<CENTER>
42
        <TABLE WIDTH=299 BORDER=1 CELLPADDING=4 CELLSPACING=3>
43
                <COL WIDTH=136>
44
                <COL WIDTH=136>
45
                <TR VALIGN=TOP>
46
                        <TD WIDTH=136>
47
                                <P ALIGN=CENTER>Tema</P>
48
                        </TD>
49
                        <TD WIDTH=136>
50
                                <P ALIGN=CENTER>Operaciones</P>
51
                        </TD>
52
                </TR>
53
                <TR>
54
                        <TD COLSPAN=2 WIDTH=283 VALIGN=TOP>
55
                                <P ALIGN=CENTER>Adaptaci&oacute;n</P>
56
                        </TD>
57
                </TR>
58
                <TR>
59
                        <TD COLSPAN=2 WIDTH=283 VALIGN=TOP>
60
                                <P ALIGN=CENTER>Driver</P>
61
                        </TD>
62
                </TR>
63
        </TABLE>
64
</CENTER>
65
<P><BR><BR>
66
</P>
67
<P>La capa del driver viene definida por la implementaci&oacute;n de
68
una de las subinterfaces hijas de VectorialDriver, elegida en funci&oacute;n
69
de la naturaleza del origen de los datos (Base de datos, fichero,
70
servidor WFS). Adem&aacute;s de esta interfaz puede ser necesario
71
implementar otras interfaces adicionales que ayudan a la definici&oacute;n
72
del origen de datos (BoundedShapes). La &uacute;nica finalidad de
73
esta capa es la de extraer la informaci&oacute;n del origen de datos
74
f&iacute;sico en entidades propias de FMap y proporcionarselas a la
75
capa superior.</P>
76
<P>La capa de adaptaci&oacute;n viene definida por la interfaz
77
VectorialAdapter. Esta capa se encarga de, dada una implementaci&oacute;n
78
de la capa inferior (driver) proporcionar a la capa superior una
79
interfaz com&uacute;n, de forma que la capa superior pueda operar con
80
datos vectoriales de manera transparente a su origen de datos. &Eacute;sta
81
es la capa en la que se implementa toda la &ldquo;inteligencia&rdquo;
82
de la fuente de datos: cacheado, indexado espacial interno de FMap,
83
pool de conexiones, ...</P>
84
<P>La capa de interfaz consiste en todo aquello que accede a la capa
85
de adaptaci&oacute;n. Se puede subdividir en dos: la subcapa de tema
86
y la subcapa de operaciones.</P>
87
<P>La subcapa de tema es la que da &ldquo;personalidad&rdquo; al
88
tema. Esta capa se encarga de darle un nombre, asociar el tema con
89
una leyenda, darle capacidad de selecci&oacute;n, ...</P>
90
<P>Una de las funcionalidades que le da la subcapa de tema al mismo
91
es la de realizar operaciones sobre los datos, dando as&iacute; lugar
92
a la otra subcapa, la de operaciones.</P>
93
<P>La subcapa de operaciones est&aacute; definida por unas
94
estrategias y unos visitors que se explicar&aacute;n m&aacute;s
95
adelante. Baste decir que se encuentran en &eacute;sta los algoritmos
96
realizados sobre el adaptador (selecci&oacute;n por punto, selecci&oacute;n
97
por geometr&iacute;a, ...).</P>
98
<P>Para tener una visi&oacute;n m&aacute;s global del sistema de
99
capas de FMap se puede comentar que la interfaz DataStore de geotools
100
se situar&iacute;a en el nivel de Adaptaci&oacute;n.</P>
101
<H1><a name="subcapa"></a>Subcapa de operaciones</H1>
102
<P>Las operaciones que se pueden realizar sobre una capa vienen dadas
103
por la interfaz FeatureVisitor. En dicha interfaz se define una
104
operaci&oacute;n sobre una fuente de datos sin especificar la
105
estrategia de recorrido de las geometr&iacute;as (aleatoria,
106
secuencial, indexada, ...). La estrategia de recorrido viene definida
107
por la implementaci&oacute;n concreta de la interfaz Strategy. Dicha
108
clase implementar&aacute; una estrategia de recorrido y delegar&aacute;
109
la operaci&oacute;n en el FeatureVisitor concreto que operar&aacute;
110
sobre las geometr&iacute;as. 
111
</P>
112
<P>El recorrido se realiza sobre el adaptador, por lo que una
113
estrategia sirve para cualquier fuente de datos (para cualquier
114
implementaci&oacute;n de la capa driver). Por otro lado, el v&iacute;sitor
115
no define la estrategia de recorrido y por lo tanto es independiente
116
del tipo de acceso del adaptador (secuencial o aleatorio).</P>
117
<P><BR><BR>
118
</P>
119
</BODY>
120
</HTML>