Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Wed 01 July 2020 07:43

lélé
Juste Inscrit !
Date d'inscription: 22 May 2020
Messages: 1

QGIS 3.8: Chargement couche (shp) dans BD(Spatialite) via Pyqgis

Bonjour à tous,

A près de multiples recherches sans grand succès je me tourne vers vous.

Ce que je veux : Créer une base spatialite vide, puis chargé une couche shp, et réaliser des requêtes dessus.

Problème : J'arrive parfaitement à réaliser cela manuellement seulement je veux automatiser cela via pyqgis mais je n'y parviens pas
(https://www.sigterritoires.fr/index.php/creer-une-base-de-donnees-spatialite-avec-qgis-2-8/ réaliser cela mais en automatique)

Recherche : Le code qui me parlait le plus (je suis novice ++++)
   

Code:

layer = QgsVectorLayer('C:\bckup\dev\admin\QGIS\Fond_de_carte\codepostal.shp', 'Découpe Commune', 'ogr')
    
    error_msg = ''

    error = QgsVectorFileWriter.writeAsVectorFormat( layer, 'C:\bckup\dev\admin\QGIS\sqlite\test.sqlite', 'UTF-8','SQLite', False, error_msg, [ "SPATIALITE=YES" , ] )

codepostal.shp est une couche shp où les données spatials sont stockées dans une colonne geom de type Multypolygone de Dimension XY.

Resultat: Lorsque je lance cela j'ai l'erreur suivante

Code:

TypeError: QgsVectorFileWriter.writeAsVectorFormat(): arguments did not match any overloaded call:
  overload 1: argument 4 has unexpected type 'str'
  overload 2: argument 4 has unexpected type 'str'
  overload 3: argument 3 has unexpected type 'str'

Auriez vous une idée.

Merci d'avance.

PS : je travail sur la version 3.8 de QGIS

Hors ligne

 

Pied de page des forums

Powered by FluxBB