def extractPoints(geom): if isinstance(geom,Point) or isinstance(geom,MultiPoint): return geom elif isinstance(geom,GeometryCollection): result = None for g in geom: p = extractPoints(g) if not p: continue elif not result: result = p elif isinstance(result,MultiPoint): result = [geom1 for geom1 in result.geoms] if isinstance(p,Point): result.append(p) result = MultiPoint(result) else: for geom1 in p.geoms: result.append(geom1) result = MultiPoint(result) else: if isinstance(p,Point): result = MultiPoint([result,p]) else: result = [result] for geom1 in p.geoms: result.append(geom1) result = MultiPoint(result) return result else: return None
def extractPoints(geom): if isinstance(geom, Point) or isinstance(geom, MultiPoint): return geom elif isinstance(geom, GeometryCollection): result = None for g in geom: p = extractPoints(g) if not p: continue elif not result: result = p elif isinstance(result, MultiPoint): result = [geom1 for geom1 in result.geoms] if isinstance(p, Point): result.append(p) result = MultiPoint(result) else: for geom1 in p.geoms: result.append(geom1) result = MultiPoint(result) else: if isinstance(p, Point): result = MultiPoint([result, p]) else: result = [result] for geom1 in p.geoms: result.append(geom1) result = MultiPoint(result) return result else: return None