#1 Mon 14 December 2009 15:43
- Olivier T
- Participant actif
- Date d'inscription: 31 May 2006
- Messages: 71
Fonction buffer et mises en forme des réusltats
Bonjour à tous,
Toujours sous MI7.5 un petit cas (d'école ??) pour les as de la sélection SQL !!
Je travaille donc sur une table de mes sites stockeurs.
Certains sont chargeurs de péniches.
Par la fenetre FMB, je peux ( et je sais même !!) sélectionner les sites situés dans un rayon de 100 km autour d'un site chargeur péniche par un buffer.
select * from mps_sites_ts where obj within any (select buffer(obj,10,100,"km") from mps_sites_ts where site=179)
Jusque là, RAS
Le principal défaut de mon résultat est que je ne "connais" plus le point de départ de ma recherche quand il y a plusieurs points chargeurs bateaux, autrement dit quand je ne sélectionne pas de site unique de départ, je peux avoir plusieurs fois le même site en arrivée mais c'est tout à fait normal, un même site d'arrivée peut être à moins de 100 km de pluseurs sites de départ.
Est il possible, par cette méthode, d'obtenir un résultat sous la forme suivante :
Site de départ, site d'arrivée <100 km et distance à vol d'oiseau en une seule sélection ?
Merci beaucoup
Dernière modification par Olivier T (Mon 14 December 2009 15:44)
Hors ligne
#2 Mon 14 December 2009 16:02
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Fonction buffer et mises en forme des réusltats
Bonjour
Le plus simple ne serait-il pas de faire une matrice de distances (voir ce sujet, post #6 puis d'en exploiter le résultat ??
Hors ligne
#3 Mon 14 December 2009 16:24
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Fonction buffer et mises en forme des réusltats
Salut,
Existe t'il dans ta table un critère (site départ, site d'arrivée)
Si c'est le cas --> à essayer
Code:
Select * from mps_sites_ts, Copie_de_mps_sites_ts where mps_sites_ts.obj within any(select buffer(obj,10,100,"km") from Copie_de_mps_sites_ts) and mps_sites_ts.ID <> Copie_de_mps_sites_ts.ID and ChampsSite like "arrivée" into Nouvelle_selection
A voir je ne promets rien
A+
Joël
Dernière modification par Spacejo (Tue 15 December 2009 10:45)
Hors ligne
#4 Mon 14 December 2009 16:59
- Olivier T
- Participant actif
- Date d'inscription: 31 May 2006
- Messages: 71
Re: Fonction buffer et mises en forme des réusltats
Bonjour à tous les deux
J'essaie comme au golf, de faire en un !!
L'établissement d'une table intermédaire est envisageable mais comme j'essaie , pour une fois !!, de me servir des requetes géographiques ....
Je tente la piste de Spacejo
Merci
Dernière modification par Olivier T (Mon 14 December 2009 17:00)
Hors ligne
#5 Mon 14 December 2009 17:05
- Olivier T
- Participant actif
- Date d'inscription: 31 May 2006
- Messages: 71
Re: Fonction buffer et mises en forme des réusltats
Spacejo,
A première vue ,il manque le Buffer !!
Hors ligne
#6 Mon 14 December 2009 17:42
- Spacejo
- Membre
- Lieu: Nancy
- Date d'inscription: 17 Aug 2008
- Messages: 2511
Re: Fonction buffer et mises en forme des réusltats
Ah bon ??? Raté alors !!! la requète ne crée pas le buffer même avec --> select buffer (obj,10,100,"km") from Copie_de_mps_sites_ts
Ce qui serait sympa c'est de mettre à dispo un extrait de ta table (si ce n'est pas confidentiel) pour faire des essais
A+
Joël
Dernière modification par Spacejo (Tue 15 December 2009 10:45)
Hors ligne
#7 Tue 15 December 2009 09:37
- Olivier T
- Participant actif
- Date d'inscription: 31 May 2006
- Messages: 71
Re: Fonction buffer et mises en forme des réusltats
Bonjour à tous,
Rien de condidentiel du tout,
Spacejo, trouves donc un extrait de la table
Donc pour moi les siltes de départ sont dans tous les sites et les sites d'arrivés sont les sites si le champ péniche =1
Je relève deux problèmes à l'utilisation de ta piste, il me semble que la fonction buffer manque et je relève un problème de jointure entre les deux tables
Merci d'avance pour ton aide
Dernière modification par Olivier T (Tue 15 December 2009 09:40)
Hors ligne
#8 Tue 15 December 2009 11:41
- Maurice
- Membre
- Lieu: Montpellier
- Date d'inscription: 5 Sep 2005
- Messages: 5331
Re: Fonction buffer et mises en forme des réusltats
Bonjour
N'espérez pas faire ça en 1....
De toute façon il faudra passer par une copie de la table !
En 2 mn, la technique de la matrice des distances me donne le résultat joint, a priori conforme à vos voeux ...
Bien sûr c'est une table non graphique...qu'il ne reste plus qu'à exploiter
Hors ligne
#9 Tue 15 December 2009 11:56
- Olivier T
- Participant actif
- Date d'inscription: 31 May 2006
- Messages: 71
Re: Fonction buffer et mises en forme des réusltats
Bonjour Maurice,
Bien évidemment une copie de la table est nécessaire à la soluce en 1, Zipper deux fois la même table me semblait peu économique !
Votre solution via une intégration des distances était ma première solution à peu de chose près !!
Mais disposant d'un peu de temps !!, j'essayais de me familiariser avec les sous requete et le coup en un.
Merci beaucoup, on va arréter là
Bonne fêtes de fin d'année à tous
Hors ligne