Estoy escribiendo un archivo de forma después de algún procesamiento; sin embargo, en el paso final necesito hacer una selección por atributos del archivo de forma.
Estoy usando el comando en un shell con el objetivo de usarlo en un script de Python cuando funciona.
ogr2ogr -f "ESRI Shapefile" -select * where ID="1" outfile.shp infile.shp
Recibo el mensaje de error:
FAILURE:
Unable to open datasource `Downloads' with the following drivers.
¿Qué podría estar haciendo mal?

Respuestas:
Omite un signo menos antes
whereyselectno es necesario, por lo que debería ser:o si tiene que hacer una consulta más compleja en sus datos de entrada:
Si
IDes un campo de tipo entero, sustitúyaloID='1'porID=1.Notas:
-f "ESRI Shapefile"no es necesario porque"ESRI Shapefile"es elogr2ogrformato de salida predeterminado;-selecty utilizar directamente la-wherecláusula cuando desee seleccionar todos los campos.fuente
os.system('''ogr2ogr ... '''). asegúrese de estarimport osen la parte superior de su script de pythonogr2ogr -sql "SELECT * FROM infile WHERE ID='1'" outfile.shp infile.shplugar de solo ID = 1, ¿hay alguna manera de proporcionar un vector o un conjunto de números, por ejemploogr2ogr -sql "SELECT * FROM infile WHERE ID IN ['1','5','29']" outfile.shp infile.shp?