Message posté par : Kiecane
----------------------------------------
Bonjour,
J'aurais besoin d'aide par rapport au problème suivant que je rencontre
actuellement :
J'ai un vieux fichier point_repartition qui contient des points de répartition des
individus d'une espèce. Seulement, certains de ces points ont une précision ponctuelle
(champ precision = ponctuelle) tandis que d'autres correspondent à un ensemble de
données (c'est-à-dire à un plus ou moins grand nombre d'individus de l'espèce)
acquis à l'échelle communale (ou éventuellement du lieu-dit mais je me dis que dans ce
cas-là je considérerai les coordonnées ponctuelles également). Comme cette couche est
assez vieille, il y a pas mal d'erreurs de localisation de points pour les données
acquises à l'échelle communale, dont les points devraient donc se situer sur les
centroïdes de leur commune.
Mon objectif serait de produire une requête SQL qui calcule le centroïde des communes
actuelles de France métropolitaine, et qui rattache chaque ligne de point_repartition
correspondant à de la donnée acquise à l'échelle communale, au centroïde de la commune
correspondante. Pour résumer, il faudrait que, pour une ligne donnée du fichier
point_repartition, lorsqu'on a le champ precision = commune, alors la requête remplace
les coordonnées x et y (les champs x et y existent déjà dans point_repartition) par les
coordonnées du centroïde de la commune, et donc que le point initial change de place pour
correspondre à ce centroïde.
Pour cela, j'ai commencé par télécharger la couche des communes de France de Admin
Express. Ensuite, j'ai réussi à trouver, à l'aide de forums et via internet de
manière plus globale, la manière dont calculer le centroïde de toutes ces communes en
ayant le point qui tombe forcément dans la commune : via st_PointOnSurface.
Mon problème, c'est que je ne vois pas comment :
- 1 : rattacher les coordonnées de ces points de centroïdes de commune que j'ai
calculés aux données de mon fichier point_repartition qui ont été acquises à l'échelle
communale
- 2 : modifier l'emplacement des points pour lesquels il y avait une erreur de
position (le centroïde avait été mal calculé, ou le centroïde n'est plus bon car
actuellement l'ancienne commune correspond à deux nouvelles, ect.)
- 3 : faire tout ceci dans la même requête SQL
Quelqu'un aurait-il une solution à me proposer svp ?
N'hésitez pas à me dire si je n'ai pas été assez claire ou s'il vous manque
des informations pour m'apporter de l'aide !
Merci d'avance !
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=351961#p351961
Pour y répondre : qgis_fr(a)ml.georezo.net ou reply de votre messagerie
Pour vous désabonner connectez-vous sur le forum puis Profil / Abonnement
--
Association GeoRezo - le portail géomatique
https://georezo.net