Revision 439 2.1/trunk/doc/Fase 1/dt-visor-3d.rst
dt-visor-3d.rst | ||
---|---|---|
110 | 110 |
|
111 | 111 |
* El componente `ViewPanel3D`_ integra un componente ``WorldWindowGLJPanel``. ``WorldWindowGLJPanel`` es autocontenido y su propósito es servir la aplicación WorldWind mostrando el modelo definido (globo y capas). |
112 | 112 |
* La librería posee unos archivos de configuración en XML que son cargados cuando la librería se registra. Estos archivos de configuración por un lado definen la clases que implementan los distintos servicios que ofrece la librería y por otro las capas que se cargan por defecto al crear un modelo básico. |
113 |
* Además de esta configuración, es necesario configurar unos parámetros espeficios para crear un ``WorldWindowGLJPanel`` esférico o plano. Esta configuración se realiza al instanciar un objeto `ViewPanel3D`_. Dependiendo del modo indicado como parámetro, se establece una configuración u otra.
|
|
113 |
* Además de esta configuración, es necesario configurar unos parámetros especificados para crear un ``WorldWindowGLJPanel`` esférico o plano. Esta configuración se realiza al instanciar un objeto `ViewPanel3D`_. Dependiendo del modo indicado como parámetro, se establece una configuración u otra.
|
|
114 | 114 |
* La obtención de las capas WW a partir de capas de gvSIG se realiza mediante la clase `LayerConverter`_ la cual permite obtener la capa equivalente en WW a partir de una capa de gvSIG para añadirla a las capas del modelo WW. Se ha implementa un nuevo tipo de capa llamado RasterTiledImageLayer la cual gestiona la peticiones de tiles en tiempo para que se obtengan los datos directamente desde el DAL de gvSIG. Esta gestión se realiza mediante los objetos ``DefaultRetrieverFactory``, ``DefaultRasterRetriever``, ``DefaultRasterServer``, ``DefaultDataRasterReaderFactory``, ``DefaultDataRasterReader`` y ``DefaultDataRaster``. |
115 | 115 |
|
116 | 116 |
SWING API |
... | ... | |
130 | 130 |
|
131 | 131 |
Crea un objeto `ViewPanel3D`_ pasándole como parámetro el MapContext y el tipo de panel. |
132 | 132 |
|
133 |
* createMapControl3D(MapContext mapContext, TYPE type) : MapControl3D |
|
134 |
|
|
135 |
Crea un objeto `MapControl3D`_ a partir del MapContext y el tipo. |
|
136 |
|
|
133 | 137 |
* getLayerProperties3D(FLayer layer) : LayerProperties3D |
134 | 138 |
|
135 | 139 |
Obtiene las propiedades asociadas a un capa. |
... | ... | |
138 | 142 |
|
139 | 143 |
Asigna las propiedades a la capa que recibe como parámetro. |
140 | 144 |
|
145 |
|
|
141 | 146 |
.. note:: |
142 | 147 |
Falta especificar las propiedades relacionadas con la vista, las propiedades generales y sus interfaces. |
143 | 148 |
|
144 | 149 |
MapControl3D |
145 | 150 |
~~~~~~~~~~~~~~~~~~~~~~ |
146 | 151 |
|
147 |
Define el API del componente 3D. |
|
152 |
Define el API del componente 3D. Esta clase representa el componente 3D del visor. Permite añadir y quitar capas, sincronizar capas y enfoques con la vista 2D enlazada, configurar la visibilidad de los componentes del visor. Además, a partir de un MapContext obtiene las capas y las convierte en DataRaster para enlazarlo a una capa WW. La capa WW que crea depende del tipo de capa, las capas raster serán RasterTiledImageLayer y las elevaciones DefaultElevationModel.
|
|
148 | 153 |
|
149 | 154 |
* getMapContext() : MapContext |
150 | 155 |
|
... | ... | |
194 | 199 |
|
195 | 200 |
Obtiene el ``ViewPort`` de la vista y realiza las transformaciones necesarias para el enfoque del visor 3D muestra la misma región. Hay que tener en cuenta si la opción "Animación en la sincronización de enfoques" esta marcada o no. En caso de que este marcada la sincronización se debe animar, en caso contrario, no. |
196 | 201 |
|
202 |
* synchronizeLayers() : void |
|
203 |
|
|
204 |
Comprueba que capas han sufrido cambios mediante el versionado del MapContext y la vuelve a recargar en el modelo del componente WW. |
|
205 |
|
|
197 | 206 |
* getAtmosphereVisibility() : boolean |
198 | 207 |
|
199 | 208 |
Obtiene la visibilidad del componente que representa la atmósfera. |
... | ... | |
214 | 223 |
|
215 | 224 |
Obtiene la visibilidad del componente que representa la escala. |
216 | 225 |
|
226 |
RasterTiledImageLayer |
|
227 |
________________________ |
|
228 |
|
|
229 |
Los pasos para obtener una capa RasterTiledImageLayer son los siguientes: |
|
230 |
|
|
231 |
* Configuración de los parámetros necesarios en un fichero XML para crear una capa del tipo RasterTileImageLayer. Los parámetros necesarios son: |
|
232 |
|
|
233 |
* DATA_CACHE_NAME: Nombre de la carpeta dentro de la cache donde se alojará los tiles generados en tiempo de ejecución. Este nombre debe ser único. |
|
234 |
* SECTOR: Zona geográfica del raster especificada en grados sobre la proyección EPSG:4326. |
|
235 |
* WIDTH: ancho en píxeles de la imagen raster. |
|
236 |
* HEIGHT: alto en píxeles de la imagen raster. |
|
237 |
* DISPLAY_NAME: Nombre de la capa. |
|
238 |
* FILE_STORE: almacén de archivos de la cache. Proporciona métodos para añadir / quitar localizaciones, buscar archivos, borra archivos... |
|
239 |
* IMAGE_FORMAT: formato de los tiles que se generan. |
|
240 |
* FORMAT_SUFFIX: sufijo de archivo de los tiles generados. |
|
241 |
|
|
242 |
Además de estos parámetros también es necesario añadir en tiempo de ejecución la capa gvSIG que se desea convertir de la cual se obtendrá la información para la creación de tiles mediante la clave GVSIG_LAYER. Por otra parte, existen parámetros opcionales que si no se asigna ningún valor la librería asigna el valor por defecto. Debido al gran número de parámetros configurables se resaltan los siguientes: |
|
243 |
|
|
244 |
* Opciones de capas: opacidad, máxima y mínima altura de activación... |
|
245 |
* Estructura de niveles de detalle: nivel máximo y mínimo de nivel de detalle, niveles inactivos... |
|
246 |
* Generación de tiles: tamaño del tile, origen del primer tile, extensión de los tiles generados... |
|
247 |
|
|
248 |
* Crear la capa de tipo RasterTileImageLayer a partir de los parámetros y añadirla al modelo. Al instanciar una nueva capa RasterTileImageLayer, se configura una factoría del tipo DefaultRetrieverFactory la cual permite la creación de objetos DefaultRasterRetriever. Dichos objetos son los encargados de realizar la distintas peticiones a un objeto DefaultRasterServer el cual es el encargado de servir la información procedente de un DataRaster genérico. |
|
249 |
|
|
250 |
DefaultElevationModel |
|
251 |
________________________ |
|
252 |
|
|
253 |
Los pasos para obtener una capa RasterTiledImageLayer son los siguientes: |
|
254 |
|
|
255 |
* Configuración de los parámetros necesarios en un fichero XML para crear una modelo de elevación ElevationModel. Los parámetros necesarios son: |
|
256 |
|
|
257 |
* DISPLAY_NAME: Nombre del modelo de elevación |
|
258 |
* SECTOR: Zona geográfica del raster especificada en grados sobre la proyección EPSG:4326. |
|
259 |
* WIDTH: ancho en píxeles de la imagen raster. |
|
260 |
* HEIGHT: alto en píxeles de la imagen raster. |
|
261 |
* FILE_STORE: almacén de archivos de la cache. Proporciona métodos para añadir / quitar localizaciones, buscar archivos, borra archivos... |
|
262 |
* IMAGE_FORMAT: formato de los tiles genera |
|
263 |
* DATA_TYPE: tipo de dato de la información del raster. |
|
264 |
* PIXEL_FORMAT: formato del pixel: AVKey.ELEVATION o AVKey.IMAGE |
|
265 |
* FORMAT_SUFFIX: sufijo de archivo de los tiles generados. |
|
266 |
|
|
267 |
Además de estos parámetros también es necesario añadir en tiempo de ejecución la capa gvSIG que se desea convertir de la cual se obtendrá la información para la creación de tiles mediante la clave GVSIG_LAYER. Por otra parte, existen parámetros opcionales que si no se asigna ningún valor la librería asigna el valor por defecto. Los parámetros opcionales son: |
|
268 |
|
|
269 |
* BYTE_ORDER: orden de los bytes. Little endian o big endian. |
|
270 |
* ELEVATION_MAX: elevación máxima y mínima. |
|
271 |
* ELEVATION_MIN: elevación mínima del raster. |
|
272 |
* EXPIRY_TIME: tiempo de expiración de un tile dentro de la cache. |
|
273 |
* MISSING_DATA_SIGNAL: Valor "no data" |
|
274 |
* MISSING_DATA_REPLACEMENT: Valor que se obtiene al obtener la elevación sobre un punto "no data". |
|
275 |
* NETWORK_RETRIEVAL_ENABLED: Indica el modo de trabajo online o offline. |
|
276 |
* ELEVATION_EXTREMES_FILE: ruta al fichero que contiene información sobre las elevaciones extremas. |
|
277 |
|
|
278 |
* Crear el modelo de elevación DefaultElevationModel a partir de lo parámetros y añadirlo al modelo ya existente. El modelo existente será de tipo CompoundElevationModel el cual permite añadir varios modelos de elevación y mostrarlos a la vez. Al instanciar un nuevo modelo de elevación, se configura una factoría del tipo DefaultRetrieverFactory la cual permite la creación de objetos DefaultRasterRetriever. Dichos objetos son los encargados de realizar las distintas peticiones a un objeto DefaultRasterServer el cual es el encargado de servir la información procedente de un DataRaster genérico. |
|
279 |
|
|
217 | 280 |
ViewPanel3D |
218 | 281 |
~~~~~~~~~~~~~~~~~~~~~~ |
219 | 282 |
|
... | ... | |
318 | 381 |
|
319 | 382 |
Interfaz que permite convertir una capa gvSIG en una capa WW. Este proceso depende del tipo de capa y el modo de carga definido. |
320 | 383 |
|
321 |
* convert(FLayer layer) : gov.nasa.worldwind.layers.Layer
|
|
384 |
* convert(FLayer layer) : gov.nasa.worldwind.layers.Data
|
|
322 | 385 |
|
323 |
Método que a partir de una capa gvSIG obtiene la capa correspondiente en WW.
|
|
386 |
Método que a partir de una capa gvSIG obtiene el data raster correspondiente.
|
|
324 | 387 |
|
325 |
DefaultRasterLayerConverter implements LayerConverter
|
|
326 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
388 |
DefaultLayerConverter |
|
389 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
327 | 390 |
|
328 |
Implementación de la interfaz LayerConverter que permite convertir una capa FLyrRaster en RasterTiledImageLayer mediante ``LayerConverter#convert(FLayer layer)``. El proceso de conversión debe seguir los siguientes puntos:
|
|
391 |
Implementación por defecto de la interfaz LayerConverter. Esta clase permite convertir una capa de gvSIG en un DataRaster genérico el cual permitirá pintar la zona requeridas mediante el método ``FLayer#draw(image,graphics,viewport,scale)``.
|
|
329 | 392 |
|
330 |
* Configuración de los parámetros necesarios en un fichero XML para crear una capa del tipo RasterTileImageLayer. Los parámetros necesarios son: |
|
331 |
|
|
332 |
* DATA_CACHE_NAME: Nombre de la carpeta dentro de la cache donde se alojará los tiles generados en tiempo de ejecución. Este nombre debe ser único. |
|
333 |
* SECTOR: Zona geográfica del raster especificada en grados sobre la proyección EPSG:4326. |
|
334 |
* WIDTH: ancho en píxeles de la imagen raster. |
|
335 |
* HEIGHT: alto en píxeles de la imagen raster. |
|
336 |
* DISPLAY_NAME: Nombre de la capa. |
|
337 |
* FILE_STORE: almacén de archivos de la cache. Proporciona métodos para añadir / quitar localizaciones, buscar archivos, borra archivos... |
|
338 |
* IMAGE_FORMAT: formato de los tiles que se generan. |
|
339 |
* FORMAT_SUFFIX: sufijo de archivo de los tiles generados. |
|
340 |
|
|
341 |
Además de estos parámetros también es necesario añadir en tiempo de ejecución la capa gvSIG que se desea convertir de la cual se obtendrá la información para la creación de tiles mediante la clave GVSIG_LAYER. Por otra parte, existen parámetros opcionales que si no se asigna ningún valor la librería asigna el valor por defecto. Debido al gran número de parámetros configurables se resaltan los siguientes: |
|
342 |
|
|
343 |
* Opciones de capas: opacidad, máxima y mínima altura de activación... |
|
344 |
* Estructura de niveles de detalle: nivel máximo y mínimo de nivel de detalle, niveles inactivos... |
|
345 |
* Generación de tiles: tamaño del tile, origen del primer tile, extensión de los tiles generados... |
|
346 |
|
|
347 |
* Crear la capa de tipo RasterTileImageLayer a partir de los parámetros y añadirla al modelo. Al instanciar una nueva capa RasterTileImageLayer, se configura una factoría del tipo DefaultRetrieverFactory la cual permite la creación de objetos DefaultRasterRetriever. Dichos objetos son los encargados de realizar la distintas peticiones a un objeto DefaultRasterServer el cual es el encargado de servir la información procedente de un DataRaster. Dependiendo del tipo de capa y el modo de carga será una implementación u otra. En el caso de casa raster con modo de carga imagen el tipo será RasterLayerDataRaster y para capas vectoriales rasterizadas RasterizedVectorialLayer. |
|
348 |
|
|
349 |
La rasterización de capa vectoriales se realiza en VectorialLayerDataRaster en base a las peticiones que recibe por parte de DefaultRasterServer. El proceso se rasterización consistirá en usar el método ``FLyrVect#draw(image,graphics,viewport, scale)`` estableciendo el ViewPort a la zona o sección requerida para la obtención del tile. |
|
350 |
|
|
351 |
DefaultElevationLayerConverter implements LayerConverter |
|
352 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
353 |
|
|
354 |
Implementación de la interfaz LayerConverter que permite convertir una capa FLyrRaster en DefaultElevationModel mediante ``LayerConverter#convert(FLayer layer)``. El proceso de conversión debe seguir los siguientes puntos: |
|
355 |
|
|
356 |
* Configuración de los parámetros necesarios en un fichero XML para crear una modelo de elevación ElevationModel. Los parámetros necesarios son: |
|
357 |
|
|
358 |
* DISPLAY_NAME: Nombre del modelo de elevación |
|
359 |
* SECTOR: Zona geográfica del raster especificada en grados sobre la proyección EPSG:4326. |
|
360 |
* WIDTH: ancho en píxeles de la imagen raster. |
|
361 |
* HEIGHT: alto en píxeles de la imagen raster. |
|
362 |
* FILE_STORE: almacén de archivos de la cache. Proporciona métodos para añadir / quitar localizaciones, buscar archivos, borra archivos... |
|
363 |
* IMAGE_FORMAT: formato de los tiles genera |
|
364 |
* DATA_TYPE: tipo de dato de la información del raster. |
|
365 |
* PIXEL_FORMAT: formato del pixel: AVKey.ELEVATION o AVKey.IMAGE |
|
366 |
* FORMAT_SUFFIX: sufijo de archivo de los tiles generados. |
|
367 |
|
|
368 |
Además de estos parámetros también es necesario añadir en tiempo de ejecución la capa gvSIG que se desea convertir de la cual se obtendrá la información para la creación de tiles mediante la clave GVSIG_LAYER. Por otra parte, existen parámetros opcionales que si no se asigna ningún valor la librería asigna el valor por defecto. Los parámetros opcionales son: |
|
369 |
|
|
370 |
* BYTE_ORDER: orden de los bytes. Little endian o big endian. |
|
371 |
* ELEVATION_MAX: elevación máxima y mínima. |
|
372 |
* ELEVATION_MIN: elevación mínima del raster. |
|
373 |
* EXPIRY_TIME: tiempo de expiración de un tile dentro de la cache. |
|
374 |
* MISSING_DATA_SIGNAL: Valor "no data" |
|
375 |
* MISSING_DATA_REPLACEMENT: Valor que se obtiene al obtener la elevación sobre un punto "no data". |
|
376 |
* NETWORK_RETRIEVAL_ENABLED: Indica el modo de trabajo online o offline. |
|
377 |
* ELEVATION_EXTREMES_FILE: ruta al fichero que contiene información sobre las elevaciones extremas. |
|
378 |
|
|
379 |
* Crear el modelo de elevación DefaultElevationModel a partir de lo parámetros y añadirlo al modelo ya existente. El modelo existente será de tipo CompoundElevationModel el cual permite añadir varios modelos de elevación y mostrarlos a la vez. Al instanciar un nuevo modelo de elevación, se configura una factoría del tipo DefaultRetrieverFactory la cual permite la creación de objetos DefaultRasterRetriever. Dichos objetos son los encargados de realizar las distintas peticiones a un objeto DefaultRasterServer el cual es el encargado de servir la información procedente de un DataRaster. Para este caso el DataRaster será de tipo ElevationLayerDataRaster el cual atacará sobre la capa raster para obtener la información que se precise. |
|
380 |
|
|
381 |
DefaultWMSLayerConverter implements LayerConverter |
|
382 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
383 |
|
|
384 |
.. note:: |
|
385 |
TODO en fases posteriores |
|
386 |
|
|
387 |
DefaultVectorialLayerConverter implements LayerConverter |
|
388 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
|
389 |
|
|
390 |
.. note:: |
|
391 |
TODO en fases posteriores |
|
392 |
|
|
393 | 393 |
RasterTiledImageLayer extends BasicTiledImageLayer |
394 | 394 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
395 | 395 |
|
... | ... | |
460 | 460 |
|
461 | 461 |
Obtiene si la fuente de datos es de tipo imagen |
462 | 462 |
|
463 |
XXLayerDataRaster implements DataRaster
|
|
463 |
GvSIGLayerDataRaster implements DataRaster
|
|
464 | 464 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
465 | 465 |
|
466 |
Representa información raster. Esta clase recibe peticiones de datos para la generación de tiles por lo que es la encargada de acceder al DAL de gvSIG mediante su API para obtener la información precisada.
|
|
466 |
Representa información raster. Esta clase recibe peticiones de datos para la generación de tiles por lo que es la encargada de mediante el método ``FLayer#draw()`` de la capa que tiene asociada pintar la sección requerida.
|
|
467 | 467 |
|
468 | 468 |
* getWidth() : int |
469 | 469 |
|
470 |
Obtiene el ancho en pixeles del raster.
|
|
470 |
Obtiene el ancho en píxeles del raster.
|
|
471 | 471 |
|
472 | 472 |
* getHeiht() : int |
473 | 473 |
|
474 |
Obtiene el alto en pixeles del raster.
|
|
474 |
Obtiene el alto en píxeles del raster.
|
|
475 | 475 |
|
476 | 476 |
* drawOnTo(DataRaster canvas) : void |
477 | 477 |
|
... | ... | |
492 | 492 |
|
493 | 493 |
* org.gvsig.view3d.app |
494 | 494 |
|
495 |
* about
|
|
496 |
* i18n
|
|
497 |
* images
|
|
498 |
* lib
|
|
495 |
- about
|
|
496 |
- i18n
|
|
497 |
- images
|
|
498 |
- lib
|
|
499 | 499 |
|
500 |
* dependencias comunes
|
|
501 |
* dependencias nativas de la plataforma
|
|
500 |
+ dependencias comunes
|
|
501 |
+ dependencias nativas de la plataforma
|
|
502 | 502 |
|
503 |
* config.xml
|
|
504 |
* package.info
|
|
503 |
- config.xml
|
|
504 |
- package.info
|
|
505 | 505 |
|
506 | 506 |
Plugin common |
507 | 507 |
~~~~~~~~~~~~~~~~~~~~~~ |
Also available in: Unified diff