Vues MySQL et fonctions GIS
Bonjour à tous,
je suis sur :
Microsoft Windows [version 6.1.7601]
mysql Ver 14.14 Distrib 5.5.27, for Win64 (x86)
J'ai crée une table avec une colonne position de type POINT (j'ai essayé en MyISAM et InnoDB) :
Code:
1 2 3 4 5
| DROP TABLE IF EXISTS ville;
CREATE TABLE ville (
ville VARCHAR(40) NOT NULL PRIMARY KEY,
position POINT
)ENGINE=MyISAM; |
et une table tournee :
Code:
1 2 3 4 5 6 7 8 9
| DROP TABLE IF EXISTS tournee;
CREATE TABLE tournee (
numero INTEGER,
ordre INTEGER, -- numéro d'ordre de la ville de passage
ville_tournee VARCHAR(40),
CONSTRAINT pk_tournee PRIMARY KEY (numero, ordre),
CONSTRAINT fk_tournee_ville FOREIGN KEY (ville_tournee)
REFERENCES ville (ville)
)ENGINE=MyISAM; |
J'ai chargé cette table avec des données :
Code:
1 2 3
|
INSERT INTO ville VALUES
("Abbeville",GeometryFromText('Point(50.1 1.85)')), etc. |
Un requête avec astext(colonne) me renvoie bien la valeur du point :
Code:
1 2 3
|
SELECT ville, astext(position)
FROM ville |
Une procédure stockée aussi .
Par contre, la requête suivante fonctionne :
Code:
1 2 3 4 5 6
|
SELECT O.ville AS origine, D.ville AS destination, Glength(Linestring((O.position), (D.position)))*105 AS distance
FROM ville O
INNER JOIN ville D
ON O.ville <> D.ville
WHERE O.ville = "paris"; |
Mais la procédure stockée qui l'encapsule me renvoie NULL dans la colonne distance.
Ma question : est-ce une limite connue d'utilisation ds vues avec les fonctions GIS ? j'ai cherché mais n'ai pas trouvé...:(
Merci pour votre aide !