Message posté par : faki_mochere (fakimochere(a)gmail.com)
----------------------------------------
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.
----------------------------------------
Le message est situé
https://georezo.net/forum/viewtopic.php?pid=370103#p370103
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