Pages: 1
- Sujet précédent - QGIS/Spatialite: Importer la geometrie d'une table dans une autre - Sujet suivant
#1 Wed 13 November 2019 13:00
- Mossy_D
- Participant occasionnel
- Date d'inscription: 1 Oct 2018
- Messages: 15
QGIS/Spatialite: Importer la geometrie d'une table dans une autre
Bonjour,
Débutant en SQL, je souhaiterais réaliser une opération probablement simple, et pourtant impossible de trouver une solution qui fonctionne...
Voici ce que je souhaite faire :
1 - importer une couche vecteur "table_1" dans une base Spatialite (OK)
2 - créer une table "table_2" avec une partie des champs et valeurs de table_1 (OK)
3 - créer une colonne géométrie "geom" dans table_2 (OK)
4 - importer et visualiser les géométries de table_1 dans table_2
Je sèche à l'étape 4. J'ai essayé :
Code:
UPDATE table_1 SET geom = table_2.geom FROM table_2 WHERE table_2.id = table_1.id
ou encore :
Code:
UPDATE table_1 SET table_1.geom = table_2.geom WHERE table_2.id = table_1.id
ça ne fonctionne pas.
Qu'est-ce que j'ai loupé ? ... D'avance merci !
Hors ligne
#2 Fri 15 November 2019 09:42
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 726
Re: QGIS/Spatialite: Importer la geometrie d'une table dans une autre
Bonjour,
le UPDATE FROM n'est pas possible en sqlite (cf documentation).
Le code valide est :
Code:
UPDATE table_1 SET geom = (select geom FROM table_2 where table2.id = table_1.id)
Aussurez-vous aussi que la colonne géométrie a été créé avec la fonction appropriée AddGeometryColumn.
Documentation disponible de spatialite ici
Remarque : pour ce genre de question, privilégiez le forum Geo'BD, vous aurez une réponse plus rapidement.
Cdt,
Hors ligne
#3 Fri 15 November 2019 09:59
- Mossy_D
- Participant occasionnel
- Date d'inscription: 1 Oct 2018
- Messages: 15
Re: QGIS/Spatialite: Importer la geometrie d'une table dans une autre
Merci ! Je venais justement de trouver la solution. C'est noté pour Geo'BD.
Hors ligne
Pages: 1
- Sujet précédent - QGIS/Spatialite: Importer la geometrie d'une table dans une autre - Sujet suivant