svn-gvsig-desktop / tags / v1_10_0_Build_1254 / docs / FMap / FMap desarrollador.html @ 45670
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> </p> |
32 |
<H1> </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 “temas” a partir de ahora.</P> |
36 |
<P>Un tema en FMap está 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ó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ón de |
68 |
una de las subinterfaces hijas de VectorialDriver, elegida en función
|
69 |
de la naturaleza del origen de los datos (Base de datos, fichero, |
70 |
servidor WFS). Además de esta interfaz puede ser necesario
|
71 |
implementar otras interfaces adicionales que ayudan a la definición
|
72 |
del origen de datos (BoundedShapes). La única finalidad de
|
73 |
esta capa es la de extraer la información del origen de datos
|
74 |
físico en entidades propias de FMap y proporcionarselas a la
|
75 |
capa superior.</P>
|
76 |
<P>La capa de adaptación viene definida por la interfaz |
77 |
VectorialAdapter. Esta capa se encarga de, dada una implementación
|
78 |
de la capa inferior (driver) proporcionar a la capa superior una |
79 |
interfaz común, de forma que la capa superior pueda operar con
|
80 |
datos vectoriales de manera transparente a su origen de datos. Ésta
|
81 |
es la capa en la que se implementa toda la “inteligencia” |
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ó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 “personalidad” al |
88 |
tema. Esta capa se encarga de darle un nombre, asociar el tema con |
89 |
una leyenda, darle capacidad de selecció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í lugar
|
92 |
a la otra subcapa, la de operaciones.</P>
|
93 |
<P>La subcapa de operaciones está definida por unas |
94 |
estrategias y unos visitors que se explicarán más |
95 |
adelante. Baste decir que se encuentran en ésta los algoritmos
|
96 |
realizados sobre el adaptador (selección por punto, selección |
97 |
por geometría, ...).</P> |
98 |
<P>Para tener una visión más global del sistema de |
99 |
capas de FMap se puede comentar que la interfaz DataStore de geotools |
100 |
se situaría en el nivel de Adaptació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ón sobre una fuente de datos sin especificar la
|
105 |
estrategia de recorrido de las geometrías (aleatoria,
|
106 |
secuencial, indexada, ...). La estrategia de recorrido viene definida |
107 |
por la implementación concreta de la interfaz Strategy. Dicha
|
108 |
clase implementará una estrategia de recorrido y delegará |
109 |
la operación en el FeatureVisitor concreto que operará |
110 |
sobre las geometrí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ón de la capa driver). Por otro lado, el ví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>
|