diff --git a/scripts/geodata/polygons/index.py b/scripts/geodata/polygons/index.py index 3e29e43f..4109bff9 100644 --- a/scripts/geodata/polygons/index.py +++ b/scripts/geodata/polygons/index.py @@ -14,6 +14,8 @@ DEFAULT_POLYS_FILENAME = 'polygons.geojson' class RTreePolygonIndex(object): include_only_properties = None + simplify_tolerance = 0.0001 + preserve_topology = True def __init__(self, index=None, polygons=None, save_dir=None, index_filename=None, @@ -46,7 +48,11 @@ class RTreePolygonIndex(object): def index_polygon(self, id, polygon): self.index.insert(id, polygon.bounds) - def simplify_polygon(self, poly, simplify_tolerance=0.0001, preserve_topology=True): + def simplify_polygon(self, poly, simplify_tolerance=None, preserve_topology=None): + if simplify_tolerance is None: + simplify_tolerance = self.simplify_tolerance + if preserve_topology is None: + preserve_topology = self.preserve_topology return poly.simplify(simplify_tolerance, preserve_topology=preserve_topology) def add_polygon(self, poly, properties): diff --git a/scripts/geodata/polygons/language_polys.py b/scripts/geodata/polygons/language_polys.py index 9e1c7f84..2da5dfc3 100644 --- a/scripts/geodata/polygons/language_polys.py +++ b/scripts/geodata/polygons/language_polys.py @@ -26,6 +26,8 @@ class LanguagePolygonIndex(RTreePolygonIndex): 'admin_level' ]) + simplify_tolerance = 0.00001 + @classmethod def create_from_shapefiles(cls, admin0_shapefile,