diff --git a/tile.cpp b/tile.cpp index ced2cbe9..05b71ca2 100644 --- a/tile.cpp +++ b/tile.cpp @@ -2009,7 +2009,9 @@ long long write_tile(decompressor *geoms, std::atomic *geompos_in, ch } } else if (additional[A_COALESCE_DENSEST_AS_NEEDED]) { if (sf.gap < mingap && find_feature_to_accumulate_onto(features, sf, which_serial_feature, layer_unmaps, LLONG_MAX)) { - coalesce_geometry(*features[which_serial_feature], sf); + if (sf.t == VT_POINT || !line_is_too_small(sf.geometry, z, line_detail)) { + coalesce_geometry(*features[which_serial_feature], sf); + } features[which_serial_feature]->coalesced = true; preserve_attributes(arg->attribute_accum, sf, *features[which_serial_feature], key_pool); strategy.coalesced_as_needed++; @@ -2032,7 +2034,9 @@ long long write_tile(decompressor *geoms, std::atomic *geompos_in, ch } } else if (additional[A_COALESCE_SMALLEST_AS_NEEDED]) { if (minextent != 0 && sf.extent <= minextent && find_feature_to_accumulate_onto(features, sf, which_serial_feature, layer_unmaps, minextent)) { - coalesce_geometry(*features[which_serial_feature], sf); + if (sf.t == VT_POINT || !line_is_too_small(sf.geometry, z, line_detail)) { + coalesce_geometry(*features[which_serial_feature], sf); + } features[which_serial_feature]->coalesced = true; preserve_attributes(arg->attribute_accum, sf, *features[which_serial_feature], key_pool); strategy.coalesced_as_needed++; @@ -2053,7 +2057,9 @@ long long write_tile(decompressor *geoms, std::atomic *geompos_in, ch } } else if (additional[A_COALESCE_FRACTION_AS_NEEDED]) { if (mindrop_sequence != 0 && drop_sequence <= mindrop_sequence && find_feature_to_accumulate_onto(features, sf, which_serial_feature, layer_unmaps, LLONG_MAX)) { - coalesce_geometry(*features[which_serial_feature], sf); + if (sf.t == VT_POINT || !line_is_too_small(sf.geometry, z, line_detail)) { + coalesce_geometry(*features[which_serial_feature], sf); + } features[which_serial_feature]->coalesced = true; preserve_attributes(arg->attribute_accum, sf, *features[which_serial_feature], key_pool); strategy.coalesced_as_needed++;