Estoy creando un shapefile en python:
driver = ogr.GetDriverByName('ESRI Shapefile')
datasource = driver.CreateDataSource('c:/temp/toke2.shp')
layer = datasource.CreateLayer('layerName',geom_type=ogr.wkbLineString)
Si el archivo toke2.shp no existe, será creado. Si existe, que no se puede ejecutar este código y sobrescribir el archivo antiguo. Necesito una función para sobrescribir o eliminar la función. Corro de Qgis en el modo de administración.
Mi otro problema es cuando quiero agregar el shapefile de Qgis por:
vlayer = QgsVectorLayer("c:/temp/toke2.shp", "toke2", "ogr")
QgsMapLayerRegistry.instance().addMapLayer(vlayer)
Si puedo agregar el archivo en Qgis por "Capa > añadir capa vectorial", funciona bien. Cuando yo uso el código en la consola de python en Qgis también funciona bien. Pero si yo uso este código en mi plugin se agrega el archivo a Qgis, pero está vacía. Así que por alguna razón no se le añade los puntos de datos en el archivo, es sólo la adición de un vacío shapefile.
En mi plugin que importar este:
from osgeo import ogr
from osgeo import osr
import math
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from qgis.core import *
import qgis.utils
import resources_rc
¿Alguien tiene una solución a estos problemas?