GitHub Viewer
import cStringIO
import struct
import shapefile
import random
import time
class LargeWriter:
def __init__(self, filename=None, shapeType=1, hasShx=True):
self.filename = filename
self.hasShx = hasShx
# Count records for metadata
self.count = 0
# Maximum number of records before disk flush
self.max = 1000
self.started = False
self.minx = 0
self.miny = 0
self.maxx = 0
self.maxy = 0
self.numRecs = 0
self.tmpShp = cStringIO.StringIO()
if self.hasShx:
self.tmpShx = cStringIO.StringIO()
self.tmpDbf = cStringIO.StringIO()
self.shp = open("%s.shp" % self.filename, "wb")
if self.hasShx:
self.shx = open("%s.shx" % self.filename, "wb")
self.dbf = open("%s.dbf" % self.filename, "wb")
self.dbfHdrLen = 0
self.w = shapefile.Writer(shapeType)
def endcap(self):
"""First and last batches"""
self.started = True
self.tmpShp.seek(36)
self.xmin = struct.unpack("