Bonjour,
Je me lance dans les bases de donn�es spatiales et donc je dois faire des requetes SQL spatiales.
Je manipule le SQL r�guli�rement pour faire du data-management mais je ne pensais pas que la dimension "spatiale" me perdrait aussi vite.
Alors... je vous explique mon pb: J'ai une couche de coordonn�es g�ographiques (environ 9000 points) -qu'on appelera "couche1"- et une couche de polygones (environ 2500 polygones), qu'on appelera "couche 2".
Je veux r�cup�rer la distance entre chaque point de la couche1 et le polygone(couche 2) le plus proche.
Id�alement je voudrais afficher une colonne dans une nouvelle table avec l'identifiant de ma couche 1, l'identifiant de ma couche 2 le plus proche des coordonn�es de ma couche 1 et la distance entre les 2.
Voici ma requete:
NB: J'ai fait au pr�alable un st_transform sur les geom de mes 2 couches pour avoir la mm projection (WGS 84: 4326)
Le souci c'est que (i) ca tourne pendant des heures et ca c'est pas possible parce qu'il faut que je le fasse au moins 50 fois et (ii) je ne peux pas afficher mon identifiant couche2 (Enfin quand je le fais il refuse de tourner si je le mets pas dans "group by" et du coup j'ai les distances pour les 2500 polygones pour chaque point de ma couche1).
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4 create table public.MERGE as SELECT a.id_couche1,min(ST_Distance(a.geom2_couche1, b.geom2_couche2,TRUE)) as distance FROM public."COUCHE1" as a,public."COUCHE2" as b group BY a.id_couche1;
Avez-vous des astuces/solutions/corrections qui pourraient m'aider?
Merci beaucoup.
Partager