[polygons] When loading polygons from disk/GeoJSON, include holes

This commit is contained in:
Al
2016-05-19 01:43:09 -04:00
parent 465034472a
commit fd1d5aef04
2 changed files with 4 additions and 3 deletions

View File

@@ -297,7 +297,7 @@ class AddressComponents(object):
combo = weighted_choice(values, probs)
if combo is not None:
components = OrderedDict.fromkeys(combo['components']).keys()
if not all((c in address_components and (c in generated_components or self.is_numeric(address_components[c])) for c in components)):
if not all((c in address_components and (c in generated_components or address_components[c].isdigit()) for c in components)):
return None
values = []

View File

@@ -255,12 +255,13 @@ class PolygonIndex(object):
def polygon_from_geojson(cls, feature):
poly_type = feature['geometry']['type']
if poly_type == 'Polygon':
poly = cls.to_polygon(feature['geometry']['coordinates'][0])
coords = feature['geometry']['coordinates']
poly = cls.to_polygon(coords[0], holes=coords[1:] or None)
return poly
elif poly_type == 'MultiPolygon':
polys = []
for coords in feature['geometry']['coordinates']:
poly = cls.to_polygon(coords[0])
poly = cls.to_polygon(coords[0], holes=coords[1:] or None)
polys.append(poly)
return MultiPolygon(polys)