El 04/06/2010 8:54, OLLER GARCIA, Joan Marc escribió:
Se puede utilitzar OGR combinado con el interfaz de usuario de la
línea de comandos MS-DOS (cmd) de Windows

El fallo de Joan ha sido suponer que yo uso windows. Como ha dicho
Matoses, mi shell-fu es poderoso:


#!/bin/bash
for i in *.shp; do
        if [ -f destino.shp ]; then
                ogr2ogr -f "ESRI Shapefile" -update -append \
                destino.shp $i
        else
                cp $i destino.shp


Luego estaría la opción en python+ogr:

#!/usr/bin/python
from osgeo import ogr
import glob
driver = ogr.GetDriverByName('ESRI Shapefile')
writer = driver.Open('destino.shp',1)
writerlayer=writer.GetLayer(0)
for infile in  glob.glob('*.shp') ):
        reader = driver.Open(infile,0)
        readerlayer = reader.GetLayer(0)
        for i in range(readerlayer.GetFeatureCount()):
                feat = readerlayer.GetNextFeature()
                writerlayer.CreateFeature(feat)
                

*Debería* funcionar. Luego lo pruebo en casa.


El 04/06/2010 8:47, Jorge Gaspar Sanz Salinas escribió:
Yo me los llevaría a una base de datos y luego intentaría
exportarlos a shapefile.

Ahora es cuando me pongo el gorro de pensar y pregunto: ¿Qué ventaja tiene con respecto al código de python que he puesto arriba?

Porque abro el shape de salida una sola vez, y lo único que hago es iterar sobre todas las features existentes (cosa que también se haría al exportar BDD -> shp). No sé, lo veo como la mejor manera de hacerlo.


P.D.: El WMS shootout de este FOSS4G va a ser la leche :-D


Un saludo,
--
Iván Sánchez Ortega <[email protected]>
_______________________________________________
Spanish mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/spanish

Responder a