Index: src/Common/NetTopologySuite/IO/MyShapeFileReader.cs
===================================================================
diff -u -r8f6ae890fed8e8eae3a32f9c0498a10f82e0ddf9 -r5fc71a385897af92ccb092f2f969b5709afab85a
--- src/Common/NetTopologySuite/IO/MyShapeFileReader.cs (.../MyShapeFileReader.cs) (revision 8f6ae890fed8e8eae3a32f9c0498a10f82e0ddf9)
+++ src/Common/NetTopologySuite/IO/MyShapeFileReader.cs (.../MyShapeFileReader.cs) (revision 5fc71a385897af92ccb092f2f969b5709afab85a)
@@ -13,13 +13,13 @@
[Obsolete("Use ShapefileReader instead")]
public class MyShapeFileReader
{
- private int length = 0;
-
///
/// Shape features reader.
///
protected ShapeReader shapeReader = null;
-
+
+ private int length = 0;
+
///
/// Default empty constructor
///
@@ -50,7 +50,7 @@
{
return Read(stream);
}
- }
+ }
///
/// Reads a generic stream containing geographic data saved as shapefile structure,
@@ -69,8 +69,8 @@
Debug.Assert(fileCode == 9994);
stream.Seek(20, SeekOrigin.Current);
- length = beReader.ReadInt32BE();
-
+ length = beReader.ReadInt32BE();
+
// Read little endian values
using (BinaryReader leReader = new BinaryReader(stream))
{
@@ -81,7 +81,7 @@
Debug.Assert(version == 1000);
// ShapeTypes
- int shapeType = leReader.ReadInt32();
+ int shapeType = leReader.ReadInt32();
switch ((ShapeGeometryType) shapeType)
{
@@ -121,9 +121,9 @@
}
IGeometryCollection collection = shapeReader.CreateGeometryCollection(list);
return collection;
- }
+ }
}
- }
+ }
///
/// Reads Point shapefile
@@ -141,33 +141,22 @@
{
// Read little endian informations
using (BinaryReader leReader = new BinaryReader(stream))
- {
+ {
// For each header
while (stream.Position < stream.Length)
{
- ReadFeatureHeader(beReader);
-
+ ReadFeatureHeader(beReader);
+
ICoordinate coordinate = shapeReader.ReadCoordinate(leReader);
IGeometry point = shapeReader.CreatePoint(coordinate);
list.Add(point);
}
- }
+ }
}
- return list;
+ return list;
}
///
- ///
- ///
- ///
- private void ReadFeatureHeader(BigEndianBinaryReader beReader)
- {
- int recordNumber = beReader.ReadInt32BE();
- int contentLength = beReader.ReadInt32BE();
- int shapeType = beReader.ReadInt32();
- }
-
- ///
/// Reads LineString shapefile
///
///
@@ -177,7 +166,7 @@
IList list = new ArrayList();
// Jump to first header
- stream.Seek(100, SeekOrigin.Begin);
+ stream.Seek(100, SeekOrigin.Begin);
// Read big endian informations
using (BigEndianBinaryReader beReader = new BigEndianBinaryReader(stream))
@@ -199,9 +188,14 @@
ICoordinate[] coordinates = shapeReader.ReadCoordinates(leReader, numPoints);
if (numParts == 1)
+ {
list.Add(shapeReader.CreateLineString(coordinates));
- else list.Add(shapeReader.CreateMultiLineString(numPoints, indexParts, coordinates));
- }
+ }
+ else
+ {
+ list.Add(shapeReader.CreateMultiLineString(numPoints, indexParts, coordinates));
+ }
+ }
}
}
return list;
@@ -217,14 +211,14 @@
IList list = new ArrayList();
// Jump to first header
- stream.Seek(100, SeekOrigin.Begin);
+ stream.Seek(100, SeekOrigin.Begin);
// Read big endian informations
using (BigEndianBinaryReader beReader = new BigEndianBinaryReader(stream))
{
// Read little endian informations
using (BinaryReader reader = new BinaryReader(stream))
- {
+ {
// For each header
while (stream.Position < stream.Length)
{
@@ -239,9 +233,14 @@
ICoordinate[] coordinates = shapeReader.ReadCoordinates(reader, numPoints);
if (numParts == 1)
- list.Add(shapeReader.CreateSimpleSinglePolygon(coordinates));
- else list.Add(shapeReader.CreateSingleOrMultiPolygon(numPoints, indexParts, coordinates));
- }
+ {
+ list.Add(shapeReader.CreateSimpleSinglePolygon(coordinates));
+ }
+ else
+ {
+ list.Add(shapeReader.CreateSingleOrMultiPolygon(numPoints, indexParts, coordinates));
+ }
+ }
}
}
return list;
@@ -257,7 +256,7 @@
IList list = new ArrayList();
// Jump to first header
- stream.Seek(100, SeekOrigin.Begin);
+ stream.Seek(100, SeekOrigin.Begin);
// Read big endian informations
using (BigEndianBinaryReader beReader = new BigEndianBinaryReader(stream))
@@ -274,13 +273,25 @@
int numPoints = shapeReader.ReadNumPoints(reader);
ICoordinate[] coords = new ICoordinate[numPoints];
for (int i = 0; i < numPoints; i++)
+ {
coords[i] = shapeReader.ReadCoordinate(reader);
+ }
list.Add(shapeReader.CreateMultiPoint(coords));
}
-
}
}
return list;
- }
+ }
+
+ ///
+ ///
+ ///
+ ///
+ private void ReadFeatureHeader(BigEndianBinaryReader beReader)
+ {
+ int recordNumber = beReader.ReadInt32BE();
+ int contentLength = beReader.ReadInt32BE();
+ int shapeType = beReader.ReadInt32();
+ }
}
-}
+}
\ No newline at end of file