@has_gis<EOL><INDENT>def construct_rest_of_worlds(self, excluded, fp=None, use_mp=True, simplify=True):<DEDENT>
geoms = {}<EOL>raw_data = []<EOL>for key in sorted(excluded):<EOL><INDENT>locations = excluded[key]<EOL>for location in locations:<EOL><INDENT>assert location in self.locations, "<STR_LIT>".format(location)<EOL><DEDENT>included = self.all_faces.difference(<EOL>{face for loc in locations for face in self.data[loc]}<EOL>)<EOL>raw_data.append((key, self.faces_fp, included))<EOL><DEDENT>if use_mp:<EOL><INDENT>with Pool(cpu_count() - <NUM_LIT:1>) as pool:<EOL><INDENT>results = pool.map(_union, raw_data)<EOL><DEDENT>geoms = dict(results)<EOL><DEDENT>else:<EOL><INDENT>geoms = dict([_union(row) for row in raw_data])<EOL><DEDENT>if simplify:<EOL><INDENT>geoms = {k: v.simplify(<NUM_LIT>) for k, v in geoms.items()}<EOL><DEDENT>if fp:<EOL><INDENT>labels = sorted(geoms)<EOL>self.write_geoms_to_file(fp, [geoms[key] for key in labels], labels)<EOL>return fp<EOL><DEDENT>else:<EOL><INDENT>return geoms<EOL><DEDENT>
Construct many rest-of-world geometries and optionally write to filepath ``fp``.

        ``excluded`` must be a **dictionary** of {"rest-of-world label": ["names", "of", "excluded", "locations"]}``.