Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def lon_180(self):
"""if the regions extend from -180 to 180
"""
lon_min = self.bounds_global[0]
lon_max = self.bounds_global[2]
return _is_180(lon_min, lon_max)
def _prepare_gdf_for_mask(geodataframe, method, numbers):
from geopandas import GeoDataFrame, GeoSeries
if not isinstance(geodataframe, (GeoDataFrame, GeoSeries)):
raise TypeError("input must be a geopandas 'GeoDataFrame' or 'GeoSeries'")
if method == "legacy":
raise ValueError("method 'legacy' not supported in 'mask_geopandas'")
lon_min = geodataframe.bounds["minx"].min()
lon_max = geodataframe.bounds["maxx"].max()
is_180 = _is_180(lon_min, lon_max)
polygons = geodataframe.geometry.tolist()
if numbers is not None:
numbers = geodataframe[numbers]
_check_missing(numbers, "numbers")
_check_duplicates(numbers, "numbers")
else:
numbers = geodataframe.index.values
return polygons, is_180, numbers
internal function to create a mask
"""
if not _is_numeric(numbers):
raise ValueError("'numbers' must be numeric")
lat_orig = lat
lon, lat = _extract_lon_lat(lon_or_obj, lat, lon_name, lat_name)
lon = np.asarray(lon)
lat = np.asarray(lat)
# automatically detect whether wrapping is necessary
if wrap_lon is None:
grid_is_180 = _is_180(lon.min(), lon.max())
wrap_lon = not regions_is_180 == grid_is_180
lon_orig = lon.copy()
if wrap_lon:
lon = _wrapAngle(lon, wrap_lon)
if method not in (None, "rasterize", "shapely", "legacy"):
msg = "Method must be None or one of 'rasterize', 'shapely', or 'legacy'."
raise ValueError(msg)
if method is None:
method = _determine_method(lon, lat)
elif method == "rasterize":
method = _determine_method(lon, lat)
if "rasterize" not in method: