Bonjour,
Actuellement en stage au Conseil Régional Aquitaine et plus particulièrement au sein de la cellule THD (Très Haut Débit), je travail sur des données télécom. C’est dans ce cadre que j’essaye de créer une base de données Postgis, en lien avec Qgis, avec pour objectif d’extraire des données directement depuis la base via des requêtes.
Etant néophyte dans ce domaine, je fais appel à vous car j’ai plusieurs problèmes que je n’arrive pas à solutionner malgré mes lectures sur le langage SQL…
J’ai donc créé une base PostGis et y ai ajouté une centaine de tables de formats différents (shp, .txt, .csv).
Mes questions :
- j’ai dans la plupart de mes tables .txt deux colonnes avec des coordonnées X, Y. Dois-je faire une opération particulière pour ajouter une colonne the_geom comme c’est le cas pour les shapes (cela s’est fait automatiquement pour ces tables) ?
- Dois-je attribuer la même projection à toutes mes tables ?
L’objectif de cette base est d’extraire des données à une échelle infra-départementale (communauté de commune, communauté d’agglo, ou communauté urbaine), sachant que dans les tables les informations ne sont localisées qu’à l’échelle de la commune (code INSEE). En effet une communauté de commune va faire appel à nous afin que nous leur fournissions les informations à l’échelle de leur territoire.
L’idéal serait donc de réaliser un ensemble de requête basé sur un territoire infra-départementale (communauté de commune…) afin de récupérer des données qui se trouvent à l’échelle de la commune dans la base.
J’ai donc ajouté une table contenant les correspondances entre code INSEE et communauté de commune d’appartenance.
Je pensais donc fonctionner de deux manières :
- pour les tables qui ne contiennent pas de coordonnées X,Y il faut donc que je fasse une requête attributaire, je voulais donc rechercher les différents codes INSEE qui m’intéresse au sein de toute la base pour rapatrié toutes les infos
Ex :
SELECT *
FROM wifi_dep_24, wifi_dep_33……………
WHERE code_insee = '24001'
Problème, la requête ne peut pas se faire car le champ code_insee apparait dans plusieurs tables. Comment puis-je donc réaliser cette requête ?
Serait-il possible de réaliser la requête dans l’autre sens, à savoir rechercher une communauté de commune dans la table de correspondance INSEE-communauté de commune, trouver les code INSEE associé et ensuite réaliser la requête de ces codes INSEE sur toute la table.
- pour les table ayant une colonne the_geom, pensez-vous qu’il est possible de faire une requête spatiale ou géométrique, toujours par rapport à la table de correspondance code INSEE-communauté de commune ? Si oui je n’ai aucune idée sur la façon de procéder donc je suis preneur de quelques pistes.
Merci d’avance pour votre aide qui me sera précieuse.