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

#1 Tue 13 January 2026 16:16

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 1041

Requêtes SQL sur GPKG en Python : lenteur activation mod_spatialite

Bonjour à tous,

J’exécute des requêtes SQL sur un GPKG (= SQLite + Spatialite) depuis un script Python avec le module sqlite3 (voir ce message avec un exemple).

Ça fonctionne très bien, mais j'ai un étrange problème de lenteur au moment de l'activation de l’extension Spatialite :

Code:

# Activation Extension Spatialite
print("Activation de l'extension spatiale")
conn.enable_load_extension(True)
conn.execute('SELECT load_extension("mod_spatialite")')
conn.execute('SELECT InitSpatialMetaData();')
cursor = conn.cursor()
print("Extension Spatialite Chargée")

Cette action met de longues minutes à s’exécuter, avec en parallèle un fichier "mabase.gpkg-journal" qui apparait/disparait toutes les demies-secondes dans le répertoire de mon GPKG, dont le poids augmente à chaque demi-seconde.
Plus précisément, c'est l'étape conn.execute('SELECT InitSpatialMetaData();') qui s’exécute à ce moment là et qui est très longue.

J’exécutais sur mon précédent PC ce genre de scripts Python/SQLite/Spatialite (sur des base SQLite/Spatialite, non GPKG à l'époque), et dans mes souvenir, cette séquence était quasi instantanée.

Est-ce qu'un habitué de ce genre de traitements Python pourrait me dire si, de son côté aussi, cette séquence des scripts est très lente, ou si au contraire c'est rapide (et dans ce cas, je devrais identifier la cause de ces lenteurs).

Merci à vous !


Sylvain M.

Hors ligne

 

#2 Tue 13 January 2026 16:46

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 1041

Re: Requêtes SQL sur GPKG en Python : lenteur activation mod_spatialite

Précision / complément : je me rends compte qui si je saute l'étape "InitSpatialMetaData()", mon script complet et les requêtes SQL s’exécute sans problème et quasi instantanément.


Sylvain M.

Hors ligne

 

#3 Wed 14 January 2026 16:42

zubatt2000
Juste Inscrit !
Date d'inscription: 25 Jul 2012
Messages: 1

Re: Requêtes SQL sur GPKG en Python : lenteur activation mod_spatialite

Pourquoi utiliser Spatialite dans ton gpkg alors qu'il y a déjà SQLite hmm ?

Hors ligne

 

#4 Wed 14 January 2026 18:42

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 1041

Re: Requêtes SQL sur GPKG en Python : lenteur activation mod_spatialite

Sauf erreur de ma part, Spatialite est l'extension spatiale de SQLite (utilisée par les GPKG), donc je ne comprends pas ta question hmm

J'active l'extension spatiale avec conn.execute('SELECT load_extension("mod_spatialite")') pour pouvoir exécuter des requêtes spatiales via le module python sqlite3.

Par contre, je ne suis pas certain de la nécessité du conn.execute('SELECT InitSpatialMetaData();')


Sylvain M.

Hors ligne

 

#5 Wed 14 January 2026 18:51

Sylvain M.
Participant assidu
Lieu: Saint-Pierre-des-Nids (53)
Date d'inscription: 8 Sep 2005
Messages: 1041

Re: Requêtes SQL sur GPKG en Python : lenteur activation mod_spatialite

Bon, j'ai toutes les réponses ici wink
https://chat.mistral.ai/chat/91d0a9f3-9 … 961e630d52
=> 'SELECT InitSpatialMetaData();' n'est pas utile sur un GPKG existant ! big_smile


Sylvain M.

Hors ligne

 

Pied de page des forums

Copyright Association GeoRezo