コード例 #1
0
        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;
        }
コード例 #2
0
        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);
        }
コード例 #3
0
        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;
        }
コード例 #4
0
        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);
        }