Revert "shape: check if multiple parts are interior rings or separate"
This reverts commit faaa4f6e3f
.
This commit is contained in:
parent
ce3078fa98
commit
5bdaf44a7a
1 changed files with 7 additions and 17 deletions
|
@ -103,12 +103,12 @@ void shape_io::read_polyline(mapnik::geometry_container & geom)
|
|||
{
|
||||
shape_file::record_type record(reclength_ * 2 - 36);
|
||||
shp_.read_record(record);
|
||||
|
||||
|
||||
int num_parts = record.read_ndr_integer();
|
||||
int num_points = record.read_ndr_integer();
|
||||
if (num_parts == 1)
|
||||
{
|
||||
geometry_type* line = new geometry_type(mapnik::LineString);
|
||||
geometry_type* line = new geometry_type(mapnik::LineString);
|
||||
record.skip(4);
|
||||
double x = record.read_double();
|
||||
double y = record.read_double();
|
||||
|
@ -132,7 +132,7 @@ void shape_io::read_polyline(mapnik::geometry_container & geom)
|
|||
int start, end;
|
||||
for (int k = 0; k < num_parts; ++k)
|
||||
{
|
||||
geometry_type* line = new geometry_type(mapnik::LineString);
|
||||
geometry_type* line = new geometry_type(mapnik::LineString);
|
||||
start = parts[k];
|
||||
if (k == num_parts - 1)
|
||||
{
|
||||
|
@ -179,21 +179,19 @@ void shape_io::read_polygon(mapnik::geometry_container & geom)
|
|||
{
|
||||
shape_file::record_type record(reclength_ * 2 - 36);
|
||||
shp_.read_record(record);
|
||||
|
||||
|
||||
int num_parts = record.read_ndr_integer();
|
||||
int num_points = record.read_ndr_integer();
|
||||
std::vector<int> parts(num_parts);
|
||||
|
||||
|
||||
for (int i = 0; i < num_parts; ++i)
|
||||
{
|
||||
parts[i] = record.read_ndr_integer();
|
||||
}
|
||||
|
||||
geometry_type* poly = new geometry_type(mapnik::Polygon);
|
||||
|
||||
for (int k = 0; k < num_parts; k++)
|
||||
{
|
||||
|
||||
geometry_type* poly = new geometry_type(mapnik::Polygon);
|
||||
int start = parts[k];
|
||||
int end;
|
||||
if (k == num_parts - 1)
|
||||
|
@ -207,13 +205,6 @@ void shape_io::read_polygon(mapnik::geometry_container & geom)
|
|||
|
||||
double x = record.read_double();
|
||||
double y = record.read_double();
|
||||
|
||||
if (k > 0 && !poly->hit_test(x,y,0))
|
||||
{
|
||||
geom.push_back(poly);
|
||||
poly = new geometry_type(mapnik::Polygon);
|
||||
}
|
||||
|
||||
poly->move_to(x, y);
|
||||
|
||||
for (int j=start+1;j<end;j++)
|
||||
|
@ -222,9 +213,8 @@ void shape_io::read_polygon(mapnik::geometry_container & geom)
|
|||
y = record.read_double();
|
||||
poly->line_to(x, y);
|
||||
}
|
||||
geom.push_back(poly);
|
||||
}
|
||||
|
||||
geom.push_back(poly);
|
||||
// z-range
|
||||
//double z0=record.read_double();
|
||||
//double z1=record.read_double();
|
||||
|
|
Loading…
Add table
Reference in a new issue