Suite

L'objet C/C++ encapsulé de type QgsGeometry a été supprimé ubuntu et mac et erreur de segmentation


J'ai un problème avec une méthode spécifique dans qgis 2.8, 2.12 et 2.12.1 sur linux et mac (je ne sais pas si sous windows ce problème persiste)

L'exemple:

de qgis.core import * de qgis.utils import iface de ceamos.utils import * de ceamos.config import * def run_script(iface): #remove all layer clearAll(iface) lyr = QgsVectorLayer(project_path + '/qgis_data/area. shp', 'laflorida', vectorLayerType.ogr) assert lyr.isValid() QgsMapLayerRegistry.instance().addMapLayers([lyr]) geom = lyr.getFeatures().next().geometry() print geom #  print geom.contains(QgsPoint(0,0)) # RuntimeError : l'objet C/C++ encapsulé de type QgsGeometry a été supprimé

Mise à jour 25-DIC-2015

j'ai changé le code en

de qgis.core import * de qgis.utils import iface de ceamos.utils import * de ceamos.config import * def run_script(iface): #remove all layer clearAll(iface) lyr = QgsVectorLayer(project_path + '/qgis_data/area. shp', 'laflorida', vectorLayerType.ogr) assert lyr.isValid() QgsMapLayerRegistry.instance().addMapLayers([lyr]) #geom = lyr.getFeatures().next().geometry() geom = QgsGeometry(lyr .getFeatures().next().geometry()) print geom #  # RuntimeError : l'objet C/C++ encapsulé de type QgsGeometry a été supprimé #print geom.contains(QgsPoint(0,0)) #Segmentation fault feat = lyr.getFeatures().next() #Segmentation fault #print feat.geometry( ).contains(QgsPoint(0,0))

Mais dans la lignefeat = lyr.getFeatures().next()J'ai une erreur de segmentation (sous mac et ubuntu 14.04)


Semble être le bug #777

Essayer

feat = lyr.getFeatures().next() feat.geometry().contains(QgsPoint(0,0))


Voir la vidéo: Setup Neovim like an IDE (Octobre 2021).