Command disabled: backlink
 
Il contenuto di questo sito è rilasciato sotto licenza Creative Commons License se non specificato diversamente

Esportazione di shapefile da python

Il seguente script esporta in formato “pseudo csv” i dati dello shapefile e la “bounding box” di ogni singola figura censita

"""
Esportazione dei dati di uno shapefile
"""
import shapelib, dbflib, string
 
SHAPEFILE="nomeshp"
 
shp = shapelib.ShapeFile(SHAPEFILE)
dbf = dbflib.DBFFile(SHAPEFILE)
 
sCount = shp.info()[0]
dCount = dbf.record_count()
 
if sCount <> dCount:
	raise "Errore: numero oggeti in shape %s (%d) diverso da record  dbf (%d) " %(SHAPEFILE,sCount,dCount)
 
 
#stampo l'header!
header = dbf.read_record(0)
#print header.keys()
intestazione = string.join(header.keys(),"|")
intestazione += "|XMIN|YMIN|XMAX|YMAX"
 
print intestazione
 
#scandisco riga per riga il file dbf
for i in range (dbf.record_count() ):
	rc = dbf.read_record(i)
	sc = shp.read_object(i)
	row = ""
	for value in rc.values():
		row += "%s|" %(value)
	#aggiungo la extent/envelope
	(min,max) = sc.extents()
	xmin = min[0]
	ymin = min[1]
	xmax = max[0]
	ymax = max[1]
 
	row += "%f|%f|%f|%f" %(xmin,ymin,xmax,ymax)
	print row
	#print "\n"
 
python/esportare_uno_shapefile_da_python.txt · Ultima modifica: 2008/12/30 10:59 da fcasadei
 
Recent changes RSS feed