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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
SELECT ville, astext(position)
	FROM ville
Une procédure stockée aussi .
Par contre, la requête suivante fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 !