#1 Tue 05 November 2024 15:03
- faki_mochere
- Juste Inscrit !
- Date d'inscription: 5 Nov 2024
- Messages: 1
QGIS: Activation Spatialite Plugin
Bonjour,
Je viens de créer un plug-in qgis afin de pouvoir requêter sur des geopackage.
J'utilise pour cela sqlite3 avec une activation de spatialite
Code:
def execute_query(self, chemin_geopackage, COUCHE_CANA, COUCHE_NOEUD, COUCHE_BRANCHEMENT): try: # Connexion au GeoPackage pour exécuter la requête SQL conn = sqlite3.connect(chemin_geopackage) # Activer SpatiaLite conn.enable_load_extension(True) # Activer explicitement le chargement d'extensions # Charger l'extension SpatiaLite conn.execute("SELECT load_extension('C:/Program Files/QGIS 3.16/bin/mod_spatialite.dll')") # Vérifiez que le chemin vers mod_spatialite est correct # Créer le curseur cursor = conn.cursor()
Le problème que je rencontre est que les fonctions sptatiale ne semble pas fonctionner.
Ma requête fonctionne car quand je l'exécute avec qgis je retrouve bien le résultat attendu.
Voici ma requête :
Code:
select 'Canalisation' as lineaire, 'ZAMONT' as type, ligne.id_classa as id_cana, noeud.id_classa as id_noeud, zamont as z_cana, cote_rad as z_noeud, ligne.geom from {COUCHE_CANA} as ligne join {COUCHE_NOEUD} as noeud on st_distance(st_startpoint(ligne.geom), noeud.geom) 0.05 or coalesce(zamont, 0) - coalesce(cote_rad, 0) < -0.05) and ligne.qualglocxy like 'Classe A (< 40 cm)' and (chute_surv not like 'surverse' and chute_surv not like 'complexe' or chute_surv is null) and (ligne.sourattrib not like '%zamont%' or ligne.sourattrib is null) and (noeud.sourattrib not like '%cote_rad%' or noeud.sourattrib is null)
Avez-vous rencontré des problèmes identiques. Quelle pourrait-être les solutions ?
Merci d'avance.
Hors ligne