Loading django/contrib/gis/geos/collections.py +0 −3 Original line number Diff line number Diff line Loading @@ -25,9 +25,6 @@ class GeometryCollection(GEOSGeometry): "Initializes a Geometry Collection from a sequence of Geometry objects." # Checking the arguments if not args: raise TypeError('Must provide at least one Geometry to initialize %s.' % self.__class__.__name__) if len(args) == 1: # If only one geometry provided or a list of geometries is provided # in the first argument. Loading django/contrib/gis/geos/linestring.py +7 −3 Original line number Diff line number Diff line Loading @@ -35,7 +35,14 @@ class LineString(ProjectInterpolateMixin, GEOSGeometry): if not (isinstance(coords, (tuple, list)) or numpy and isinstance(coords, numpy.ndarray)): raise TypeError('Invalid initialization input for LineStrings.') # If SRID was passed in with the keyword arguments srid = kwargs.get('srid') ncoords = len(coords) if not ncoords: super(LineString, self).__init__(self._init_func(None), srid=srid) return if ncoords < self._minlength: raise ValueError( '%s requires at least %d points, got %s.' % ( Loading Loading @@ -80,9 +87,6 @@ class LineString(ProjectInterpolateMixin, GEOSGeometry): else: cs[i] = coords[i] # If SRID was passed in with the keyword arguments srid = kwargs.get('srid') # Calling the base geometry initialization with the returned pointer # from the function. super(LineString, self).__init__(self._init_func(cs.ptr), srid=srid) Loading django/contrib/gis/geos/mutable_list.py +1 −1 Original line number Diff line number Diff line Loading @@ -229,7 +229,7 @@ class ListMixin(object): # ### Private routines ### def _rebuild(self, newLen, newItems): if newLen < self._minlength: if newLen and newLen < self._minlength: raise ValueError('Must have at least %d items' % self._minlength) if self._maxlength is not None and newLen > self._maxlength: raise ValueError('Cannot have more than %d items' % self._maxlength) Loading django/contrib/gis/geos/point.py +8 −6 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ class Point(GEOSGeometry): _maxlength = 3 has_cs = True def __init__(self, x, y=None, z=None, srid=None): def __init__(self, x=None, y=None, z=None, srid=None): """ The Point object may be initialized with either a tuple, or individual parameters. Loading @@ -23,22 +23,21 @@ class Point(GEOSGeometry): >>> p = Point((5, 23)) # 2D point, passed in as a tuple >>> p = Point(5, 23, 8) # 3D point, passed in with individual parameters """ if isinstance(x, (tuple, list)): if x is None: coords = [] elif isinstance(x, (tuple, list)): # Here a tuple or list was passed in under the `x` parameter. ndim = len(x) coords = x elif isinstance(x, six.integer_types + (float,)) and isinstance(y, six.integer_types + (float,)): # Here X, Y, and (optionally) Z were passed in individually, as parameters. if isinstance(z, six.integer_types + (float,)): ndim = 3 coords = [x, y, z] else: ndim = 2 coords = [x, y] else: raise TypeError('Invalid parameters given for Point initialization.') point = self._create_point(ndim, coords) point = self._create_point(len(coords), coords) # Initializing using the address returned from the GEOS # createPoint factory. Loading @@ -48,6 +47,9 @@ class Point(GEOSGeometry): """ Create a coordinate sequence, set X, Y, [Z], and create point """ if not ndim: return capi.create_point(None) if ndim < 2 or ndim > 3: raise TypeError('Invalid point dimension: %s' % str(ndim)) Loading django/contrib/gis/geos/polygon.py +5 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,8 @@ class Polygon(GEOSGeometry): ... ((4, 4), (4, 6), (6, 6), (6, 4), (4, 4))) """ if not args: raise TypeError('Must provide at least one LinearRing, or a tuple, to initialize a Polygon.') super(Polygon, self).__init__(self._create_polygon(0, None), **kwargs) return # Getting the ext_ring and init_holes parameters from the argument list ext_ring = args[0] Loading Loading @@ -73,6 +74,9 @@ class Polygon(GEOSGeometry): # _construct_ring will throw a TypeError if a parameter isn't a valid ring # If we cloned the pointers here, we wouldn't be able to clean up # in case of error. if not length: return capi.create_empty_polygon() rings = [] for r in items: if isinstance(r, GEOM_PTR): Loading Loading
django/contrib/gis/geos/collections.py +0 −3 Original line number Diff line number Diff line Loading @@ -25,9 +25,6 @@ class GeometryCollection(GEOSGeometry): "Initializes a Geometry Collection from a sequence of Geometry objects." # Checking the arguments if not args: raise TypeError('Must provide at least one Geometry to initialize %s.' % self.__class__.__name__) if len(args) == 1: # If only one geometry provided or a list of geometries is provided # in the first argument. Loading
django/contrib/gis/geos/linestring.py +7 −3 Original line number Diff line number Diff line Loading @@ -35,7 +35,14 @@ class LineString(ProjectInterpolateMixin, GEOSGeometry): if not (isinstance(coords, (tuple, list)) or numpy and isinstance(coords, numpy.ndarray)): raise TypeError('Invalid initialization input for LineStrings.') # If SRID was passed in with the keyword arguments srid = kwargs.get('srid') ncoords = len(coords) if not ncoords: super(LineString, self).__init__(self._init_func(None), srid=srid) return if ncoords < self._minlength: raise ValueError( '%s requires at least %d points, got %s.' % ( Loading Loading @@ -80,9 +87,6 @@ class LineString(ProjectInterpolateMixin, GEOSGeometry): else: cs[i] = coords[i] # If SRID was passed in with the keyword arguments srid = kwargs.get('srid') # Calling the base geometry initialization with the returned pointer # from the function. super(LineString, self).__init__(self._init_func(cs.ptr), srid=srid) Loading
django/contrib/gis/geos/mutable_list.py +1 −1 Original line number Diff line number Diff line Loading @@ -229,7 +229,7 @@ class ListMixin(object): # ### Private routines ### def _rebuild(self, newLen, newItems): if newLen < self._minlength: if newLen and newLen < self._minlength: raise ValueError('Must have at least %d items' % self._minlength) if self._maxlength is not None and newLen > self._maxlength: raise ValueError('Cannot have more than %d items' % self._maxlength) Loading
django/contrib/gis/geos/point.py +8 −6 Original line number Diff line number Diff line Loading @@ -14,7 +14,7 @@ class Point(GEOSGeometry): _maxlength = 3 has_cs = True def __init__(self, x, y=None, z=None, srid=None): def __init__(self, x=None, y=None, z=None, srid=None): """ The Point object may be initialized with either a tuple, or individual parameters. Loading @@ -23,22 +23,21 @@ class Point(GEOSGeometry): >>> p = Point((5, 23)) # 2D point, passed in as a tuple >>> p = Point(5, 23, 8) # 3D point, passed in with individual parameters """ if isinstance(x, (tuple, list)): if x is None: coords = [] elif isinstance(x, (tuple, list)): # Here a tuple or list was passed in under the `x` parameter. ndim = len(x) coords = x elif isinstance(x, six.integer_types + (float,)) and isinstance(y, six.integer_types + (float,)): # Here X, Y, and (optionally) Z were passed in individually, as parameters. if isinstance(z, six.integer_types + (float,)): ndim = 3 coords = [x, y, z] else: ndim = 2 coords = [x, y] else: raise TypeError('Invalid parameters given for Point initialization.') point = self._create_point(ndim, coords) point = self._create_point(len(coords), coords) # Initializing using the address returned from the GEOS # createPoint factory. Loading @@ -48,6 +47,9 @@ class Point(GEOSGeometry): """ Create a coordinate sequence, set X, Y, [Z], and create point """ if not ndim: return capi.create_point(None) if ndim < 2 or ndim > 3: raise TypeError('Invalid point dimension: %s' % str(ndim)) Loading
django/contrib/gis/geos/polygon.py +5 −1 Original line number Diff line number Diff line Loading @@ -29,7 +29,8 @@ class Polygon(GEOSGeometry): ... ((4, 4), (4, 6), (6, 6), (6, 4), (4, 4))) """ if not args: raise TypeError('Must provide at least one LinearRing, or a tuple, to initialize a Polygon.') super(Polygon, self).__init__(self._create_polygon(0, None), **kwargs) return # Getting the ext_ring and init_holes parameters from the argument list ext_ring = args[0] Loading Loading @@ -73,6 +74,9 @@ class Polygon(GEOSGeometry): # _construct_ring will throw a TypeError if a parameter isn't a valid ring # If we cloned the pointers here, we wouldn't be able to clean up # in case of error. if not length: return capi.create_empty_polygon() rings = [] for r in items: if isinstance(r, GEOM_PTR): Loading