/// <summary>
 /// Method to write a dummy dbase file
 /// </summary>
 /// <param name="streamProviderRegistry">The stream provider registry</param>
 /// <param name="recordCount">The number of records</param>
 public static void WriteDummyDbf(IStreamProviderRegistry streamProviderRegistry, int recordCount)
 {
     using (var dbfWriter = new DbaseFileWriter(streamProviderRegistry))
     {
         WriteDummyDbf(dbfWriter, recordCount);
     }
 }
        /// <summary>
        /// Method to write a dummy dbase file
        /// </summary>
        /// <param name="dbfWriter">The dbase file writer</param>
        /// <param name="recordCount">The number of records</param>
        public static void WriteDummyDbf(DbaseFileWriter dbfWriter, int recordCount)
        {
            // Create the dummy header
            var dbfHeader = new DbaseFileHeader {
                NumRecords = recordCount
            };

            // add some dummy column
            dbfHeader.AddColumn("Description", 'C', 20, 0);

            // Write the header
            dbfWriter.Write(dbfHeader);
            // Write the features
            for (int i = 0; i < recordCount; i++)
            {
                var columnValues = new List <double> {
                    i
                };
                dbfWriter.Write(columnValues);
            }

            // End of file flag (0x1A)
            dbfWriter.WriteEndOfDbf();

            dbfWriter.Close();
        }
Exemplo n.º 3
0
        public ShapefileDataWriter(IStreamProviderRegistry streamProviderRegistry, IGeometryFactory geometryFactory, Encoding encoding)
        {
            _geometryFactory = geometryFactory;

            _streamProviderRegistry = streamProviderRegistry;

            // Writers
            _dbaseWriter = new DbaseFileWriter(streamProviderRegistry, encoding);
        }
        /// <summary>
        /// Method to write a dummy dbf file
        /// </summary>
        /// <param name="filename">The dbase filename</param>
        /// <param name="recordCount">The number of records</param>
        public static void WriteDummyDbf(string filename, int recordCount)
        {
            // assert the filename is correct
            filename = Path.ChangeExtension(filename, "dbf");

            using (var dbfWriter = new DbaseFileWriter(filename))
            {
                WriteDummyDbf(dbfWriter, recordCount);
            }
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ShapefileDataWriter"/> class.
        /// </summary>
        /// <param name="fileName">File path without any extension</param>
        /// <param name="geometryFactory"></param>
        public ShapefileDataWriter(string fileName, IGeometryFactory geometryFactory)
        {
            _geometryFactory = geometryFactory;

            // Files
            _shpFile = fileName;
            _dbfFile = fileName + ".dbf";

            // Writers
            _dbaseWriter = new DbaseFileWriter(_dbfFile);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Initializes a new instance of the <see cref="ShapefileDataWriter"/> class.
        /// </summary>
        /// <param name="fileName">File path without any extension</param>
        /// <param name="geometryFactory"></param>
        public ShapefileDataWriter(string fileName, IGeometryFactory geometryFactory)
        {
            this.geometryFactory = geometryFactory;

            // Files
            shpFile = fileName;
            dbfFile = fileName + ".dbf";

            // Writers
            shapeWriter = new ShapefileWriter(geometryFactory);
            dbaseWriter = new DbaseFileWriter(dbfFile);
        }
        public static void WriteGeometryCollection(ShapefileWriter shapefileWriter, DbaseFileWriter dbfWriter,
                                                   GeometryCollection geometryCollection, bool writeDummyDbf = true)
        {
            int numShapes = geometryCollection.NumGeometries;

            for (int i = 0; i < numShapes; i++)
            {
                shapefileWriter.Write(geometryCollection[i]);
            }

            if (writeDummyDbf)
            {
                WriteDummyDbf(dbfWriter, numShapes);
            }
        }
        /// <summary>
        /// Write the enumeration of features to shapefile (shp, shx and dbf)
        /// </summary>
        /// <param name="filename">Filename to create</param>
        /// <param name="features">Enumeration of features to write, features will be enumerated once</param>
        /// <param name="fields">Fields that should be written, only those attributes specified here will be mapped from the feature attributetable while writing</param>
        /// <param name="shapeGeometryType">Type of geometries shapefile</param>
        /// <param name="dbfEncoding">Optional Encoding to be used when writing the DBF-file (default Windows-1252)</param>
        public static void WriteFeatures(string filename, IEnumerable <IFeature> features, DbaseFieldDescriptor[] fields, ShapeGeometryType shapeGeometryType,
                                         Encoding dbfEncoding = null)
        {
            // Set default encoding if not specified
            if (dbfEncoding == null)
            {
                dbfEncoding = DbaseEncodingUtility.GetEncodingForCodePageIdentifier(1252);
            }

            // Open shapefile and dbase stream writers
            using (var shpWriter = new ShapefileWriter(Path.ChangeExtension(filename, ".shp"), shapeGeometryType))
            {
                using (var dbfWriter = new DbaseFileWriter(Path.ChangeExtension(filename, ".dbf"), dbfEncoding))
                {
                    var dbfHeader = new DbaseFileHeader(dbfEncoding);
                    foreach (var field in fields)
                    {
                        dbfHeader.AddColumn(field.Name, field.DbaseType, field.Length, field.DecimalCount);
                    }
                    dbfWriter.Write(dbfHeader);

                    int      numFeatures = 0;
                    string[] fieldNames  = Array.ConvertAll(fields, field => field.Name);
                    object[] values      = new object[fieldNames.Length];
                    foreach (var feature in features)
                    {
                        shpWriter.Write(feature.Geometry);
                        for (int i = 0; i < fieldNames.Length; i++)
                        {
                            values[i] = feature.Attributes[fieldNames[i]];
                        }
                        dbfWriter.Write(values);
                        numFeatures++;
                    }

                    // set the number of records
                    dbfHeader.NumRecords = numFeatures;
                    // Update the header
                    dbfWriter.Write(dbfHeader);
                    // write the end of dbase file marker
                    dbfWriter.WriteEndOfDbf();
                    // close the dbase stream
                    dbfWriter.Close();
                }
            }
        }
Exemplo n.º 9
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="filename"></param>
        /// <param name="recordCount"></param>
        public static void WriteDummyDbf(string filename, int recordCount)
        {
            DbaseFileHeader dbfHeader = new DbaseFileHeader();

            dbfHeader.NumRecords = recordCount;
            dbfHeader.AddColumn("Description", 'C', 20, 0);

            DbaseFileWriter dbfWriter = new DbaseFileWriter(filename);

            dbfWriter.Write(dbfHeader);
            for (int i = 0; i < recordCount; i++)
            {
                List <double> columnValues = new List <double>();
                columnValues.Add((double)i);
                dbfWriter.Write(columnValues);
            }
            // End of file flag (0x1A)
            dbfWriter.Write(0x1A);
            dbfWriter.Close();
        }
Exemplo n.º 10
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="filename"></param>
        /// <param name="recordCount"></param>
        public static void WriteDummyDbf(string filename, int recordCount)
        {
            filename = Path.ChangeExtension(filename, "dbf");
            var dbfHeader = new DbaseFileHeader {
                NumRecords = recordCount
            };

            dbfHeader.AddColumn("Description", 'C', 20, 0);

            var dbfWriter = new DbaseFileWriter(filename);

            dbfWriter.Write(dbfHeader);
            for (var i = 0; i < recordCount; i++)
            {
                var columnValues = new List <double> {
                    i
                };
                dbfWriter.Write(columnValues);
            }
            // End of file flag (0x1A)
            dbfWriter.Write(0x1A);
            dbfWriter.Close();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="ShapefileDataWriter"/> class.
        /// </summary>
        /// <param name="fileName">File path without any extension</param>
        /// <param name="geometryFactory"></param>
        public ShapefileDataWriter(string fileName, IGeometryFactory geometryFactory)
        {
            _geometryFactory = geometryFactory;

            // Files            
            _shpFile = fileName;
            _dbfFile = fileName + ".dbf";

            // Writers
            _dbaseWriter = new DbaseFileWriter(_dbfFile);
        }
Exemplo n.º 12
0
        /// <summary>
        /// Write the enumeration of features to shapefile (shp, shx and dbf)
        /// </summary>
        /// <param name="filename">Filename to create</param>
        /// <param name="features">Enumeration of features to write, features will be enumerated once</param>
        /// <param name="fields">Fields that should be written, only those attributes specified here will be mapped from the feature attributetable while writing</param>
        /// <param name="shapeGeometryType">Type of geometries shapefile</param>
        /// <param name="dbfEncoding">Optional Encoding to be used when writing the DBF-file (default Windows-1252)</param>
        public static void WriteFeatures(string filename, IEnumerable<IFeature> features, DbaseFieldDescriptor[] fields, ShapeGeometryType shapeGeometryType,
            Encoding dbfEncoding = null)
        {

            // Set default encoding if not specified
            if (dbfEncoding == null)
                dbfEncoding = Encoding.GetEncoding(1252);

            // Open shapefile and dbase stream writers
            using (var shpWriter = new ShapefileWriter(Path.ChangeExtension(filename, ".shp"), shapeGeometryType))
            {
                using (var dbfWriter = new DbaseFileWriter(Path.ChangeExtension(filename, ".dbf"), dbfEncoding))
                {
                    var dbfHeader = new DbaseFileHeader(dbfEncoding);
                    foreach (var field in fields)
                    {
                        dbfHeader.AddColumn(field.Name, field.DbaseType, field.Length, field.DecimalCount);
                    }
                    dbfWriter.Write(dbfHeader);

                    var numFeatures = 0;
                    foreach (var feature in features)
                    {
                        shpWriter.Write(feature.Geometry);
                        var values = new object[fields.Length];
                        for (var i = 0; i < fields.Length; i++)
                        {
                            values[i] = feature.Attributes[fields[i].Name];
                        }
                        dbfWriter.Write(values);
                        numFeatures++;
                    }

                    // set the number of records
                    dbfHeader.NumRecords = numFeatures;
                    // Update the header
                    dbfWriter.Write(dbfHeader);
                    // write the end of dbase file marker
                    dbfWriter.WriteEndOfDbf();
                    // close the dbase stream
                    dbfWriter.Close();
                }
            }
        }
Exemplo n.º 13
0
        /// <summary>
        /// Method to write a dummy dbase file
        /// </summary>
        /// <param name="dbfWriter">The dbase file writer</param>
        /// <param name="recordCount">The number of records</param>
        public static void WriteDummyDbf(DbaseFileWriter dbfWriter, int recordCount)
        {
            // Create the dummy header
            var dbfHeader = new DbaseFileHeader {NumRecords = recordCount};
            // add some dummy column
            dbfHeader.AddColumn("Description", 'C', 20, 0);

            // Write the header
            dbfWriter.Write(dbfHeader);
            // Write the features
            for (var i = 0; i < recordCount; i++)
            {
                var columnValues = new List<double> {i};
                dbfWriter.Write(columnValues);
            }

            // End of file flag (0x1A)
            dbfWriter.WriteEndOfDbf();

            dbfWriter.Close();
        }
Exemplo n.º 14
0
 /// <summary>
 /// Method to write a dummy dbase file
 /// </summary>
 /// <param name="streamProviderRegistry">The stream provider registry</param>
 /// <param name="recordCount">The number of records</param>
 public static void WriteDummyDbf(IStreamProviderRegistry streamProviderRegistry, int recordCount)
 {
     using (var dbfWriter = new DbaseFileWriter(streamProviderRegistry))
     {
         WriteDummyDbf(dbfWriter, recordCount);
     }
 }
Exemplo n.º 15
0
        /// <summary>
        /// Method to write a dummy dbf file
        /// </summary>
        /// <param name="filename">The dbase filename</param>
        /// <param name="recordCount">The number of records</param>
        public static void WriteDummyDbf(string filename, int recordCount)
        {
            // assert the filename is correct
            filename = Path.ChangeExtension(filename, "dbf");

            using (var dbfWriter = new DbaseFileWriter(filename))
            {
                WriteDummyDbf(dbfWriter, recordCount);
            }
        }
Exemplo n.º 16
0
        public static void WriteGeometryCollection(ShapefileWriter shapefileWriter, DbaseFileWriter dbfWriter,
            IGeometryCollection geometryCollection, bool writeDummyDbf = true)
        {
            var numShapes = geometryCollection.NumGeometries;
            for (var i = 0; i < numShapes; i++)
            {
                shapefileWriter.Write(geometryCollection[i]);
            }

            if (writeDummyDbf)
            {
                WriteDummyDbf(dbfWriter, numShapes);
            }

        }
        public static void WriteDummyDbf(DbaseFileWriter dbfWriter, int recordCount)
        {
            var dbfHeader = new DbaseFileHeader { NumRecords = recordCount };
            dbfHeader.AddColumn("Description", 'C', 20, 0);


            dbfWriter.Write(dbfHeader);
            for (var i = 0; i < recordCount; i++)
            {
                var columnValues = new List<double> { i };
                dbfWriter.Write(columnValues);
            }
            // End of file flag (0x1A)
            dbfWriter.Write(0x1A);
            dbfWriter.Close();

        }
        public ShapefileDataWriter(IStreamProviderRegistry streamProviderRegistry, IGeometryFactory geometryFactory, Encoding encoding)
        {
            _geometryFactory = geometryFactory;

            _streamProviderRegistry = streamProviderRegistry;

            // Writers
            _dbaseWriter = new DbaseFileWriter(streamProviderRegistry, encoding);
        }
Exemplo n.º 19
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="filename"></param>
        /// <param name="recordCount"></param>
		public static void WriteDummyDbf(string filename, int recordCount)
        {
            filename = Path.ChangeExtension(filename, "dbf");
            var dbfHeader = new DbaseFileHeader {NumRecords = recordCount};
            dbfHeader.AddColumn("Description",'C', 20, 0);
			
			var dbfWriter = new DbaseFileWriter(filename);
			dbfWriter.Write(dbfHeader);
			for (var i = 0; i < recordCount; i++)
			{
				var columnValues = new List<double> {i};
			    dbfWriter.Write(columnValues);
			}
            // End of file flag (0x1A)
            dbfWriter.Write(0x1A);
			dbfWriter.Close();
		}
        public static void WriteGeometryCollection(ShapefileWriter shapefileWriter, DbaseFileWriter dbfWriter, IGeometryCollection geometryCollection)
        {
            var shapeFileType = Shapefile.GetShapeType(geometryCollection);

            var numShapes = geometryCollection.NumGeometries;

            for (var i = 0; i < numShapes; i++)
            {
                shapefileWriter.Write(geometryCollection[i]);
            }


            WriteDummyDbf(dbfWriter, numShapes);

        }