11

Compatibilidad de Doctrine con los MySQL Spatial Data Types

September 29, 2008

Publicidad / Advertisement

Tipos de datos espaciales de MySQL

MySQL soporta tipos de datos que corresponden a las clases de OpenGIS Consortium. OpenGIS es una organización que se encarga de definir un estándar internacional para soportar datos de Sistemas de Información Geográfica (SIG).

Algunos de estos tipos almacenan valores geométricos simples:

POINT: almacena un punto
LINESTRING: almacena una cadena de puntos
POLYGON: almacena una cadena de puntos que limitan un espacio cerrado

Y existen estos tipos que almacenan valores compuestos:

MULTIPOINT: almacena una colección de puntos
MULTILINESTRING: almacena una colección de objetos LineString
MULTIPOLYGON: almacena una colección de polígonos
GEOMETRYCOLLECTION: almacena objetos geométricos de cualquier tipo

GEOMETRY: almacena valores de cualquier tipo

GEOMETRYCOLLECTION puede almacenar objetos de cualquier tipo. Los otros tipos de colección, MULTIPOINT y MULTILINESTRING y MULTIPOLYGON y GEOMETRYCOLLECTION, restringen sus miembros a aquellos que sean de un tipo de geometría particular.

Problema con el plugin Doctrine de Symfony: el plugin sfDoctrine no soporta tipos de datos espaciales.

La actual bd en Drupal tiene tipos de datos espaciales, en concreto el tipo POINT y el POLYGON. Estos tipos de datos no están contemplados por defecto en el ORM de Doctrine, por lo que hay que añadirlos para que las transformaciones del modelo al esquema funcionen.

Para solucionar esto, hay  que tocar el fichero mysql.php del directorio
plugins/sfDoctrinePlugin/lib/doctrine/Doctrine/DataDict/

y en la parte de los CASE hay que añadir los tipos de datos espaciales que se quieran usar con Doctrine.

Publicidad / Advertisement

 

Topics: Desarrollo web, Drupal, Symfony Framework | No Comments »

Comments