Personal tools
gvSIG Desktop
gvSIG Desktop

Cached time 11/22/13 08:29:35 Clear cache and reload

 
Document Actions

Geometrías

by Cèsar Ordiñana last modified 2010-10-19 14:33
En gvSIG 2.0 se ha construido un proyecto aparte para la librería de geometrías, que ha sido una evolución de lo que había en versiones anteriores, aprovechando para realizar una separación entre API, implementación y operaciones sobre geometrías. 

Hay disponible `documentación de desarrollo`__ sobre la librería, donde podemos ver los principales cambios a nivel de API y una descripción sobre el modelo de geometrías que define la librería.

__ /web/docdev/docs/v2_0/org.gvsig.fmap.geom/

Uno de los cambios principales que nos podemos encontrar es que han desaparecido clases como *FShape*, que habrá que sustituir por los interfaces disponibles en la librería de geometrías, como *Geometry* y *GeometryManager*.

Por ejemplo, dónde se usaban las constantes de tipos de shape que definía la clase *FShape*, ahora existen dos opciones:

- Emplear operaciones sobre geometrías, que podemos asociar a tipos y/o subtipos de geometrías.

- Emplear las constantes de tipos y subtipos que se definen en los interfaces *Geometry.TYPES* y *Geometry.SUBTYPES*. Esta opción tiene un gran problema, y es que estos tipos y subtipos no son todos los que pueden existir, sino sólo los que se definen por defecto inicialmente. A partir de ahora una librería o extensión puede registrar los suyos propios, por lo que si usamos esta opción, en vez de la de registro de operaciones, nuestra funcionalidad puede no funcionar correctamente con estos otros tipos de geometrías.

En cualquier caso, si optamos por esta última opción, a continuación tenemos una tabla de equivalencias entre los tipos de shapes y los tipos de geometrías de la nueva librería:

.. list-table::

  * - **FShape**
    - **Geometry.TYPES**

  * - NULL
    - NULL

  * - POINT
    - POINT

  * - LINE
    - CURVE

  * - POLIGON
    - SURFACE

  * - TEXT
    - TEXT

  * - MULTI
    - GEOMETRY

  * - MULTIPOINT 
    - MULTIPOINT

  * - CIRCLE
    - CIRCLE

  * - ARC
    - ARC

  * - ELLIPSE
    - ELLIPSE

  * - Z
    - (*)
    
(*) En la librería de geometrías de gvSIG 2.0, cualquier tipo de geometría puede ser 2D, 3D, 2DM, etc. Esta característica se gestiona a través del subtipo de una geometría (ver Geometry.SUBTYPES para ver los subtipos predefinidos), por lo que no existe equivalente para esta constante en Geometry.TYPES .

View source document

View source document Get permanent link


Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: