public static ShapefileWriter Create(string path, ShapefileHeader header) { ShapefileWriter writer = new ShapefileWriter(path, header, FileMode.CreateNew, FileAccess.Write); writer._writerShape.BaseStream.Seek(100L, SeekOrigin.Begin); writer._writerIndex.BaseStream.Seek(100L, SeekOrigin.Begin); writer._recordNumber = 1; writer._filePos = 50; return writer; }
public static ShapefileWriter Create(string path, ShapefileHeader header) { ShapefileWriter writer = new ShapefileWriter(path, header, FileMode.CreateNew, FileAccess.Write); writer._writerShape.BaseStream.Seek(100L, SeekOrigin.Begin); writer._writerIndex.BaseStream.Seek(100L, SeekOrigin.Begin); writer._recordNumber = 1; writer._filePos = 50; return(writer); }
public static ShapefileWriter Open(string path) { ShapefileHeader header; int recordNumber; using (BinaryReader reader = new BinaryReader(new FileStream(Path.ChangeExtension(path, ".shx"), FileMode.Open))) { header = ShapefileHeader.Read(reader); recordNumber = ((int)(reader.BaseStream.Length - 100) / 8) + 1; } ShapefileWriter writer = new ShapefileWriter(path, header, FileMode.Append, FileAccess.Write); writer._writerShape.BaseStream.Seek(0, SeekOrigin.End); writer._writerIndex.BaseStream.Seek(0, SeekOrigin.End); writer._recordNumber = recordNumber; writer._filePos = (int)writer._writerShape.BaseStream.Length / 2; return writer; }
public static ShapefileWriter Open(string path) { ShapefileHeader header; int recordNumber; using (BinaryReader reader = new BinaryReader(new FileStream(Path.ChangeExtension(path, ".shx"), FileMode.Open))) { header = ShapefileHeader.Read(reader); recordNumber = ((int)(reader.BaseStream.Length - 100) / 8) + 1; } ShapefileWriter writer = new ShapefileWriter(path, header, FileMode.Append, FileAccess.Write); writer._writerShape.BaseStream.Seek(0, SeekOrigin.End); writer._writerIndex.BaseStream.Seek(0, SeekOrigin.End); writer._recordNumber = recordNumber; writer._filePos = (int)writer._writerShape.BaseStream.Length / 2; return(writer); }