Vairāk

QgsGeometry tipa iesaiņotais C / C ++ objekts ir izdzēsts Ubuntu un Mac un segmentācijas vaina


Man ir problēma ar noteiktu metodi qgis 2.8, 2.12 un 2.12.1 Linux un Mac (man nav ne jausmas, vai logos šī problēma joprojām pastāv)

Piemērs:

no qgis.core importēt * no qgis.utils importēt iface no ceamos.utils importēt * no ceamos.config importēt * def run_script (iface): #noņemt visus slāņus clearAll (iface) lyr = QgsVectorLayer (project_path + '/ qgis_data / area. shp ',' laflorida ', vectorLayerType.ogr) apgalvo lyr.isValid () QgsMapLayerRegistry.instance (). addMapLayers ([lyr]) geom = lyr.getFeatures (). next (). geometry () print geom #  drukāt geom.contains (QgsPoint (0,0)) # RuntimeError: QgsGeometry tipa iesaiņotais C / C ++ objekts ir izdzēsts

Atjaunināt 25-DIC-2015

Esmu nomainījis kodu uz

no qgis.core importēt * no qgis.utils importēt iface no ceamos.utils importēt * no ceamos.config importēt * def run_script (iface): #noņemt visus slāņus clearAll (iface) lyr = QgsVectorLayer (project_path + '/ qgis_data / area. shp ',' laflorida ', vectorLayerType.ogr) apgalvo lyr.isValid () QgsMapLayerRegistry.instance (). addMapLayers ([lyr]) #geom = lyr.getFeatures (). next (). geometry () geom = QgsGeometry (lyr .getFeatures (). next (). geometry ()) print geom #  # RuntimeError: QgsGeometry tipa iesaiņotais C / C ++ objekts ir izdzēsts #print geom.contains (QgsPoint (0,0)) #Segmentation fault feat = lyr.getFeatures (). Next () #Segmentation fault #print feat.geometry ( ). satur (QgsPoint (0,0))

Bet rindāfeat = lyr.getFeatures (). nākamais ()Es saņēmu segmentācijas kļūdas kļūdu (Mac un Ubuntu 14.04)


Šķiet, ka kļūda Nr. 777

Izmēģiniet

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


Skatīties video: QGIS DIGITIZATION (Oktobris 2021).